@font-face{font-family:"Jacquard 24";font-style:normal;font-weight:400;font-display:swap;src:url(../media/78b344f987c9c9b6-s.00hclrtuy8dkd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Jacquard 24";font-style:normal;font-weight:400;font-display:swap;src:url(../media/9d9927955a95a20d-s.p.0i8f_s95odn18.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Jacquard 24 Fallback";src:local(Arial);ascent-override:100.16%;descent-override:26.51%;line-gap-override:0.0%;size-adjust:78.95%}.jacquard_24_8d4e18c5-module__hCBn_W__className{font-family:"Jacquard 24","Jacquard 24 Fallback";font-style:normal;font-weight:400}.jacquard_24_8d4e18c5-module__hCBn_W__variable{--font-jacquard:"Jacquard 24", "Jacquard 24 Fallback"}
@font-face{font-family:Kings;font-style:normal;font-weight:400;font-display:swap;src:url(../media/102cba712fb2f2de-s.0c89-0q2dtzz1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Kings;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91d3509f173d93cc-s.218bxxi41if2h.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Kings;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9afcd6a5c662b1da-s.p.2vtr1sxv0i-fc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kings Fallback;src:local(Arial);ascent-override:114.46%;descent-override:54.22%;line-gap-override:0.0%;size-adjust:83.0%}.kings_1e5ceca1-module__8284nW__className{font-family:Kings,Kings Fallback;font-style:normal;font-weight:400}.kings_1e5ceca1-module__8284nW__variable{--font-kings:"Kings", "Kings Fallback"}
:root{--press-start:var(--font-jacquard), serif;--plex-mono:var(--font-jacquard), serif;--heading:var(--font-kings), serif;--hull:#1a1410;--hull-dark:#0d0a07;--plank:#3a2a1a;--plank-light:#5a4129;--amber:#f0a847;--amber-bright:#ffd27a;--sea:#0e5a52;--sea-deep:#063b3a;--sea-glow:#1fa89a;--foam:#7fe3d4;--danger:#e8533a;--ink:#e8dcc4;--ink-dim:#9a8a6a;--brass:#caa24a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--plex-mono);color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;background:#000;overflow:hidden}#stage{background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#screen{image-rendering:pixelated;image-rendering:crisp-edges;background:var(--hull-dark);position:relative;overflow:hidden}canvas{image-rendering:pixelated;image-rendering:crisp-edges;display:block}#hud{pointer-events:none;z-index:20;font-family:var(--press-start);justify-content:space-between;align-items:flex-start;padding:10px 12px;display:flex;position:absolute;top:0;left:0;right:0}.hud-left{flex-direction:column;gap:6px;display:flex}.room-tag{font-family:var(--heading);color:var(--amber-bright);text-shadow:2px 2px #000;letter-spacing:1px;font-size:22px}.depth-tag{color:var(--ink-dim);text-shadow:1px 1px #000;font-size:13px}#tv{background:#0a0805;border:3px solid #2a1f14;border-radius:3px;width:200px;padding:6px 7px 7px;box-shadow:0 0 0 2px #000,inset 0 0 14px #000c}#tv .tv-label{color:var(--sea-glow);letter-spacing:.5px;text-shadow:1px 1px #000;margin-bottom:5px;font-size:12px}#tank{background:linear-gradient(#0c1a18,#08110f);border:2px solid #1a2826;height:46px;position:relative;overflow:hidden}#water{background:linear-gradient(180deg,var(--sea-glow),var(--sea-deep));height:8%;transition:height .9s linear;position:absolute;bottom:0;left:0;right:0}#water:before{content:"";background:var(--foam);opacity:.7;height:3px;animation:1.3s ease-in-out infinite wave;position:absolute;top:-3px;left:0;right:0}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.tank-ship{color:var(--amber);text-shadow:1px 1px #000;font-size:8px;position:absolute;top:6px;left:50%;transform:translate(-50%)}#clock{color:var(--amber-bright);text-align:center;text-shadow:1px 1px #000;letter-spacing:1px;margin-top:5px;font-size:24px}#clock.warn{color:var(--danger);animation:.6s steps(2,end) infinite pulse}@keyframes pulse{50%{opacity:.4}}.pips{justify-content:center;gap:3px;margin-top:5px;display:flex}.pip{background:#241a10;border:1px solid #3a2a1a;width:7px;height:7px}.pip.done{background:var(--amber);border-color:var(--amber-bright);box-shadow:0 0 4px var(--amber)}#prompt{border:2px solid var(--brass);z-index:20;font-family:var(--press-start);color:var(--amber-bright);text-shadow:1px 1px #000;opacity:0;white-space:nowrap;background:#080604eb;border-radius:2px;padding:8px 14px;font-size:17px;transition:all .18s;position:absolute;bottom:16px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 0 18px #000000b3}#prompt.show{opacity:1;transform:translate(-50%)translateY(0)}#prompt .key{background:var(--brass);color:#1a1006;border-radius:2px;margin:0 2px;padding:2px 5px;display:inline-block}#overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#020404ed;justify-content:center;align-items:center;padding:18px;display:none;position:absolute;inset:0}#overlay.show{animation:.25s fade;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}.puzzle{border:3px solid var(--brass);background:linear-gradient(#17120c,#0d0a06);border-radius:4px;width:100%;max-width:440px;max-height:100%;padding:18px 18px 16px;overflow:auto;box-shadow:0 0 0 3px #000,0 0 40px #000000e6}.puzzle h2{font-family:var(--heading);color:var(--amber-bright);text-shadow:2px 2px #000;letter-spacing:1px;margin-bottom:6px;font-size:28px;line-height:1.4}.puzzle .sub{color:var(--ink-dim);margin-bottom:14px;font-size:19px;line-height:1.65}.puzzle .lore{color:var(--foam);border-left:3px solid var(--sea-glow);background:#1fa89a14;margin-bottom:14px;padding:8px 10px;font-size:19px;line-height:1.6}.closebtn{position:absolute;top:0;right:0}.puzzle-wrap{position:relative}.xbtn{border:2px solid var(--ink-dim);color:var(--ink-dim);font-family:var(--press-start);cursor:pointer;float:right;background:0 0;margin-bottom:8px;padding:6px 9px;font-size:10px}.xbtn:hover{border-color:var(--danger);color:var(--danger)}.stars{background:#060b14;border:2px solid #1a2436;border-radius:3px;grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:12px;padding:12px;display:grid}.star{aspect-ratio:1;color:#3a4a66;cursor:pointer;justify-content:center;align-items:center;font-size:13px;transition:all .1s;display:flex}.star.lit{color:#ffe9a8;text-shadow:0 0 6px #ffd27a}.star.lantern{color:var(--amber)}.star.lantern.lit{color:var(--danger);text-shadow:0 0 8px var(--danger)}.star:hover{transform:scale(1.3)}.shells{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.sack{border:2px solid var(--plank-light);text-align:center;background:#241a10;border-radius:4px;min-width:60px;padding:8px 6px}.sack .cowries{letter-spacing:1px;color:var(--brass);margin-bottom:3px;font-size:14px}.sack .num{color:var(--ink-dim);font-size:13px}.glyphs{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;display:flex}.glyph{border:2px solid var(--plank-light);width:42px;height:42px;color:var(--amber);background:#1a120a;border-radius:3px;justify-content:center;align-items:center;font-size:22px;display:flex}.keycard{border:1px dashed var(--brass);background:#caa24a0f;border-radius:3px;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:12px;padding:8px;display:grid}.keycard div{text-align:center;color:var(--ink-dim);font-size:13px}.keycard div b{color:var(--amber);font-size:18px;display:block}.codein{justify-content:center;align-items:center;gap:8px;margin:6px 0 14px;display:flex}.codein input{border:2px solid var(--brass);width:100%;max-width:200px;color:var(--amber-bright);font-family:var(--plex-mono);text-align:center;letter-spacing:6px;background:#0a0805;border-radius:3px;padding:10px;font-size:18px;font-weight:600}.codein input:focus{border-color:var(--amber-bright);outline:none;box-shadow:0 0 12px #f0a84766}.btn{background:var(--brass);color:#1a1006;width:100%;font-family:var(--press-start);cursor:pointer;letter-spacing:1px;border:none;border-radius:2px;padding:13px;font-size:17px;transition:all 80ms;box-shadow:0 3px #7d6020}.btn:hover{background:var(--amber-bright)}.btn:active{box-shadow:none;transform:translateY(3px)}.feedback{text-align:center;min-height:18px;margin-top:10px;font-size:13px}.feedback.bad{color:var(--danger)}.feedback.good{color:var(--foam)}.balance{justify-content:center;align-items:flex-end;gap:0;height:90px;margin-bottom:14px;display:flex;position:relative}.beam{background:var(--plank-light);transform-origin:50%;height:6px;transition:all .4s;position:absolute;top:30px;left:10%;right:10%}.pan{text-align:center;width:70px;position:absolute;top:50px}.pan.l{left:6%}.pan.r{right:6%}.pan .tray{border:2px solid var(--plank-light);background:#241a10;border-radius:0 0 8px 8px;min-height:34px;padding:5px;font-size:16px}.pan .w{color:var(--ink-dim);margin-top:3px;font-size:11px}.weights{flex-wrap:wrap;justify-content:center;gap:5px;margin-bottom:12px;display:flex}.crate{border:2px solid var(--plank-light);color:var(--amber);cursor:pointer;background:#3a2a1a;border-radius:2px;padding:8px 11px;font-size:14px;font-weight:600}.crate:hover{background:var(--plank-light)}.crate.placed{opacity:.3;pointer-events:none}.lampseq{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px;display:flex}.part{border:2px solid var(--plank-light);color:var(--ink);cursor:pointer;text-align:center;background:#241a10;border-radius:2px;min-width:68px;padding:9px 7px;font-size:12px}.part:hover{border-color:var(--amber)}.part.used{opacity:.3;pointer-events:none}.lampslots{justify-content:center;gap:5px;margin-bottom:12px;display:flex}.slot{border:2px dashed var(--brass);width:54px;height:30px;color:var(--amber-bright);border-radius:2px;justify-content:center;align-items:center;font-size:11px;display:flex}.morse{justify-content:center;gap:5px;margin:8px 0 14px;display:flex}.mbtn{border:2px solid var(--brass);color:var(--amber);font-family:var(--press-start);cursor:pointer;background:#241a10;border-radius:2px;width:46px;height:40px;font-size:14px}.mbtn:hover{background:var(--plank-light)}.mdisp{text-align:center;color:var(--amber-bright);letter-spacing:4px;min-height:26px;margin-bottom:8px;font-size:20px}.screen-msg{z-index:60;text-align:center;padding:max(16px,env(safe-area-inset-top)) 22px max(16px,env(safe-area-inset-bottom));background:radial-gradient(at 50% 40%,#0d1a18,#020605 80%);flex-direction:column;justify-content:center;align-items:center;gap:clamp(6px,1.4vh,14px);display:none;position:fixed;inset:0;overflow-y:auto}.screen-msg.show{animation:.4s fade;display:flex}.screen-msg h1{font-family:var(--heading);color:var(--amber-bright);text-shadow:3px 3px #000;letter-spacing:2px;margin:0;font-size:clamp(28px,7vw,48px);line-height:1.25}.screen-msg .tag{color:var(--foam);letter-spacing:2px;margin:0;font-size:clamp(13px,3.5vw,20px)}.screen-msg p{color:var(--ink-dim);max-width:520px;margin:0;font-size:clamp(14px,3.6vw,19px);line-height:1.6}.screen-msg .ctrls{color:var(--ink-dim);margin:0;font-size:clamp(12px,3.2vw,18px);line-height:1.8}.screen-msg .ctrls b{color:var(--amber)}.bigbtn{font-family:var(--press-start);background:var(--amber);color:#1a1006;cursor:pointer;letter-spacing:1px;border:none;border-radius:3px;margin-top:clamp(4px,1vh,10px);padding:clamp(11px,2vh,16px) 26px;font-size:clamp(15px,3.8vw,20px);box-shadow:0 4px #7d6020}.bigbtn:hover{background:var(--amber-bright)}.bigbtn:active{box-shadow:none;transform:translateY(4px)}#endTitle.lost{color:var(--danger)}.hint{color:var(--ink-dim);text-align:center;margin-top:8px;font-size:13px;font-style:italic}.clue-card{max-width:440px}.clue-card h2{font-family:var(--heading);letter-spacing:1px;color:var(--foam)!important;font-size:24px!important}.clue-body{color:var(--ink);border:1px dashed var(--sea-glow);background:#7fe3d40f;border-radius:3px;margin:6px 0 4px;padding:16px;font-size:22px;line-height:1.7}#touchControls{display:none}body.touch #touchControls{padding:0 18px calc(18px + env(safe-area-inset-bottom)) 18px;z-index:30;pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}#dpad{pointer-events:auto;touch-action:none;width:132px;height:132px;position:relative}.dbtn{border:2px solid var(--brass);width:44px;height:44px;color:var(--amber-bright);-webkit-tap-highlight-color:transparent;cursor:pointer;background:#14100ac7;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;box-shadow:0 2px #0009}.dbtn:active,.dbtn.on{background:var(--brass);color:#1a1006}.dbtn.up{top:0;left:44px}.dbtn.down{bottom:0;left:44px}.dbtn.left{top:44px;left:0}.dbtn.right{top:44px;right:0}.dcenter{width:44px;height:44px;color:var(--brass);opacity:.4;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:44px;left:44px}#actionBtn{pointer-events:auto;background:radial-gradient(circle at 38% 32%,var(--amber-bright),var(--brass));color:#1a1006;-webkit-tap-highlight-color:transparent;cursor:pointer;border:3px solid #7d6020;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:30px;display:flex;box-shadow:0 4px #5c4718,0 0 22px #f0a84766}#actionBtn:active{transform:translateY(4px);box-shadow:0 0 22px #f0a84766}body.touch #prompt{top:64px;bottom:auto}body.touch #tv{width:150px}@media (max-width:520px){#tv{width:144px}.room-tag{font-size:13px}.depth-tag{font-size:10px}#prompt{padding:7px 11px;font-size:12px}#clock{font-size:20px}#tv .tv-label{font-size:10px}.puzzle h2{font-size:20px}.puzzle .sub{font-size:16px}.clue-body{font-size:18px}.btn{font-size:15px}}@media (max-height:430px){#dpad{width:112px;height:112px}.dbtn{width:38px;height:38px}.dbtn.up,.dbtn.down{left:37px}.dbtn.left,.dbtn.right{top:37px}.dcenter{width:38px;height:38px;top:37px;left:37px}#actionBtn{width:70px;height:70px;font-size:24px}}
