/* Shared Plane refinement. Keep the established shell, wordmark and brand palette. */
:root {
  --page-pad-top:28px;
  --page-pad-x:32px;
  --page-pad-bottom:40px;
  --ui-fast: 140ms;
  --ui-open: 200ms;
  --ui-ease: cubic-bezier(.16, 1, .3, 1);
  --ui-hover: #f4f5f6;
  --ui-focus: #1b4be5;
  --ui-header: #f8f9fa;
  --ui-radius: 6px;
  --ui-overlay-shadow: 0 12px 36px #0000001f;
  --muted: #626b73;
}
:root.dark {
  --ui-hover: #232526;
  --ui-focus: #8aa7ff;
  --ui-header: #191b1c;
  --ui-overlay-shadow: 0 12px 36px #00000066;
  --muted: #a5a9ab;
}
.plane-page.page:not(.plane-chat-route):not(.plane-home-page) {padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-bottom);}
.plane-settings-content {max-width:1040px;margin:0;}
.plane-draft-list {padding-top:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.plane-draft-row:last-child {border-bottom:0;}
.plane-page :is(h1,h2,h3) {font-weight:600;text-wrap:pretty;}
.plane-page h1 {font-size:24px;line-height:1.45;}
.page-heading {gap:20px;margin-bottom:24px;}
.page-heading p {max-width:64ch;margin:7px 0 0;font-size:14px;line-height:1.75;}
.page-heading .heading-actions {padding-top:2px;}
.panel-head h2,.studio-config h2 {font-size:16px;line-height:1.5;}
.brand-panel h2 {font-size:16px;}
.panel-head p,.brand-panel header p {max-width:64ch;}
.plane-page :is(strong,td,th,.price,.badge,time),.chart-tip {font-variant-numeric:tabular-nums;}
.plane-page .heading-actions {gap:8px;}
.plane-page .toolbar {gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.plane-page .toolbar>.spacer {min-width:0;}
.plane-page .input-search {min-height:36px;background:var(--surface);}
.plane-page .input-search input {font-size:14px;}
.demo-note {padding:10px 0;margin-bottom:20px;gap:16px;border:0;background:transparent;color:var(--muted);}
.demo-note>span {display:flex;align-items:flex-start;gap:8px;line-height:1.7;}
.demo-note>span>.icon {margin-top:3px;width:15px;height:15px;}
.demo-note small {font-size:12px;color:var(--muted);}

/* Control feedback stays consistent across lists, forms and settings. */
.btn,.icon-button,.plane-select-trigger,.plane-popover-item,.plane-nav-item,
.plane-brand-project,.plane-rail-item,.plane-rail-settings,.tabs>button,
.segmented>button,.plane-settings-tabs>button {
  transition:background-color var(--ui-fast) ease,border-color var(--ui-fast) ease,
    color var(--ui-fast) ease,transform var(--ui-fast) var(--ui-ease);
}
.btn {border-radius:var(--ui-radius);font-weight:500;gap:7px;}
.btn>.icon {width:16px;height:16px;}
.btn:not(.primary):not(:disabled):hover {background:var(--ui-hover);border-color:var(--muted);}
.btn.quiet:not(:disabled):hover {border-color:transparent;}
.btn:not(:disabled):active {transform:translateY(1px);}
.btn:disabled {cursor:not-allowed;opacity:.5;}
.plane-shell :is(button,a,input,textarea,select,[tabindex]):focus-visible,
dialog :is(button,a,input,textarea,select,[tabindex]):focus-visible {
  outline:2px solid var(--ui-focus);outline-offset:3px;
}
.plane-shell input:not([type=checkbox]):focus-visible,
.plane-shell textarea:not(.editor-title):not(.article-body):focus-visible {
  outline-offset:1px;
}
.field {gap:7px;line-height:1.6;}
.field .hint {max-width:64ch;font-size:13px;line-height:1.65;}
.field :is(input,textarea) {transition:border-color var(--ui-fast) ease;}
.field :is(input,textarea):hover {border-color:var(--muted);}
.plane-nav-item {gap:9px;border-radius:var(--ui-radius);color:var(--plane-secondary);}
.plane-nav-item.selected {background:var(--plane-active);color:var(--text);}
.plane-nav-item.selected>.icon {color:var(--blue);}
.plane-group-heading {letter-spacing:0;font-size:12px;color:var(--muted);}
.plane-group-heading>.icon {transition:transform var(--ui-fast) var(--ui-ease);}
.plane-group-heading[aria-expanded=false]>.icon {transform:rotate(0deg);}
.plane-group-heading[aria-expanded=true]>.icon {transform:rotate(90deg);}
.plane-global-search:hover {border-color:var(--muted);}
.plane-global-search small {border:1px solid var(--line);padding:0 4px;border-radius:3px;line-height:19px;}
.plane-global-search {transition:border-color var(--ui-fast) ease;}

/* Flat table headers and quieter badges give content the strongest hierarchy. */
.data-table th {background:var(--ui-header);font-size:13px;font-weight:500;color:var(--plane-secondary);padding-block:13px;}
.data-table td {padding-block:16px;line-height:1.65;vertical-align:middle;}
.data-table tbody>tr {transition:background-color var(--ui-fast) ease;}
.data-table tbody>tr:hover {background:var(--ui-hover);}
.data-table .title-cell strong {font-weight:500;line-height:1.65;}
.data-table .title-cell small {margin-top:5px;line-height:1.65;}
.data-table .table-action {gap:6px;}
.plane-page .badge {font-size:12px;font-weight:400;padding:3px 7px;line-height:18px;white-space:nowrap;}
.plane-page .tabs {gap:24px;margin-bottom:20px;}
.plane-page .tabs>button {padding-block:11px;font-size:14px;}
.plane-page .tabs>button:not(.active):hover {color:var(--text);}
.plane-page .empty {padding:48px 24px;max-width:580px;margin-inline:auto;}
.plane-page .empty h3 {font-size:18px;font-weight:600;line-height:1.5;}
.plane-page .empty p {max-width:44ch;margin:10px auto 20px;line-height:1.8;}
.plane-page .empty .plane-empty-art {width:104px;max-height:120px;margin-bottom:24px;}
.plane-page .empty .btn {margin-top:0;}
.empty-table {display:grid;place-items:center;min-height:300px;}
.empty-table .empty {width:100%;}
.plane-draft-empty {gap:32px;}
.plane-draft-empty h2 {font-size:22px;line-height:1.55;}
.plane-draft-empty p {max-width:46ch;font-size:14px;line-height:1.85;}
.plane-draft-info {padding:18px 20px;background:var(--ui-header);border-radius:var(--ui-radius);}
.plane-draft-info p {margin-top:5px;max-width:65ch;}
.plane-draft-row {transition:background-color var(--ui-fast) ease;}
.plane-draft-row:hover {background:var(--ui-hover);}

/* Knowledge uses the same upstream illustration family as every empty state. */
.knowledge-art {background:transparent!important;border:0;padding:26px 16px 22px;}
.knowledge-art .plane-native-illustration {display:block;width:108px;height:auto;max-height:136px;margin:0 auto 20px;}
.knowledge-art h3 {font-size:16px;line-height:1.5;}
.knowledge-art p {font-size:13px;line-height:1.7;}
.knowledge-summary {display:flex;justify-content:center;gap:12px;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);}
.knowledge-summary strong {color:var(--text);font-weight:600;}
.fact {display:flex;flex-direction:column;padding:20px;gap:0;}
.fact>.badge {align-self:flex-start;}
.fact h3 {font-size:16px;line-height:1.6;margin-top:12px;}
.fact>p {line-height:1.85;margin:10px 0 20px;max-width:70ch;}
.fact-footer {margin-top:auto;gap:12px;padding-top:14px;}
.fact-footer>a {display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere;font-size:13px;}
.fact-footer>a>.icon {width:15px;height:15px;}
.fact-footer .btn {flex-shrink:0;}
.media-card {transition:border-color var(--ui-fast) ease,background-color var(--ui-fast) ease;}
.media-card:hover {border-color:var(--muted);}
.media-card.selected {border-color:var(--blue);}
.task-card:hover {border-color:var(--muted);box-shadow:none;}
.task-card h3 {font-size:14px;font-weight:500;}
.studio-config>p {margin-top:8px;}
.article-preview {line-height:1.85;}
.plane-settings-content>p {max-width:64ch;line-height:1.75;}
.plane-integration {gap:18px;padding-block:22px;}
.plane-integration>div:nth-child(2) {min-width:0;}
.plane-integration p {line-height:1.7;max-width:60ch;}
.plane-settings-subheading h2 {font-size:16px;}

/* Dashboard rows are interactive; evidence and denominators stay visible. */
.brand-kpi {transition:border-color var(--ui-fast) ease,background-color var(--ui-fast) ease;}
.brand-kpi:hover {background:var(--ui-hover);}
.brand-kpi-label>.icon {opacity:0;transition:opacity var(--ui-fast) ease,transform var(--ui-fast) var(--ui-ease);}
.brand-kpi:hover .brand-kpi-label>.icon,.brand-kpi:focus-visible .brand-kpi-label>.icon {opacity:1;transform:translateX(2px);}
.brand-panel :is(.brand-platform-row,.brand-assets>button,.brand-task-list>button,.brand-activity-list>button):hover {background:var(--ui-hover);}
.brand-home h1 {font-size:26px;}
.brand-panel>header {padding-bottom:18px;}
.brand-panel h2>.icon {width:17px;height:17px;}
.chart-wrap {position:relative;}
.chart[tabindex] {border-radius:4px;touch-action:pan-y;}
.chart-tip {position:absolute;z-index:3;pointer-events:none;max-width:calc(100% - 16px);padding:9px 12px;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--plane-menu);color:var(--text);box-shadow:var(--plane-menu-shadow);font-size:12px;line-height:1.7;white-space:pre-line;}
.chart-tip[hidden] {display:none;}
.chart-cursor {pointer-events:none;stroke:var(--muted);stroke-dasharray:3 4;}
.chart-active-point {pointer-events:none;fill:var(--blue);stroke:var(--surface);stroke-width:2;}
.chart-hint {display:block;margin-top:9px;font-size:12px;color:var(--muted);line-height:1.6;}

