:root{color-scheme:dark;--ink:#101a1e;--paper:#e8e3d6;--gold:#d7b891;--line:#ffffff20;font:13px/1.5 Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper)}button,input,select,summary,a{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit;background:none;border:0;min-height:44px;padding:8px 14px;border-radius:2px}button:hover,summary:hover{color:var(--gold)}button:disabled{opacity:.35;cursor:default}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}header{position:absolute;inset:0 0 auto;z-index:4;padding:26px 34px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:17px;letter-spacing:-.06em;font-weight:700}.brand span{color:var(--gold);font-weight:400;margin-left:4px}.more-menu{position:relative}.more-menu>summary{font-size:22px;line-height:1;padding:10px 14px;min-height:44px;min-width:44px;text-align:center}.more-menu>div{position:absolute;right:0;top:52px;width:190px;background:#132024f5;border:1px solid var(--line);padding:8px;box-shadow:0 15px 45px #0004;backdrop-filter:blur(18px);display:grid}.more-menu button{text-align:left;font-size:11px;padding:10px 14px}.more-menu button:last-child{border-top:1px solid var(--line);margin-top:5px}details>summary{list-style:none}summary::-webkit-details-marker{display:none}main{position:relative;height:100svh;min-height:540px;isolation:isolate;overflow:hidden}.stage{position:absolute;inset:0;overflow:hidden}.stage:fullscreen{height:100vh;background:var(--ink)}canvas{display:block;width:100%;height:100%;touch-action:none}.stage-toolbar{position:absolute;left:34px;right:34px;top:98px;display:flex;justify-content:space-between;gap:10px}.mode-tabs,.stage-actions{display:flex;gap:2px}.stage-toolbar button{font-size:10px;letter-spacing:.02em;color:#c1c8c1;background:#101a1e65;min-height:36px;padding:6px 10px}[aria-pressed=true],[aria-selected=true]{color:var(--gold)!important;box-shadow:inset 0 -1px var(--gold)}.signature{position:absolute;left:34px;bottom:34px;pointer-events:none}.signature h1{font:normal clamp(25px,3.2vw,48px)/.98 Georgia,serif;letter-spacing:-.055em;margin:0 0 15px}.signature h1 em{font-weight:400}.signature p{margin:0;font-size:10px;letter-spacing:.02em;color:#d2cab7}.signature p span{opacity:.45;margin-left:5px}.edition-mark{position:absolute;right:34px;bottom:38px;font:9px monospace;letter-spacing:.05em;color:#a9b3a666;pointer-events:none}.dock{position:absolute;left:50%;bottom:max(34px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;background:#172429d9;border:1px solid #ffffff26;border-radius:40px;padding:5px;backdrop-filter:blur(20px);box-shadow:0 6px 30px #0002;white-space:nowrap;z-index:3}.dock button{font-size:12px;min-width:96px;padding:10px 16px}.dock button span{margin-left:10px;opacity:.5}.dock button+button{border-left:1px solid var(--line);border-radius:0}.dock button:last-child{border-radius:0 30px 30px 0;color:var(--gold);min-width:84px}.dock [aria-expanded=true]{color:var(--gold)}.dock [aria-expanded=true] span{display:inline-block;transform:rotate(45deg)}.workbench{position:absolute;right:34px;top:155px;width:300px;background:#142126f2;border:1px solid var(--line);backdrop-filter:blur(22px);border-radius:8px;box-shadow:0 20px 65px #0004;z-index:4}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 4px 20px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#a7b4af}.panel-heading button{font-size:23px;letter-spacing:normal}.control-scroll{padding:0 20px 14px;max-height:calc(100svh - 310px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#75827b44 transparent}.control-group,.behaviour-module,.language{padding:18px 0;border-top:1px solid var(--line)}h2{font-size:10px;font-weight:400;color:#9eada7;letter-spacing:.05em;margin:0 0 12px}.tool-grid{display:flex;flex-wrap:wrap;gap:5px}.tool-grid button{font-size:11px;text-align:left;padding:5px 9px;min-height:34px;border:1px solid #ffffff15;border-radius:3px;flex:1 1 40%}.tool-grid button[aria-pressed=true]{box-shadow:none;border-color:#d7b89180;background:#d7b8910b}.behaviour-buttons,.factor-tabs{display:flex;gap:3px}.behaviour-buttons button,.factor-tabs button{font-size:11px;padding:7px 6px;flex:1}.range-field{margin:16px 0}.range-meta{display:flex;justify-content:space-between;font-size:10px;margin-bottom:6px;color:#b7c0b9}output{color:#d7b891b0;font:10px monospace}input[type=range]{width:100%;margin:0;accent-color:var(--gold);height:20px;cursor:pointer}.select-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;margin:15px 0}select{color:var(--paper);background:var(--ink);border:1px solid var(--line);padding:8px;font-size:10px;max-width:155px}.language>summary{font-size:11px;padding:3px 0;color:#b7c0b9}.language form{display:flex;margin:10px 0;gap:4px}.language input{width:100%;min-width:0;color:inherit;background:none;border:1px solid var(--line);padding:9px;font-size:11px}.language button{font-size:10px}.language p{font-size:11px;color:var(--gold)}.secondary-row{display:flex;justify-content:space-between;border-top:1px solid var(--line)}.secondary-row button{font-size:10px;padding:8px 4px}dialog{background:#142126;color:var(--paper);border:1px solid #ffffff25;border-radius:8px;padding:34px;width:min(90vw,520px);max-height:86svh;overflow:auto;box-shadow:0 30px 100px #0007}dialog::backdrop{background:#030b10b8;backdrop-filter:blur(12px)}.text-dialog>h2{font-size:11px;letter-spacing:.02em;margin:10px 0 24px;color:var(--paper)}dialog p{font-size:12px;line-height:1.9;color:#bfc8bf}dialog .statement{font:italic 38px/1.14 Georgia,serif;letter-spacing:-.035em;color:var(--gold);margin:30px 0}dialog details{border-top:1px solid var(--line);padding:15px 0}dialog summary{font-size:11px}.close-dialog{float:right;font-size:24px;margin:-18px -18px 0 0}dialog small{display:block;font-size:10px;color:#99aaa3}.saved-gallery{display:grid;gap:20px}.saved-card img{width:100%;border-radius:4px}.saved-card-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center}.saved-card strong,.saved-card small{display:block;font-size:10px}.saved-buttons{display:flex}.saved-buttons button{font-size:10px}.empty{color:#879991;font-size:12px}#ar-dialog{width:min(94vw,800px);padding:24px}.ar-heading{display:flex;justify-content:space-between;align-items:center}.ar-heading h2{font:24px Georgia,serif;letter-spacing:-.04em;color:var(--paper);margin:0}.ar-heading span{font:10px monospace;color:#a29783}.ar-heading button{font-size:25px}model-viewer{width:100%;height:min(52svh,500px);background:radial-gradient(#293c3e,#142126);border-radius:5px;margin-top:15px;--progress-bar-color:var(--gold)}.ar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:14px 0}.ar-actions a{font-size:10px;border-bottom:1px solid var(--line);padding:10px 0}#ar-place{background:var(--gold);color:var(--ink);border-radius:24px;font-size:12px;padding:10px 22px}#ar-status{font-size:11px;min-height:20px}#toast{position:fixed;left:50%;bottom:104px;transform:translateX(-50%);padding:10px 16px;background:#e8e3d6;color:var(--ink);border-radius:24px;font-size:11px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;max-width:90vw;text-align:center}.visible#toast{opacity:1}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;top:0;z-index:30;padding:10px;background:var(--ink)}[hidden]{display:none!important}@media(max-width:650px){header{padding:18px 17px}.brand{font-size:16px}.stage-toolbar{left:17px;right:17px;top:78px}.stage-toolbar button{font-size:9px;min-height:36px;padding:6px 8px}.signature{left:20px;bottom:110px}.signature h1{font-size:29px;margin-bottom:10px}.signature p{font-size:9px}.edition-mark{right:20px;bottom:113px;font-size:8px}.dock{bottom:max(22px,env(safe-area-inset-bottom));width:auto;max-width:calc(100vw - 24px)}.dock button{min-width:91px;font-size:12px;padding:9px 13px}.dock button:last-child{min-width:76px}.dock button span{margin-left:7px}.workbench{top:auto;right:12px;left:12px;bottom:89px;width:auto;max-width:none;border-radius:12px}.control-scroll{max-height:47svh}.panel-heading{padding-top:5px}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr)}.tool-grid button{font-size:10px;padding:6px;text-align:center;min-height:36px}.range-field{margin:15px 0}.control-group,.behaviour-module,.language{padding:14px 0}.text-dialog{padding:29px}#ar-dialog{padding:18px}.stage-actions button#fullscreen{display:none}main{min-height:520px}}@media(max-width:360px){.tool-grid{grid-template-columns:repeat(3,1fr)}.dock button{min-width:82px}.dock button:last-child{min-width:70px}.signature h1{font-size:26px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Secondary views belong to the instrument, never over the artwork. */
.workbench .stage-toolbar{position:static;display:block}.workbench .mode-tabs{display:flex}.workbench .mode-tabs button{flex:1}.workbench .stage-actions{margin-top:8px;justify-content:flex-end}.workbench .stage-actions button{min-width:36px}

@media(max-width:650px){.is-editing .signature,.is-editing .edition-mark{visibility:hidden}}
