:root{--ink:#f3ead0;--accent:#ffd45c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#7eb8c9;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,Consolas,monospace;overflow:hidden}#game{touch-action:none;cursor:none;width:100vw;height:100vh;display:block}#hud{pointer-events:none;position:fixed;inset:0}html.is-captured,html.is-captured *{cursor:none!important}#ui-cursor{filter:drop-shadow(0 1px 1px #000000a6);opacity:0;pointer-events:none;z-index:50;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff6dd' stroke='%231a1710' stroke-width='1.7' stroke-linejoin='round' d='M11.5 1.8c.9 0 1.6.7 1.6 1.6v10h.5V8c0-1 .8-1.8 1.8-1.8S17.2 7 17.2 8v6.4h.4V9.8c0-1 .8-1.8 1.8-1.8s1.8.8 1.8 1.8v6.2h.4v-3.4c0-1 .8-1.8 1.8-1.8s1.8.8 1.8 1.8V22c0 4.4-2.9 7.8-8.4 7.8-3.3 0-5.6-1-7.5-3.4L5.8 17.6c-.7-.9-.5-2.2.4-2.9.9-.7 2.2-.5 2.9.4l1.8 2.2V3.4c0-.9.7-1.6 1.6-1.6z'/%3E%3C/svg%3E") 50%/contain no-repeat;width:32px;height:32px;margin:-2px 0 0 -12px;position:fixed;top:0;left:0}#ui-cursor.is-visible{opacity:1}#crosshair{background:#ffffff8c;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #000c}#dig-progress{opacity:0;background:#00000059;border-radius:2px;width:84px;height:3px;margin:16px 0 0 -42px;transition:opacity 90ms;position:absolute;top:50%;left:50%}#dig-progress.is-active{opacity:1}#dig-progress .fill{background:var(--accent);border-radius:2px;width:0;height:100%}#interact-hint{letter-spacing:.02em;text-align:center;white-space:normal;color:#f3ead0eb;text-shadow:0 1px 4px #000000e6;opacity:0;justify-content:center;align-items:center;gap:8px;max-width:min(560px,100vw - 48px);margin-top:36px;padding:0 8px;font-size:20px;font-weight:700;line-height:1.3;transition:opacity .11s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%)}#interact-hint.is-visible{opacity:1}#interact-hint .key{text-align:center;color:#14100a;background:var(--accent);border-radius:4px;flex:none;min-width:26px;padding:2px 8px 3px;font-size:16px;font-weight:700;box-shadow:0 1px 3px #0009}#interact-hint .text{white-space:normal;min-width:0}#interact-hint.is-warn{color:#ffb4a0}#objective{white-space:nowrap;opacity:0;background:#0807038c;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 26px 13px;transition:opacity .2s;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}#objective.is-visible{opacity:1}#objective .text{letter-spacing:.03em;color:#fff6dd;text-shadow:0 2px 6px #000000f2;font-size:32px;font-weight:700}#objective .detail{letter-spacing:.06em;color:var(--accent);text-shadow:0 2px 6px #000000f2;font-size:19px;font-weight:700}#objective.is-new .text{animation:1.1s ease-out objective-flash}@keyframes objective-flash{0%{color:var(--accent);text-shadow:0 0 26px #f4dc93e6;transform:scale(1.14)}to{color:#fff6dd;text-shadow:0 2px 6px #000000f2;transform:scale(1)}}#banner{text-align:center;opacity:0;z-index:37;align-content:center;place-items:center;gap:14px;transition:opacity .5s;display:grid;position:absolute;inset:0}#banner.is-visible{opacity:1}#banner .title{letter-spacing:.34em;text-indent:.34em;color:var(--accent);text-shadow:0 0 30px #f4dc9359;font-size:44px;font-weight:700}#banner .text{letter-spacing:.16em;text-transform:uppercase;color:#f3ead08c;font-size:17px}#line-tension{opacity:0;background:#00000080;border:2px solid #f3ead033;border-radius:9px;width:min(420px,62vw);height:16px;transition:opacity .13s;position:absolute;top:92px;left:50%;transform:translate(-50%)}#line-tension.is-visible{opacity:1}#line-tension .fill{background:#7ddc86;border-radius:3px;width:0;height:100%;transition:background-color .16s}#line-tension.is-warn .fill{background:#f5c451}#line-tension.is-danger .fill{background:#ff5a43}#line-tension.is-danger{animation:.32s ease-in-out infinite line-danger}@keyframes line-danger{0%,to{box-shadow:0 0 #ff5a4300}50%{box-shadow:0 0 13px #ff5a43b3}}#line-tension .label{letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:#f3ead0d1;text-shadow:0 2px 5px #000000e6;margin-top:6px;font-size:18px;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%)}#hotbar{--slot:74px;gap:10px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=620px){#hotbar{--slot:52px;gap:6px;bottom:16px}}#hotbar .slot{width:var(--slot);height:var(--slot);background:#00000057;border:2px solid #f3ead02e;border-radius:6px;padding:6px;position:relative}#hotbar .slot.is-selected{border-color:var(--accent);background:#0000007a}#hotbar .slot.is-pulse{outline-offset:4px;outline:4px solid #ffe58a;animation:.7s ease-in-out infinite slot-pulse;box-shadow:0 0 0 8px #ffe58a73}@keyframes slot-pulse{0%,to{outline-color:#ffe58a;box-shadow:0 0 0 4px #ffe58a40}50%{outline-color:#fff6c8;box-shadow:0 0 0 10px #ffe58a8c}}#hotbar .slot.is-empty .icon{opacity:.3;filter:grayscale(.8)}#hotbar .count{font-variant-numeric:tabular-nums;color:#fff8e4;text-shadow:0 1px #000000e6,0 0 4px #000c;font-size:18px;font-weight:600;position:absolute;bottom:1px;right:5px}#hotbar .slot.is-empty .count{color:#f3ead066}#vitality{background:#00000061;border:2px solid #f3ead02e;border-radius:6px;align-items:center;gap:3px;margin-bottom:8px;padding:5px 8px;display:flex;position:absolute;bottom:100%;left:0}#vitality .pip{--fill:100%;background:linear-gradient(to right, #e2564f var(--fill), #f3ead024 var(--fill));border-radius:2px;width:9px;height:15px;box-shadow:inset 0 0 0 1px #00000073}#vitality.is-low .pip{background:linear-gradient(to right, #ffb347 var(--fill), #f3ead024 var(--fill))}#vitality.is-bleeding{border-color:#e2564f80}@media (width<=620px){#vitality{gap:2px;padding:4px 6px}#vitality .pip{width:6px;height:12px}}#coins{background:#00000061;border:2px solid #f3ead02e;border-radius:6px;align-items:center;gap:7px;margin-bottom:8px;padding:3px 11px 3px 9px;display:flex;position:absolute;bottom:100%;right:2px}#coins[hidden]{display:none!important}#coins .coin{background:radial-gradient(circle at 34% 30%,#ffeaa8,#e8b23c 60%,#a67c1d);border-radius:50%;width:15px;height:15px;box-shadow:0 1px 2px #0000008c}#coins .value{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f7dc94;text-shadow:0 1px 3px #000000d9;font-size:20px;display:inline-block}#coins.is-gain .value{animation:.42s ease-out coins-gained}@keyframes coins-gained{0%{color:#fff6d8;transform:scale(1.5)}to{color:#f7dc94;transform:scale(1)}}#hotbar .icon{filter:drop-shadow(0 1px 1px #0000008c);width:100%;height:100%}#hotbar .key{color:#f3ead080;font-size:11px;position:absolute;top:1px;left:5px}#hotbar .slot.is-selected .key{color:var(--accent)}#hotbar .slot.is-keycard{border-style:dashed;border-color:#8fe6f759;margin-left:26px}#hotbar .slot.is-keycard .icon{opacity:.32;filter:grayscale(.45);transition:opacity .26s,filter .26s}#hotbar .slot.is-keycard.is-filled{background:#123c488c;border-style:solid;border-color:#8fe6f7;box-shadow:0 0 18px #8fe6f766}#hotbar .slot.is-keycard.is-filled .icon{opacity:1;filter:drop-shadow(0 1px 1px #0000008c);animation:.62s ease-out keycard-collected}@keyframes keycard-collected{0%{transform:scale(1.9)}60%{transform:scale(.94)}to{transform:scale(1)}}#hotbar-caption{letter-spacing:.1em;text-align:center;text-transform:uppercase;color:#f3ead073;margin-top:7px;font-size:14px;position:absolute;top:100%;left:0;right:0}#tutorial{--edge:#16213a;--card:#26365c;--tick:#46d17b;background:var(--card);border:3px solid var(--edge);opacity:0;pointer-events:none;border-radius:18px;width:320px;padding:7px;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;transition:opacity .28s,transform .42s cubic-bezier(.2,1.5,.4,1);position:absolute;top:16px;left:16px;transform:translate(-16px)scale(.94);box-shadow:0 5px #0c12208c,0 12px 24px #00000059}#tutorial.is-visible{opacity:1;transform:translate(0)scale(1)}#tutorial .head{background:linear-gradient(#3d8bff,#2f6fe4);border:2px solid #0c12208c;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px 6px;display:flex}#tutorial .title{letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 2px #00000059;font-size:16px;font-weight:800}#tutorial .count{font-variant-numeric:tabular-nums;color:#17233d;background:#fff;border-radius:9px;padding:1px 8px 2px;font-size:15px;font-weight:800;box-shadow:inset 0 -2px #17233d38}#tutorial .body{align-items:center;gap:10px;padding:10px 8px 9px;display:flex}#tutorial .frame{background:linear-gradient(#f8fbff,#dfe8fa);border:2px solid #0c122073;border-radius:14px;flex:none;place-items:center;width:76px;height:76px;display:grid;position:relative;box-shadow:inset 0 -3px #17233d24}#tutorial .art{filter:drop-shadow(0 2px 1px #17233d47);width:60px;height:60px;animation:.46s cubic-bezier(.2,1.6,.4,1) tutorial-art}#tutorial .art.is-pixels{image-rendering:pixelated}#tutorial .tick{background:#0c122073;border-radius:12px;place-items:center;display:none;position:absolute;inset:0}#tutorial .tick:after{content:"";border:7px solid var(--tick);filter:drop-shadow(0 2px #0c122080);border-top:0;border-right:0;border-radius:3px;width:34px;height:18px;transform:translateY(-5px)rotate(-45deg)}#tutorial.is-cleared .tick{animation:.42s cubic-bezier(.2,1.8,.4,1) tutorial-tick;display:grid}#tutorial .say{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}#tutorial .what{letter-spacing:.01em;color:var(--accent);text-shadow:0 2px #0c12208c;font-size:27px;font-weight:800;line-height:1.05}#tutorial .hint{color:#ffffffb8;font-size:15px;font-weight:600;line-height:1.2}#tutorial .key{letter-spacing:.04em;white-space:nowrap;color:#17233d;background:#f4f7ff;border:2px solid #0c12208c;border-radius:8px;padding:2px 9px 3px;font-size:15px;font-weight:800;box-shadow:0 2px #0c12208c}#tutorial .dots{justify-content:center;align-items:center;gap:5px;margin:0;padding:0 0 3px;list-style:none;display:flex}#tutorial .dot{background:#0c122073;border:2px solid #ffffff2e;border-radius:50%;width:9px;height:9px}#tutorial .dot.is-done{background:var(--tick);border-color:#0c122066}#tutorial .dot.is-now{background:var(--accent);border-color:#0c122080;transform:scale(1.34)}#tutorial .dot.is-popping{animation:.42s cubic-bezier(.2,1.8,.4,1) tutorial-dot}#tutorial.is-complete .head{background:linear-gradient(#ffd45c,#f0a92c)}#tutorial.is-complete .title{color:#1b1403}#tutorial.is-complete{animation:.62s cubic-bezier(.2,1.4,.4,1) tutorial-clear}@keyframes tutorial-art{0%{transform:scale(.6)rotate(-8deg)}to{transform:scale(1)rotate(0)}}@keyframes tutorial-tick{0%{transform:scale(.4)}55%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes tutorial-dot{0%{transform:scale(1)}45%{transform:scale(1.9)}to{transform:scale(1)}}@keyframes tutorial-clear{0%{transform:scale(1)}40%{transform:scale(1.045)}to{transform:scale(1)}}@media (width<=820px),(height<=560px){#tutorial{width:214px;padding:5px;top:10px;left:10px}#tutorial .frame{width:60px;height:60px}#tutorial .art{width:48px;height:48px}#tutorial .what{font-size:22px}#tutorial .hint{font-size:13px}#tutorial .title{font-size:14px}#tutorial .key{font-size:13px}}#shop{--tile:62px;--tile-art:40px;opacity:0;pointer-events:none;background:#080703db;border:2px solid #f3ead029;border-radius:12px;width:min(520px,100vw - 32px);padding:18px 22px 16px;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.97)}#shop.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}#shop .head{border-bottom:2px solid #f3ead01f;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:12px;display:flex}#shop .title{letter-spacing:.24em;color:var(--accent);font-size:18px;font-weight:700}#shop .purse{align-items:center;gap:7px;display:flex}#shop .purse .coin{background:radial-gradient(circle at 34% 30%,#ffeaa8,#e8b23c 60%,#a67c1d);border-radius:50%;width:15px;height:15px}#shop .purse .value{font-variant-numeric:tabular-nums;color:#f7dc94;font-size:17px}#shop .tabs{gap:6px;margin:10px 0 12px;display:flex}#shop .tab{font:inherit;letter-spacing:.14em;text-transform:uppercase;color:#f3ead080;cursor:pointer;background:#ffffff0a;border:2px solid #f3ead01f;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;padding:7px 4px;font-size:14px;display:flex}#shop .tab:hover{color:#f3ead0bf;border-color:#f3ead052}#shop .tab .key{letter-spacing:0;color:#f3ead08c;background:#0006;border-radius:3px;padding:1px 5px;font-size:13px}#shop .tab.is-active{border-color:var(--accent);color:var(--accent);background:#ffd45c1a}#shop .tab.is-active .key{color:var(--accent)}#shop .rack{height:calc(var(--tile) * 2 + 8px);position:relative;overflow:hidden}#shop .grid{grid-template-columns:repeat(2,1fr);gap:8px;transition:transform .11s;display:grid}#shop .rack:before,#shop .rack:after{content:"";opacity:0;pointer-events:none;height:18px;transition:opacity .11s;position:absolute;left:0;right:0}#shop .rack:before{background:linear-gradient(#080703f2,#08070300);top:0}#shop .rack:after{background:linear-gradient(#08070300,#080703f2);bottom:0}#shop .rack.has-above:before,#shop .rack.has-more:after{opacity:1}#shop .ware{grid-template-columns:var(--tile-art) 1fr;height:var(--tile);box-sizing:border-box;cursor:pointer;background:#ffffff09;border:2px solid #f3ead01a;border-radius:8px;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:0 10px;display:grid}#shop .ware:hover{border-color:#f3ead042}#shop .ware .art{width:var(--tile-art);height:var(--tile-art);image-rendering:pixelated;grid-row:1/span 2}#shop .name{letter-spacing:.04em;color:#fff6dd;align-self:end;font-size:16px;font-weight:700}#shop .ware .price{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#f7dc94;align-self:start;font-size:14px}#shop .ware .price:after{content:" coins";letter-spacing:.1em;opacity:.55;font-size:12px}#shop .ware .buy{font-variant-numeric:tabular-nums;letter-spacing:.1em;text-align:center;text-transform:uppercase;color:#f3ead073;cursor:default;background:#f3ead01a;border:2px solid #f3ead029;border-radius:6px;grid-area:1/2/span 2;place-self:center end;min-width:58px;padding:5px 8px;font-size:13px}#shop .ware .buy.is-ready{color:#1a1710;cursor:pointer;background:#f4efe2;border-color:#fffdf6;font-weight:700}#shop .ware .buy.is-ready:hover{background:#fffdf6}#shop .ware.is-owned .name{color:#f3ead08c}#shop .ware.is-owned .price,#shop .ware.is-owned .art{opacity:.45}#shop .ware.is-picked{border-color:var(--accent);background:#ffd45c17}#shop .ware.is-bought{animation:.62s ease-out shop-bought}#shop .detail{letter-spacing:.02em;color:#f3ead09e;min-height:2.4em;padding:9px 2px 0;font-size:14px}@keyframes shop-bought{0%{background:#9df09a66}to{background:#9df09a00}}#shop .footer{letter-spacing:.09em;text-align:center;text-transform:uppercase;color:var(--accent);border-top:2px solid #f3ead01f;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 24px;margin-top:8px;padding-top:12px;font-size:14px;display:flex}#shop .footer span:last-child{color:#f3ead073}#shop .footer.is-short span:first-child{color:#f3ead080}#shop .footer .way-out{cursor:pointer}#shop .footer .way-out:hover{color:#fff6dd}@media (width<=620px){#shop{--tile:54px;--tile-art:34px;padding:14px 14px 12px}#shop .grid{grid-template-columns:1fr}#shop .rack{height:calc(var(--tile) * 3 + 16px)}}#inventory{pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(160deg,#28304259,#0000 55%),#0a0c14e0;border:3px solid #3f4a63;border-radius:12px;width:min(392px,100vw - 28px);padding:12px 12px 10px;transition:opacity .14s,transform .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.97);box-shadow:0 0 0 2px #12141f,0 12px 26px #0000008c}#inventory.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-50%)scale(1)}#inventory.is-ready{border-color:#46d17b;box-shadow:0 0 0 2px #163322,0 0 18px #46d17b66}#inventory .head{justify-content:space-between;align-items:baseline;gap:8px;padding:0 4px 8px;display:flex}#inventory .title{letter-spacing:.28em;color:#aebfe8;font-size:13px;font-weight:800}#inventory .total{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f7dc94;font-size:12px}#inventory .grid{background:#0000004d;border:1px solid #788cbe2e;border-radius:8px;grid-template-columns:repeat(6,1fr);gap:5px;padding:6px;display:grid}#inventory .tile{background:#ffffff08;border:1px dashed #8ca0d229;border-radius:6px;place-items:center;height:52px;display:grid;position:relative}#inventory .tile.is-filled{background:#ffffff0f;border-style:solid;border-color:#a0b4e647}#inventory .tile .cube{background:linear-gradient(to bottom, var(--cube-top) 0 34%, var(--cube-side) 34% 100%);border:1px solid #0000008c;border-radius:3px;width:26px;height:26px;display:none;box-shadow:inset -3px -3px #00000047,inset 2px 2px #ffffff2e}#inventory .tile.is-filled .cube{display:block}#inventory .tile .count{font-variant-numeric:tabular-nums;color:#f3ead0;text-shadow:0 1px #000c;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}#inventory .caption{letter-spacing:.06em;text-align:center;text-transform:uppercase;color:#aebfe8b3;padding:8px 4px 1px;font-size:11px}#inventory.is-ready .caption{color:#46d17b}@media (width<=720px){#inventory{width:min(324px,100vw - 16px)}#inventory .tile{height:42px}}#hotbar .slot.is-bag{margin-left:18px}#hotbar .slot.is-bag.is-taken{animation:.64s ease-out bag-taken}@keyframes bag-taken{0%{background:#40340c99;border-color:#ffe58a;transform:scale(1.1);box-shadow:0 0 0 7px #ffe58a66}to{transform:scale(1)}}.keycap{letter-spacing:0;color:#14100a;background:linear-gradient(#fff0a8, var(--accent) 55%, #e0b43a);border:1px solid #c9a03a;border-bottom-width:4px;border-radius:6px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px 3px;font-size:16px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 1px 2px #00000073}#catch-book{opacity:0;pointer-events:none;background:#080703d1;border:2px solid #f3ead024;border-radius:12px;width:min(560px,100vw - 24px);padding:14px 18px 12px;transition:opacity 80ms,transform 80ms;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)scale(.98)}#catch-book.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}#catch-book .head{border-bottom:2px solid #f3ead01f;justify-content:space-between;align-items:baseline;margin-bottom:min(9px,1.1vh);padding-bottom:min(9px,1.1vh);display:flex}#catch-book .title{letter-spacing:.24em;color:var(--accent);font-size:16px;font-weight:700}#catch-book .score{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#f7dc94;font-size:17px}#catch-book .grid{grid-template-columns:auto repeat(4,1fr);align-items:center;gap:min(4px,.5vh);display:grid}#catch-book .column{letter-spacing:.12em;text-align:center;text-transform:uppercase;color:#f3ead073;padding-bottom:2px;font-size:12px}#catch-book .kind{letter-spacing:.06em;text-align:right;color:#f3ead0b8;padding-right:8px;font-size:15px}#catch-book .unit{letter-spacing:.12em;text-align:right;color:#f3ead073;padding-right:8px;font-size:12px}#catch-book .cell{border:1px solid color-mix(in srgb, var(--swatch) 34%, transparent);background:#ffffff04;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:clamp(24px,4.4vh,40px);padding:min(4px,.5vh) 2px;display:flex}#catch-book .cell.is-found{border-color:color-mix(in srgb, var(--swatch) 72%, transparent);background:color-mix(in srgb, var(--swatch) 17%, transparent)}#catch-book .best{font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;color:#f3ead047;font-size:15px}#catch-book .cell.is-found .best{color:#fff6dd}#catch-book .count{font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;color:#f3ead09e;min-height:1.2em;font-size:13px}#catch-book .foot{letter-spacing:.06em;text-align:center;color:#f3ead080;border-top:2px solid #f3ead01f;margin-top:min(10px,1.2vh);padding-top:min(9px,1.1vh);font-size:13px}#screen-fade{opacity:0;z-index:35;background:#000;position:absolute;inset:0}#death{opacity:0;z-index:36;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}#death.is-live{animation:.16s steps(2,end) infinite death-shake}#death .wash{background:radial-gradient(62% 52% at 50% 44%,#46040233 0%,#2a0000b8 52%,#050000 100%);position:absolute;inset:0}#death .grain{image-rendering:pixelated;mix-blend-mode:overlay;opacity:.42;background-repeat:repeat;background-size:128px 128px;position:absolute;inset:-18%}#death .drips{pointer-events:none;position:absolute;inset:0;overflow:hidden}#death .drip-rim{height:min(78px,11vh);image-rendering:pixelated;transform-origin:top;opacity:0;background-repeat:repeat-x;background-size:auto 100%;position:absolute;top:0;left:0;right:0}#death .drip{top:0;left:var(--left);width:var(--w);height:0;position:absolute;overflow:hidden}#death .drip .stream{width:100%;height:400%;image-rendering:pixelated;background-repeat:repeat-y;background-size:100%}#death .drips.is-slam .drip-rim{animation:.9s steps(6,end) both rim-in,3.2s steps(8,end) .9s infinite rim-flow}#death .drips.is-slam .drip{animation:drip-down var(--dur,5.2s) steps(30) var(--d,0s) both}#death .drips.is-slam .drip .stream{animation:drip-run 2.4s steps(10) var(--d,0s) infinite}@keyframes rim-in{0%{opacity:0;transform:scaleY(.15)}to{opacity:1;transform:scaleY(1)}}@keyframes rim-flow{0%{background-position:0 0}to{background-position:64px 0}}@keyframes drip-down{0%{height:0}to{height:var(--reach,100%)}}@keyframes drip-run{0%{background-position:0 0}to{background-position:0 calc(var(--w) * 5)}}#death .scan{opacity:.55;background:repeating-linear-gradient(#00000038 0 1px,#0000 1px 3px);position:absolute;inset:0}#death .copy{text-align:center;justify-items:center;gap:22px;width:100%;padding:0 3vw;display:grid;position:relative}#death .word{letter-spacing:.08em;text-indent:.08em;color:#e4d0b8;text-shadow:-4px 0 #7a1008,4px 0 #1a0505,0 0 48px #8c10088c;font-size:min(48vh,32vw);font-weight:700;line-height:.82}#death .word.is-slam{animation:.32s cubic-bezier(.12,.82,.22,1) both death-slam}#death .rule{transform-origin:50%;background:linear-gradient(90deg,#0000,#8c120ad9 18%,#d22818f2 50%,#8c120ad9 82%,#0000);width:min(72vw,90%);height:5px;box-shadow:0 0 12px #a0140a73}#death.is-live .rule{animation:.42s ease-out both death-rule}#death .prompt{letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:#e4d0b89e;opacity:0;font-size:clamp(13px,1.5vw,19px);font-weight:700;transition:opacity .32s}#death .prompt.is-visible{opacity:1;animation:1.6s ease-in-out infinite death-prompt}@keyframes death-prompt{0%,to{opacity:.34}50%{opacity:.92}}@keyframes death-slam{0%{opacity:0;filter:blur(10px);transform:scale(1.12)}58%{opacity:1;filter:blur();transform:scale(.97)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes death-shake{0%,to{transform:translate(0)}25%{transform:translate(-1.5px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,.5px)}}@keyframes death-rule{0%{opacity:0;transform:scaleX(.12)}to{opacity:1;transform:scaleX(1)}}#hold{opacity:0;background:#08070399;border-radius:8px;width:210px;padding:7px 10px 9px;transition:opacity .14s;position:absolute;bottom:132px;left:50%;transform:translate(-50%)}#hold.is-visible{opacity:1}#hold .text{letter-spacing:.05em;color:#fff6dd;text-align:center;margin-bottom:6px;font-size:13px;display:block}#hold .fill{background:var(--accent);border-radius:3px;width:0;height:5px}#scare{opacity:0;background:radial-gradient(78% 68%,#78000000 34%,#96080880 72%,#280000eb 100%);position:absolute;inset:0}#dread{opacity:0;image-rendering:pixelated;mix-blend-mode:screen;background-repeat:repeat;background-size:128px 128px;position:absolute;inset:0}#top-ui{z-index:20;pointer-events:none;position:fixed;inset:0}#audio-controls{pointer-events:auto;gap:8px;display:flex;position:absolute;top:14px;right:14px}.audio-toggle{width:42px;height:42px;color:var(--accent);cursor:pointer;background:#0807038c;border:2px solid #ffd45c59;border-radius:9px;place-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:grid}.audio-toggle:hover{border-color:var(--accent);background:#1e190acc}.audio-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.audio-toggle .slash{opacity:0;stroke:#ff8d6b}.audio-toggle.is-off{color:#f3ead066;border-color:#f3ead033}.audio-toggle.is-off .slash{opacity:1}#debug-overlay{white-space:pre;color:#f3ead0b8;text-shadow:0 1px #0009;background:#00000052;border-radius:4px;padding:8px 10px;font-size:11px;line-height:1.45;position:absolute;top:10px;left:12px}#lock-prompt{cursor:pointer;background:radial-gradient(at 50% 38%,#286e821a,#08243075);justify-content:center;align-items:center;padding:24px 16px;transition:opacity .14s;display:flex;position:fixed;inset:0}#lock-prompt.is-hidden{opacity:0;pointer-events:none}#lock-prompt .panel{text-align:center;background:#0e2a32d1;border:1px solid #ffdc9647;border-radius:0;width:min(600px,100%);max-height:calc(100vh - 48px);padding:36px 40px 40px;overflow:auto;box-shadow:8px 8px #06161c59}#lock-prompt .panel:has(.controls:not([hidden])){padding:24px 36px 28px}#lock-prompt .panel:has(.controls:not([hidden])) h1{margin-bottom:16px;font-size:clamp(24px,4vw,32px)}#lock-prompt h1{letter-spacing:.04em;color:#fff6e0;text-shadow:0 2px #081c2459;margin:0 0 26px;font-size:clamp(28px,4.6vw,40px);font-weight:800;line-height:1.15}.menu-buttons{flex-direction:column;align-items:center;gap:12px;display:flex}#lock-prompt .panel:has(.controls:not([hidden])) .menu-buttons{gap:8px}.menu-buttons button{font:inherit;letter-spacing:.12em;color:#17140a;background:var(--accent);cursor:pointer;border:0;border-radius:0;min-width:240px;padding:15px 38px;font-size:19px;font-weight:700}.menu-buttons button:hover{background:#ffe28c}#menu-controls{color:var(--accent);background:#ffd45c1a;border:1px solid #ffd45c66;padding:11px 38px;font-size:16px}#menu-controls:hover,#menu-controls.is-open{background:#ffd45c38}#hud.is-attract>*{display:none}#sandbox-bar{pointer-events:auto;gap:8px;display:flex;position:absolute;top:14px;left:14px}#sandbox-bar button{font:inherit;letter-spacing:.06em;color:var(--accent);cursor:pointer;background:#141108c7;border:1px solid #ffd45c66;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:700}#sandbox-bar button:hover{background:#3c3214d9}#sandbox-palette{gap:10px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}#sandbox-palette .slot{background:#00000057;border:2px solid #f3ead02e;border-radius:6px;width:58px;height:58px;padding:5px;position:relative}#sandbox-palette .slot.is-selected{border-color:var(--accent);background:#0000007a}#sandbox-palette .icon{filter:drop-shadow(0 1px 1px #0000008c);width:100%;height:100%}#sandbox-palette .key{color:#f3ead08c;font-size:11px;position:absolute;bottom:1px;right:4px}#sandbox-palette .slot.is-selected .key{color:var(--accent)}#sandbox-palette .slot.is-tool .face{place-items:center;width:100%;height:100%;font-size:30px;display:grid}#sandbox-help{letter-spacing:.04em;white-space:nowrap;color:#f3ead08c;background:#08070380;border-radius:6px;padding:6px 12px;font-size:12px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.controls[hidden]{display:none}.controls{color:#f3ead0b3;text-align:left;grid-template-columns:max-content minmax(0,1fr);gap:5px 24px;margin:18px 0 0;padding:0;font-size:14px;line-height:1.35;display:grid}.controls dt{text-align:right;color:#fff6e0eb;white-space:nowrap;font-weight:700}.controls dd{text-align:left;margin:0}#hook-flash{pointer-events:none;z-index:34;opacity:0;background:radial-gradient(at 50% 38%,#ffe67873,#0000 36%),radial-gradient(#0000 18%,#780600d1 100%);position:fixed;inset:0;box-shadow:inset 0 0 140px 50px #a000008c}#hook-flash.is-on{animation:.48s ease-in-out infinite hook-pulse}#hook-flash.is-burst{animation:.38s ease-out hook-burst,.48s ease-in-out .38s infinite hook-pulse}@keyframes hook-burst{0%{opacity:1;background:#fff8d8;box-shadow:inset 0 0 #ff5a2800}35%{opacity:1;background:radial-gradient(at 50% 40%,#ffe08a 0%,#ff50288c 42%,#5a0000e6 100%)}to{opacity:.7}}@keyframes hook-pulse{0%,to{opacity:.55}50%{opacity:1}}#mouse-coach{pointer-events:none;z-index:80;filter:drop-shadow(0 2px #1a1208)drop-shadow(0 6px 10px #00000073);width:clamp(150px,17vw,190px);display:none;position:fixed;bottom:44%;left:4%;right:auto}#mouse-coach.is-click,#mouse-coach.is-hold,#mouse-coach.is-right{display:block!important}#mouse-coach svg{width:100%;height:auto;overflow:visible}#mouse-coach .mouse .body,#mouse-coach .mouse .rmb{fill:#eef2f8;stroke:#1a1208;stroke-width:2.6px}#mouse-coach .mouse .lmb{fill:#f4f7ff;stroke:#1a1208;stroke-width:2px}#mouse-coach .mouse .wheel{fill:#3d8bff;stroke:#1a1208;stroke-width:1.4px}#mouse-coach .flesh{fill:#e8b07a;stroke:#1a1208;stroke-width:8px;stroke-linejoin:round}#mouse-coach .nail{fill:#f6ddd0}#mouse-coach .hand{transform-box:fill-box;transform-origin:50% 80%}#mouse-coach.is-click .lmb{animation:.7s ease-in-out infinite lmb-click}#mouse-coach.is-click .hand{animation:.7s ease-in-out infinite hand-tap}#mouse-coach.is-hold .lmb{fill:#ff5a3a}#mouse-coach.is-hold .hand{transform:translateY(4px)}#mouse-coach.is-hold svg{animation:.8s ease-in-out infinite hold-glow}#mouse-coach.is-right .rmb{animation:.7s ease-in-out infinite lmb-click}#mouse-coach.is-right .hand{animation:.7s ease-in-out infinite hand-tap-right}@keyframes lmb-click{0%,55%,to{fill:#ffe14a}18%,32%{fill:#ff5a3a}}@keyframes hand-tap{0%,55%,to{transform:none}18%,32%{transform:translateY(4px)}}@keyframes hand-tap-right{0%,55%,to{transform:translate(20px)}18%,32%{transform:translate(20px,4px)}}@keyframes hold-glow{0%,to{filter:drop-shadow(0 0 #ff5a3a00)}50%{filter:drop-shadow(0 0 10px #ff4628e6)}}