/* One entrance moment on deliberate navigation; no replay while filtering or typing. */
@keyframes platform-arrive {from {transform:translateY(5px);}to {transform:translateY(0);}}
@keyframes platform-open {from {transform:translateY(6px) scale(.99);}to {transform:translateY(0) scale(1);}}
.plane-page.is-route-arrival>.page-heading,.plane-page.is-route-arrival>.brand-home>.brand-home-heading {animation:platform-arrive var(--ui-open) var(--ui-ease);}
dialog[open],.plane-account-popover {animation:platform-open var(--ui-open) var(--ui-ease);}
dialog {box-shadow:var(--ui-overlay-shadow);}
dialog .dialog-head h2 {font-size:18px;font-weight:600;}
#dialog-error {scroll-margin-block:20px;}
.btn.is-working {cursor:wait;}
.btn.is-working::before {content:'';width:14px;height:14px;flex:none;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:platform-spin 800ms linear infinite;}
.btn.is-working>.icon {display:none;}
@keyframes platform-spin {to {transform:rotate(360deg);}}

@container geo-content (max-width:760px) {
  .plane-page .toolbar>.muted {flex-basis:100%;}
  .plane-page .page-heading {gap:16px;}
  .knowledge-summary {flex-wrap:wrap;}
}
@media(min-width:1500px) {:root {--page-pad-top:32px;--page-pad-x:36px;--page-pad-bottom:48px;}}
@media(max-width:700px) {
  :root {--page-pad-top:22px;--page-pad-x:18px;--page-pad-bottom:32px;}
  .plane-page h1 {font-size:22px;}
  .page-heading {margin-bottom:20px;}
  .page-heading>div:first-child {flex-basis:100%;}
  .plane-page .page-heading p {font-size:14px;}
  .plane-page .btn {min-height:36px;font-size:14px;}
  .plane-page .toolbar>.muted {width:100%;}
  .plane-page .toolbar .input-search {flex-basis:100%;}
  .plane-page .empty {padding:36px 12px;}
  .plane-page .empty p {font-size:14px;}
  .plane-draft-empty {gap:24px;}
  .plane-draft-empty h2 {font-size:20px;}
  .fact {padding:18px;}
  .plane-integration {gap:12px;}
  .brand-home h1 {font-size:22px;}
  .chart-hint {max-width:40ch;}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
