@font-face{font-family:Explorer;src:local('Segoe UI')}*{box-sizing:border-box} :root{--ink:#272a26;--muted:#777b72;--line:#dbdcd2;--paper:#f8f8f2;--accent:#59644b}body{margin:0;background:var(--paper);color:var(--ink);font-family:Explorer,'Segoe UI',sans-serif;font-size:14px}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:10px 14px}button:hover{background:#e9ecdf}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #a27943;outline-offset:3px}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);background:#fafaf5;gap:24px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:14px;font-weight:650;font-size:17px;letter-spacing:2px}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:2.3px;margin-top:6px}.brand-mark{display:block;font-family:Georgia,serif;font-weight:400;font-size:38px;letter-spacing:-12px;border:1px solid #9ba28f;width:48px;height:49px;padding:0 4px;line-height:47px}.brand-mark span{font-size:25px}.header-note{color:var(--muted);font-family:Georgia,serif;font-style:italic;font-size:17px}.dark-button{background:var(--ink);color:white;border:0;display:flex;gap:24px;align-items:center}.dark-button:hover{background:var(--accent)}main{display:grid;grid-template-columns:288px 1fr;height:calc(100dvh - 86px);min-height:580px}aside{border-right:1px solid var(--line);overflow-y:auto;padding:30px 24px 18px;scrollbar-width:thin}.eyebrow{font-size:9px;letter-spacing:2.2px;font-weight:650;color:var(--muted)}h1{font-family:Georgia,serif;font-size:35px;line-height:1.1;font-weight:400;letter-spacing:-1px;margin:16px 0 14px}.intro p{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 25px;max-width:205px}#levels{display:grid;gap:3px}#levels button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;font-size:12px;border-radius:3px}#levels button:first-child{padding:13px 10px;margin-bottom:6px;border:1px solid var(--line)}#levels button.active{background:#e6eadd;color:#39452e;font-weight:600}#levels button:hover{background:#edf0e5}#levels .level-code{font-size:10px;color:#8a8f81;letter-spacing:1px}.display-options{margin:24px 0 16px;padding-top:22px;border-top:1px solid var(--line)}.display-options>.eyebrow{margin-bottom:15px}.display-options>label{display:flex;gap:9px;align-items:center;font-size:12px;margin:12px 0;cursor:pointer}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}input[type=range]{accent-color:var(--accent);width:100%;margin:8px 0;cursor:pointer}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-top:18px}.section-label button{border:0;font-size:10px;padding:3px;color:var(--muted)}.range-label{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.text-button{border:0;padding:0;background:transparent;font-size:11px;color:var(--muted)}.text-button:hover{background:transparent;color:var(--ink)}#about-open{display:flex;justify-content:space-between;width:100%;padding-top:14px;border-top:1px solid var(--line)}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#f3f0e9,#dfdfd4);min-width:0}#canvas-host{position:absolute;inset:0}canvas{display:block;touch-action:none;outline:none}.view-heading{position:absolute;z-index:2;top:29px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}h2{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:9px 0 0;letter-spacing:-.6px}#ready{font-size:10px;letter-spacing:.5px;color:#687359;background:#fafbf2bb;border:1px solid #ffffff99;border-radius:20px;padding:7px 11px}#ready:before{content:' ';display:inline-block;width:5px;height:5px;background:#7a8a62;border-radius:50%;margin-right:7px}.view-tools{position:absolute;z-index:2;bottom:65px;left:50%;transform:translateX(-50%);display:flex;gap:3px;align-items:center;background:#fafbf5ed;padding:6px;border:1px solid #ffffffe0;border-radius:8px;box-shadow:0 6px 25px #2830250d;white-space:nowrap}.view-tools button{border:0;background:none;font-size:11px;padding:9px 12px;border-radius:4px}.view-tools button.active,.view-tools button:hover{background:#e1e7d5;color:#435235}.view-tools>span{width:1px;height:19px;background:var(--line);margin:0 5px}.stage-footer{position:absolute;bottom:23px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;color:#72776b;pointer-events:none}.stage-footer button{pointer-events:auto}.stage-footer b{margin:0 9px;color:#a1a594}#loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:#e9e9e1a8;backdrop-filter:blur(6px)}#loading[hidden]{display:none}.loading-card{text-align:center;padding:35px;width:300px;background:#fafbf4e8;border:1px solid white;border-radius:10px;box-shadow:0 20px 70px #30382814}.loader-mark{font-family:Georgia,serif;font-size:34px;letter-spacing:-7px;color:#727c5f;margin-bottom:22px}.loading-card strong{display:block;font-weight:500}.loading-card p{color:var(--muted);font-size:12px}.progress{height:3px;background:#e0e4d8;margin-top:23px;overflow:hidden}#progress-fill{display:block;width:5%;height:100%;background:#7f8b6a;transition:width .25s}.error-card{position:absolute;z-index:5;inset:35% auto auto 50%;transform:translateX(-50%);width:min(400px,85vw);background:var(--paper);padding:25px;border:1px solid var(--line);box-shadow:0 20px 70px #0002}.error-card p{font-size:13px;line-height:1.6}dialog{color:var(--ink);border:1px solid #ddd;padding:32px;background:var(--paper);border-radius:10px;width:min(1200px,94vw);max-height:90dvh}dialog::backdrop{background:#20251ddd;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.close{font-size:27px;line-height:20px;border:0;padding:10px;background:none}.close:hover{background:#e5e9dc}#gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.render-card{padding:0;text-align:left;border:1px solid var(--line);overflow:hidden;border-radius:5px}.render-card img{width:100%;height:215px;object-fit:contain;background:#e4e4db;display:block}.render-card span{display:block;padding:14px;font-size:12px}#image-dialog{width:min(1450px,96vw);padding:20px;background:#f3f3eb}#image-dialog>.close{position:absolute;right:18px;top:18px;background:#ffffffdd}#large-image{display:block;max-width:100%;max-height:77dvh;margin:auto;object-fit:contain}.image-caption{display:flex;justify-content:space-between;margin-top:18px;font-size:12px}.image-caption a{color:var(--accent)}#about{width:min(530px,92vw);padding:38px}#about>.close{position:absolute;right:10px;top:10px}#about p{line-height:1.8;color:#676e60;font-size:13px}.about-help{padding-top:15px;border-top:1px solid var(--line);font-size:11px!important}.mobile-label,#mobile-level{display:none}[hidden]{display:none!important}@media(min-width:1700px){main{grid-template-columns:320px 1fr}aside{padding:40px 32px}#levels button{padding:12px 10px}.intro{margin-bottom:32px}h1{font-size:42px}}@media(max-width:800px){header{height:70px;padding:0 18px}.header-note{display:none}.brand{font-size:14px;gap:10px}.brand small{font-size:7px}.brand-mark{font-size:30px;height:40px;width:40px;line-height:38px}.dark-button{font-size:11px;padding:10px;gap:10px}main{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:calc(100dvh - 70px);min-height:580px}aside{padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;overflow:visible}.intro,#levels,.display-options,#about-open{display:none}.mobile-label,#mobile-level{display:block}.mobile-label{font-size:11px;color:var(--muted)}#mobile-level{flex:1;border:1px solid var(--line);padding:9px;background:#fafbf4;color:var(--ink);border-radius:4px;font-size:12px}.view-heading{left:20px;right:20px;top:22px}h2{font-size:23px}.view-tools{bottom:68px;gap:0;max-width:95%}.view-tools button{padding:10px 8px;font-size:10px}.wide-label{display:none}.stage-footer{left:18px;right:18px;bottom:20px;display:block;text-align:center;font-size:9px}.stage-footer button{display:block;margin:9px auto 0;font-size:10px}.stage-footer b{margin:0 5px}#gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.render-card img{height:150px}dialog{padding:20px}.dialog-head h2{font-size:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#mobile-options{display:none}@media(max-width:800px){aside{position:relative;z-index:6}#mobile-options{display:block;padding:7px 11px}#panel.options-open .display-options{display:block;position:absolute;top:100%;left:16px;right:16px;z-index:10;background:var(--paper);padding:20px;margin:0;border:1px solid var(--line);box-shadow:0 12px 25px #26302225;border-radius:6px}}

.header-actions{display:flex;align-items:center;gap:12px}#theme-toggle{display:flex;align-items:center;gap:8px;font-size:11px;padding:10px 12px;background:transparent}html[data-theme=dark]{color-scheme:dark;--ink:#e4eaf3;--muted:#9eacc0;--line:#303d51;--paper:#171f2c;--accent:#a2bfed}html[data-theme=dark] header{background:#131b28}html[data-theme=dark] .brand-mark{border-color:#506581;color:#d6e4f7}html[data-theme=dark] .dark-button{background:#a7c2ed;color:#17243b}html[data-theme=dark] .dark-button:hover{background:#c5d8f5}html[data-theme=dark] button:hover{background:#2c3b53}html[data-theme=dark] .stage{background:radial-gradient(ellipse at 50% 45%,#354458,#202c3e)}html[data-theme=dark] #levels button.active{background:#2e4364;color:#dae9ff}html[data-theme=dark] #levels button:hover{background:#263851}html[data-theme=dark] #levels .level-code{color:#8da7cc}html[data-theme=dark] #ready{color:#c0d8fa;background:#1e304bd9;border-color:#405f89}html[data-theme=dark] #ready:before{background:#8eb8f2}html[data-theme=dark] .view-tools{background:#1c293ded;border-color:#4e6c9677;box-shadow:0 6px 25px #0003}html[data-theme=dark] .view-tools button.active,html[data-theme=dark] .view-tools button:hover{background:#3b5680;color:#e2edff}html[data-theme=dark] .stage-footer{color:#b0bfd5}html[data-theme=dark] .stage-footer b{color:#8099bc}html[data-theme=dark] #loading{background:#1a273cc9}html[data-theme=dark] .loading-card{background:#1e2c42f2;border-color:#4d6b9533;box-shadow:0 20px 70px #0005}html[data-theme=dark] .loader-mark{color:#b3cef5}html[data-theme=dark] .progress{background:#30435e}html[data-theme=dark] #progress-fill{background:#a9c8f4}html[data-theme=dark] dialog{border-color:#354861}html[data-theme=dark] .render-card img{background:#293a51}html[data-theme=dark] #image-dialog{background:#151f30}html[data-theme=dark] #image-dialog>.close{background:#1a263bde;color:#deebff}html[data-theme=dark] #about p{color:#b4c4dc}html[data-theme=dark] #mobile-level{background:#22324a;color:#e0eafd}html[data-theme=dark] .text-button:hover{background:transparent;color:#eaf2ff}html[data-theme=dark] input[type=checkbox],html[data-theme=dark] input[type=range]{accent-color:#a6c6f3}html[data-theme=dark] button:focus-visible,html[data-theme=dark] a:focus-visible,html[data-theme=dark] select:focus-visible,html[data-theme=dark] input:focus-visible{outline-color:#bdd8ff}@media(max-width:800px){.header-actions{gap:7px}#theme-toggle{padding:9px;font-size:16px}#theme-toggle span{display:none}}

html[data-theme=dark] dialog::backdrop{background:#111b2bdd}
