:root{font-family:"Trebuchet MS","Segoe UI",sans-serif;color:#fff7df;background:#102e39;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#214852,#081d28)}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.6}button:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #fff3b1;outline-offset:3px}button:focus-visible{box-shadow:0 0 0 6px #173f52c9}[hidden]{display:none!important}
.stage{position:relative;width:min(100vw,calc(100dvh * 1.59879));aspect-ratio:1586/992;overflow:hidden;isolation:isolate;background:#173f52;box-shadow:0 20px 90px #0008}canvas{display:block;width:100%;height:100%;touch-action:manipulation}.hud{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;background:linear-gradient(#092c3977,transparent);pointer-events:none}.identity{padding:9px 16px 11px;border-left:3px solid #edc774;background:linear-gradient(90deg,#102e39ed,#102e39b0);border-radius:0 10px 10px 0}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.13em;color:#dfc995}.identity h1{font-family:Georgia,serif;font-size:clamp(22px,2.1vw,32px);font-weight:normal;letter-spacing:-.02em;margin:3px 0 2px}.identity>span:last-child{font-size:11px;color:#e7e7cf}.status-strip{display:flex;align-items:stretch;gap:1px;background:#102e39ed;border:1px solid #c9d4b650;border-radius:10px;box-shadow:0 4px 18px #071a2750;overflow:hidden;pointer-events:auto}.stat{padding:10px 15px;min-width:100px;border-right:1px solid #b8c4a133}.stat>span{display:block;font-size:11px;color:#e6ddc2}.stat strong{display:inline-block;font-family:Georgia,serif;font-weight:normal;font-size:25px;color:#ffe6a1;margin-top:3px;font-variant-numeric:tabular-nums}.stat small{display:block;font-size:10px;color:#d0ddd6}.clock{min-width:125px;position:relative}.clock-track{height:3px;margin-top:5px;background:#43636a}.clock-track i{display:block;height:100%;width:100%;background:#e7c06e;transition:width .35s}.clock.low strong{color:#ffc18e}.goals-toggle{display:grid;grid-template-columns:repeat(4,65px);gap:12px;align-items:center;border:0;background:transparent;padding:10px 16px;color:#fff6dd;text-align:left}.goal>span{font-size:11px;display:block}.goal>b{font-size:12px;font-weight:normal;display:block;margin:5px 0;font-variant-numeric:tabular-nums;color:#ffe0a0}.goal>i{height:3px;display:block;background:#45646a;width:100%}.goal em{height:100%;display:block;background:#e7bd70;width:0;transition:width .35s}
.targets{position:absolute;inset:0;pointer-events:none}.destination,.item-target,.clerk-target{position:absolute;left:var(--x);top:var(--y);pointer-events:auto;transform:translate(-50%,-50%);border:0;white-space:nowrap}.destination{background:transparent;color:#fff5da;padding:10px 8px 24px;min-height:52px}.destination>span{display:block;padding:9px 14px;border:1px solid #eed29a;border-radius:7px;background:#143f45ef;box-shadow:0 4px 16px #072a3b88;font-weight:700;font-size:14px}.destination small{display:block;font-size:11px;font-weight:normal;color:#ffdfa3;margin-top:4px}.destination>i{position:absolute;left:calc(50% - 5px);bottom:6px;width:10px;height:10px;border-radius:50%;background:#ffe5a4;box-shadow:0 0 0 6px #ffedaf33,0 0 18px #ffd36c}.destination:hover:not(:disabled)>span,.destination.selected>span{background:#256167;transform:translateY(-2px);border-color:#fff3bd}.item-target{min-height:48px;padding:9px 13px;border:1px solid #fff0b9b0;background:#123d46ef;border-radius:7px;color:#fff9e6;box-shadow:0 4px 14px #0e2f3999;font-size:14px;transition:transform .16s,background .16s}.item-target b{display:block;color:#ffe19f;margin-top:3px;font-family:Georgia,serif;font-weight:normal;font-size:18px}.item-target:hover{background:#286367;transform:translate(-50%,-55%)}.item-target.owned::after{content:"Owned";position:absolute;right:-10px;top:-12px;background:#f7dfa1;color:#224f50;border-radius:4px;padding:3px 6px;font-size:10px;box-shadow:0 2px 4px #102e3966}.clerk-target{min-height:44px;padding:9px 13px;border-radius:20px;background:#fff6dfef;color:#204751;font-size:13px;font-weight:bold;border:1px solid #e8bb68;box-shadow:0 3px 15px #10232b55}
.footer{position:absolute;bottom:16px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.footer-left,.footer-right{display:flex;align-items:center;gap:9px;pointer-events:auto}.quiet-button{min-height:44px;background:#123a45f2;border:1px solid #a3c2bd88;border-radius:7px;padding:10px 14px;color:#fff4d9;font-size:14px;box-shadow:0 2px 10px #072a3b44}.quiet-button:hover:not(:disabled){background:#205761}.footer-left>span{font-size:12px;max-width:370px;padding:8px 11px;border-radius:6px;background:#113441e0;line-height:1.45;text-shadow:0 1px 2px #001c22}.motion-control{display:flex;align-items:center;gap:6px;padding:9px;background:#113441ed;border-radius:6px;min-height:44px;font-size:12px}.motion-control input{accent-color:#e5bf71;margin:0;width:16px;height:16px}.gold-button{min-height:44px;padding:10px 20px;border:1px solid #ac772c;border-bottom-width:3px;border-radius:7px;background:linear-gradient(#ffe0a0,#e6b45f);color:#4e361b;font-weight:bold;font-size:14px;box-shadow:inset 0 1px 0 #fff3ce}.gold-button:hover:not(:disabled){background:#ffe3a4}.text-button{min-height:44px;padding:10px;border:0;color:#195a61;text-decoration:underline;background:transparent}.paper{color:#224651;background:linear-gradient(120deg,#fff9e9,#f4e8cb);border:2px solid #d9b675;border-radius:12px;padding:23px 26px;box-shadow:0 14px 45px #092c3966}.paper .eyebrow{color:#84612e;padding-right:18px}.paper h2{font-family:Georgia,serif;font-weight:normal;font-size:29px;line-height:1.1;margin:10px 0 12px}.paper p{font-size:14px;line-height:1.55;margin:9px 0 16px}.paper p.fine{font-size:12px;color:#536767;line-height:1.6}.close{position:absolute;right:6px;top:4px;border:0;background:none;color:#456870;font-size:28px;width:44px;height:44px;line-height:1}.product,.dialogue,.home-panel,.info-panel{position:absolute;bottom:85px}.product{right:22px;width:min(375px,39%)}.product .intro{font-family:Georgia,serif;font-size:18px}.purchase-line{display:flex;justify-content:space-between;align-items:center;gap:15px}.purchase-line>strong{font-family:Georgia,serif;font-size:30px;font-weight:normal;color:#164d54}.product .fine{margin:12px 0 0;min-height:32px}.dialogue{left:22px;width:min(370px,38%)}.dialogue p{font-family:Georgia,serif;font-size:19px;margin:10px 0 0}.home-panel{left:22px;width:min(410px,44%)}.home-inventory{display:flex;gap:7px;margin-top:16px;flex-wrap:wrap}.inventory-item{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 9px 5px 5px;border:1px solid #cdb879;border-radius:6px;background:#fff8e8}.inventory-art{width:45px;height:45px;border-radius:4px;background-image:url('assets/shop-interior.png');background-size:280px 175px}.inventory-art.fridge{background-position:-40px -65px}.inventory-art.computer{background-position:-116px -65px}.inventory-art.microwave{background-position:-158px -27px}.info-panel{right:22px;top:120px;bottom:auto;width:min(410px,48%)}.toast{position:absolute;left:50%;top:16%;transform:translateX(-50%);max-width:80%;padding:12px 22px;border:1px solid #edcc87;border-radius:8px;background:#123c45f5;font-size:14px;box-shadow:0 6px 25px #173f5266;pointer-events:none}.curtain{position:absolute;inset:0;background:#0b2831;opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:8}.curtain.closed{opacity:1;pointer-events:auto}.loading{position:absolute;inset:0;background:#153c46;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;z-index:9;padding:30px;text-align:center}.welcome{width:min(540px,calc(100vw - 32px));max-height:90dvh;overflow-y:auto;margin:auto;padding:30px 34px}.welcome::backdrop{background:#052b36a6;backdrop-filter:blur(3px)}.welcome h2{font-size:34px}.opening-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0 18px}.opening-options button{font-size:14px;padding:15px 11px;text-align:left}.opening-options b{display:block;font-family:Georgia,serif;font-size:28px;font-weight:normal;margin:6px 0}.opening-options small{display:block;font-size:11px;font-weight:normal;line-height:1.5}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}
@media(max-width:1100px){.hud{padding:12px;gap:10px}.identity{padding:8px 12px}.identity h1{font-size:25px}.eyebrow{font-size:9px}.status-strip .stat{padding:9px 12px;min-width:85px}.stat strong{font-size:22px}.goals-toggle{gap:8px;grid-template-columns:repeat(4,56px);padding:9px 12px}.goal>span{font-size:10px}.footer{left:12px;right:12px;bottom:12px}.footer-left>span{max-width:270px;font-size:11px}.footer-right{gap:6px}.motion-control{font-size:11px}.quiet-button{padding:9px 11px}.paper h2{font-size:26px}.paper{padding:20px}.toast{top:19%}}
@media(max-width:800px){.stage{width:100vw;aspect-ratio:auto;height:100dvh;overflow:auto;display:grid;grid-template-rows:auto auto 1fr;align-content:start}.hud{position:relative;inset:auto;grid-row:1;flex-wrap:wrap;padding:10px;background:#102e39;gap:8px}.identity{padding:0;border:0;background:none;display:flex;align-items:center;gap:12px;width:100%}.identity .eyebrow{max-width:90px;line-height:1.5}.identity h1{font-size:22px;margin:0}.identity>span:last-child{margin-left:auto;font-size:10px}.status-strip{width:100%;justify-content:space-between}.status-strip .stat{padding:7px 10px;min-width:75px}.stat strong{font-size:22px}.clock-track{margin-top:3px}.clock small{display:none}.goals-toggle{flex:1;grid-template-columns:repeat(4,minmax(40px,1fr));gap:9px;padding:9px}.goal>span{font-size:10px}.goal>b{font-size:11px;margin:3px 0}.stage canvas{grid-row:2;width:100%;height:auto;aspect-ratio:1586/992}.targets{top:var(--art-top,125px);bottom:auto;height:var(--art-height,400px)}.footer{position:relative;inset:auto;grid-row:3;display:flex;align-self:start;align-items:start;padding:10px;background:#102e39;flex-wrap:wrap;gap:8px}.footer-left{width:100%}.footer-left>span{max-width:none;flex:1;font-size:12px}.footer-right{width:100%;justify-content:flex-end;flex-wrap:wrap}.paper.product,.paper.dialogue,.paper.home-panel,.paper.info-panel{position:fixed;top:auto;bottom:12px;left:12px;right:12px;width:auto;max-height:65dvh;overflow-y:auto;z-index:5}.paper.product~.paper.dialogue{bottom:12px}.product .intro{font-size:17px}.dialogue p{font-size:17px}.item-target{font-size:11px;padding:6px 8px;min-height:44px}.item-target b{font-size:14px}.destination>span{font-size:12px;padding:7px 9px}.destination small{font-size:10px}.destination{padding:8px 0 20px}.clerk-target{font-size:11px;padding:7px 9px}.toast{position:fixed;top:145px;z-index:6;font-size:12px;width:max-content;max-width:90%}.loading{position:fixed}.info-panel h2{font-size:25px}}
@media(max-width:450px){.hud{padding:8px}.status-strip .stat{min-width:64px;padding:6px 8px}.stat strong{font-size:20px}.stat>span{font-size:10px}.goals-toggle{gap:6px;padding:7px}.goal>span{font-size:9px}.goal>b{font-size:10px}.identity>span:last-child{font-size:9px}.destination small{font-size:9px}.destination>span{font-size:11px;padding:6px}.item-target{font-size:10px;padding:5px 7px}.clerk-target{font-size:10px}.motion-control{margin-right:auto;font-size:10px}.quiet-button{font-size:12px;padding:8px 10px}.footer-right .gold-button{padding:9px 12px;font-size:12px}.welcome{padding:24px}.welcome h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
