.pwa-install-gate{z-index:1000;justify-content:center;align-items:center;gap:var(--dw-space-1);padding:var(--dw-space-4);background:var(--dw-black);color:var(--dw-paper);font-family:var(--dw-font-ui);text-align:center;flex-direction:column;display:flex;position:fixed;inset:0}.pwa-install-gate-icon{width:88px;height:88px;margin-bottom:var(--dw-space-4);border:1px solid var(--dw-line);box-shadow:var(--dw-shadow);border-radius:20px}.pwa-install-gate-title{margin:0 0 var(--dw-space-2);font-family:var(--dw-font-display);font-weight:400;font-size:var(--dw-size-title);letter-spacing:-.005em;color:var(--dw-paper);line-height:1.05}.pwa-install-gate-copy{max-width:34ch;margin:0 0 var(--dw-space-5);font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--dw-paper-dim);line-height:1.5}.pwa-install-gate-actions{justify-content:center;gap:var(--dw-space-2);flex-wrap:wrap;display:flex}.pwa-install-button{appearance:none;border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius-pill);min-height:40px;color:var(--dw-paper-dim);font:inherit;font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--dw-fade), color var(--dw-fade), border-color var(--dw-fade), opacity var(--dw-fade);background:0 0;justify-content:center;align-items:center;padding:0 20px;font-weight:500;display:inline-flex}.pwa-install-button:hover:not(:disabled){color:var(--dw-paper);border-color:var(--dw-paper-dim)}.pwa-install-button:disabled{opacity:.4;cursor:default}.pwa-install-button--primary{background:var(--dw-paper);border-color:var(--dw-paper);color:var(--dw-black)}.pwa-install-button--primary:hover:not(:disabled){background:var(--dw-torch);border-color:var(--dw-torch);color:var(--dw-black)}.pwa-offline-banner,.pwa-update-banner{z-index:1000;align-items:center;gap:var(--dw-space-3);border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-panel);color:var(--dw-paper-dim);font-family:var(--dw-font-ui);font-size:var(--dw-size-small);letter-spacing:.02em;box-shadow:var(--dw-shadow);padding:10px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.pwa-banner-button{appearance:none;border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius-pill);color:var(--dw-paper);font:inherit;font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-wide);text-transform:uppercase;cursor:pointer;transition:border-color var(--dw-fade), color var(--dw-fade);background:0 0;padding:6px 12px;font-weight:500}.pwa-banner-button:hover{border-color:var(--dw-paper-dim)}:root{--dw-black:#050607;--dw-ink:#0b0d10;--dw-slate:#151a20;--dw-slate-2:#1e252d;--dw-slate-3:#2a323b;--dw-paper:#ece6da;--dw-paper-dim:#ece6dab8;--dw-paper-faint:#ece6da75;--dw-paper-ghost:#ece6da3d;--dw-torch:#f0c062;--dw-torch-dim:#f0c0628c;--dw-torch-glow:#f0c0622e;--dw-ember:#c9633f;--dw-moon:#8fa9c4;--dw-moon-dim:#8fa9c466;--dw-line:#ece6da1a;--dw-line-strong:#ece6da38;--dw-panel:#0b0d10eb;--dw-panel-soft:#0b0d10bd;--dw-scrim:#05060794;--dw-scrim-strong:#050607e6;--dw-backing:#0506078c;--dw-fill:#ece6da0d;--dw-fill-strong:#ece6da1a;--dw-void:#000;--dw-shadow:0 30px 80px #0000008c, inset 0 1px 0 #ffffff0a;--dw-focus:#f0c062d9;--dw-font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--dw-font-ui:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--dw-font-mono:"SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--dw-size-hud:.78rem;--dw-size-small:.7rem;--dw-size-body:.92rem;--dw-size-lead:1.08rem;--dw-size-title:2.6rem;--dw-size-display:clamp(3.2rem, 7vw, 6rem);--dw-tracking-caps:.26em;--dw-tracking-wide:.14em;--dw-space-1:4px;--dw-space-2:8px;--dw-space-3:14px;--dw-space-4:22px;--dw-space-5:36px;--dw-space-6:56px;--dw-radius:4px;--dw-radius-pill:999px;--dw-ease:cubic-bezier(.22, .61, .36, 1);--dw-fade:.22s;--dw-fade-slow:.6s;--dw-fade-glacial:1.4s}@media (prefers-reduced-motion:reduce){:root{--dw-fade:1ms;--dw-fade-slow:1ms;--dw-fade-glacial:1ms}}.place-transition{z-index:60;background:var(--dw-black);pointer-events:none;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.place-transition-out{animation:dw-fade-to-black .38s var(--dw-ease) forwards}.place-transition-held{opacity:1}.place-transition-in{animation:dw-fade-from-black .9s var(--dw-ease) forwards}.place-transition-copy{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:var(--dw-paper-dim);letter-spacing:.02em;animation:dw-copy-in 1.4s var(--dw-ease) both;margin:0}@keyframes dw-fade-to-black{0%{opacity:0}to{opacity:1}}@keyframes dw-fade-from-black{0%{opacity:1}to{opacity:0}}@keyframes dw-copy-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hub-overlay{z-index:34;padding:var(--dw-space-5);font-family:var(--dw-font-ui);color:var(--dw-paper);--hub-cork:#5b402c;--hub-cork-deep:#3a2717;--hub-frame:#2a1c12;--hub-paper:#ede2c8;--hub-paper-edge:#d5c7a6;--hub-ink:#2b2118;--hub-ink-soft:#2b2118a8;--hub-ink-faint:#2b21186b;--hub-pin:#b5372c;--hub-screen:#2c3530;--hub-screen-deep:#1c211d;--hub-bezel:#1c1a16;--hub-font-hand:"Bradley Hand", "Segoe Print", "Chalkboard SE", "Comic Neue", "Patrick Hand", Caveat, "Iowan Old Style", Georgia, serif;place-items:center;display:grid;position:absolute;inset:0}.hub-scrim{background:var(--dw-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute;inset:0}.hub-panel{width:min(760px,100%);max-height:100%;padding:var(--dw-space-5) var(--dw-space-5) var(--dw-space-4);border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-panel);box-shadow:var(--dw-shadow);animation:dw-panel-in var(--dw-fade) var(--dw-ease) both;position:relative;overflow:auto}@keyframes dw-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hub-header{justify-content:space-between;align-items:flex-start;gap:var(--dw-space-4);margin-bottom:var(--dw-space-4);display:flex}.hub-eyebrow{font-size:var(--dw-size-hud);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint)}.hub-title{margin:var(--dw-space-1) 0 0;font-family:var(--dw-font-display);font-weight:400;font-size:var(--dw-size-title);color:var(--dw-paper);line-height:1.05}.hub-close{border:1px solid var(--dw-line);border-radius:var(--dw-radius-pill);width:40px;height:40px;color:var(--dw-paper-dim);cursor:pointer;transition:border-color var(--dw-fade), color var(--dw-fade);background:0 0;flex:none;font-size:1.4rem;line-height:1}.hub-close:hover,.hub-close:focus-visible{border-color:var(--dw-line-strong);color:var(--dw-paper);outline:none}.hub-button{border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius-pill);color:var(--dw-paper);font:inherit;font-size:var(--dw-size-hud);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background var(--dw-fade), border-color var(--dw-fade), color var(--dw-fade);background:0 0;padding:10px 16px}.hub-button:hover:not(:disabled),.hub-button:focus-visible:not(:disabled){background:var(--dw-paper);color:var(--dw-black);border-color:var(--dw-paper);outline:none}.hub-button:disabled{opacity:.4;cursor:default}.hub-board{border:10px solid var(--hub-frame);background:radial-gradient(ellipse at 50% 0%, #ffd29624, transparent 60%), repeating-radial-gradient(circle at 20% 30%, #0000000f 0 1px, transparent 1px 5px), repeating-radial-gradient(circle at 70% 60%, #ffebc80d 0 1px, transparent 1px 4px), linear-gradient(180deg, var(--hub-cork), var(--hub-cork-deep));width:min(940px,100%);box-shadow:var(--dw-shadow), inset 0 0 60px #00000073;border-radius:2px}.hub-board .hub-eyebrow{color:#ede2c880}.hub-board .hub-title{color:var(--hub-paper)}.hub-board .hub-close{color:#ede2c8b3;border-color:#ede2c838}.hub-cards{justify-content:center;gap:var(--dw-space-4);padding:var(--dw-space-2) 0 var(--dw-space-2);grid-template-columns:repeat(auto-fit,minmax(200px,300px));margin:0;list-style:none;display:grid}.hub-card{--tilt:0deg;padding:var(--dw-space-4) var(--dw-space-3) var(--dw-space-3);background:linear-gradient(180deg, #fff3, transparent 30%), var(--hub-paper);color:var(--hub-ink);transform:rotate(var(--tilt));box-shadow:0 10px 18px #0000006b, 0 1px 0 var(--hub-paper-edge);transition:transform var(--dw-fade) var(--dw-ease), opacity var(--dw-fade);flex-direction:column;gap:6px;display:flex;position:relative}.hub-card:focus-within{transform:rotate(0)translateY(-2px)}.hub-card.is-pinned{opacity:.62}.hub-card.is-taken{transform:rotate(0);box-shadow:0 14px 24px #00000080,0 0 0 1px #ffb76559}.hub-pin{background:radial-gradient(circle at 35% 30%, #e8837a, var(--hub-pin) 55%, #6d1f18);border-radius:50%;width:14px;height:14px;margin-left:-7px;position:absolute;top:-7px;left:50%;box-shadow:0 2px 3px #00000080}.hub-card-head{justify-content:space-between;align-items:baseline;gap:var(--dw-space-2);display:flex}.hub-card-address{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);letter-spacing:.01em}.hub-card-been{letter-spacing:.14em;text-transform:uppercase;color:var(--hub-ink-faint);font-size:.66rem}.hub-card-brief{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);color:var(--hub-ink);margin:2px 0 0;line-height:1.5}.hub-card-relation{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-hud);color:var(--hub-ink-soft);margin:0}.hub-card-night{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-hud);color:var(--hub-ink-soft);margin:4px 0 0}.hub-card-detail{color:var(--hub-ink-soft);margin:3px 0 0;font-size:.72rem;line-height:1.35}.hub-card-work{margin-top:var(--dw-space-2)}.hub-card-foot{justify-content:space-between;align-items:flex-end;gap:var(--dw-space-2);padding-top:var(--dw-space-2);border-top:1px solid #2b211824;margin-top:auto;display:flex}.hub-card-object{font-family:var(--dw-font-display);font-size:var(--dw-size-body);color:var(--hub-ink)}.hub-envelope-corner{border:1px solid var(--hub-paper-edge);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%,0 45%);background:#f4ecd8;align-items:baseline;gap:5px;padding:4px 8px 3px 10px;display:inline-flex;position:relative}.hub-envelope-fee{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--hub-ink)}.hub-card .hub-take{margin-top:var(--dw-space-2);color:var(--hub-ink);border-color:#2b211866;align-self:flex-end}.hub-card .hub-take:hover:not(:disabled),.hub-card .hub-take:focus-visible:not(:disabled){background:var(--hub-ink);border-color:var(--hub-ink);color:var(--hub-paper)}.hub-card-tonight{margin-top:var(--dw-space-2);font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);color:var(--hub-ink);align-self:flex-end}.hub-client-card{width:min(420px,100%);padding:var(--dw-space-3);box-shadow:none;gap:var(--dw-space-4);animation:hub-card-out var(--dw-fade-slow) var(--dw-ease) both;background:0 0;border:0;flex-direction:column;display:flex}@keyframes hub-card-out{0%{opacity:0;transform:translateY(28px)rotate(2deg)}to{opacity:1;transform:none}}.hub-client-card .hub-card{padding:var(--dw-space-5) var(--dw-space-4) var(--dw-space-4)}.hub-card.is-in-hand:focus-within{transform:rotate(var(--tilt))}.hub-client-card-hand{margin:var(--dw-space-2) 0 0;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-hud);color:var(--hub-ink-soft)}.hub-client-card-leave{justify-content:center;display:flex}.hub-client-card-away{align-items:center;gap:var(--dw-space-2);display:inline-flex}.hub-client-card-away:hover:not(:disabled) .dw-key,.hub-client-card-away:focus-visible:not(:disabled) .dw-key{color:var(--dw-black);border-color:color-mix(in srgb, var(--dw-black) 45%, transparent);background:0 0}@media (prefers-reduced-motion:reduce){.hub-client-card{animation:none}}.hub-record{gap:var(--dw-space-3);margin-top:var(--dw-space-3);padding-top:var(--dw-space-2);border-top:1px solid #ede2c82e;flex-wrap:wrap;display:flex}.hub-record-group{flex:180px;min-width:0}.hub-record-label{letter-spacing:.14em;text-transform:uppercase;color:#ede2c880;margin:0 0 4px;font-size:.66rem;font-weight:500}.hub-record-list{font-family:var(--dw-font-display);font-size:var(--dw-size-body);color:var(--hub-ink);margin:0;padding:0;line-height:1.5;list-style:none}.hub-card-owed,.hub-card-kept{color:var(--hub-ink)}.hub-board-note{margin:var(--dw-space-3) 0 0;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-hud);color:#ede2c89e}.hub-price{min-width:72px;font-family:var(--dw-font-display);font-size:var(--dw-size-body);letter-spacing:0;text-transform:none;flex:none}.hub-section+.hub-section{margin-top:var(--dw-space-4)}.hub-section-title{font-family:var(--dw-font-display);font-weight:400;font-size:var(--dw-size-lead);margin:0}.hub-section-lead{margin:2px 0 var(--dw-space-3);font-size:var(--dw-size-hud);color:var(--dw-paper-faint)}.hub-stock{border-top:1px solid var(--dw-line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hub-stock-item{justify-content:space-between;align-items:center;gap:var(--dw-space-4);padding:var(--dw-space-3) var(--dw-space-2);margin:0 calc(var(--dw-space-2) * -1);border-bottom:1px solid var(--dw-line);border-radius:var(--dw-radius);transition:opacity var(--dw-fade), background var(--dw-fade);display:flex}.hub-stock-item:hover,.hub-stock-item:focus-within{background:var(--dw-fill)}.hub-stock-item:not(.is-short):not(.is-owned):not(.is-out-of-stock):hover .hub-stock-icon .inv-icon-body,.hub-stock-item:not(.is-short):not(.is-owned):not(.is-out-of-stock):focus-within .hub-stock-icon .inv-icon-body{fill:var(--dw-paper)}.hub-stock-item.is-short .hub-stock-text{opacity:.5}.hub-stock-item.is-short .hub-price{opacity:.55;border-style:dashed}.hub-stock-item.is-owned .hub-price{opacity:.3;border-color:#0000}.hub-stock-item.is-out-of-stock .hub-price{opacity:.4;border-color:#0000}.hub-stock-item.is-bought{background:var(--dw-torch-glow);animation:hub-bought-flash var(--dw-fade-slow) var(--dw-ease) both}.hub-stock-item.is-bought .hub-stock-icon{animation:hub-bought-icon var(--dw-fade-slow) var(--dw-ease) both}@keyframes hub-bought-flash{0%{background:var(--dw-torch-glow)}to{background:0 0}}@keyframes hub-bought-icon{0%{transform:scale(1)}30%{transform:scale(1.16)}to{transform:scale(1)}}.hub-stock-icon{width:30px;height:30px;color:var(--dw-paper-dim);flex:none}.hub-stock-icon svg{width:100%;height:100%}.hub-stock-item.is-short .hub-stock-icon,.hub-stock-item.is-owned .hub-stock-icon,.hub-stock-item.is-out-of-stock .hub-stock-icon{opacity:.5}.hub-stock-name{font-size:var(--dw-size-body)}.hub-stock-blurb{font-size:var(--dw-size-hud);color:var(--dw-paper-dim);margin-top:2px;line-height:1.45}.hub-stock-owned{font-size:var(--dw-size-hud);color:var(--dw-torch-dim);margin-top:4px}.hub-leave{margin-top:var(--dw-space-3);justify-content:flex-end;display:flex}.hub-coat{width:min(620px,100%)}.coat-pockets{justify-content:space-between;align-items:baseline;gap:var(--dw-space-3);margin-top:var(--dw-space-3);padding-bottom:var(--dw-space-2);border-bottom:1px solid var(--dw-line-strong);display:flex}.coat-pockets-label{font-size:var(--dw-size-hud);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint)}.coat-pockets-value{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:var(--dw-torch)}.coat-empty{margin:var(--dw-space-4) 0;font-size:var(--dw-size-body);color:var(--dw-paper-dim)}.coat-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.coat-row{justify-content:space-between;align-items:center;gap:var(--dw-space-4);padding:var(--dw-space-3) 0;border-bottom:1px solid var(--dw-line);display:flex}.coat-row:not(.is-carried) .coat-row-text{opacity:.6}.coat-row-name{font-size:var(--dw-size-body)}.coat-row-note{font-size:var(--dw-size-hud);color:var(--dw-paper-dim);margin-top:2px}.coat-row.is-carried .coat-row-note{color:var(--dw-torch-dim)}.coat-row-controls{align-items:center;gap:var(--dw-space-2);flex:none;display:flex}.coat-step{min-width:40px;font-family:var(--dw-font-display);font-size:var(--dw-size-lead);letter-spacing:0;text-transform:none;line-height:1}.coat-row-count{min-width:22px;font-family:var(--dw-font-display);font-size:var(--dw-size-body);text-align:center;color:var(--dw-paper-dim)}.coat-actions{justify-content:flex-start;gap:var(--dw-space-2);margin-top:var(--dw-space-3);display:flex}.hub-desk{width:min(960px,100%);box-shadow:var(--dw-shadow), inset 0 1px 0 #ffffff8c, inset 0 -4px 0 #0000001f;background:linear-gradient(#ddd3bd,#c9bea5);border:1px solid #a89c83;border-radius:16px;padding:16px 16px 30px;overflow:hidden}.hub-desk-power{z-index:1;color:#4a4234;cursor:pointer;width:22px;height:20px;transition:border-color var(--dw-fade), color var(--dw-fade);background:linear-gradient(#d4c9b0,#bfb398);border:1px solid #a89c83;border-radius:5px;padding:0;font-size:1rem;line-height:1;position:absolute;bottom:5px;right:18px}.hub-desk-power:hover,.hub-desk-power:focus-visible{color:#1c1a16;border-color:#5d5443;outline:none}.hub-desk:after{content:"";background:#8fae72;border-radius:50%;width:6px;height:6px;position:absolute;bottom:12px;right:48px;box-shadow:0 0 6px #8fae72cc}.os-glass{isolation:isolate;background:#0e1210;border-radius:9px;height:min(560px,100dvh - 124px);min-height:200px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #2a2620,0 0 0 3px #b3a78d}.os-glass:after{content:"";z-index:40;pointer-events:none;background:radial-gradient(at 50% 45%,#0000 62%,#00000061 100%),linear-gradient(160deg,#ffffff12,#0000 22%),repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 3px);position:absolute;inset:0}@media (pointer:fine){.os-glass,.os-glass *{cursor:none!important}}.os-desktop{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 960 140' preserveAspectRatio='none'%3E%3Cpath d='M0 140V92h40V70l26-18 26 18v22h34V60h14V48h10v12h30v32h52V76l30-22 30 22v16h44V66h12V54h10v12h48v26h40V72l28-20 28 20v20h60V58h14V46h10v12h36v34h46V74l30-22 30 22v18h42V64h12V52h10v12h52v28h40V70l26-18 26 18v22h38v48z' fill='%23141a20' fill-opacity='0.72'/%3E%3C/svg%3E") bottom/100% 34% no-repeat,radial-gradient(at 72% 18%,#e9d6a038,#0000 38%),linear-gradient(#243142 0%,#3b4b5b 44%,#6c6f62 78%,#585443 100%);position:absolute;inset:0 0 38px}.os-icons{grid-template-rows:repeat(auto-fill,84px);grid-auto-columns:88px;grid-auto-flow:column;gap:4px;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:12px;bottom:10px;left:10px}.os-icon{color:#f1ead8;width:86px;font:600 11px/1.2 var(--dw-font-ui);letter-spacing:.02em;text-align:center;text-shadow:0 1px 2px #000000d9;transition:background-color var(--dw-fade), border-color var(--dw-fade);background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:5px;padding:7px 4px 5px;display:flex}.os-icon .os-glyph{filter:drop-shadow(0 2px 2px #00000073)}.os-icon:hover{background:#e9e0cb1a;border-color:#e9e0cb33}.os-icon.is-selected{background:#8fae724d;border-color:#8fae72bf}.os-icon:focus-visible{outline-offset:-4px;outline:1px dotted #f1ead8}.os-icon.is-folder{opacity:.85}.os-icon-label{overflow-wrap:anywhere;max-width:80px}.os-note.desk-note{z-index:5;background:#eadfa5;border-color:#c9bb72;max-width:30ch;margin:0;position:absolute;top:16px;right:18px;transform:rotate(1.2deg);box-shadow:0 6px 14px #0006}.os-note .desk-note-text{color:#2a2622}.os-note .hub-button{color:#2a2622;background:#2a262214;border-color:#2a262273}.os-note .hub-button:hover,.os-note .hub-button:focus-visible{color:#1a1714;background:#2a262229;border-color:#2a2622}.os-window{z-index:10;animation:os-window-in var(--dw-fade) var(--dw-ease) both;background:#1a1e1a;border:1px solid #6b6454;border-radius:7px;flex-direction:column;display:flex;position:absolute;inset:14px 14px 10px 108px;overflow:hidden;box-shadow:0 14px 30px #0000008c}@keyframes os-window-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.os-titlebar{background:linear-gradient(#44523f,#313b2e);border-bottom:1px solid #00000073;align-items:center;gap:8px;padding:5px 6px 5px 10px;display:flex}.os-title{font:600 13px/1.2 var(--dw-font-ui);letter-spacing:.03em;color:#f1ead8;flex:1;margin:0}.os-window-button{color:#f1ead8;width:28px;height:22px;transition:background-color var(--dw-fade), border-color var(--dw-fade);background:#00000038;border:1px solid #f1ead840;border-radius:4px;place-items:center;padding:0;font-size:15px;line-height:1;display:grid}.os-window-button:hover,.os-window-button:focus-visible{background:#f1ead824;border-color:#f1ead899;outline:none}.os-window-button.is-close:hover,.os-window-button.is-close:focus-visible{background:#7d3a2d}.os-window-body{scrollbar-color:#6b6454 transparent;scrollbar-width:thin;padding:var(--dw-space-4) var(--dw-space-5);flex:1;overflow:auto}.os-window-body:focus{outline:none}.os-start-menu{z-index:30;background:#232923;border:1px solid #5d5a4c;border-radius:8px 8px 8px 3px;flex-direction:column;gap:2px;width:220px;padding:6px;display:flex;position:absolute;bottom:42px;left:6px;box-shadow:0 12px 26px #0000008c}.os-menu-item{color:#f1ead8;font:13px/1.2 var(--dw-font-ui);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;padding:7px 10px;display:flex}.os-menu-item:hover,.os-menu-item:focus-visible{background:#8fae7252;outline:none}.os-menu-item.is-switch-off{border-top:1px solid #f1ead826;border-radius:0 0 5px 5px;margin-top:4px;padding-top:9px}.os-taskbar{z-index:20;background:linear-gradient(#2c332b,#1d221c);border-top:1px solid #f1ead82e;align-items:center;gap:6px;height:38px;padding:0 6px;display:flex;position:absolute;bottom:0;left:0;right:0}.os-start{color:#f1ead8;height:28px;font:700 12px/1 var(--dw-font-ui);letter-spacing:.08em;text-transform:uppercase;transition:background-color var(--dw-fade), border-color var(--dw-fade);background:linear-gradient(#4d6040,#3a4a31);border:1px solid #f1ead84d;border-radius:5px;align-items:center;gap:6px;padding:0 12px 0 8px;display:flex}.os-start:hover,.os-start:focus-visible,.os-start.is-open{background:linear-gradient(#5c7250,#44583a);border-color:#f1ead8a6;outline:none}.os-tasks{flex:1;gap:4px;min-width:0;display:flex}.os-task{color:#d9d0bb;max-width:180px;height:28px;font:12px/1 var(--dw-font-ui);transition:background-color var(--dw-fade), border-color var(--dw-fade);background:#00000040;border:1px solid #f1ead82e;border-radius:4px;align-items:center;gap:6px;padding:0 10px;display:flex}.os-task.is-active{color:#f1ead8;background:#f1ead824;border-color:#f1ead861;box-shadow:inset 0 -2px #8fae72}.os-task:hover,.os-task:focus-visible{border-color:#f1ead899;outline:none}.os-tray{color:#d9d0bb;height:28px;font:12px/1 var(--dw-font-ui);letter-spacing:.03em;border-left:1px solid #f1ead824;align-items:center;gap:6px;padding:0 10px;display:flex}.os-cursor{z-index:60;pointer-events:none;filter:drop-shadow(1px 2px 1px #00000080);will-change:transform;position:absolute;top:0;left:0}.os-cursor.is-gliding{transition:transform .18s var(--dw-ease)}@media (pointer:coarse){.os-cursor{display:none}}@media (width<=620px){.os-window{left:8px;right:8px}.os-note.desk-note{display:none}}.hub-desk-request{max-width:42ch;font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:var(--dw-paper);margin:0;line-height:1.5;position:relative}.hub-desk-request-empty{color:#ede2c899}.hub-desk-orders{gap:var(--dw-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hub-desk-order{justify-content:space-between;align-items:center;gap:var(--dw-space-3);padding:var(--dw-space-2) var(--dw-space-3);background:#0000002e;border:1px solid #ede2c829;border-radius:3px;display:flex}.hub-desk-order-item{font-size:var(--dw-size-body);color:#ede2c8eb}.hub-desk-order-house,.hub-desk-order-status{font-size:var(--dw-size-hud);color:#ede2c88c}.hub-desk-stock{position:relative}.hub-desk-stock-title{margin:0 0 var(--dw-space-2);font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:#ede2c8eb}.hub-desk-stock-list+.hub-desk-stock-title,.hub-desk-stock-list+.hub-desk-stock-lead,.hub-desk-larder+.hub-desk-larder{margin-top:var(--dw-space-5)}.os-window-body .hub-record-group+.hub-record-group{margin-top:var(--dw-space-4)}.os-window-body .hub-foot{margin-top:var(--dw-space-5)}.hub-desk-ledger-day{margin-top:14px}.hub-desk-ledger-day .hub-desk-stock-lead{margin-bottom:6px}.hub-desk-stock-lead{margin:0 0 var(--dw-space-4);font-size:var(--dw-size-hud);color:#ede2c89e}.hub-desk-stock-list{gap:var(--dw-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hub-desk-stock-item{justify-content:space-between;align-items:center;gap:var(--dw-space-3);padding:var(--dw-space-2) var(--dw-space-3);background:#0000002e;border:1px solid #ede2c829;border-radius:3px;display:flex}.hub-desk-stock-name{font-size:var(--dw-size-body);color:#ede2c8eb}.hub-desk-stock-note{font-size:var(--dw-size-hud);color:#ede2c88c}.hub-desk-ledger-remark{margin-top:2px;font-style:italic}.hub-desk-stock-item.is-short .hub-price,.hub-desk-stock-item.is-busy .hub-price{opacity:.5}.hub-desk-stock-item.is-busy .hub-desk-stock-note{color:#ede2c8b8}.hub-foot{margin-top:var(--dw-space-4);padding-top:var(--dw-space-3);border-top:1px solid var(--dw-line);justify-content:space-between;align-items:baseline;display:flex}.hub-foot-label{font-size:var(--dw-size-hud);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint)}.hub-foot-value{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:var(--dw-torch);display:inline-block}.hub-foot-value.is-bought{animation:hub-bought-coin var(--dw-fade-slow) var(--dw-ease) both}@keyframes hub-bought-coin{0%{color:var(--dw-torch);transform:scale(1)}30%{color:var(--dw-paper);transform:scale(1.14)}to{color:var(--dw-torch);transform:scale(1)}}.hub-overlay-book .hub-scrim{background:var(--dw-scrim-strong)}.book-reader{align-items:center;gap:var(--dw-space-3) var(--dw-space-2);width:min(1180px,100%);max-height:100%;animation:dw-panel-in var(--dw-fade-slow) var(--dw-ease) both;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:56px minmax(0,1fr) 56px;display:grid;position:relative}.book-spread{aspect-ratio:3;background:var(--hub-paper);grid-area:1/2;grid-template-columns:1fr 1fr;width:100%;max-height:calc(100vh - 150px);display:grid;position:relative;box-shadow:0 40px 90px #000000b3,0 0 0 1px #00000080}.book-layout-over{aspect-ratio:3/2;grid-template-columns:1fr;max-width:calc(150vh - 225px);margin:0 auto}.book-page{background:var(--hub-paper);min-width:0;min-height:0;position:relative;overflow:hidden}.book-plate{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.book-gutter{pointer-events:none;background:linear-gradient(90deg,#0000,#00000029 48%,#00000042 50%,#00000029 52%,#0000);width:60px;margin-left:-30px;position:absolute;top:0;bottom:0;left:50%}.book-layout-over .book-gutter{display:none}.book-page-copy{background:repeating-linear-gradient(0deg, #00000003 0 1px, transparent 1px 3px), radial-gradient(ellipse at 30% 40%, #ffffff59, transparent 70%), var(--hub-paper);flex-direction:column;justify-content:center;padding:7% 9% 9%;display:flex}.book-copy{font-family:var(--hub-font-hand);color:var(--hub-ink);text-wrap:balance;margin:0;font-size:clamp(1rem,2.1vw,1.65rem);line-height:1.5}.book-copy-unread{color:var(--hub-ink-soft);letter-spacing:.02em;filter:blur(.35px);-webkit-user-select:none;user-select:none}.book-folio{font-family:var(--hub-font-hand);color:var(--hub-ink-faint);font-size:clamp(.85rem,1.5vw,1.1rem);position:absolute;bottom:5%;right:9%}.book-page-over .book-copy{margin:0;position:absolute}.book-page-cover .book-copy{text-align:center;color:#f4ebd6;text-shadow:0 2px 10px #28140a80;font-size:clamp(1.6rem,4.2vw,3.2rem);top:5%;left:0;right:0}.book-page-dedication .book-copy{max-width:44%;font-size:clamp(1rem,2.2vw,1.7rem);top:12%;left:8%}.book-blank{border-bottom:2px solid var(--hub-ink-faint);background:linear-gradient(90deg,#0000,#2b211817 20%,#2b21181f 60%,#0000);width:5.2em;height:.9em;margin:0 .15em -.12em;display:inline-block}.book-blank-gone{filter:blur(.6px)}.book-blank-settled{border-bottom-color:var(--hub-ink);background:0 0}.book-turn{border:1px solid var(--dw-line);border-radius:var(--dw-radius);width:48px;height:72px;color:var(--dw-paper-dim);font-family:var(--dw-font-display);cursor:pointer;transition:border-color var(--dw-fade), color var(--dw-fade);background:0 0;grid-row:1;align-self:center;font-size:2.2rem;line-height:1}.book-turn-prev{grid-column:1;justify-self:end}.book-turn-next{grid-column:3;justify-self:start}.book-turn:hover:not(:disabled),.book-turn:focus-visible:not(:disabled){border-color:var(--dw-line-strong);color:var(--dw-paper);outline:none}.book-turn:disabled{opacity:.2;cursor:default}.book-where{font-size:var(--dw-size-hud);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint);grid-area:2/2;justify-self:center}.book-close{border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius-pill);color:var(--dw-paper);font:inherit;font-size:var(--dw-size-hud);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background var(--dw-fade), color var(--dw-fade);background:0 0;grid-area:2/3;justify-self:end;padding:8px 14px}.book-close:hover,.book-close:focus-visible{background:var(--dw-paper);color:var(--dw-black);outline:none}.hub-overlay-envelope{background:var(--dw-scrim-strong);animation:dw-fade-to-black var(--dw-fade-slow) var(--dw-ease) both}.envelope-moment{cursor:default;-webkit-user-select:none;user-select:none;place-items:center;width:100%;height:100%;display:grid}.envelope-beat{text-align:center;animation:dw-copy-in .7s var(--dw-ease) both;margin:0}.envelope-address{font-family:var(--dw-font-display);font-size:var(--dw-size-display);color:var(--dw-paper);font-weight:400;line-height:1}.envelope-table{font-family:var(--dw-font-display);font-style:italic;font-size:calc(var(--dw-size-lead) * 1.35);color:var(--dw-paper-dim)}.envelope-morning{align-items:center;gap:var(--dw-space-5);flex-direction:column;display:flex}.envelope-morning-word{font-family:var(--dw-font-display);font-size:calc(var(--dw-size-title) * 1.1);color:var(--dw-paper);margin:0}.envelope{width:250px;height:150px;animation:dw-envelope-in .7s var(--dw-ease) both;background:linear-gradient(#efe4cc,#dfd2b4);place-items:center;display:grid;position:relative;transform:rotate(-2deg);box-shadow:0 24px 50px #0009,inset 0 0 0 1px #0000001f}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#e6dabf,#d6c8a8);width:100%;height:58%;position:absolute;top:0;left:0;box-shadow:inset 0 -1px #0000001a}.envelope-fee{font-family:var(--dw-font-display);color:#2b2118;margin-top:46px;font-size:1.7rem;font-style:italic;position:relative}@keyframes dw-envelope-in{0%{opacity:0;transform:rotate(-2deg)translateY(10px)}to{opacity:1;transform:rotate(-2deg)translateY(0)}}.night-card{z-index:33;align-items:center;gap:var(--dw-space-2);pointer-events:none;text-align:center;animation:dw-night-card 3s var(--dw-ease) both;flex-direction:column;display:flex;position:absolute;top:18%;left:0;right:0}.night-card-address{font-family:var(--dw-font-display);font-size:calc(var(--dw-size-title) * .85);color:var(--dw-paper);text-shadow:0 2px 14px #000c;margin:0;line-height:1.1}.night-card-line{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--dw-paper-dim);text-shadow:0 2px 12px #000c;margin:0}@keyframes dw-night-card{0%{opacity:0;transform:translateY(6px)}14%{opacity:1;transform:none}78%{opacity:1}to{opacity:0}}.achievement-toast{z-index:33;pointer-events:none;text-align:center;animation:dw-night-card 4s var(--dw-ease) both;justify-content:center;display:flex;position:absolute;bottom:9%;left:0;right:0}.achievement-toast-wording{max-width:32ch;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--dw-paper-dim);text-shadow:0 2px 12px #000c;margin:0}.calendar-glance{z-index:33;pointer-events:none;text-align:center;animation:dw-night-card 2.6s var(--dw-ease) both;flex-direction:column;align-items:center;gap:.25rem;display:flex;position:absolute;top:30%;left:0;right:0}.waking-veil{z-index:32;pointer-events:none;background:#000;animation:2.6s ease-in-out both dw-waking;position:absolute;inset:0}@keyframes dw-waking{0%{opacity:0}25%{opacity:1}55%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.waking-veil{opacity:0;animation:none}}.calendar-glance-line{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);letter-spacing:.01em;color:var(--dw-paper);text-shadow:0 2px 12px #000c;margin:0}.calendar-glance-season{font-family:var(--dw-font-display);font-size:var(--dw-size-body);letter-spacing:.02em;color:var(--dw-paper-dim);text-shadow:0 2px 12px #000c;margin:0}.phone-call-glance{z-index:33;pointer-events:none;text-align:center;animation:dw-night-card 4s var(--dw-ease) both;justify-content:center;display:flex;position:absolute;top:24%;left:0;right:0}.phone-call-glance-line{max-width:34ch;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--dw-paper-dim);text-shadow:0 2px 12px #000c;margin:0}.neighbour-line-glance{z-index:33;pointer-events:none;text-align:center;animation:dw-night-card 4s var(--dw-ease) both;justify-content:center;display:flex;position:absolute;top:24%;left:0;right:0}.neighbour-line-glance-line{max-width:34ch;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--dw-paper-dim);text-shadow:0 2px 12px #000c;margin:0}.shop-request-glance{z-index:33;pointer-events:none;text-align:center;--dw-glance-hold:4s;animation:dw-glance-in .56s var(--dw-ease) both, dw-glance-out .88s var(--dw-ease) calc(var(--dw-glance-hold) - .88s) forwards;justify-content:center;display:flex;position:absolute;top:27%;left:0;right:0}@keyframes dw-glance-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dw-glance-out{0%{opacity:1}to{opacity:0}}.shop-request-glance-line{max-width:34ch;font-family:var(--dw-font-display);font-size:var(--dw-size-lead);letter-spacing:.01em;color:var(--dw-paper);text-shadow:0 2px 12px #000c;margin:0}.hint-glance{z-index:33;pointer-events:none;text-align:center;animation:dw-night-card 6s var(--dw-ease) both;justify-content:center;display:flex;position:absolute;top:34%;left:0;right:0}.hint-glance.is-still{animation:none}.hint-glance-line{max-width:36ch;font-family:var(--dw-font-display);font-size:var(--dw-size-body);letter-spacing:.02em;color:var(--dw-paper-dim);text-shadow:0 2px 12px #000c;margin:0}@media (prefers-reduced-motion:reduce){.hint-glance{animation:none}}.desk-note{gap:var(--dw-space-2);margin:var(--dw-space-2) 0;padding:var(--dw-space-2) var(--dw-space-3);background:#ede2c81a;border:1px solid #ede2c838;border-radius:2px;flex-direction:column;max-width:34ch;display:flex;transform:rotate(-.6deg)}.desk-note .hub-button{align-self:flex-start}.desk-note-text{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);color:var(--dw-paper);margin:0}@media (prefers-reduced-motion:reduce){.desk-note{transform:none}}.street-map-overlay{z-index:34;padding:var(--dw-space-5,2rem);font-family:var(--dw-font-ui,sans-serif);color:var(--dw-paper,#e8e2d4);place-items:center;display:grid;position:absolute;inset:0}.street-map-scrim{background:var(--dw-scrim,#080706b8);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute;inset:0}.street-map-panel{gap:var(--dw-space-3,.75rem);width:min(96vw,1100px);max-height:90vh;padding:var(--dw-space-4,1.25rem);background:var(--dw-panel,#17140f);border:1px solid var(--dw-line,#3a352b);border-radius:var(--dw-radius,10px);flex-direction:column;display:flex;position:relative;box-shadow:0 18px 60px #0009}.street-map-head{justify-content:space-between;align-items:baseline;display:flex}.street-map-title{letter-spacing:.02em;font-size:1.15rem}.street-map-hint{opacity:.6;font-size:.8rem}.street-map-svg{border-radius:var(--dw-radius,10px);background:radial-gradient(70% 70%,#12100c 0%,#0a0806 100%);width:100%;height:auto;max-height:78vh}.street-map-ground{stroke:#00000059;stroke-width:.05px;opacity:.9}.street-map-house-rect{fill:#2a241c;stroke:var(--dw-paper,#e8e2d4);stroke-opacity:.55;stroke-width:.09px}.street-map-house-label{fill:var(--dw-paper,#e8e2d4);fill-opacity:.7;font-size:.85px;font-family:var(--dw-font-ui,sans-serif);letter-spacing:.02em}.street-map-shop-room-rect{stroke:var(--dw-paper,#e8e2d4);stroke-opacity:.45;stroke-width:.06px}.street-map-shop-room-locked .street-map-shop-room-rect{stroke-opacity:.3}.street-map-hatch-line{stroke:var(--dw-paper,#e8e2d4);stroke-opacity:.28;stroke-width:.07px}.street-map-shop-room-label{fill:var(--dw-paper,#e8e2d4);fill-opacity:.6;font-size:.5px;font-family:var(--dw-font-ui,sans-serif)}.street-map-zone-rect{fill:none;stroke:var(--dw-paper,#e8e2d4);stroke-opacity:.4;stroke-width:.07px;stroke-dasharray:.35 .25}.street-map-zone-label{fill:var(--dw-paper,#e8e2d4);fill-opacity:.55;font-size:.7px;font-family:var(--dw-font-ui,sans-serif);letter-spacing:.02em}.street-map-cone{fill:var(--dw-torch,#ffb765);fill-opacity:.28}.street-map-dot-ring{fill:none;stroke:var(--dw-torch,#ffb765);stroke-width:.12px}.street-map-dot-fill{fill:var(--dw-torch,#ffb765)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--dw-font-ui);background:var(--dw-black);color:var(--dw-paper);--ui-bg-base:var(--dw-black);--ui-bg-shell-top:var(--dw-ink);--ui-overlay-strong:var(--dw-scrim-strong);--ui-overlay-mid:var(--dw-scrim);--ui-overlay-soft:#0506071f;--ui-panel-bg:var(--dw-panel-soft);--ui-panel-bg-strong:var(--dw-panel);--ui-panel-bg-soft:var(--dw-panel-soft);--ui-panel-tint:#ffffff03;--ui-panel-tint-strong:#ffffff05;--ui-border-subtle:#ece6da0d;--ui-border-soft:var(--dw-line);--ui-border:var(--dw-line);--ui-border-strong:var(--dw-line-strong);--ui-text-primary:var(--dw-paper);--ui-text-secondary:var(--dw-paper-dim);--ui-text-copy:var(--dw-paper-dim);--ui-text-muted:var(--dw-paper-faint);--ui-text-faint:var(--dw-paper-ghost);--ui-accent-warm:var(--dw-torch-glow);--ui-accent-warm-strong:var(--dw-torch-dim);--ui-accent-line:var(--dw-torch-dim);--ui-accent-text:var(--dw-paper);--ui-shadow-panel:var(--dw-shadow)}*{box-sizing:border-box}html,body,#root{background:var(--dw-black);width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none}button,input,select,textarea{font:inherit}:focus-visible{outline:1px solid var(--dw-focus);outline-offset:3px}.app-shell{cursor:default;background:linear-gradient(180deg, var(--dw-ink), var(--dw-black) 60%);width:100%;height:100%;position:relative}.app-shell canvas{display:block}.app-shell.is-reduced-motion *,.app-shell.is-reduced-motion :before,.app-shell.is-reduced-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@keyframes dw-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dw-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dw-breathe{0%,to{opacity:.55}50%{opacity:.95}}.dw-panel{border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-panel);width:100%;max-width:560px;max-height:min(78vh,720px);box-shadow:var(--dw-shadow);color:var(--dw-paper);font-family:var(--dw-font-ui);flex-direction:column;display:flex;overflow:hidden}.dw-panel:focus{outline:none}.dw-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--dw-space-4);padding:var(--dw-space-4) var(--dw-space-4) var(--dw-space-3);display:flex}.dw-panel-heading{gap:var(--dw-space-1);flex-direction:column;min-width:0;display:flex}.dw-eyebrow{font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint)}.dw-panel-title{font-family:var(--dw-font-display);font-weight:400;font-size:var(--dw-size-title);letter-spacing:-.005em;color:var(--dw-paper);margin:0;line-height:1.05}.dw-close{border:1px solid var(--dw-line);border-radius:var(--dw-radius-pill);width:36px;height:36px;color:var(--dw-paper-dim);cursor:pointer;transition:border-color var(--dw-fade), color var(--dw-fade);background:0 0;flex:none;place-items:center;display:grid}.dw-close svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:12px;height:12px}.dw-close:hover{border-color:var(--dw-line-strong);color:var(--dw-paper)}.dw-panel-strip{padding:0 var(--dw-space-4);border-bottom:1px solid var(--dw-line)}.dw-panel-body{gap:var(--dw-space-5);min-height:0;padding:var(--dw-space-4);scrollbar-width:thin;scrollbar-color:var(--dw-line-strong) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.dw-panel-body::-webkit-scrollbar{width:5px}.dw-panel-body::-webkit-scrollbar-thumb{border-radius:var(--dw-radius-pill);background:var(--dw-line-strong)}.dw-tabpanel{gap:var(--dw-space-5);flex-direction:column;display:flex}.dw-tabs{gap:var(--dw-space-4);display:flex}.dw-tab{appearance:none;padding:var(--dw-space-2) 0 var(--dw-space-3);font:inherit;font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-wide);text-transform:uppercase;color:var(--dw-paper-faint);cursor:pointer;transition:color var(--dw-fade);background:0 0;border:0;position:relative}.dw-tab:after{content:"";background:var(--dw-torch);transform-origin:0;height:1px;transition:transform var(--dw-fade) var(--dw-ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.dw-tab:hover{color:var(--dw-paper-dim)}.dw-tab.is-active{color:var(--dw-paper)}.dw-tab.is-active:after{transform:scaleX(1)}.dw-button,.menu-button{appearance:none;justify-content:center;align-items:center;gap:var(--dw-space-2);border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius-pill);min-height:40px;color:var(--dw-paper-dim);font:inherit;font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-wide);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background var(--dw-fade), color var(--dw-fade), border-color var(--dw-fade), opacity var(--dw-fade);background:0 0;padding:0 20px;font-weight:500;display:inline-flex}.dw-button-secondary:hover,.dw-button-secondary.is-active,.menu-button:hover{color:var(--dw-paper);border-color:var(--dw-paper-dim)}.dw-button-secondary.is-active{background:var(--dw-fill)}.dw-button-primary,.menu-button-primary{background:var(--dw-paper);border-color:var(--dw-paper);color:var(--dw-black)}.dw-button-primary:hover,.menu-button-primary:hover{background:var(--dw-torch);border-color:var(--dw-torch);color:var(--dw-black)}.dw-button-quiet{min-height:32px;color:var(--dw-paper-faint);font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);letter-spacing:.01em;text-transform:none;border-color:#0000;padding:0 8px;font-weight:400}.dw-button-quiet:hover{color:var(--dw-paper)}.dw-button:disabled{opacity:.4;cursor:default}.dw-group{gap:var(--dw-space-3);flex-direction:column;display:flex}.dw-group-head{justify-content:space-between;align-items:center;gap:var(--dw-space-3);border-bottom:1px solid var(--dw-line);display:flex}.dw-group-label{padding-bottom:var(--dw-space-2);border-bottom:1px solid var(--dw-line);font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint);margin:0;font-weight:500}.dw-group-head .dw-group-label{border-bottom:0;flex:1}.dw-row{justify-content:space-between;align-items:center;gap:var(--dw-space-3);display:flex}.dw-choice-group{gap:var(--dw-space-2);flex:none;display:flex}.dw-row-label{min-width:0;font-size:var(--dw-size-body);color:var(--dw-paper-dim);flex-direction:column;gap:2px;display:flex}.dw-row-label.is-locked{color:var(--dw-paper-faint)}.dw-hint{font-size:var(--dw-size-small);color:var(--dw-paper-faint);margin:0;line-height:1.5}.dw-credit{font-size:var(--dw-size-body);color:var(--dw-paper-dim);margin:0;line-height:1.5}.dw-credit-site{color:var(--dw-torch)}.dw-actions{align-items:center;gap:var(--dw-space-2);flex-wrap:wrap;display:flex}.dw-error{font-size:var(--dw-size-small);color:var(--dw-ember);margin:0;line-height:1.5}.dw-slider{align-items:end;gap:var(--dw-space-1) var(--dw-space-3);grid-template-columns:1fr auto;display:grid}.dw-slider-value{font-size:var(--dw-size-small);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--dw-paper-faint)}.dw-slider input[type=range]{appearance:none;cursor:pointer;background:0 0;grid-column:1/-1;width:100%;height:22px;margin:0}.dw-slider input[type=range]::-webkit-slider-runnable-track{background:var(--dw-line-strong);height:1px}.dw-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--dw-paper);width:12px;height:12px;box-shadow:0 0 0 4px var(--dw-panel);transition:background var(--dw-fade);border:0;border-radius:50%;margin-top:-5.5px}.dw-slider input[type=range]:hover::-webkit-slider-thumb{background:var(--dw-torch)}.dw-slider input[type=range]:active::-webkit-slider-thumb{background:var(--dw-torch)}.dw-slider input[type=range]:focus-visible{outline:none}.dw-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--dw-panel), 0 0 0 5px var(--dw-focus)}.dw-slider input[type=range]::-moz-range-track{background:var(--dw-line-strong);height:1px}.dw-slider input[type=range]::-moz-range-thumb{background:var(--dw-paper);width:12px;height:12px;box-shadow:0 0 0 4px var(--dw-panel);border:0;border-radius:50%}.dw-slider input[type=range]:hover::-moz-range-thumb{background:var(--dw-torch)}.dw-slider input[type=range]:active::-moz-range-thumb{background:var(--dw-torch)}.dw-slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--dw-panel), 0 0 0 5px var(--dw-focus)}.dw-toggle-row{justify-content:space-between;align-items:center;gap:var(--dw-space-3);display:flex}.dw-toggle{border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius-pill);cursor:pointer;width:40px;height:22px;transition:background var(--dw-fade), border-color var(--dw-fade);background:0 0;flex:none;padding:0;position:relative}.dw-toggle-knob{background:var(--dw-paper-faint);width:14px;height:14px;transition:transform var(--dw-fade) var(--dw-ease), background var(--dw-fade);border-radius:50%;position:absolute;top:3px;left:3px}.dw-toggle:hover{border-color:var(--dw-paper-dim)}.dw-toggle.is-on{border-color:var(--dw-torch-dim);background:var(--dw-torch-glow)}.dw-toggle.is-on .dw-toggle-knob{background:var(--dw-torch);transform:translate(18px)}.dw-key{border:1px solid var(--dw-line-strong);background:var(--dw-fill);min-width:26px;height:26px;font-family:var(--dw-font-ui);font-size:var(--dw-size-small);letter-spacing:.06em;text-transform:uppercase;color:var(--dw-paper);white-space:nowrap;border-bottom-width:2px;border-radius:3px;justify-content:center;align-items:center;padding:0 7px;font-weight:600;line-height:1;display:inline-flex}.dw-key-sm{min-width:20px;height:20px;padding:0 5px;font-size:.6rem}.dw-keybind-grid{gap:var(--dw-space-2) var(--dw-space-4);grid-template-columns:1fr 1fr;display:grid}.dw-keybind-row{justify-content:space-between;align-items:center;gap:var(--dw-space-3);min-height:34px;display:flex}.dw-keybind{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;min-height:30px;padding:2px;display:inline-flex}.dw-keybind:hover .dw-key{border-color:var(--dw-paper-dim)}.dw-keybind-waiting{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);color:var(--dw-torch);animation:1.4s ease-in-out infinite dw-breathe}.dw-fixed-keys{align-items:center;gap:var(--dw-space-2) var(--dw-space-3);grid-template-columns:auto 1fr;margin:0;display:grid}.dw-fixed-key{display:contents}.dw-fixed-key dt,.dw-fixed-key dd{margin:0}.dw-fixed-key dd{font-size:var(--dw-size-body);color:var(--dw-paper-dim)}.dw-calibration{gap:var(--dw-space-3);flex-direction:column;display:flex}.dw-calibration-ground{border-radius:var(--dw-radius);background:var(--dw-void);grid-template-columns:repeat(3,1fr);gap:12px;padding:22px;display:grid}.dw-calibration-tile{aspect-ratio:4/3;border-radius:2px}.dw-calibration-copy{font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);color:var(--dw-paper-dim);margin:0}.dw-field{font-size:var(--dw-size-small);letter-spacing:.04em;color:var(--dw-paper-faint);flex-direction:column;gap:6px;display:flex}.dw-input{appearance:none;border:1px solid var(--dw-line-strong);border-radius:var(--dw-radius);background:var(--dw-fill);width:100%;font:inherit;font-size:var(--dw-size-body);letter-spacing:0;color:var(--dw-paper);transition:border-color var(--dw-fade);padding:10px 12px}.dw-input:focus{border-color:var(--dw-torch-dim);outline:none}.ui-panel{border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-panel);box-shadow:var(--dw-shadow)}.ui-pill{border:1px solid var(--dw-line);border-radius:var(--dw-radius-pill);color:var(--dw-paper-faint);background:0 0;justify-content:center;align-items:center;display:inline-flex}.ui-pill.is-active{color:var(--dw-paper);border-color:var(--dw-torch-dim);background:var(--dw-torch-glow)}.ui-button-secondary{border:1px solid var(--dw-line-strong);color:var(--dw-paper-dim);background:0 0}.hud{pointer-events:none;font-family:var(--dw-font-ui);color:var(--dw-paper);position:absolute;inset:0}.torch-meter{opacity:1;filter:drop-shadow(0 2px 6px #0009);width:124px;height:36px;transition:opacity var(--dw-fade-glacial) var(--dw-ease);position:absolute;top:22px;left:22px}.torch-meter.is-hidden{opacity:0}.torch-meter-icon{width:100%;height:100%;overflow:visible}.torch-meter-shell{fill:var(--dw-fill);stroke:var(--dw-paper-dim);stroke-width:1px;transition:stroke var(--dw-fade-slow)}.torch-meter-lens{fill:var(--dw-paper-faint);transition:fill var(--dw-fade-slow)}.torch-meter-fill{fill:url(#torch-meter-warm);transition:width .4s var(--dw-ease), fill var(--dw-fade-slow)}.torch-meter-ribs line{stroke:var(--dw-black);stroke-width:1px;opacity:.55}.torch-meter-beam{fill:url(#torch-meter-beam);transition:opacity var(--dw-fade-slow)}.torch-meter.is-on .torch-meter-lens{fill:var(--dw-torch)}.torch-meter.is-low .torch-meter-fill{fill:var(--dw-ember);animation:2.6s step-end infinite torch-gutter}.torch-meter.is-low .torch-meter-beam,.torch-meter.is-low .torch-meter-lens{animation:2.6s step-end infinite torch-gutter}.torch-meter.is-recharging .torch-meter-fill{fill:var(--dw-moon);animation:3.6s ease-in-out infinite torch-breathe}.torch-meter.is-recharging .torch-meter-shell{stroke:var(--dw-paper-faint)}.torch-meter.is-dead .torch-meter-shell{stroke:var(--dw-paper-ghost)}.torch-meter.is-dead .torch-meter-lens{fill:var(--dw-paper-ghost)}.torch-meter-key{letter-spacing:.08em;color:var(--dw-paper-dim);font-size:.7rem;position:absolute;top:38px;left:3px}.torch-meter.is-cued .torch-meter-shell{animation:2.4s ease-in-out 3 torch-cue}.torch-meter.is-cued .torch-meter-lens{animation:2.4s ease-in-out 3 torch-cue-lens}.torch-meter.is-cued-still .torch-meter-shell,.app-shell.is-reduced-motion .torch-meter.is-cued .torch-meter-shell{stroke:var(--dw-torch);animation:none}.torch-meter.is-cued-still .torch-meter-lens,.app-shell.is-reduced-motion .torch-meter.is-cued .torch-meter-lens{fill:var(--dw-torch);opacity:.6;animation:none}@keyframes torch-cue{0%,to{stroke:var(--dw-paper-faint)}50%{stroke:var(--dw-torch)}}@keyframes torch-cue-lens{0%,to{opacity:1}50%{opacity:.55;fill:var(--dw-torch)}}@keyframes torch-gutter{0%,to{opacity:1}6%{opacity:.5}9%{opacity:1}31%{opacity:.7}34%{opacity:1}58%{opacity:.35}61%{opacity:.9}64%{opacity:.55}68%{opacity:1}86%{opacity:.75}88%{opacity:1}}@keyframes torch-breathe{0%,to{opacity:.45}50%{opacity:.9}}.crosshair{background:var(--dw-paper);width:3px;height:3px;box-shadow:0 0 0 1px var(--dw-backing), 0 0 4px var(--dw-scrim-strong);opacity:.3;transition:opacity var(--dw-fade), transform var(--dw-fade) var(--dw-ease);border-radius:50%;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%}.crosshair.is-reachable{opacity:.65;transform:scale(1.5)}.crosshair.is-confirming{animation:crosshair-confirm .38s var(--dw-ease) both}@keyframes crosshair-confirm{0%{box-shadow:0 0 0 1px var(--dw-backing), 0 0 4px var(--dw-scrim-strong);background:var(--dw-paper);transform:scale(1.5)}22%{box-shadow:0 0 0 1px var(--dw-backing), 0 0 8px var(--dw-torch-glow);background:var(--dw-torch);transform:scale(2.2)}to{box-shadow:0 0 0 1px var(--dw-backing), 0 0 4px var(--dw-scrim-strong);background:var(--dw-paper);transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.crosshair.is-confirming{animation:none}}.pursuit-telegraph{pointer-events:none;border:2px solid color-mix(in srgb, var(--dw-ember) 58%, transparent);box-shadow:inset 0 0 42px color-mix(in srgb, var(--dw-ember) 18%, transparent);animation:1.8s ease-in-out infinite pursuit-edge;position:absolute;inset:0}.pursuit-telegraph[data-telegraph=last-known-stillness]{box-shadow:inset 0 0 42px color-mix(in srgb, var(--dw-paper) 14%, transparent);border-style:dashed;animation-duration:2.6s}.pursuit-telegraph[data-telegraph=muffled-floor-pressure]{border-color:transparent transparent color-mix(in srgb, var(--dw-ember) 58%, transparent) transparent;border-bottom-width:7px;animation-duration:3.2s}.pursuit-telegraph[data-telegraph=changed-exit]{border-style:dotted;border-width:3px;animation-duration:2.2s}.pursuit-telegraph[data-telegraph=object-vibration]{animation-duration:.7s}.pursuit-telegraph[data-telegraph=cloth-only]{box-shadow:inset 0 0 26px color-mix(in srgb, var(--dw-paper) 9%, transparent);border-width:1px;animation-duration:3.6s}.mower-status{color:var(--dw-paper);background:color-mix(in srgb, var(--dw-black) 70%, transparent);border:1px solid var(--dw-line);font-family:var(--dw-font-ui);letter-spacing:.05em;text-align:center;pointer-events:none;padding:5px 12px;font-size:.8rem;position:absolute;bottom:21vh;left:50%;transform:translate(-50%)}.interact-prompt{align-items:center;gap:var(--dw-space-3);width:max-content;max-width:calc(100% - 48px);animation:dw-rise var(--dw-fade) var(--dw-ease) both;margin:0 auto;padding:10px 18px;display:flex;position:absolute;bottom:22vh;left:0;right:0}.interact-prompt-backing,.hud-prompt-backing{z-index:-1;background:radial-gradient(ellipse at center, var(--dw-backing), transparent 70%);border-radius:50%;position:absolute;inset:-16px -36px}.interact-prompt-verb{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);letter-spacing:.01em;color:var(--dw-paper);text-shadow:0 1px 2px #000c;white-space:nowrap}.interact-prompt .dw-key{background:color-mix(in srgb, var(--dw-backing) 34%, transparent);border-color:color-mix(in srgb, var(--dw-paper) 55%, transparent);color:var(--dw-paper);text-shadow:0 1px 2px #000000d9;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-bottom-width:1px;box-shadow:0 1px 3px #00000073}.inline-chooser{align-items:center;gap:var(--dw-space-3);width:max-content;max-width:calc(100% - 48px);animation:dw-rise var(--dw-fade) var(--dw-ease) both;pointer-events:none;margin:0 auto;padding:4px 16px;display:flex;position:absolute;bottom:calc(22vh - 40px);left:0;right:0}.inline-chooser-options{align-items:baseline;gap:18px;margin:0;padding:0;list-style:none;display:flex}.inline-chooser-option{font-family:var(--dw-font-ui);font-size:var(--dw-size-hud);letter-spacing:.02em;color:var(--dw-paper-faint);text-shadow:0 1px 2px #000c;white-space:nowrap;transition:color var(--dw-fade) var(--dw-ease);align-items:baseline;gap:6px;display:inline-flex}.inline-chooser-option.is-selected{color:var(--dw-paper);font-weight:600}.inline-chooser-option.is-selected .inline-chooser-label{border-bottom:1px solid var(--dw-torch-dim);padding-bottom:1px}.inline-chooser-option.is-disabled{color:var(--dw-paper-ghost)}.inline-chooser-detail{font-style:italic;font-size:var(--dw-size-small)}.inline-chooser .dw-key{background:color-mix(in srgb, var(--dw-backing) 34%, transparent);border-color:color-mix(in srgb, var(--dw-paper) 40%, transparent);color:var(--dw-paper-dim);text-shadow:0 1px 2px #000000d9;box-shadow:none;border-bottom-width:1px}.inline-chooser-tap{min-height:44px;color:inherit;font:inherit;text-shadow:inherit;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;padding:0 10px;display:inline-flex}.inline-chooser.is-touch{pointer-events:auto}.inline-chooser-announce{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hold-gauge{width:32px;height:32px;animation:dw-rise var(--dw-fade) var(--dw-ease) both;pointer-events:none;margin:0 auto;position:absolute;bottom:27vh;left:0;right:0}.hold-gauge svg{filter:drop-shadow(0 1px 2px #000000b3);width:100%;height:100%}.hold-gauge-track{fill:none;stroke:var(--dw-paper);stroke-opacity:.22;stroke-width:3px}.hold-gauge-fill{fill:none;stroke:var(--dw-torch);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray 50ms linear}.hud-prompt{align-items:center;gap:var(--dw-space-3);width:max-content;max-width:calc(100% - 48px);animation:dw-rise 1.2s var(--dw-ease) both;flex-direction:column;margin:0 auto;padding:12px 24px;display:flex;position:absolute;bottom:18vh;left:0;right:0}.hud-prompt-backing{inset:-28px -56px}.hud-prompt-main{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:var(--dw-paper-dim);text-shadow:0 1px 2px #000c;white-space:nowrap;animation:4s ease-in-out infinite dw-breathe}.hud-prompt-sub{font-size:var(--dw-size-hud);color:var(--dw-paper-faint);text-shadow:0 1px 2px #000c;white-space:nowrap}.torch-meter.is-away:not(.is-hidden){opacity:.6}.watch{pointer-events:none;opacity:.85;filter:drop-shadow(0 2px 6px #0009);width:56px;height:56px;position:absolute;bottom:22px;right:22px}.watch svg{width:100%;height:100%}.watch-face{fill:var(--dw-panel-soft);stroke:var(--dw-paper-faint);stroke-width:1px}.watch-ticks line{stroke:var(--dw-paper-faint);stroke-width:1px}.watch-hand{stroke:var(--dw-paper);stroke-linecap:round}.watch-hand-hour{stroke-width:2.2px}.watch-hand-minute{stroke-width:1.5px}.watch-hand-second{stroke:var(--dw-paper-faint);stroke-width:.8px}.watch-pin{fill:var(--dw-paper)}.hud-dev-strip{font-family:var(--dw-font-mono);letter-spacing:.12em;color:var(--dw-paper-ghost);gap:12px;font-size:.6rem;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.caught-overlay{z-index:9990;pointer-events:none;background:var(--dw-void);opacity:0;position:fixed;inset:0}.caught-overlay.caught-phase-out{animation:.9s ease-in forwards caught-fade-out}.caught-overlay.caught-phase-held{opacity:1}.caught-overlay.caught-phase-in{animation:1.8s ease-out forwards caught-fade-in}@keyframes caught-fade-out{0%{opacity:0}to{opacity:1}}@keyframes caught-fade-in{0%{opacity:1}to{opacity:0}}.orientation-list{--orientation-shadow:0 1px 2px #000000f2, 0 0 10px #000000d9, 0 0 22px #0009;z-index:20;pointer-events:none;width:max-content;max-width:min(320px,100% - 200px);color:var(--dw-paper);font-family:var(--dw-font-ui);font-size:var(--dw-size-hud);text-align:right;text-shadow:var(--orientation-shadow);opacity:1;transition:opacity var(--dw-fade-slow) var(--dw-ease);justify-items:end;gap:6px;display:grid;position:absolute;top:22px;right:22px}.orientation-list.is-concealed{opacity:0;visibility:hidden;transition:opacity var(--dw-fade) var(--dw-ease), visibility 0s linear var(--dw-fade)}.orientation-list.is-leaving{opacity:0}.orientation-step{opacity:1;transition:opacity .3s var(--dw-ease);justify-items:end;gap:2px;display:grid}.orientation-step.is-fading{opacity:0}.orientation-step-line,.orientation-direction{margin:0}.orientation-step-line{letter-spacing:.01em;flex-direction:row-reverse;align-items:flex-start;gap:8px;font-size:.92rem;line-height:1.3;display:inline-flex}.orientation-mark{border:1px solid;border-radius:50%;flex:none;width:6px;height:6px;margin-top:.5em;box-shadow:0 0 6px #000c}.orientation-direction{color:var(--dw-paper-dim);animation:orientation-in .4s var(--dw-ease) both;padding-right:14px;font-size:.78rem;line-height:1.35;display:block}@keyframes orientation-in{0%{opacity:0}to{opacity:1}}.orientation-rows{gap:5px;margin:0;padding:0;list-style:none;display:grid}.orientation-row{color:var(--dw-paper-dim);flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:8px;line-height:1.35;display:inline-flex}.orientation-row-text{justify-items:end;gap:1px;display:grid}.orientation-row-text .orientation-direction{padding-right:0}.orientation-row .orientation-mark{border-color:var(--dw-paper-faint);margin-top:.5em;transform:none}.orientation-row.is-current{color:var(--dw-paper)}.orientation-row.is-current .orientation-mark{border-color:currentColor}.orientation-row.is-done{color:var(--dw-paper-faint);text-decoration:line-through;text-decoration-thickness:1px}.orientation-row.is-done .orientation-mark{background:currentColor}.orientation-controls{gap:14px;margin-top:2px;display:flex}.orientation-control{color:var(--dw-paper-faint);font:inherit;letter-spacing:.08em;text-transform:uppercase;text-shadow:var(--orientation-shadow);cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:4px 0;font-size:.68rem}.orientation-control:hover,.orientation-control:focus-visible{color:var(--dw-paper)}.orientation-control:focus-visible{outline:1px solid var(--dw-paper-dim);outline-offset:3px}.orientation-list.is-locked .orientation-controls,.orientation-list.is-concealed .orientation-controls{visibility:hidden;pointer-events:none}.orientation-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pursuit-edge{0%,to{transform:scale(1)}50%{transform:scale(.992)}}@media (prefers-reduced-motion:reduce){.pursuit-telegraph{animation:none}}@media (pointer:coarse){.orientation-list{max-width:min(260px,100% - 172px);top:90px;right:12px}}@media (pointer:coarse) and (width<=760px){.orientation-list{top:104px}}.pocket-bar{pointer-events:none;opacity:.5;color:var(--dw-paper-dim);filter:drop-shadow(0 2px 6px #0009);transition:opacity var(--dw-fade-slow) var(--dw-ease);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.pocket-bar.is-awake{opacity:1}.pocket-bar.is-hidden{opacity:0}.hand-row{align-items:center;gap:14px;display:flex}.pocket-row{grid-auto-columns:40px;grid-auto-flow:column;gap:6px;margin:0;padding:0;list-style:none;display:grid}.offhand-slot{border:1px solid color-mix(in srgb, var(--dw-torch) 45%, var(--dw-line));background:color-mix(in srgb, var(--dw-black) 55%, transparent);width:40px;height:40px;animation:dw-rise var(--dw-fade) var(--dw-ease) both;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.offhand-icon{width:22px;height:22px}.offhand-icon svg{width:100%;height:100%}.pocket{border:1px solid var(--dw-line);background:color-mix(in srgb, var(--dw-black) 55%, transparent);height:40px;transition:border-color var(--dw-fade), box-shadow var(--dw-fade), color var(--dw-fade);border-radius:5px 5px 11px 11px;place-items:center;display:grid;position:relative}.pocket.is-empty{background:color-mix(in srgb, var(--dw-black) 28%, transparent);border-style:dashed}.pocket.is-selected{border-color:var(--dw-torch);box-shadow:inset 0 -2px 0 var(--dw-torch);color:var(--dw-paper)}.pocket-number{letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--dw-paper-faint);font-size:.56rem;position:absolute;top:2px;left:4px}.pocket-icon{width:22px;height:22px}.pocket-icon svg{width:100%;height:100%}.pocket-count{font-variant-numeric:tabular-nums;color:var(--dw-paper-dim);font-size:.62rem;position:absolute;bottom:2px;right:4px}.pocket.is-nudged{animation:pocket-nudge .42s var(--dw-ease)}@keyframes pocket-nudge{0%,to{transform:translate(0)}30%{transform:translate(-2px)}70%{transform:translate(2px)}}.pocket-hint{border-radius:var(--dw-radius-pill);background:color-mix(in srgb, var(--dw-black) 62%, transparent);color:var(--dw-paper-dim);font-size:var(--dw-size-hud);letter-spacing:.06em;animation:dw-rise var(--dw-fade) var(--dw-ease) both;align-items:center;gap:8px;padding:4px 12px;display:flex}@media (prefers-reduced-motion:reduce){.pocket.is-nudged,.pocket-hint,.offhand-slot{animation:none}}.inv-icon-body{fill:var(--dw-paper-dim)}.inv-icon-cap{fill:var(--dw-paper)}.inv-icon-halo{fill:var(--dw-moon-dim)}.inv-icon-mark{fill:none;stroke:var(--dw-paper-faint);stroke-width:1.4px;stroke-linecap:round}.level-loading{z-index:500;background:var(--dw-black);pointer-events:auto;opacity:1;justify-content:center;align-items:center;transition:opacity .22s ease-out;display:flex;position:fixed;inset:0}.level-loading.is-fading{pointer-events:none;opacity:0}.level-loading-content{align-items:center;gap:var(--dw-space-3);opacity:0;flex-direction:column;transition:opacity .26s ease-out;display:flex}.level-loading-content.is-visible{opacity:1}.level-loading-label{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);letter-spacing:.02em;color:var(--dw-paper-dim)}.level-loading-track{background:var(--dw-line);width:160px;height:1px}.level-loading-fill{background:var(--dw-torch-dim);transform-origin:0;width:100%;height:100%;transition:transform .16s ease-out}.intro-gate{z-index:60;background:var(--dw-black);cursor:pointer;position:fixed;inset:0}.intro-gate-hint{text-align:center;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-body);color:var(--dw-paper-faint);pointer-events:none;margin:0;animation:.6s ease-out 1.6s both dw-fade-in;position:absolute;bottom:34px;left:0;right:0}.menu-overlay{pointer-events:none;font-family:var(--dw-font-ui);color:var(--dw-paper);background:linear-gradient(90deg, var(--dw-scrim-strong) 0%, var(--dw-scrim) 34%, #0506071a 60%, transparent 80%);grid-template-rows:1fr auto;grid-template-columns:minmax(300px,460px) 1fr;gap:0 48px;padding:56px 64px 40px;display:grid;position:absolute;inset:0}.menu-shell{pointer-events:auto;transition:opacity var(--dw-fade-slow) var(--dw-ease);flex-direction:column;grid-area:1/1;align-self:center;align-items:flex-start;display:flex}.menu-overlay.has-panel .menu-shell{opacity:.35}.menu-eyebrow{margin:0 0 var(--dw-space-4);font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-caps);text-transform:uppercase;color:var(--dw-paper-faint)}.menu-title{font-family:var(--dw-font-display);font-weight:400;font-size:var(--dw-size-display);letter-spacing:-.015em;color:var(--dw-paper);text-wrap:balance;text-shadow:0 2px 24px #000000b3;margin:0;line-height:.98}.menu-copy{max-width:44ch;margin:var(--dw-space-4) 0 0;font-family:var(--dw-font-display);font-style:italic;font-size:var(--dw-size-lead);color:var(--dw-paper-dim);line-height:1.5}.menu-actions{gap:var(--dw-space-2);margin-top:var(--dw-space-5);flex-wrap:wrap;display:flex}.menu-actions.is-beginning{pointer-events:none}.menu-begin-word{display:inline-flex}.menu-begin-letter{display:inline-block}.menu-panel{pointer-events:none;opacity:0;width:min(520px,100%);max-height:100%;transition:opacity var(--dw-fade-slow) var(--dw-ease), transform var(--dw-fade-slow) var(--dw-ease);grid-area:1/2;place-self:center end;display:flex;transform:translate(24px)}.menu-panel.is-open{pointer-events:auto;opacity:1;transform:none}.menu-panel .dw-panel{max-height:min(78vh,760px)}.menu-panel .opt-panel,.pause-overlay .opt-panel{height:min(78vh,760px)}.menu-footer{justify-content:space-between;gap:var(--dw-space-3);padding-top:var(--dw-space-4);pointer-events:auto;font-size:var(--dw-size-small);letter-spacing:var(--dw-tracking-wide);text-transform:uppercase;color:var(--dw-paper-ghost);grid-area:2/1/auto/-1;display:flex}.menu-footer-heart{letter-spacing:0;text-transform:none;color:var(--dw-ember)}.pause-overlay{z-index:35;padding:var(--dw-space-4);pointer-events:auto;font-family:var(--dw-font-ui);color:var(--dw-paper);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pause-backdrop{background:var(--dw-scrim);position:absolute;inset:0}.pause-overlay .dw-panel{animation:dw-rise var(--dw-fade-slow) var(--dw-ease) both;position:relative}.pause-shell{width:min(360px,100%)}.pause-actions{gap:var(--dw-space-2)}.pause-actions>.dw-button{width:100%}.pause-actions>.dw-button-quiet{margin-top:var(--dw-space-2)}.pause-confirm,.account-confirm{gap:var(--dw-space-3);margin-top:var(--dw-space-2);padding:var(--dw-space-3);border:1px solid var(--dw-line);border-radius:var(--dw-radius);flex-direction:column;display:flex}.pause-confirm-copy,.account-confirm-copy{font-family:var(--dw-font-display);font-size:var(--dw-size-body);color:var(--dw-paper-dim);margin:0;line-height:1.5}.pause-confirm-actions,.account-confirm-actions{align-items:center;gap:var(--dw-space-2);display:flex}.account-handle{font-family:var(--dw-font-display);font-size:var(--dw-size-lead);color:var(--dw-paper);margin:0}.account-form{gap:var(--dw-space-3);flex-direction:column;display:flex}.account-captcha sstk-verify{--sstk-accent:var(--dw-torch);--sstk-accent-contrast:var(--dw-black);--sstk-bg:var(--dw-slate);--sstk-fg:var(--dw-paper);--sstk-border:var(--dw-line-strong);--sstk-radius:var(--dw-radius);--sstk-font:var(--dw-font-ui)}.context-loss-overlay{z-index:60;padding:var(--dw-space-4);pointer-events:auto;font-family:var(--dw-font-ui);color:var(--dw-paper);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.context-loss-backdrop{background:var(--dw-scrim);position:absolute;inset:0}.context-loss-shell{align-items:center;gap:var(--dw-space-3);max-width:420px;padding:var(--dw-space-5) var(--dw-space-5) var(--dw-space-4);text-align:center;flex-direction:column;display:flex;position:relative}.context-loss-message{font-family:var(--dw-font-display);font-size:var(--dw-size-body);color:var(--dw-paper-dim);margin:0;line-height:1.5}.crash-screen{z-index:1000;padding:var(--dw-space-5);background:var(--dw-black);font-family:var(--dw-font-ui);color:var(--dw-paper);place-items:center;display:grid;position:fixed;inset:0}.crash-shell{text-align:center;max-width:460px}.crash-shell .menu-actions{justify-content:center}.crash-title{font-size:clamp(2rem,5vw,2.8rem)}.crash-detail{max-width:100%;margin:var(--dw-space-4) 0 0;padding:var(--dw-space-3) var(--dw-space-3);border-radius:var(--dw-radius);background:var(--dw-fill);color:var(--dw-paper-dim);font-family:var(--dw-font-mono);text-align:left;white-space:pre-wrap;font-size:.72rem;line-height:1.5;overflow-x:auto}.crash-report-text{box-sizing:border-box;resize:vertical;width:100%;display:block}.dev-console-layer{pointer-events:none;z-index:40;justify-content:center;align-items:flex-start;padding:28px 24px 24px;display:flex;position:absolute;inset:0}.dev-console{pointer-events:auto;flex-direction:column;width:min(920px,100%);min-height:280px;max-height:min(62vh,720px);display:flex;overflow:hidden}.dev-console-header{border-bottom:1px solid var(--ui-border-subtle);background:var(--ui-panel-tint);justify-content:space-between;align-items:flex-start;gap:18px;padding:14px 16px 12px;display:flex}.dev-console-title,.dev-console-subtitle{display:block}.dev-console-title{color:var(--ui-text-primary);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}.dev-console-subtitle{color:var(--ui-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:.6rem}.dev-console-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dev-console-badge{letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;font-size:.58rem;font-weight:700}.dev-console-output{scrollbar-width:thin;scrollbar-color:#8c96a024 transparent;background:linear-gradient(#ffffff03,#fff0);flex:1;padding:14px 16px;font-family:Cascadia Code,Consolas,monospace;overflow-y:auto}.dev-console-output::-webkit-scrollbar{width:6px}.dev-console-output::-webkit-scrollbar-track{background:0 0}.dev-console-output::-webkit-scrollbar-thumb{background:#8c96a024;border-radius:999px}.dev-console-line+.dev-console-line{margin-top:8px}.dev-console-line pre{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.8rem;line-height:1.55}.dev-console-line.is-system pre{color:#c4cad2bd}.dev-console-line.is-command pre{color:var(--ui-text-primary)}.dev-console-line.is-result pre{color:var(--ui-text-secondary)}.dev-console-line.is-error pre{color:#e8806ce6}.dev-console-input-row{border-top:1px solid var(--ui-border-subtle);background:#ffffff03;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:12px 16px 14px;display:grid}.dev-console-prompt{color:var(--ui-accent-text);font-family:Cascadia Code,Consolas,monospace;font-size:.86rem;font-weight:700}.dev-console-input{width:100%;color:var(--ui-text-primary);background:0 0;border:0;outline:none;font-family:Cascadia Code,Consolas,monospace;font-size:.82rem;line-height:1.4}.dev-console-input::placeholder{color:#8c909657}.editor-toggle-hint{z-index:34;color:var(--ui-text-secondary);pointer-events:none;align-items:center;gap:10px;padding:8px 12px;display:none;position:absolute;top:24px;right:24px}.editor-toggle-kbd{border:1px solid var(--ui-border);min-width:34px;color:var(--ui-text-primary);letter-spacing:.12em;text-transform:uppercase;background:#ffffff0a;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:.6rem;font-weight:700;display:inline-flex}.editor-layer{z-index:34;pointer-events:none;position:absolute;inset:0}.editor-sidebar,.editor-inspector,.editor-toast{pointer-events:auto}.editor-sidebar{flex-direction:column;width:min(360px,100vw - 48px);max-height:calc(100vh - 48px);display:flex;position:absolute;top:24px;left:24px;overflow:hidden}.editor-sidebar.is-collapsed{width:220px}.editor-inspector{flex-direction:column;width:min(320px,100vw - 48px);max-height:calc(100vh - 48px);display:flex;position:absolute;top:24px;right:24px;overflow:hidden}.editor-toast{color:var(--ui-text-primary);padding:12px 16px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.editor-toast.is-error{border-color:#e8806c4d}.editor-shell-header,.editor-section-header{border-bottom:1px solid var(--ui-border-subtle);background:var(--ui-panel-tint);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px 12px;display:flex}.editor-shell-header h2,.editor-section-header h3{color:var(--ui-text-primary);margin:4px 0 0;font-size:1rem;font-weight:600}.editor-shell-eyebrow,.editor-section-eyebrow{color:var(--ui-text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:.58rem;font-weight:700;display:block}.editor-shell-actions,.editor-toolbar,.editor-status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-chip,.editor-action-btn,.editor-mode-btn,.editor-toggle-btn{appearance:none;border:1px solid var(--ui-border);color:var(--ui-text-secondary);cursor:pointer;background:#ffffff08;border-radius:999px;transition:border-color .18s,color .18s,background .18s}.editor-chip,.editor-action-btn,.editor-mode-btn{letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;font-size:.62rem;font-weight:700}.editor-toggle-btn{padding:9px 12px;font-size:.74rem;font-weight:600}.editor-chip:hover,.editor-action-btn:hover,.editor-mode-btn:hover,.editor-toggle-btn:hover{border-color:var(--ui-border-strong);color:var(--ui-text-primary)}.editor-mode-btn.is-active,.editor-action-btn.is-primary,.editor-toggle-btn.is-active{color:var(--ui-accent-text);background:#c8c3b417;border-color:#beb9aa3d}:where(.ss-tabstrip--compact){flex-wrap:wrap;align-items:center;gap:8px;display:flex}:where(.range-chip){border:1px solid var(--ui-border);color:var(--ui-text-secondary);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:10.5px;font-weight:500;transition:color .15s,border-color .15s,background .15s}:where(.range-chip:hover){border-color:var(--ui-border-strong);color:var(--ui-text-primary)}:where(.range-chip.is-active){background:var(--ui-accent-warm);border-color:var(--ui-accent-warm-strong);color:var(--ui-accent-text);font-weight:700}:where(.range-chip.has-error){border-color:var(--ss-danger,#d13d3d);color:var(--ss-danger,#d13d3d)}:where(.range-chip:focus-visible){border-radius:999px}.editor-toolbar{padding:14px 16px 0}.editor-toolbar-secondary{padding-top:10px}.editor-status-row{padding:12px 16px 0}.editor-status-pill{border:1px solid var(--ui-border);color:var(--ui-text-muted);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:5px 10px;font-size:.58rem;font-weight:700;display:inline-flex}.editor-status-pill.is-accent{color:var(--ui-accent-text);border-color:#beb9aa3d}.editor-library,.editor-inspector-body{padding:14px 16px 16px;overflow:auto}.editor-search{color:var(--ui-text-muted);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:8px;margin-top:14px;font-size:.62rem;font-weight:700;display:flex}.editor-search input,.editor-field input{border:1px solid var(--ui-border);width:100%;color:var(--ui-text-primary);background:#0000002e;border-radius:10px;outline:none;padding:10px 12px}.editor-search input:focus,.editor-field input:focus{border-color:#beb9aa42}.editor-library-groups{flex-direction:column;gap:16px;margin-top:16px;display:flex}.editor-library-label{color:var(--ui-text-muted);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:.58rem;font-weight:700}.editor-library-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.editor-library-item{appearance:none;border:1px solid var(--ui-border);text-align:center;color:var(--ui-text-secondary);cursor:pointer;background:#ffffff05;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 8px 10px;transition:border-color .18s,background .18s,transform .18s;display:flex}.editor-library-item:hover{border-color:var(--ui-border-strong);background:#ffffff0a;transform:translateY(-1px)}.editor-library-item.is-selected{background:#c8c3b41f;border-color:#beb9aa80}.editor-library-item-name{color:var(--ui-text-primary);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.74rem;font-weight:600;line-height:1.2;display:block;overflow:hidden}.editor-library-progress{color:var(--ui-text-secondary);letter-spacing:.04em;background:#788caa1f;border-radius:8px;margin:4px 0 6px;padding:8px 10px;font-size:.72rem}.editor-thumbnail{background:linear-gradient(160deg,#1e2630d9,#0e1218eb);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.editor-thumbnail.is-pending{background:linear-gradient(135deg,#3c465259 0%,#1e26308c 50%,#3c465259 100%) 0 0/200% 200%;animation:1.8s ease-in-out infinite editor-thumbnail-shimmer}.editor-thumbnail-image{object-fit:contain;image-rendering:auto;-webkit-user-select:none;user-select:none;width:100%;height:100%}.editor-thumbnail-placeholder{border:1px dashed #ffffff2e;border-radius:4px;width:40%;height:40%}@keyframes editor-thumbnail-shimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.editor-inspector-body{flex-direction:column;gap:16px;display:flex}.editor-inspector-copy span{color:var(--ui-text-primary);font-size:.82rem;font-weight:600;display:block}.editor-inspector-copy p,.editor-empty-state p{color:var(--ui-text-copy);margin:6px 0 0;line-height:1.6}.editor-field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.editor-field{color:var(--ui-text-muted);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:.62rem;font-weight:700;display:flex}.editor-params{flex-direction:column;gap:10px;display:flex}.editor-delete-btn{appearance:none;color:#e8aaa0eb;cursor:pointer;background:#e8806c0f;border:1px solid #e8806c3d;border-radius:12px;padding:12px}.editor-empty-state{padding:16px}.editor-status-pill.is-warning{color:#f0c988;background:#eeb05029;border-color:#eeb05052}.editor-status-pill.is-dirty{color:#f0b2a2;background:#e8806c29;border-color:#e8806c52}.editor-action-btn.has-dirty-dot:before{content:"";vertical-align:middle;background:#ef7b62;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 6px #ef7b6299}.editor-checkbox{color:var(--ui-text-secondary);cursor:pointer;align-items:center;gap:8px;padding:4px 2px;font-size:.72rem;display:flex}.editor-checkbox input{accent-color:#bbcbe0}.editor-floating-label-wrapper{pointer-events:none}.editor-floating-label{color:#e4e8ee;letter-spacing:.02em;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#10141ae0;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;align-items:center;padding:4px 10px;font-size:.72rem;display:flex;transform:translateY(-4px);box-shadow:0 4px 18px #00000073}.editor-floating-label-name{font-weight:600}.editor-floating-label-id{color:var(--ui-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.editor-right-tabs{border:1px solid var(--ui-border);background:#ffffff08;border-radius:10px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.editor-right-tab{appearance:none;color:var(--ui-text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 10px;font-size:.76rem;font-weight:600;transition:background .12s,color .12s}.editor-right-tab:hover{color:var(--ui-text-secondary)}.editor-right-tab.is-active{color:var(--ui-text-primary);background:#c8c3b424}.editor-list-panel{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.editor-list-groups{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.editor-list-group{border:1px solid var(--ui-border);background:#ffffff05;border-radius:10px}.editor-list-group-header{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.editor-list-group-name{color:var(--ui-text-primary);letter-spacing:.02em;font-size:.76rem;font-weight:600}.editor-list-group-count{color:var(--ui-text-muted);letter-spacing:.1em;font-size:.66rem}.editor-list-rows{flex-direction:column;gap:2px;margin:0;padding:4px;list-style:none;display:flex}.editor-list-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;transition:background .12s;display:flex}.editor-list-row:hover{background:#ffffff0a}.editor-list-row.is-selected{background:#c8c3b424}.editor-list-thumb{flex:none}.editor-list-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.editor-list-meta-name{color:var(--ui-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;font-weight:600;overflow:hidden}.editor-list-meta-sub{color:var(--ui-text-muted);letter-spacing:.04em;font-size:.62rem}.editor-context-menu{z-index:1000;border-radius:10px;flex-direction:column;min-width:160px;padding:4px;display:flex;position:fixed;box-shadow:0 16px 40px #00000080}.editor-context-menu button{appearance:none;color:var(--ui-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:.8rem}.editor-context-menu button:hover{background:#ffffff0f}.editor-context-menu button.is-danger{color:#f4a596}.editor-context-menu button.is-danger:hover{background:#ef7b6229}.editor-modal-shroud{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1100;background:#0000008c;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.editor-modal{border-radius:16px;flex-direction:column;gap:14px;width:min(560px,96vw);max-height:90vh;padding:18px 18px 14px;display:flex;box-shadow:0 30px 60px #0009}.editor-modal header h3{margin:0;font-size:1.05rem}.editor-modal header p{color:var(--ui-text-muted);margin:6px 0 0;font-size:.84rem}.editor-modal footer{border-top:1px solid var(--ui-border);justify-content:flex-end;gap:8px;padding-top:6px;display:flex}.editor-modal p{color:var(--ui-text-secondary);font-size:.88rem;line-height:1.4}.editor-diff-modal{width:min(720px,96vw);max-height:85vh}.editor-diff-tabs{border:1px solid var(--ui-border);background:#ffffff05;border-radius:10px;gap:4px;padding:4px;display:flex}.editor-diff-tab{appearance:none;color:var(--ui-text-muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:.74rem;font-weight:600;display:flex}.editor-diff-tab span{background:#ffffff14;border-radius:10px;padding:1px 8px;font-size:.64rem}.editor-diff-tab.is-active{color:var(--ui-text-primary);background:#c8c3b424}.editor-diff-tab.has-error{color:#f4a596}.editor-diff-body{flex:1;min-height:200px;overflow-y:auto}.editor-diff-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.editor-diff-row{border:1px solid var(--ui-border);background:#ffffff05;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.editor-diff-row.is-added{border-left:3px solid #79e08c}.editor-diff-row.is-removed{border-left:3px solid #ef7b62}.editor-diff-row.is-modified{border-left:3px solid #f0c988}.editor-diff-row.editor-issue.is-error{border-left:3px solid #ef7b62}.editor-diff-row.editor-issue.is-warning{border-left:3px solid #f0c988}.editor-diff-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.editor-diff-name{color:var(--ui-text-primary);font-size:.86rem;font-weight:600}.editor-diff-sub{color:var(--ui-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.editor-diff-empty{color:var(--ui-text-muted);text-align:center;padding:24px;font-size:.84rem}.editor-popover{z-index:1050;border-radius:14px;flex-direction:column;gap:12px;width:min(320px,96vw);padding:16px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 48px #0000008c}.editor-firsttime-tip{z-index:900;border-radius:14px;align-items:center;gap:14px;max-width:560px;padding:14px 18px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.editor-firsttime-tip strong{color:var(--ui-text-primary);font-size:.88rem}.editor-firsttime-tip p{color:var(--ui-text-secondary);flex:1;margin:0;font-size:.78rem;line-height:1.45}.editor-firsttime-tip kbd{color:var(--ui-text-primary);background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;padding:1px 6px;font-size:.72rem}.editor-action-btn:disabled{opacity:.32;cursor:not-allowed;pointer-events:none}.editor-shortcuts-overlay{z-index:60;pointer-events:auto;width:min(420px,90vw);padding:0 0 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.editor-shortcuts-grid{grid-template-columns:auto 1fr;gap:10px 20px;padding:14px 20px;display:grid}.editor-shortcut-row{display:contents}.editor-shortcut-kbd{letter-spacing:.06em;color:#d2ccc2b8;white-space:nowrap;text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-bottom-width:2px;border-radius:4px;align-self:center;padding:2px 8px;font-family:Cascadia Code,Consolas,monospace;font-size:.62rem;font-weight:700;display:inline-block}.editor-shortcut-label{color:var(--ui-text-secondary);align-self:center;font-size:.72rem}.editor-status-pill.is-accent{color:#c8dcffe0;background:#6496ff0f;border-color:#8cb4ff38}@media (width>=1600px){.menu-overlay{grid-template-columns:minmax(340px,560px) 1fr;padding:72px 96px 56px}.torch-meter{width:150px;height:44px;top:32px;left:32px}.pocket-bar{bottom:32px}.watch{width:64px;height:64px;bottom:32px;right:32px}}@media (width<=760px){.menu-overlay{background:linear-gradient(180deg, var(--dw-scrim-strong) 0%, var(--dw-scrim) 55%, #0506074d 100%);grid-template-rows:1fr auto;grid-template-columns:1fr;gap:0;padding:40px 24px 20px}.menu-shell{grid-area:1/1;align-self:start}.menu-panel{grid-area:1/1/-1/-1;place-self:end stretch;width:100%;max-height:84vh;position:absolute;inset:auto 0 0;transform:translateY(24px)}.menu-panel .dw-panel{border-radius:var(--dw-radius) var(--dw-radius) 0 0;background:var(--dw-ink);border-bottom:0;max-width:none;max-height:84vh}.menu-panel .opt-panel,.pause-overlay .opt-panel{height:84vh}.menu-footer{flex-direction:column;grid-area:2/1;gap:6px}.dw-panel-head,.dw-panel-body{padding-left:var(--dw-space-3);padding-right:var(--dw-space-3)}.dw-panel-strip{padding:0 var(--dw-space-3)}.dw-tabs{gap:var(--dw-space-3)}.dw-keybind-grid{grid-template-columns:1fr}.pause-overlay{align-items:flex-end;padding:0}.pause-overlay .dw-panel{border-radius:var(--dw-radius) var(--dw-radius) 0 0;background:var(--dw-ink);border-bottom:0;max-width:none;max-height:84vh}.torch-meter{width:104px;height:30px;top:14px;left:14px}.hud-dev-strip{top:16px}.pocket-bar{bottom:14px}.watch{width:46px;height:46px;bottom:14px;right:14px}.hud-prompt{padding:10px 16px;bottom:20vh}.interact-prompt{bottom:24vh}.inline-chooser{bottom:calc(24vh - 40px)}.inline-chooser-options{flex-wrap:wrap;row-gap:4px}.interact-prompt-verb{white-space:normal;text-align:left;max-width:60vw}.dev-console-layer{padding:16px}.dev-console{border-radius:12px;max-height:72vh}.dev-console-header{flex-direction:column;align-items:stretch}.dev-console-badges{justify-content:flex-start}.dev-console-output{padding:12px 14px}.dev-console-line pre,.dev-console-input{font-size:.74rem}.editor-sidebar,.editor-inspector{width:auto;max-height:none;margin:16px;position:static}.editor-layer{overflow:auto}}@media (pointer:coarse){.pocket-bar{pointer-events:auto;flex-direction:column-reverse;align-items:flex-start;top:62px;bottom:auto;left:22px;transform:none}.pocket-row{grid-auto-columns:44px}.pocket{height:44px}.offhand-slot{width:44px;height:44px}.watch{top:22px;bottom:auto}.interact-prompt{bottom:34vh}.inline-chooser{bottom:calc(34vh - 52px)}.hud-prompt{bottom:30vh}}@media (pointer:coarse) and (width<=760px){.pocket-bar{top:52px}.watch{top:14px}.interact-prompt{bottom:38vh}.inline-chooser{bottom:calc(38vh - 52px)}.hud-prompt{bottom:34vh}}@media (prefers-reduced-motion:reduce){.os-window{animation:none}.os-cursor.is-gliding{transition:none}.hud-prompt-main,.dw-keybind-waiting,.torch-meter.is-low .torch-meter-fill,.torch-meter.is-low .torch-meter-beam,.torch-meter.is-low .torch-meter-lens,.torch-meter.is-recharging .torch-meter-fill{opacity:1;animation:none}.torch-meter.is-recharging .torch-meter-fill{opacity:.7}.torch-meter.is-cued .torch-meter-shell{stroke:var(--dw-torch);animation:none}.torch-meter.is-cued .torch-meter-lens{fill:var(--dw-torch);opacity:.6;animation:none}.interact-prompt,.inline-chooser,.hud-prompt,.pause-overlay .dw-panel,.intro-gate-hint{animation:none}.menu-panel,.menu-panel.is-open{transition:opacity 1ms;transform:none}.crosshair,.dw-toggle-knob,.dw-tab:after,.menu-shell{transition:none}.caught-overlay.caught-phase-out{animation-duration:.4s}.caught-overlay.caught-phase-in{animation-duration:.6s}}
