/* Studio palette: graphite, warm paper and copper. No external font dependency. */
:root{font-family:"Segoe UI",Inter,Arial,sans-serif;--ink:#263a40;--green:#27756b;--muted:#68787c;--line:#dde3e2;--paper:#f7f7f3;--copper:#bc8055;color:#263a40;background:#ecefeb}
body{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
button{border-radius:8px;padding:8px 12px;font-weight:550;transition:background .16s,border-color .16s,box-shadow .16s;color:var(--ink)}
button:hover{background:#edf4f2;border-color:#8ab6ad;box-shadow:0 2px 5px #243a4010}
button:active{background:#dfece8}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #b97749;outline-offset:3px}
button.primary{background:#27756b;border-color:#27756b;box-shadow:0 3px 8px #27756b22}button.primary:hover{background:#205f58}
input[type=checkbox]{accent-color:#27756b;width:14px;height:14px;vertical-align:middle;flex-shrink:0}
input:not([type=checkbox]):not([type=range]),select,textarea{border-color:#d4dedd;border-radius:7px;background:#fff;transition:border-color .16s,box-shadow .16s}
input:not([type=checkbox]):not([type=range]):focus,select:focus,textarea:focus{border-color:#79a99e;box-shadow:0 0 0 3px #27756b12}
input:disabled{background:#edf1ef;color:#647773}input[type=range]{accent-color:#27756b}
header{height:auto;min-height:106px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 24px;padding:14px 24px 12px;background:#25363c;color:#fff;border:0;box-shadow:0 3px 14px #17282c16;z-index:2}
.brand{gap:11px}.brand-mark{width:36px;height:36px;background:#c49169;color:#fff;border-radius:10px;font:25px Georgia;box-shadow:inset 0 0 0 1px #ffffff30}
.brand strong{font-size:14px;letter-spacing:3px;font-weight:650}.brand small{display:block!important;font-size:9px;letter-spacing:1px;color:#a9bdbe;margin-top:5px}
#opened-file{justify-self:end;max-width:100%;color:#d6e2df;font-size:12px;font-weight:500;border-left:1px solid #ffffff25;padding-left:20px}
header>.actions{grid-column:1/-1;margin-left:0;gap:6px;flex-wrap:wrap}
header button{background:#ffffff0c;color:#e7efed;border-color:#ffffff20;font-size:11px;padding:7px 11px;border-radius:6px}
header button:hover{background:#ffffff18;color:#fff;border-color:#ffffff60}
header #create-axonometry,header #explore-pov{background:#c4916920;border-color:#c4916960;color:#f1d4bd}
header #create-axonometry:hover,header #explore-pov:hover{background:#c4916940}
header #save{background:#ffffffeb;color:#283e42;border-color:transparent}header #save:hover{background:#fff}
header #export{margin-left:auto;background:#33887a;border-color:#33887a;color:white}
.project-bar{height:44px;background:#fff;padding:0 24px;border-bottom:1px solid var(--line);gap:20px;color:#6b7b7e}
.sheet-picker{font-weight:600;display:flex;align-items:center;gap:10px}.sheet-picker select{font-size:11px;background:#edf3f0;padding:5px 9px;border-color:#dce7e2;border-radius:6px}
#project-name{color:#263e43;font-size:12px}#summary{font-size:10px}.local{font-size:10px;color:#7b8888}
main{height:auto;min-height:0;grid-template-columns:210px minmax(330px,1fr) 350px}
.navigator{background:#2e4146;border-right:0;color:#d8e4df}.navigator .panel-heading{color:#a0b8b6;letter-spacing:1.5px;font-size:9px;padding-top:23px}
.navigator .nav-group{color:#95acab;font-size:9px;letter-spacing:1.2px;margin:20px 16px 7px}
.navigator .nav-item{color:#d5e1df;border-radius:7px;font-weight:400;padding:9px 11px;font-size:11px;gap:7px}
.navigator .nav-item:hover{background:#ffffff0b;box-shadow:none}.navigator .nav-item.active{background:#e4efea;color:#254d47;font-weight:650;box-shadow:inset 3px 0 #b9865b}
.navigator .dot{background:#819792;flex-shrink:0}.navigator .dot.ok{background:#88bbae}.navigator .dot.error{background:#cfaa71}
.nav-footer{padding:16px 12px;background:#263b40;border-top:1px solid #ffffff0c;gap:7px}.nav-footer button,.nav-actions button{font-size:11px;background:#ffffff0c;color:#dce7e4;border-color:#ffffff1c;text-align:left}
.nav-footer button:hover,.nav-actions button:hover{background:#ffffff18}.nav-footer a{color:#b4ccbf;font-size:10px}
.workspace{min-height:0;background:var(--paper)}
.view-toolbar{background:#f9faf7;border-bottom:1px solid #e1e7e1;padding:14px 20px;height:auto;min-height:72px;flex-wrap:wrap;gap:12px}
.view-toolbar strong{font-size:17px;font-weight:550;letter-spacing:-.4px;color:#30474a}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#ad7c54;font-weight:650}
.view-toolbar .actions{gap:8px}.view-toolbar .actions>label{font-size:10px;display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e3e9e4;border-radius:5px;padding:6px 8px;white-space:nowrap}
.view-toolbar button{padding:6px 9px;font-size:11px}.view-toolbar .actions>label:has(input:checked){border-color:#b2d0c6;background:#eaf3ef;color:#245e52}
#canvas,#p0-canvas,#pp-canvas{background-color:#f0f2eb;background-image:radial-gradient(#b5c3b2 .65px,transparent .65px);background-size:20px 20px}
#drawing svg,#p0-drawing svg,#pp-drawing svg{filter:drop-shadow(0 4px 9px #32482d14)}
#drawing,#p0-drawing{min-width:0;min-height:0}#drawing svg,#p0-drawing svg{display:block;min-width:0;min-height:0;max-height:100%}
.view-footer{background:#fafbf8;color:#74807d;border-top:1px solid #dfe7dc;font-size:10px;padding:10px 18px}
.checks{height:154px;background:#fff}.checks .panel-heading{font-size:9px;letter-spacing:1.3px;color:#78847e;padding:15px 18px 10px}.checks #issues,.checks #p0-issues,.checks #pp-issues{height:112px}
.issue{border-radius:4px;padding:6px 4px;font-size:10px}.issue:hover{background:#f8f3e8}.issue.error{color:#aa6149}
.inspector{background:#fcfdfa;padding:24px 20px;border-left:1px solid #dce4dc;color:#344a4c}
.inspector h2{font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.3;margin:10px 0 18px;overflow-wrap:anywhere}
.inspector h3{font-size:11px;letter-spacing:.5px;color:#3b5d57;padding-top:12px;border-top:1px solid #e0e7df;margin-top:22px}
.pill{font-size:9px;font-weight:650;letter-spacing:1.3px;background:#e8efe8;color:#4a6c60;padding:5px 8px;border-radius:4px}
.help{color:#6e7e79;font-size:11px;line-height:1.75}.field{padding:13px 0;border-color:#e0e7df}.field>label{color:#445f58;font-size:10px}.value-row output{font-variant-numeric:tabular-nums;color:#547d6d}
.ref-card{background:#fff;border:1px solid #dce5dc;border-radius:9px;padding:13px;box-shadow:0 2px 5px #2a49300a}
.inspector fieldset,.axo-controls fieldset{border:1px solid #dce5dc;border-radius:9px;padding:13px;background:#fff}
.inspector legend,.axo-controls legend{color:#4b6d60;font-size:11px;font-weight:600;padding:0 6px}
summary{color:#5d7d6c;line-height:1.5}details[open]>summary{color:#276956}.notice{background:#f8f0df;color:#8a6944;border:1px solid #ede0c4;border-radius:7px}
dialog{border:1px solid #dae5dd;border-radius:15px;box-shadow:0 20px 80px #16383030;padding:28px;background:#fbfdf9}dialog::backdrop{background:#203a3b70;backdrop-filter:blur(3px)}
#toast{background:#284b45;border:1px solid #6e94846b;border-radius:10px;box-shadow:0 8px 30px #173a3030}
#axonometry-window{inset:12px;border:1px solid #ccd8d0;border-radius:14px;background:#f6f8f3;box-shadow:0 20px 80px #1c343540}
.axo-heading{background:#25363c;color:#ecf2ef;padding:14px 20px;border-bottom:0}.axo-heading strong{font-size:17px;letter-spacing:.3px;font-weight:550}.axo-heading span{color:#a6bbb5;font-size:10px}.axo-heading button{background:#ffffff0e;color:#e2eee8;border-color:#ffffff25}
.axo-controls{background:#fafcf8;border-right-color:#dce5db;padding:18px}.axo-tabs{background:#fafcf8;top:-18px;gap:4px;padding:9px 0 12px}.axo-tabs button{flex:1;font-size:11px}.axo-tabs button[aria-pressed=true]{background:#2f6e61;border-color:#2f6e61;color:#fff}
.axo-controls label{color:#526b61;font-size:11px}.axo-controls .checkline{padding:8px 9px;background:#fff;border:1px solid #e2e8de;border-radius:6px;margin:7px 0}
.axo-controls details{padding:10px 12px;background:#fff;border:1px solid #e0e7dd;border-radius:8px;margin:9px 0}.axo-controls details[open]{border-color:#a5c3b0}.axo-controls summary{font-size:11px;font-weight:550}
#axo-status{background:#edf3ec;color:#607768;font-size:11px;border-bottom-color:#dae5d9;padding:11px 18px}.axo-footer{background:#f9fbf6;color:#73836f;border-top-color:#dce5d7}
.pov-toolbar span,.pov-help,#pov-notice{backdrop-filter:blur(12px);background:#fcfdf4e8;border:1px solid #ffffff80;border-radius:10px;box-shadow:0 5px 20px #1a352618}.pov-toolbar button{box-shadow:0 3px 15px #142e2620}.pov-help summary{font-weight:650;font-size:11px}
*{scrollbar-width:thin;scrollbar-color:#a8bab0 transparent}
@media(max-width:1150px){header{padding:12px 16px;min-height:106px}main{grid-template-columns:175px minmax(280px,1fr) 310px}.inspector{padding:20px 15px}.project-bar{padding:0 16px}.view-toolbar{padding:12px}.view-toolbar strong{font-size:15px}}
@media(max-width:850px){body{height:auto;min-height:100dvh;display:block;overflow:auto}header .brand{width:auto}.project-bar{height:auto;min-height:44px;padding:9px 12px;gap:10px}header>.actions{grid-column:1/-1}#opened-file{flex-basis:auto}.local{display:none}main{grid-template-columns:155px minmax(0,1fr)}.workspace{height:650px}.inspector{grid-column:1/-1}header #export{margin-left:0}.view-toolbar .actions{gap:5px}.view-toolbar .actions>label{padding:5px 6px}#axonometry-window{inset:5px}.axo-controls{padding:10px}.axo-tabs{top:-10px}}
@media(max-width:500px){header{gap:12px;padding:14px 12px}header button{padding:7px 8px;font-size:10px}.brand strong{font-size:12px}#opened-file{font-size:10px;padding-left:10px}main{grid-template-columns:120px minmax(0,1fr)}.navigator .nav-item{font-size:10px;padding:9px 7px}.nav-footer{padding:12px 8px}.nav-footer button,.nav-actions button{font-size:10px}.view-toolbar{padding:10px}.view-toolbar strong{font-size:14px}.axo-heading{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){button,input,select,textarea{transition:none}}
@media print{body{height:auto;display:block;overflow:visible}main{height:auto}#canvas,#p0-canvas,#pp-canvas{background:none}.workspace{height:auto}}

.nav-actions{display:grid;padding:16px 12px 0;flex-shrink:0}
@media(max-width:500px){.nav-actions{padding:12px 8px 0}.nav-actions button{font-size:10px}}

.nav-actions{gap:8px}.nav-actions input{width:100%;min-width:0;font-size:11px}.nav-filter-empty{margin:12px 16px;color:#a0b8b6;font-size:11px}
