:root{color-scheme:dark;--bg:#101916;--panel:#1a2520;--line:#37443a;--ink:#f2eedb;--muted:#aab2a1;--lime:#d5e890;--gold:#d4af74}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation;color:var(--ink);background:#26352c;border:1px solid #52614d;border-radius:5px;padding:14px 16px;min-height:48px;text-align:left;line-height:1.4}button:hover{background:#354633;border-color:var(--lime)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}button:disabled{opacity:.45;cursor:default}a{color:inherit}.hidden{display:none!important}.game-shell{max-width:1250px;margin:auto;padding:0 32px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;height:85px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1.7px}.brand{font-size:18px;font-weight:900;text-decoration:none;letter-spacing:3px}.brand span{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:var(--muted)}.ship-label span{color:var(--lime);margin-left:22px}.admin-link{color:var(--muted);text-decoration:none}.title-row{display:flex;justify-content:space-between;align-items:center;padding:30px 0 23px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:bold}h1{font-size:52px;letter-spacing:-2.5px;margin:7px 0 0}h1 span{color:var(--lime)}.shift{text-align:right}.shift>span{font:30px monospace}.shift small{display:block;color:var(--muted);font-size:12px;margin-top:8px}.scene{position:relative;aspect-ratio:3/2;max-height:650px;overflow:hidden;background:#786b54 url('/static/bas/room.png') center/100% 100%;border:1px solid #5b624b;border-radius:8px 8px 0 0;isolation:isolate;image-rendering:pixelated}.scene-tag{position:absolute;top:18px;left:18px;color:#ebe4c3;background:#17241fdb;border:1px solid #83886e;padding:9px 12px;font:10px monospace;letter-spacing:2px}.jenny{position:absolute;width:29%;height:83%;left:39%;bottom:10%;background-image:url('/static/bas/jenny.png');background-size:400% 100%;background-position:0 0;background-repeat:no-repeat;image-rendering:pixelated;animation:breathe 3s steps(2,end) infinite;transform-origin:50% 90%;z-index:2}.jenny.yawn{background-position:33.333% 0}.jenny.annoyed{background-position:66.666% 0}.jenny.pleased{background-position:100% 0}.jenny.leaving{animation:leave .7s steps(8) forwards}.speech{position:absolute;top:15%;left:3%;width:35%;z-index:4;background:#faf2d9;color:#29352a;padding:18px 20px;border:3px solid #323b2e;box-shadow:4px 5px 0 #0005;border-radius:10px;image-rendering:auto}.speech:after{content:'';position:absolute;right:-15px;bottom:22px;width:22px;height:22px;background:#faf2d9;border-top:3px solid #323b2e;border-right:3px solid #323b2e;transform:rotate(45deg)}.speech>span{font-size:10px;font-weight:bold;letter-spacing:1.7px;color:#67724c}.speech p{font-size:clamp(14px,1.6vw,20px);line-height:1.5;margin:9px 0 0}.radio{position:absolute;bottom:1%;left:8%;width:18%;height:35%;border:0;background:none!important;z-index:5;padding:0;text-align:center;filter:drop-shadow(8px 7px 3px #0005)}.radio img{height:90%;max-width:100%;object-fit:contain;image-rendering:pixelated;transition:transform .15s}.radio:hover img{transform:rotate(-4deg) translateY(-5px)}.radio>span{display:block;background:#182b23;border:1px solid #869a64;color:var(--lime);padding:7px 4px;font:bold 10px monospace;letter-spacing:1px;white-space:nowrap}kbd{border:1px solid #869a64;padding:1px 4px;margin-left:5px}.desk-note{position:absolute;bottom:6%;right:7%;font:10px monospace;letter-spacing:2px;color:#f1e7c4;text-shadow:1px 2px #392b1d;line-height:1.8}.desk-note b{font-size:13px}.later{position:absolute;inset:0;background:#13221ff5;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}.later span{font:11px monospace;color:var(--lime);letter-spacing:3px}.later h2{font-size:clamp(25px,4vw,48px);font-weight:normal}.later p{color:var(--muted)}.console{background:var(--panel);border:1px solid var(--line);border-top:0;padding:22px;border-radius:0 0 8px 8px}.console-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px;font:11px monospace;letter-spacing:1px;color:var(--lime)}#mood{color:var(--muted);font-size:10px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--lime);margin-right:9px;border-radius:50%}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.choices button{font-size:13px}.hint{color:var(--muted);font-size:11px;margin:18px 0 0;line-height:1.5}.drawer{margin-top:20px}.drawer-title{display:flex;align-items:center;justify-content:space-between}.drawer-title h2{font-size:18px}.drawer-title span{font:9px monospace;color:var(--gold);letter-spacing:1px}.rewards{display:grid;grid-template-columns:repeat(4,1fr);background:url('/static/bas/drawer.png') center/100% 100%;border:4px solid #594127;border-radius:5px;overflow:hidden;aspect-ratio:3/2}.reward{display:flex;align-items:flex-end;justify-content:center;background:transparent;border:2px solid transparent;border-radius:0;font-size:12px;font-weight:bold;text-shadow:0 1px 3px #000,0 1px 5px #000;padding:5px;color:#fff9df}.reward:hover{background:#e7ffac22;border-color:var(--lime)}.encouragements{display:flex;gap:8px;margin-top:12px}.encouragements button{flex:1;font-size:12px;background:#202b25}footer{display:flex;justify-content:space-between;padding:23px 0 30px;font:9px monospace;letter-spacing:1px;color:#84927e}dialog{background:var(--panel);color:var(--ink);border:1px solid #83916e;border-radius:10px;max-width:440px;width:calc(100% - 32px);padding:26px;line-height:1.6}dialog::backdrop{background:#07100dda;backdrop-filter:blur(5px)}.dialog-actions{display:flex;gap:10px;margin-top:25px}.primary{background:var(--lime);color:#20311f;font-weight:bold}.primary:hover{background:#e5f4b7;color:#20311f}@keyframes breathe{50%{transform:translateY(-2px) rotate(.3deg)}}@keyframes leave{to{transform:translateX(180px);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
