/* Shared theme tokens cover desktop chrome, touch sheets and dialogs. */
:root{--surface:#fafbf6;--field:#fffefa;--hover:#e6ebdf;--selected:#dce9df;--on-accent:#fff;--panel:var(--paper);--scroll:#9cae99;--warn:#81522d;--warn-bg:#f5e8d8;--danger:#994e38;--focus:#376f55}
:root[data-theme=dark]{--ink:#f1f4f3;--muted:#aab6b1;--paper:#0e0f12;--panel:#15171b;--surface:#1c2025;--field:#101317;--line:#353d40;--accent:#adddc8;--forest:#adddc8;--on-accent:#10271e;--hover:#29312f;--selected:#284b3c;--stage:#131619;--scroll:#56645e;--warn:#f0bf8e;--warn-bg:#392b21;--danger:#f6ab98;--focus:#c4f3de}
html{background:var(--paper);color:var(--ink);scrollbar-color:var(--scroll) var(--paper)}::selection{background:var(--forest);color:var(--on-accent)}input{caret-color:var(--forest)}input::placeholder{color:var(--muted);opacity:1}
.app-header,.mobile-deck,.mobile-tabs,.mobile-sheet-header,.inspector-footer{background:var(--paper);border-color:var(--line)}.panel{background:var(--panel);scrollbar-color:var(--scroll) transparent}
button,a,input,select{outline-color:var(--focus)}button:hover{background:var(--hover);border-color:var(--scroll)}button:active{background:var(--selected)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
button.active,.mobile-mode-switch button.active,.mobile-viewer-actions button.active,.mobile-step-options [aria-pressed=true],.environment-done,.environment-check,.builder-cta{background:var(--forest);color:var(--on-accent);border-color:var(--forest)}
.app-header nav,.mobile-edit-tabs{background:var(--surface)}.app-header nav a.active,.mobile-edit-tabs button[aria-selected=true]{background:var(--selected);color:var(--ink);box-shadow:none}.app-header nav a{color:var(--muted)}.app-header nav{margin-left:auto}
.theme-toggle{height:40px;width:40px;min-height:40px;padding:9px;display:grid;place-items:center;flex:none;border-color:var(--line)}.theme-toggle svg{width:20px;height:20px}.app-header #help{margin-left:-12px}
.cabinet-card,.mobile-object-list button,.environment-choice{background:var(--surface);color:var(--ink);border-color:var(--line)}.card-actions button,.inspiration-card button,.mobile-nudge button,.mobile-rotate-list button,.mobile-pose-grid button,.mobile-selection-actions button,.mobile-viewer-actions button,.mobile-selected-row #mobileEditSelection{background:var(--selected);color:var(--ink);border-color:var(--line)}
.object-row.selected,.mobile-object-list button[aria-pressed=true],.mobile-tabs button.active{background:var(--selected);border-color:var(--forest);color:var(--ink)}.mobile-tabs button{color:var(--muted)}.mobile-tabs b{background:var(--forest);color:var(--on-accent);border-color:var(--paper)}.type-dot{background:var(--forest)}
.position-grid input,.panel select,.mobile-position-fields input,.mobile-field input,.mobile-field select,select,.environment-adjustments select{background:var(--field);color:var(--ink);border-color:var(--line)}.mobile-mode-switch button{background:var(--surface);border-color:var(--line)}.mobile-quantity{background:var(--field);border-color:var(--line)}.mobile-quantity button{background:transparent}.mobile-quantity input{color:var(--ink)}
.status-box{background:var(--surface);border-color:var(--line);color:var(--muted)}.status-box.warning,.mobile-overlap-note{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)!important}.danger,.mobile-selection-actions .danger{color:var(--danger);background:transparent}.warning-note{color:var(--warn)}
dialog,.environment-dialog{background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:0 24px 90px #0008}dialog::backdrop,.environment-dialog::backdrop{background:#050709aa;backdrop-filter:blur(3px)}.environment-close{background:var(--surface);color:var(--ink);border-color:var(--line)}.environment-choice[aria-pressed=true]{border-color:var(--forest);box-shadow:none}.environment-adjustments{border-color:var(--line)}.environment-choice small,.environment-dialog p,.environment-eyebrow,.mobile-helper,.mobile-mode-hint,.mobile-selection-dimensions,.mobile-object-list small{color:var(--muted)}
.view-toolbar,.mode-toolbar,.stage-controls,.environment-launch,.mobile-canvas-top button,.mobile-zoom button,.selection-summary,.dim-label{background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:0 4px 16px #0001}.view-toolbar button:not(.active),.mode-toolbar button:not(.active){color:var(--ink)}
.stage-heading,.stats,body[data-environment=outdoor] .stage-heading,body[data-environment=outdoor] .stats,body[data-environment=club] .stats{background:var(--panel);color:var(--ink);border-radius:7px;padding:10px 12px}.stage-heading .eyebrow,.stage-heading>span:last-child,#sceneLabel,#sceneName,#stats{color:var(--ink)!important}.stage-heading .eyebrow{color:var(--muted)!important}.stage-bottom{color:#33443c;background:#eff2edeb;border-radius:4px;padding:4px 7px;width:max-content;max-width:calc(100% - 52px)}[data-theme=dark] .stage-bottom{color:#dce5e1;background:#15171be8}.scale-note i{background:var(--muted)}.dim-label{color:var(--ink)}.toast{background:var(--forest);color:var(--on-accent)}.loading{background:var(--paper);color:var(--ink)}
.sheet-grip span{background:var(--scroll)}.sheet-backdrop,.sheet-backdrop:hover{background:#05070988}.mobile-precise,.mobile-selection-actions,.mobile-list-check{border-color:var(--line)}.mobile-selected-row>span>svg{color:var(--forest)}input[type=checkbox],input[type=range],.panel input[type=checkbox],.environment-adjustments input{accent-color:var(--forest)}
[data-theme=dark] .cabinet-sketch,[data-theme=dark] .hd15-card .cabinet-sketch,[data-theme=dark] .c3d-card .cabinet-sketch{stroke:#d1ddd7;fill:#33463c}[data-theme=dark] .axis-x{color:#f0a49a}[data-theme=dark] .axis-y{color:#b7db9c}[data-theme=dark] .axis-z{color:#aac9f5}
@media(max-width:1024px){.app-header .theme-toggle{position:absolute;right:112px;top:calc(8px + env(safe-area-inset-top,0px));min-height:40px}.app-header{padding-right:158px}.app-header .brand{font-size:11px}.mobile-mode-switch button:hover,.mobile-tabs button:hover{background:var(--hover)}.mobile-mode-switch button.active{background:var(--forest)}.environment-launch{display:none}.environment-choices{grid-template-columns:1fr}}
@media(forced-colors:active){button.active,[aria-pressed=true]{outline:2px solid Highlight}}
