/* Canonical shared component styles. Keep page/shell layouts in their own files. */

/* Preserved cascade from styles.css */
input, select {font:inherit}
select:focus-visible, input:focus-visible {outline:3px solid #c39829;outline-offset:3px}
.actionrow, .rowhead {display:flex;align-items:center;gap:9px}
.tag {display:inline-flex;align-items:center;gap:6px;border-radius:20px;font-size:12px;font-weight:600;padding:4px 9px}
.tag {color:var(--color-slate-500);background:#f0f5fa}
.tag.warm {color:#89571f;background:#f9efd9}
.panel h2, .panel h3 {margin:0;font-size:17px;letter-spacing:-.02em}
select, input[type=search], input[type=number] {border:1px solid var(--line);border-radius:8px;background:white;padding:8px 11px;color:var(--ink);font-size:13px}
.metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.metric, .panel, .card {background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.metric {padding:16px 18px}
.metric-top {display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);gap:5px}
.metric-top .iconbox {width:27px;height:27px}
.metric strong {font:600 32px/1.2 "Segoe UI",Arial,sans-serif;letter-spacing:-.045em;display:block;margin:6px 0 4px}
.metric small, .panel small {font-size:12px;color:var(--muted)}
.panel {padding:19px 21px;min-width:0}
.rowhead {justify-content:space-between;margin-bottom:14px}
.rowhead>div {min-width:0}
.rowhead p {margin:5px 0 0;font-size:12px;color:var(--muted)}
.textlink {font-size:13px;font-weight:650;color:var(--green);display:inline-flex;align-items:center;gap:4px}
.textlink:hover {text-decoration:underline}
.tablebox {overflow:auto;margin:0 -4px}
.datatable {width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}
.datatable th {text-align:left;font-weight:500;color:var(--muted);font-size:12px;background:#f3f7fc}
.datatable th, .datatable td {padding:11px 10px;border-bottom:1px solid #edf3f9}
.datatable td:first-child {font-weight:650}
.button, .chip {display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:650;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;min-height:40px;padding:8px 15px}
.button:hover, .chip:hover {border-color:#75b2dd}
.button.primary {background:var(--green);border-color:var(--green);color:white}
.button.primary:hover {background:var(--color-blue-800)}
.button:disabled {opacity:.48;cursor:not-allowed}
.chip.active {background:#e0f2ff;color:var(--color-blue-800);border-color:#91c9f0}
.gridcards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card {overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.card:hover {box-shadow:0 7px 20px #00469710;transform:translateY(-2px)}
.card-body {padding:16px 18px;flex:1;display:flex;flex-direction:column}
.card h3 {font-size:17px;margin:9px 0 5px}
.card p {color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 13px}
.card .bottom {margin-top:auto;display:flex;justify-content:space-between;align-items:center}
.statsline {display:flex;flex-wrap:wrap;gap:14px}
.fact {padding:11px 15px;border-radius:9px;background:#f3f7fc;flex:1;min-width:100px}
.fact b {display:block;font-size:15px;margin-top:5px}
.note {border-left:3px solid #00A5EF;background:#edf7ff;border-radius:0 9px 9px 0;padding:13px 15px;color:#305879;font-size:13px;line-height:1.65;margin:14px 0}
.list {display:grid;gap:9px}
.listrow {border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.listrow b {font-size:14px}
.listrow p {font-size:12px;color:var(--muted);margin:4px 0 0}
.empty {padding:27px;text-align:center;font-size:14px;color:var(--muted)}
dialog {padding:24px;border:1px solid var(--line);border-radius:16px;width:min(440px,90vw);color:var(--ink);box-shadow:0 14px 80px #00469730}
dialog::backdrop {background:#0f345b66}
dialog h2 {margin:0 0 12px;font-size:22px}
dialog p {color:var(--muted);font-size:14px;line-height:1.65}
.modal-foot {margin-top:18px;display:flex;justify-content:flex-end;gap:8px}
#toast {position:fixed;bottom:20px;left:50%;transform:translate(-50%,12px);background:var(--color-slate-800);color:white;border-radius:12px;padding:11px 18px;font-size:13px;opacity:0;pointer-events:none;transition:.18s;z-index:12;max-width:90vw}
#toast.on {opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px) {
.gridcards {grid-template-columns:repeat(2,minmax(0,1fr))}
.panel {padding:16px}
.metric {padding:12px}
}
@media(max-width:760px) {
.metrics {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.metrics strong {font-size:27px}
.gridcards {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.datatable {font-size:12px}
.rowhead {flex-wrap:wrap}
.button, .chip {min-height:44px}
.panel {padding:15px}
}
@media(max-width:470px) {
.gridcards {grid-template-columns:1fr}
.statsline {gap:7px}
.fact {padding:9px}
.metric {padding:12px}
.rowhead h2 {font-size:16px}
}
.button.primary {box-shadow:0 3px 8px #0062b517}
.button:active {transform:translateY(1px)}
.button, .chip {min-height:44px}
select:focus-visible, input:focus-visible, textarea:focus-visible {outline:3px solid #ba5407;outline-offset:3px}
.metric-top .iconbox {background:#e9f5ff}
.metric:nth-child(4) .iconbox {background:#fff3d8;color:#95510c}
.page-tabs {display:flex;flex-wrap:wrap;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:5px;margin:20px 0}
.page-tabs a {padding:11px 17px;border-radius:8px;font-size:13px;color:var(--muted);font-weight:600;min-height:44px;display:flex;align-items:center;justify-content:center}
.page-tabs a:hover {background:#f0f7fd}
.page-tabs a.active {color:var(--color-blue-800);background:#e5f3ff;box-shadow:inset 0 -2px #00a5ef}
.notice-article>.button {margin-top:10px}
.checkbox input {width:17px;height:17px;accent-color:var(--blue)}
.compose textarea {width:100%;resize:vertical;min-height:88px;border:1px solid #c6d7e7;border-radius:9px;padding:12px;font:14px/1.8 inherit;background:#fcfdff;color:var(--ink)}
.compose>.button {justify-self:end}
.compose .rowhead {margin:0}
.listrow {overflow-wrap:anywhere}
@media(max-width:960px) {
.page-tabs a {padding:9px 12px}
}
@media(max-width:760px) {
.compose .rowhead {align-items:flex-start}
.page-tabs {gap:2px}
.page-tabs a {flex:1;white-space:nowrap;min-width:90px}
}
@media(max-width:520px) {
.home-hero .actionrow {gap:8px}
.page-tabs a {font-size:12px;padding:10px 7px;min-width:82px}
.message-thread .tag {font-size:10px}
.actionrow {flex-wrap:wrap}
.compose textarea {font-size:16px}
}
.home-aside>.panel:first-child {display:flex;flex-direction:column}
.home-aside>.panel:last-child {display:flex;flex-direction:column}
.home-aside>.panel:last-child>.large-gap {margin-top:auto;padding-top:18px}
@media(max-width:760px) {
.home-aside>.panel:last-child>.large-gap {margin-top:18px;padding-top:0}
}
.dialog-feedback {padding:12px 15px;margin-top:12px;border-radius:8px;background:#fff1df;color:#8e400c;font-size:12px;line-height:1.6}
.ai-panel>.dialog-feedback {position:absolute;bottom:0;left:0;right:0;border-radius:0;margin:0;z-index:2}
.home-hero .actionrow {flex-wrap:wrap}
.ext-field {display:grid;gap:8px;margin-bottom:19px;font-size:13px;font-weight:600;min-width:0}
.ext-field input, .ext-field textarea, .ext-field select {width:100%;min-width:0;border:1px solid #c6d7e7;border-radius:9px;background:#fcfdff;padding:11px 12px;color:var(--ink);font:14px/1.7 "Segoe UI","Microsoft YaHei",sans-serif}
.ext-field textarea {resize:vertical}
.ext-field input[readonly] {background:#edf2f7;color:var(--muted)}
.ext-field-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ext-progress {height:8px;border-radius:6px;background:#edf3f9;overflow:hidden;margin:18px 0 23px}
.ext-progress i {display:block;height:100%;background:linear-gradient(90deg,var(--color-blue-600),#00a5ef);border-radius:6px}
.ext-secondary>.button {font-size:12px;color:var(--muted);border-color:transparent}
.ext-editor .listrow {gap:12px}
.ext-editor .tag {flex:none}
#modal .ext-field:first-of-type {margin-top:20px}
dialog.ai-panel {position:fixed;inset:0 0 0 auto;margin:0;width:450px;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);box-shadow:-14px 0 60px #16324b18;overflow:hidden}
dialog.ai-panel[open] {display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto}
dialog.ai-panel::backdrop {background:#16324b30}
.ai-tools select {flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px;color:var(--ink);background:white;font:12px inherit}
.ai-tools .button {flex:none;font-size:12px;padding:8px 12px}
.ai-message .textlink {margin-top:12px;font-size:12px}
.ai-compose textarea {width:100%;resize:none;border:1px solid #bdd4e8;background:#fcfdff;border-radius:12px;font:13px/1.8 "Segoe UI","Microsoft YaHei",sans-serif;padding:12px;color:var(--ink)}
.ai-compose-actions .button {font-size:12px;padding:8px 13px;gap:6px}
.ai-panel .button .ico {width:15px;height:15px}
@media(max-width:600px) {
.ext-field-grid {grid-template-columns:1fr}
.ext-field input, .ext-field textarea, .ext-field select, .ai-compose textarea {font-size:16px}
.home-hero .actionrow>.button {font-size:12px;padding:10px 12px}
}

/* Preserved cascade from refinements.css */
input, select, textarea {font-family: var(--font-ui);}
.button, .chip, .page-tabs a, .home-hero .actionrow > .button, .ai-tools .button, .ai-compose-actions .button, .ext-secondary > .button {font-family: var(--font-ui);
  font-size: var(--text-body);
  line-height: 1.5;}
.button, .chip {font-weight: 600; min-height: var(--control-height);}
.button > .ico, .textlink > .ico {flex: none;}
.panel h2, .rowhead h2 {font-size: var(--text-section); line-height: 1.5;}
.panel h3, .card h3 {font-size: var(--text-lead); line-height: 1.5;}
.note, .listrow b, .listrow p, .datatable, .card-body p {font-size: var(--text-body); line-height: 1.75;}
.rowhead p, .tag, .fact small, .ai-tools select {font-size: var(--text-caption); line-height: 1.6;}
.compose textarea, .ext-field input, .ext-field textarea, .ext-field select, .ai-compose textarea, .ai-tools select, select {font-family: var(--font-ui); font-size: var(--text-body); line-height: 1.6;}
.ext-field {font-size: var(--text-body);}
.fact b {font-size: var(--text-lead); line-height: 1.5;}
.actionrow {flex-wrap: wrap; gap: var(--space-control);}
body .workspace .actionrow, .modal-foot {gap: var(--space-control);}
.modal-foot {flex-wrap: wrap;}
body .actionrow > .button, .modal-foot > .button {margin-left: 0; margin-right: 0;}
.list {gap: var(--space-list);}
.rowhead {gap: 14px; align-items: flex-start;}
.rowhead > .button, .rowhead > .textlink, .rowhead > .tag {flex-shrink: 0;}
.rowhead > .textlink {min-height: 28px;}
.listrow {gap: 16px; line-height: 1.6;}
.listrow > div {min-width: 0;}
.listrow > .button, .listrow > .textlink {flex-shrink: 0;}
.ext-row > div {flex: 1 1 auto;}
.ext-row > .button {min-width: 88px;}
:not(.list) > .ext-row + .ext-row {margin-top: var(--space-list);}
.ext-row + .button {margin-top: var(--space-list);}
.panel > .list + .button {margin-top: var(--space-panel);}
.ext-editor .ext-row {gap: 16px;}
.gridcards {gap: var(--space-panel);}
.panel:not(.actionrow) > .button + .button, .large-gap:not(.actionrow) > .button + .button {margin-left: var(--space-control);}
.panel > .statsline + .button, .panel > .gauge + .button {margin-top: 16px;}
.listrow > div > p {margin-bottom: 0;}
.progress-track {height: 6px; border-radius: 4px; background: var(--line); margin: 18px 0 12px; overflow: hidden;}
.progress-track i {display: block; background: var(--blue); height: 100%; border-radius: inherit;}
@media(max-width:760px) {
.personal-identity > .button {margin-left: 74px;}
}
body .home-aside > .panel:first-child {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px;}
body .home-aside > .panel:first-child .rowhead {grid-column: 1 / -1; margin-bottom: 0;}
@media(max-width:760px) {
body .home-aside > .panel:first-child {display: flex;}
}
.global-search input {width: 100%; min-width: 0; height: 42px; border: 1px solid var(--line); border-radius: 10px; background: #f4f7fb; color: var(--ink); padding: 8px 45px 8px 39px; font-size: var(--text-caption); line-height: 1.5;}
.global-search input::-webkit-search-cancel-button {cursor: pointer;}
.search-result > .tag {flex: none;}
.scene-reference .list {grid-template-columns: repeat(2,minmax(0,1fr));}
.scene-history .empty {padding: 20px 12px;}
.launch-info .note {margin-bottom: 0;}
.launch-actions > .note:first-child {margin-top: 0;}
.launch-actions > .button, .launch-secondary > .button {width: 100%; min-width: 0; height: 44px; padding-inline: 12px; white-space: nowrap;}
.scene-facts .fact {min-width: 0; padding: 13px;}
.scene-facts .fact small {display: block;}
.scene-facts .fact b {display: block; margin-top: 4px; overflow-wrap: anywhere;}
.version-item .rowhead {margin: 0; align-items: center;}
.launch-demo select {min-height: 40px; padding: 6px 9px; border: 1px solid #c6d7e7; border-radius: 8px; color: var(--ink); background: white;}
.scene-reference .listrow {flex-wrap: wrap;}
.scene-reference .listrow > div {flex: 1 1 160px;}
.scene-reference .listrow > .button {margin-left: auto;}
@media (max-width: 1100px) {
.scene-facts .fact:nth-child(2) {grid-column: 2; grid-row: 1 / 3;}
}
@media (max-width: 960px) {
.scene-facts .fact:nth-child(2) {grid-column: auto; grid-row: auto;}
}
@media (max-width: 760px) {
.global-search input {height: 44px; font-size: 16px;}
.scene-reference .list {grid-template-columns: 1fr;}
.ext-row {flex-wrap: wrap;}
.ext-row > div {flex: 1 1 180px;}
.ext-row > .button {margin-left: auto;}
.rowhead {flex-wrap: wrap;}
.compose textarea, .ext-field input, .ext-field textarea, .ext-field select, .ai-compose textarea {font-size: 16px;}
}
@media (max-width: 520px) {
.scene-facts .fact {display: flex; align-items: center; justify-content: space-between; gap: 12px;}
.scene-facts .fact b {margin: 0; text-align: right;}
.search-result > .tag {max-width: 85px; white-space: normal;}
.home-hero .actionrow > .button {padding-inline: 12px;}
}
.catalog-toolbar {display: flex; align-items: center; gap: 16px; margin-block: var(--space-tabs); min-width: 0;}
.catalog-toolbar > .page-tabs {flex: 1 1 auto; min-width: 0; margin: 0;}
.catalog-toolbar > .select-control {flex: 0 0 auto;}
.catalog-toolbar:has(> .page-tabs + .page-tabs) {flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:var(--space-control)}
.catalog-toolbar:has(> .page-tabs + .page-tabs) > .page-tabs {width:100%;max-width:100%;flex:none;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;flex-basis:auto}
.catalog-toolbar:has(> .page-tabs + .page-tabs) > .page-tabs a {flex:0 0 auto;white-space:nowrap}
.filter-toolbar {display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px;}
.filter-toolbar > .select-control {gap: 8px; min-height: 48px; padding: 2px 4px 2px 16px; border: 1px solid var(--select-line); border-radius: 8px; background: var(--select-surface);}
.filter-toolbar .select-trigger {border: 0; background: transparent; min-height: 42px;}
.filter-toolbar > .select-control.is-open {border-color: var(--select-accent);}
.filter-toolbar > .select-control:has(.select-trigger:focus-visible) {outline: 2px solid var(--select-accent); outline-offset: 3px;}
.filter-toolbar .select-trigger:focus-visible {outline: none;}
@media(max-width:470px) {
.filter-toolbar {gap: 10px;}
.filter-toolbar > .select-control {width: 100%; justify-content: space-between;}
.filter-toolbar .select-trigger {flex: 1; max-width: 70%;}
}
.sectionline:has(> .category-tabs) {align-items: center; gap: 16px; margin-block: 20px;}
.sectionline > .category-tabs {flex: 1 1 auto; min-width: 0; margin: 0;}
.category-tabs a {border: 0; box-shadow: none;}
@media(max-width:760px) {
.catalog-toolbar {flex-wrap: wrap; gap: 12px;}
.catalog-toolbar > .page-tabs {flex-basis: 100%;}
.catalog-toolbar > .select-control {margin-left: auto;}
.sectionline > .category-tabs {flex-basis: 100%;}
}
.select-control {display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%;}
.select-label {color: var(--select-muted); font-size: 12px; line-height: 1.6; white-space: nowrap;}
.select-trigger {display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 132px; min-height: var(--control-height); max-width: 100%; padding: 10px 12px; border: 1px solid var(--select-line); border-radius: 6px; background: var(--select-surface); color: var(--select-text); font: 500 14px/1.5 var(--font-ui); text-align: left; cursor: pointer;}
.select-trigger > span {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.select-trigger > .ico {flex: none; width: 14px; height: 14px; transform: rotate(90deg); color: var(--select-muted);}
.select-trigger:hover, .select-trigger[aria-expanded="true"] {border-color: var(--select-accent);}
.select-trigger[aria-expanded="true"] > .ico {transform: rotate(-90deg); color: var(--select-accent);}
.select-trigger:focus {outline: none;}
.select-trigger:focus-visible {outline: 2px solid var(--select-accent); outline-offset: 3px;}
.select-menu {position: fixed; z-index: 100; padding: 6px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--select-line); border-radius: 10px; background: var(--select-surface); color: var(--select-text); box-shadow: var(--select-shadow);}
.select-menu[hidden] {display: none;}
.select-option {display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--control-height); padding: 10px 12px; border-radius: 6px; font: 400 14px/1.6 var(--font-ui); cursor: pointer;}
.select-option.is-highlighted {background: var(--select-hover);}
.select-option[aria-selected="true"] {color: var(--select-accent); background: var(--select-selected); font-weight: 600;}
.select-check {flex: none; width: 16px; text-align: center; visibility: hidden;}
.select-option[aria-selected="true"] .select-check {visibility: visible;}

/* Preserved cascade from explore-components.css */
body.explore-ui :is(.panel, .card, .metric, .title, .article) {color: var(--explore-text);}
body.explore-ui :is(.panel, .card, .metric) {box-shadow: none;}
body.explore-ui .panel {padding: 24px;
  border: 1px solid var(--explore-line);
  border-radius: 8px;
  background: var(--explore-panel);}
body.explore-ui .panel .panel {padding: 22px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--explore-line);
  border-radius: 0;}
body.explore-ui :is(.sectionline h2, .panel h2, .rowhead h2) {color: var(--explore-text);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.025em;}
body.explore-ui :is(.panel h3, .scene-goals h3, .article h3) {color: var(--explore-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;}
body.explore-ui :is(.sub, .title p, .hero p, .article, .article p, .card-body p, .listrow p, .scene-objective p, .scene-goals p) {font-size: 15px;
  line-height: 1.8;}
body.explore-ui :is(.sub, .title p, .rowhead p, .quiet, .panel small, .metric small, .sectionline small, .fact small, .card p, .listrow p, .event-status, .steps span, .ext-caption, .version-date, .scene-goals p) {color: var(--explore-muted);}
body.explore-ui :is(.rowhead p, .quiet, .sectionline small, .metric small, .panel small) {line-height: 1.7;}
body.explore-ui .rowhead {margin-bottom: 18px; gap: 16px; align-items: center;}
body.explore-ui .rowhead p {margin-top: 6px; font-size: 13px;}
body.explore-ui :is(.button, .chip) {min-height: 44px;
  border: 1px solid #3c5870;
  border-radius: 6px;
  padding: 10px 16px;
  background: var(--explore-raised);
  color: var(--explore-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  box-shadow: none;
  transition: background-color .15s, border-color .15s, color .15s;}
body.explore-ui :is(.button, .chip):hover {border-color: var(--explore-accent);
  background: #1c354b;
  color: var(--explore-text);}
body.explore-ui .button.primary {background: var(--explore-accent);
  border-color: var(--explore-accent);
  color: #082033;
  box-shadow: none;}
body.explore-ui .button.primary:hover {background: #a0e6ff;
  border-color: #a0e6ff;
  color: #082033;}
body.explore-ui .button:active {transform: none;}
body.explore-ui .button:disabled {opacity: 1;
  color: var(--explore-muted);
  background: #1b2b3c;
  border-color: var(--explore-line);
  cursor: not-allowed;}
body.explore-ui .chip {border-color: var(--explore-line); background: transparent;}
body.explore-ui .chip.active {color: var(--explore-accent);
  background: #17354a;
  border-color: #4a91b1;}
body.explore-ui :is(.filters, .selects, .actionrow) {gap: var(--space-control);}
body.explore-ui :is(.textlink, .backlink, .version-link) {display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--explore-accent);
  font-size: 14px;
  line-height: 1.6;}
body.explore-ui :is(.textlink, .backlink, .version-link):hover {color: #b5ebff;}
body.explore-ui .rowhead > .textlink {min-height: 44px;}
body.explore-ui :is(.button, .chip, .textlink, .backlink, .card, .version-link, .version-fact, .listrow, .notice-row, .path-card, .roleoption, .search-result, .ext-admin-link, .ai-icon, .ai-suggestions button):focus-visible, body.explore-ui :is(input, select, textarea, summary, .page-tabs a):focus-visible {outline: 3px solid var(--explore-accent);
  outline-offset: 4px;}
body.explore-ui :is(.tag, .pill) {background: #1a3348;
  color: #b4e6ff;
  border-radius: 4px;
  padding: 4px 9px;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 500;}
body.explore-ui :is(.tag.warm, .unread) {background: #3b2b1c; color: #ffc880;}
body.explore-ui .gridcards {grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-panel);
  row-gap: 0;}
body.explore-ui .gridcards .card {display: grid;
  grid-template-columns: minmax(130px, .78fr) minmax(0, 1.25fr);
  min-height: 208px;
  padding: 20px 0;
  align-items: stretch;
  border: 0;
  border-bottom: 1px solid var(--explore-line);
  border-radius: 0;
  background: transparent;
  overflow: visible;
  transition: border-color .15s;}
body.explore-ui .card:hover {transform: none;
  box-shadow: none;
  border-color: #4b6c87;}
body.explore-ui .card .art {height: 168px;
  min-height: 0;
  border: 1px solid #25445d;
  border-radius: 6px;
  background: #142e48;
  color: #8bdcff;}
body.explore-ui .card .art.blue {background: #142e48; border-color: #25445d; color: #8bdcff;}
body.explore-ui .card .art.ochre {background: #142e48; border-color: #25445d; color: #8bdcff;}
body.explore-ui .card-body {padding: 0 0 0 20px; min-width: 0; min-height: 168px;}
body.explore-ui .card h3 {margin-block: 12px 8px; font-size: 19px; line-height: 1.5;}
body.explore-ui .card:hover h3 {color: var(--explore-accent);}
body.explore-ui .card p {margin-bottom: 15px; font-size: 14px;}
body.explore-ui .card .bottom {gap: 14px; color: var(--explore-accent);}
body.explore-ui .card .bottom .textlink {min-height: 32px;}
body.explore-ui .card .bottom > .ico {width: 18px;}
body.explore-ui .page-tabs {margin-block: var(--space-tabs);
  padding: 0;
  gap: 18px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--explore-line);
  border-radius: 0;}
body.explore-ui .page-tabs a {padding: 13px 4px 15px;
  min-height: 48px;
  border-radius: 0;
  color: var(--explore-muted);
  font-size: 14px;}
body.explore-ui .page-tabs a:hover {color: var(--explore-text); background: transparent;}
body.explore-ui .page-tabs a.active {color: var(--explore-accent);
  background: transparent;
  box-shadow: inset 0 -2px var(--explore-accent);}
body.explore-ui .catalog-toolbar > .page-tabs {margin: 0;}
body.explore-ui .catalog-toolbar + .gridcards .card:nth-child(-n+2) {padding-top: 0; min-height: 0;}
body.explore-ui .list {gap: 0;}
body.explore-ui .listrow {padding: 19px 0;
  border: 0;
  border-bottom: 1px solid var(--explore-line);
  border-radius: 0;
  background: transparent;
  gap: 20px;}
body.explore-ui .listrow:last-child {border-bottom: 0;}
body.explore-ui .listrow b {color: var(--explore-text); font-size: 15px;}
body.explore-ui .listrow p {margin-top: 5px; font-size: 14px;}
body.explore-ui a.listrow:hover {background: #14263a;}
body.explore-ui :not(.list) > .ext-row + .ext-row {margin-top: 0;}
body.explore-ui .metrics {gap: 0;
  border-block: 1px solid var(--explore-line);}
body.explore-ui .metric {padding: 20px 24px; border: 0; border-radius: 0; background: transparent;}
body.explore-ui .metric + .metric {border-left: 1px solid var(--explore-line);}
body.explore-ui .metric-top {color: var(--explore-muted); font-size: 14px;}
body.explore-ui .metric-top .iconbox {background: #19354a; color: var(--explore-accent);}
body.explore-ui .metric:nth-child(4) .iconbox {background: var(--explore-tint); color: var(--explore-accent);}
body.explore-ui :is(.metric strong, .big) {font-size: 34px;
  font-weight: 500;
  letter-spacing: -.045em;
  font-variant-numeric: tabular-nums;
  margin-block: 10px 6px;}
body.explore-ui .tablebox {margin: 0; scrollbar-color: #43617c var(--explore-panel);}
body.explore-ui .datatable {color: var(--explore-text); font-size: 14px; line-height: 1.6;}
body.explore-ui .datatable th {background: #14273a;
  color: var(--explore-muted);
  font-size: 12px;
  font-weight: 500;}
body.explore-ui .datatable :is(th, td) {padding: 12px 14px; border-bottom: 1px solid var(--explore-line);}
body.explore-ui .datatable tbody tr:last-child td {border-bottom: 0;}
body.explore-ui .datatable tbody tr:hover {background: #14273a;}
body.explore-ui .datatable td {font-variant-numeric: tabular-nums;}
body.explore-ui .datatable :is(.button, .textlink) {min-height: 44px;}
body.explore-ui .statsline {gap: 0;}
body.explore-ui .fact {padding: 12px 18px;
  background: transparent;
  border-radius: 0;
  border-left: 1px solid var(--explore-line);
  color: var(--explore-text);}
body.explore-ui .fact:first-child {border-left: 0; padding-left: 0;}
body.explore-ui .fact b {font-size: 16px; margin-top: 7px;}
body.explore-ui .note {padding: 15px 18px;
  margin-block: 18px;
  background: #142e43;
  border-left: 2px solid var(--explore-accent);
  border-radius: 0;
  color: #c9e3f5;
  font-size: 14px;
  line-height: 1.8;}
body.explore-ui .empty {padding: 24px;
  color: var(--explore-muted);
  font-size: 15px;
  line-height: 1.8;}
body.explore-ui .ext-progress {background: #294156; height: 7px; border-radius: 2px;}
body.explore-ui .ext-progress i {background: var(--explore-accent); border-radius: 2px;}
body.explore-ui .ext-secondary > .button {color: var(--explore-muted); background: transparent; border-color: var(--explore-line);}
body.explore-ui .dialog-feedback {background: #3b2b1c; border: 1px solid #79562b; color: #ffd39b; font-size: 14px;}
body.explore-ui :is(select, input[type="search"]:not([id="global-query"]), input[type="number"], .ext-field input, .ext-field textarea, .ext-field select, .compose textarea, .ai-compose textarea, .ai-tools select, .launch-demo select) {min-height: 44px;
  border: 1px solid #49617a;
  border-radius: 6px;
  background: #0d1928;
  color: var(--explore-text);
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.7;
  accent-color: var(--explore-accent);}
body.explore-ui :is(input, textarea)::placeholder {color: #91a8be; opacity: 1;}
body.explore-ui :is(select, input, textarea):hover {border-color: #7393ae;}
body.explore-ui :is(.ext-field input[readonly], .ext-field textarea[readonly]) {background: #1a293b;
  color: var(--explore-muted);
  border-color: var(--explore-line);}
body.explore-ui .ext-field {gap: 9px; margin-bottom: 23px; font-size: 14px; color: var(--explore-text);}
body.explore-ui .ext-field textarea {resize: vertical;}
body.explore-ui .checkbox input {accent-color: var(--explore-accent);}
body.explore-ui dialog {max-height: calc(100dvh - 48px);
  padding: 28px;
  background: var(--explore-panel);
  color: var(--explore-text);
  border: 1px solid #46617b;
  border-radius: 10px;
  box-shadow: 0 24px 90px #0009;
  scrollbar-color: #43617c var(--explore-panel);}
body.explore-ui dialog::backdrop {background: #030914ba;}
body.explore-ui dialog h2 {font-size: 23px; line-height: 1.5;}
body.explore-ui dialog p {color: var(--explore-muted); font-size: 14px; line-height: 1.8;}
body.explore-ui dialog .article {color: #cbd9e8;}
body.explore-ui .modal-foot {margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--explore-line); flex-wrap: wrap;}
body.explore-ui #toast {background: #19384d; border: 1px solid #4b7690; color: var(--explore-text); border-radius: 6px; font-size: 14px;}
body.explore-ui .scene-facts .fact {padding: 16px;
  background: var(--explore-raised);
  border: 1px solid transparent;
  border-radius: 4px;}
body.explore-ui dialog.ai-panel {width: 470px;
  max-width: 100vw;
  max-height: 100dvh;
  padding: 0;
  border: 0;
  border-left: 1px solid #43617c;
  border-radius: 0;
  background: var(--explore-panel);
  color: var(--explore-text);
  box-shadow: -20px 0 80px #0007;}
body.explore-ui dialog.ai-panel::backdrop {background: #03091499;}
body.explore-ui .ai-tools .button {font-size: 14px;}
body.explore-ui .ai-message .textlink {font-size: 13px;}
body.explore-ui .ai-compose-actions .button {font-size: 14px;}
@media (max-width: 1100px) {
body.explore-ui .gridcards {grid-template-columns: 1fr;}
body.explore-ui .gridcards .card {grid-template-columns: minmax(180px, .65fr) minmax(0, 1.7fr); min-height: 200px;}
body.explore-ui .catalog-toolbar + .gridcards .card:nth-child(2) {padding-top: 20px;}
body.explore-ui .panel {padding: 22px;}
body.explore-ui .metric {padding: 22px 18px;}
}
@media (max-width: 760px) {
body.explore-ui .panel {padding: 20px;}
body.explore-ui .rowhead {gap: 12px;}
body.explore-ui .metrics {grid-template-columns: repeat(2, minmax(0, 1fr));}
body.explore-ui .metric {padding: 22px 16px;}
body.explore-ui .metric:nth-child(3) {border-left: 0;}
body.explore-ui .metric:nth-child(n+3) {border-top: 1px solid var(--explore-line);}
body.explore-ui .metric strong {font-size: 33px;}
body.explore-ui .gridcards .card {grid-template-columns: minmax(130px, .6fr) minmax(0, 1.4fr);}
body.explore-ui .card .art {min-height: 0;}
body.explore-ui .card-body {padding-left: 18px;}
body.explore-ui .card h3 {font-size: 18px;}
body.explore-ui .page-tabs {gap: 14px;}
body.explore-ui .page-tabs a {padding-inline: 2px;}
body.explore-ui .launch-actions :is(.button, .launch-secondary > .button) {height: auto; white-space: normal;}
body.explore-ui .listrow {flex-wrap: wrap; gap: 14px;}
body.explore-ui .listrow > div {flex: 1 1 190px;}
body.explore-ui .listrow > .button {margin-left: auto;}
body.explore-ui :is(.ext-field input, .ext-field textarea, .ext-field select, .compose textarea, .ai-compose textarea, select, input[type="number"], input[type="search"]:not([id="global-query"])) {font-size: 16px;}
body.explore-ui dialog {padding: 23px; max-height: calc(100dvh - 28px);}
}
@media (max-width: 520px) {
body.explore-ui .panel {padding: 18px;}
body.explore-ui .gridcards .card {grid-template-columns: 1fr; gap: 16px; padding-block: 20px;}
body.explore-ui .card .art {height: 166px; min-height: 0;}
body.explore-ui .card-body {padding: 0; min-height: 0;}
body.explore-ui .card p {font-size: 15px;}
body.explore-ui .card .bottom {margin-top: 0;}
body.explore-ui .metric {padding: 18px 12px;}
body.explore-ui .metric-top {font-size: 13px;}
body.explore-ui .metric-top .iconbox {width: 24px; height: 24px;}
body.explore-ui .statsline {gap: 14px;}
body.explore-ui .statsline .fact {flex: 1 1 140px; padding: 10px 0; border-left: 0; border-bottom: 1px solid var(--explore-line);}
body.explore-ui .scene-facts .fact {padding: 15px;}
body.explore-ui .ai-compose-actions .button {margin-left: auto;}
}
@media (prefers-reduced-motion: reduce) {
body.explore-ui :is(.button, .chip, .card, .textlink, .listrow, .notice-row, .search-result, .ai-icon, .ai-suggestions button, #toast) {animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;}
}
body.explore-ui .tag:not(.warm) {background: var(--explore-raised); color: #c4d7e8;}
body.explore-ui .card .bottom {margin-top: auto;}
body.explore-ui .ext-field-grid {gap: 16px; margin-bottom: 18px;}
body.explore-ui .ext-field-grid .ext-field {margin-bottom: 0;}
body.explore-ui .team-entry-grid .button {align-self: start; margin-top: auto;}
body.explore-ui .team-entry-grid .ext-field {margin-bottom: 0;}
body.explore-ui .launch-info .note {margin-bottom: 0;}
body.explore-ui .scene-reference .rowhead {margin-bottom: 8px;}
body.explore-ui .scene-reference .listrow {padding-block: 12px;}
body.explore-ui .scene-reference .listrow > .button {min-width: 88px;}
body.explore-ui[data-explore-area="dashboard"] .split > .panel:has(.gauge) {display: flex; flex-direction: column;}
body.explore-ui .nova-task-panel .empty {text-align: left; padding: 8px 0 20px;}
body.explore-ui .nova-task-actions .button {margin: 0;}
body.explore-ui .nova-download-panel .rowhead {margin: 0;}
body.explore-ui .nova-download-panel .actionrow {display: grid; margin: 0;}
@media (max-width: 760px) {
body.explore-ui .rowhead {align-items: flex-start; flex-wrap: wrap;}
body.explore-ui .nova-download-panel .actionrow {display: flex;}
body.explore-ui .page-tabs {column-gap: 14px; row-gap: 4px;}
body.explore-ui .page-tabs a {min-height: 44px; padding-block: 12px;}
}
body.explore-ui[data-explore-area="downloads"] .panel .empty {text-align: left; padding: 8px 0 20px;}
body.explore-ui .launch-info .note {text-wrap: balance;}
body.explore-ui .sectionline:has(> .category-tabs) {margin-block: 20px;}
body.explore-ui .sectionline > .category-tabs {margin: 0;}
body.explore-ui .page-tabs + .sectionline:has(> .category-tabs) {margin-top: 0;}

/* Preserved cascade from explore.css */
body.explore-ui .global-search input {background:#101f30;border:1px solid #284256;border-radius:5px;color:#e7f4ff;font-size:13px;height:38px}
body.explore-ui .global-search input::placeholder {color:#9bb2c7}
body.explore-ui .nova-hero .actionrow {margin-top:30px;gap:var(--space-control);align-items:center;flex-wrap:wrap}
body.explore-ui .nova-hero .button {min-height:48px;border-radius:5px;padding:12px 20px;font-size:14px}
body.explore-ui .nova-hero .button.primary {background:#68d6ff;color:#072132;border-color:#68d6ff;box-shadow:none}
body.explore-ui .nova-hero .button:not(.primary) {background:#0d2234;border-color:#325873;color:#e1f4ff}
body.explore-ui .home-columns>.panel {padding:0 0 20px;background:transparent;border:0;box-shadow:none}
body.explore-ui .home-aside>.panel {background:#0e2032;border:1px solid #294156;padding:24px}
body.explore-ui .button {transition:color .18s,background-color .18s,border-color .18s,transform .18s}
body.explore-ui .button:active {transform:translateY(1px)}
@media(max-width:600px) {
body.explore-ui .global-search input {font-size:16px;height:44px}
body.explore-ui .nova-hero .actionrow {margin-top:22px;gap:var(--space-control)}
body.explore-ui .nova-hero .button {padding:10px 14px;min-height:var(--control-height)}
}
body.explore-ui .scene-reference .list {gap:24px}
body.explore-ui .scene-reference .listrow {border-bottom:0}
body.explore-ui .scene-reference .listrow + .listrow {border-left:1px solid var(--line);padding-left:24px}
body.explore-ui :is(a,button,input,select,textarea) {scroll-margin-block:20px 110px}
@media(max-width:760px) {
body.explore-ui .scene-reference .listrow + .listrow {border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}
}
body.explore-ui .global-search input {height: 44px; font-size: 14px;}
@media (max-width:600px) {
body.explore-ui .nova-utility-bar .global-search input {padding-left: 10px; padding-right: 42px;}
body.explore-ui .global-search input {font-size: 16px;}
}

/* Shared states and field anatomy, used by public pages, admin and assistant. */
[data-ui="field"], body.explore-ui [data-ui="field"] { gap: var(--field-gap); margin: 0 0 var(--field-space); font-size: var(--text-body); }
.ext-field-grid, body.explore-ui .ext-field-grid { gap: var(--field-space); margin-bottom: var(--field-space); }
.ext-field-grid > [data-ui="field"], body.explore-ui .ext-field-grid > [data-ui="field"] { margin: 0; }
[data-ui="field"] > label { color: var(--ui-text); font-weight: 600; line-height: 1.6; }
[data-ui="field"] :is(input,textarea), body.explore-ui .ext-field[data-ui="field"] :is(input,textarea) {
  width: 100%; min-width: 0; min-height: var(--control-height); padding: 10px 12px;
  background: var(--field-bg); color: var(--ui-text); border: 1px solid var(--field-border);
  border-radius: var(--radius-control); font: 400 var(--text-body)/1.6 var(--font-ui);
}
[data-ui="field"] textarea { resize: vertical; }
[data-ui="field"] input[readonly], body.explore-ui [data-ui="field"] input[readonly] { background: var(--field-readonly); color: var(--ui-muted); }
.select-field { display: flex; flex-direction: column; align-items: stretch; width: 100%; gap: var(--field-gap); }
.select-field .select-label { color: var(--ui-text); font-size: var(--text-body); font-weight: 600; }
.select-field .select-trigger { width: 100%; min-width: 0; background: var(--field-bg); border-color: var(--field-border); }
.select-label-hidden > .select-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ai-tools > .select-control { flex: 1 1 0; min-width: 0; }
.ai-tools .select-trigger { width: 100%; min-width: 0; }
.ai-tools { gap: var(--actions-gap); }
.field-feedback, body.explore-ui .field-feedback, dialog .field-feedback { margin: 0; color: var(--ui-danger); font-size: var(--text-caption); line-height: 1.6; font-weight: 400; }
.field-feedback[hidden] { display: none; }
[data-ui="field"].has-error :is(input,textarea,.select-trigger), body.explore-ui [data-ui="field"].has-error :is(input,textarea,.select-trigger) { border-color: var(--ui-danger); }
[data-ui="field"] :is(input,textarea):focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
.select-trigger:disabled, [data-ui="field"] :disabled, .select-option[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.select-option[aria-disabled="true"] { background: transparent; }
.select-trigger:disabled:hover { border-color: var(--select-line); }
body .select-trigger:focus-visible, body.explore-ui .select-trigger:focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 3px; }
body .filter-toolbar .select-trigger:focus-visible, body.explore-ui .filter-toolbar .select-trigger:focus-visible { outline: none; }
.empty > p { margin: 0; font: inherit; color: inherit; }
.empty > .actionrow { justify-content: center; margin-top: var(--space-4); }
.listrow-copy { flex: 1 1 auto; min-width: 0; }
.listrow-copy > b { overflow-wrap: anywhere; }
.listrow-copy > p { margin: 4px 0 0; }
.listrow > .quiet { flex: 0 0 auto; }
dialog:not(.ai-panel) { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
.modal-foot { gap: var(--actions-gap); }
.button.danger, body.explore-ui .button.danger { color: var(--ui-danger); border-color: var(--ui-danger); background: var(--ui-danger-bg); }
[data-ui="notice"][data-tone="error"], [data-ui="badge"][data-tone="error"], body.explore-ui [data-ui="notice"][data-tone="error"], body.explore-ui [data-ui="badge"][data-tone="error"] { color: var(--ui-danger); background: var(--ui-danger-bg); border-color: var(--ui-danger); }
[data-ui="notice"][data-tone="success"], [data-ui="badge"][data-tone="success"], body.explore-ui [data-ui="notice"][data-tone="success"], body.explore-ui [data-ui="badge"][data-tone="success"] { color: var(--ui-success); background: var(--ui-success-bg); border-color: var(--ui-success); }
[data-ui="notice"][data-tone="warning"], [data-ui="badge"][data-tone="warning"], body.explore-ui [data-ui="notice"][data-tone="warning"], body.explore-ui [data-ui="badge"][data-tone="warning"] { color: var(--ui-warning); background: var(--ui-warning-bg); border-color: var(--ui-warning); }
.button[aria-busy="true"] { cursor: progress; }
@media (max-width: 760px) {
  [data-ui="field"] :is(input,textarea), body.explore-ui .ext-field[data-ui="field"] :is(input,textarea) { font-size: var(--text-lead); }
  .modal-foot > .button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  [data-ui], [data-ui] * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Data-backed component slots share geometry in both designs. */
.catalog-cover {width:100%;height:100%;object-fit:cover;display:block}
.api-form {display:grid;gap:var(--field-space);max-width:760px}
.api-form [data-ui="field"],body.explore-ui .api-form [data-ui="field"] {margin:0}
.panel > .statsline + .api-form {margin-top:var(--space-panel)}
[data-ui="field"] input[type="file"]::file-selector-button {font:inherit;color:var(--ui-accent);background:var(--select-selected);border:1px solid var(--ui-border);border-radius:var(--radius-control);padding:var(--space-1) var(--space-2);margin-right:var(--space-control);cursor:pointer}
.api-form .actionrow {margin-top:var(--space-2)}
.api-feedback {margin:0;color:var(--ui-danger);line-height:1.6}
.api-auth {max-width:520px;margin-inline:auto}
.api-copy {white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.api-page-count {font-size:var(--text-body);color:var(--ui-muted);align-self:center}
.api-scene-overview {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-panel);align-items:start;margin-bottom:var(--space-panel)}
.api-scene-overview figure {margin:0}
.api-scene-cover {width:100%;max-height:360px;object-fit:contain;background:var(--bg);border-radius:var(--radius-control)}
.api-scene-overview h3 {margin-top:0}
.api-ai-status {padding:0 var(--space-6);margin:var(--space-2) 0;color:var(--ui-muted);font-size:var(--text-body)}
dialog.ai-panel.live-ai-panel[open] {grid-template-rows:auto auto minmax(0,1fr) auto auto}
.ai-toolbar {max-height:52dvh;overflow-y:auto;min-width:0}
.ai-rename-form {display:grid;gap:var(--space-control);padding:0 20px 16px}
.ai-rename-form [data-ui="field"] {margin:0}
.ai-tools [data-ui="actions"] {flex-wrap:nowrap}
.admin-filterbar {display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-control);margin-block:var(--space-tabs)}
.admin-filterbar [data-ui="field"],body.explore-ui .admin-filterbar [data-ui="field"] {flex:1 1 200px;max-width:360px;min-width:0;margin:0}
.admin-filterbar [data-ui="actions"] {margin:0}
.admin-filterbar + .admin-filterbar {margin-top:0}
.admin-capability-gap {display:flex;align-items:center;gap:var(--space-control);padding-block:var(--space-4);color:var(--ui-muted);font-size:var(--text-body);line-height:1.6}
.admin-capability-gap > .tag {flex-shrink:0}
.admin-identifier {font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.admin-secondary {color:var(--ui-muted);white-space:nowrap}
.admin-pending {border-top:1px solid var(--ui-border)}
.admin-pending [data-ui="list-row"] {padding-inline:0}
.admin-pending [data-ui="list-row"] .tag {flex-shrink:0}
.admin-back {margin-block:0 var(--space-4)}
.admin-editor-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);gap:var(--space-panel);align-items:start}
.admin-editor-grid [data-ui="panel"] {margin:0;min-width:0}
.admin-editor-grid .api-form {max-width:none}
@media(max-width:900px){.admin-editor-grid{grid-template-columns:1fr}}
@media(max-width:600px){.admin-filterbar [data-ui="field"],body.explore-ui .admin-filterbar [data-ui="field"]{max-width:none;flex-basis:100%}.admin-filterbar [data-ui="actions"]{width:100%}.admin-filterbar [data-ui="actions"] > .button{flex:1}.admin-capability-gap{align-items:flex-start;flex-direction:column}}
.ai-compose .ext-field {margin:0}
.ai-tools {flex-wrap:wrap;gap:var(--space-control)}
.ai-message p {white-space:pre-wrap;overflow-wrap:anywhere}
.workspace > .panel + .panel {margin-top:var(--space-panel)}
.workspace > :is(.metrics,.quick-grid,.gridcards) + .panel {margin-top:var(--space-panel)}
.api-chart-scroll {overflow-x:auto}
.api-chart-scroll .chart {min-width:640px}
.avatar img {width:100%;height:100%;object-fit:cover;border-radius:inherit}
.password-control {position:relative;min-width:0}
[data-ui="field"] .password-control input,body.explore-ui [data-ui="field"] .password-control input {padding-right:76px}
.password-control .password-toggle,body.explore-ui .password-control .password-toggle {position:absolute;right:4px;top:50%;transform:translateY(-50%);height:44px;min-height:44px;min-width:60px;padding:8px 10px;margin:0;color:var(--ui-accent);background:transparent;border-color:transparent;box-shadow:none}
.password-control .password-toggle:hover,body.explore-ui .password-control .password-toggle:hover {background:var(--select-hover);transform:translateY(-50%)}
.password-control .password-toggle:active,body.explore-ui .password-control .password-toggle:active {transform:translateY(-50%)}
@media(max-width:760px){.api-scene-overview {grid-template-columns:1fr}.api-auth{max-width:none}.api-form{width:100%}}
/* Authentication fields keep the same anatomy with a roomier shared size. */
.login-form {--control-height:52px;--text-body:16px;--field-space:24px;--field-gap:10px;--radius-control:10px;--field-bg:#f7faff}
body.explore-ui .login-form {--field-bg:#0b1726;--field-border:#35516a}
.login-form [data-ui="field"],body.explore-ui .login-form [data-ui="field"] {margin:0}
.login-form [data-ui="field"] > label {font-size:14px;font-weight:500}
.login-form [data-ui="actions"] {display:grid;gap:var(--space-control)}
.login-form [type="submit"],body.explore-ui .login-form [type="submit"] {min-height:52px;border-radius:10px;font-size:16px;font-weight:600;margin-top:4px}
.login-form .password-toggle,body.explore-ui .login-form .password-toggle {width:44px;min-width:44px;padding:10px;right:4px;color:var(--ui-muted)}
.login-form .password-toggle .ico {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.login-form [data-ui="field"] .password-control input,body.explore-ui .login-form [data-ui="field"] .password-control input {padding-right:56px}
.login-form input::placeholder {color:var(--ui-muted);opacity:1}
.login-form input[aria-invalid="true"],body.explore-ui .login-form input[aria-invalid="true"] {border-color:var(--ui-danger)}
/* One version selector across both shells. */
.design-selector {display:inline-flex;flex:none;gap:var(--space-1);padding:3px;border:1px solid var(--ui-border);border-radius:var(--radius-menu);background:var(--ui-surface)}
.design-selector .design-option,body.explore-ui .design-selector .design-option {min-height:var(--control-height);padding:8px 12px;border-color:transparent;border-radius:var(--radius-control);background:transparent;color:var(--ui-muted);font-size:var(--text-body);box-shadow:none;white-space:nowrap}
.design-selector .design-option[aria-pressed="true"],body.explore-ui .design-selector .design-option[aria-pressed="true"] {background:var(--select-selected);color:var(--ui-accent)}
.design-selector .design-option:hover,body.explore-ui .design-selector .design-option:hover {background:var(--select-hover);color:var(--ui-accent);transform:none}
@media(max-width:600px){.design-selector .design-option,body.explore-ui .design-selector .design-option {padding-inline:10px;font-size:13px}}

body.platform-ui #classic-ai-launcher,body.platform-ui #top>.global-search,body.platform-ui .side-ai,body.platform-ui .side-message {display:none}
