@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/mousetrap/assets/DMSans-400-iZodDrw-.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/mousetrap/assets/DMSans-400-iZodDrw-.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/mousetrap/assets/DMSans-400-iZodDrw-.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/mousetrap/assets/DMSans-400-iZodDrw-.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/mousetrap/assets/Fraunces-500-5jZlKYll.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/mousetrap/assets/Fraunces-500-5jZlKYll.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,sans-serif;color:#f5efdb;background:#122b2c;font-synthesis:none}*{box-sizing:border-box}html,body{min-height:100%;overscroll-behavior:none}body{margin:0;background:radial-gradient(ellipse at 50% 40%,#2a4947,#112728 80%)}main{max-width:1600px;margin:auto;padding:0 4vw}header{height:112px;display:flex;align-items:center;justify-content:center}.brand{font-size:27px;font-weight:700;letter-spacing:3px;color:#f7efdc;text-decoration:none}.brand span{color:#e9ba69}.brand small{display:block;font-size:8px;letter-spacing:3.5px;margin-top:7px;color:#a7bdb4}.chapter{color:#d8b67a;letter-spacing:2px;font-size:14px}.chapter span{color:#d3d7c9;font-size:10px;margin-left:14px}button{font:inherit;cursor:pointer;background:transparent;border:1px solid #abb9a744;color:#f5efdb;border-radius:6px;padding:10px 15px}button:hover{background:#ffffff12}button:focus-visible{outline:3px solid #eabb69;outline-offset:4px}#stage{height:min(73vw,740px);min-height:440px;position:relative;border:1px solid #b3bba32b;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px #0004;background:#244b49}canvas{display:block;width:100%;height:100%;outline:none}.hud{position:absolute;z-index:4;left:28px;right:28px;top:24px;display:flex;align-items:center;gap:30px;font-size:10px;letter-spacing:2px;pointer-events:none}.hud b{margin-left:12px;font-size:16px;color:#f3c775}.hud button{margin-left:auto;pointer-events:auto;font-size:11px}#lives{color:#e8b07e;font-size:17px;letter-spacing:5px}.card{position:absolute;z-index:5;left:6%;top:22%;max-width:420px;padding:30px;background:#173737ec;border:1px solid #cfbb8a40;border-radius:12px;box-shadow:0 20px 60px #0003;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[hidden]{display:none!important}.eyebrow{font-size:9px;letter-spacing:2.8px;color:#e9ba69}h1{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:43px;line-height:1.12;margin:18px 0}p{font-size:13px;line-height:1.8;color:#c2d1c7}.primary{display:flex;justify-content:space-between;gap:35px;background:#e9bc75;color:#293b32;border:0;font-weight:700;padding:15px 20px;width:100%;margin-top:24px}.primary:hover{background:#ffd69a}.card small{display:block;margin-top:20px;font-size:8px;letter-spacing:1px;color:#aabdb4}#hint{position:absolute;z-index:3;bottom:23px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:1px;color:#e4e6d2;pointer-events:none}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:85px}footer span{font-size:9px;letter-spacing:2px}footer i{display:inline-block;width:6px;height:6px;background:#d6b175;border-radius:50%;margin-right:10px}footer p{font-size:11px;color:#9fb3aa}footer button{border:0;font-size:11px;color:#bfcec2}.touch{display:none;position:absolute;z-index:6;bottom:max(48px,env(safe-area-inset-bottom));left:max(15px,env(safe-area-inset-left));right:max(15px,env(safe-area-inset-right));gap:10px}.touch button{background:#173737e8;touch-action:none;min-width:58px;min-height:48px;-webkit-user-select:none;user-select:none}.touch button:last-child{margin-left:auto;min-width:88px}@media(pointer:coarse){.touch{display:flex}}@media(max-width:700px){main{padding:0 12px}header{height:85px}.brand{font-size:20px}.chapter{display:none}#stage{height:72vh;min-height:420px}.card{left:5%;right:5%;top:20%;padding:22px;max-width:360px}h1{font-size:34px}.hud{left:max(15px,env(safe-area-inset-left));right:max(15px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));gap:12px}footer p{display:none}footer{min-height:65px}#hint{font-size:9px}}#original-game{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);image-rendering:pixelated;pointer-events:none}#graphics{font-size:11px;margin-left:auto;margin-right:10px}header{gap:14px}@media(max-width:700px){#graphics{padding:8px;font-size:10px;margin-right:0}header{gap:8px}}.stage-actions{display:flex;gap:8px;margin-left:auto;pointer-events:auto}.hud .stage-actions button{margin-left:0}#stage-debug-level{min-height:44px;max-width:130px;padding:8px 10px;border:1px solid #abb9a766;border-radius:6px;background:#173737f5;color:#f5efdb;font:16px DM Sans,sans-serif;touch-action:manipulation}#stage-debug-level:focus-visible{outline:3px solid #eabb69;outline-offset:3px}@media(pointer:coarse){.footer-level-control{display:none}}#stage:fullscreen,#stage:-webkit-full-screen{width:100vw;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}#stage::backdrop{background:#101714}body.game-fullscreen{overflow:hidden;touch-action:none;background:#101714}body.game-fullscreen main{width:100vw;height:100dvh;max-width:none;margin:0;padding:0}body.game-fullscreen header,body.game-fullscreen footer{display:none}body.game-fullscreen .stage-actions,body.game-fullscreen #hint{display:none}#stage:fullscreen .stage-actions{display:none}#stage:-webkit-full-screen .stage-actions{display:none}body.game-fullscreen #stage{position:fixed;inset:0;z-index:9999;width:100vw;height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}body.game-fullscreen #hint{bottom:max(12px,env(safe-area-inset-bottom))}body.game-fullscreen .touch{bottom:max(20px,env(safe-area-inset-bottom))}@media(max-width:420px){.hud{gap:8px}.hud b{margin-left:4px}.hud .stage-actions button{padding:8px;font-size:10px}.stage-actions{gap:4px}}@media(pointer:coarse)and (orientation:landscape){body{height:100dvh;overflow:hidden}main{width:100vw;height:100dvh;max-width:none;padding:0}header,footer{display:none}#stage{height:100dvh;min-height:0;border:0;border-radius:0}.touch{bottom:max(20px,env(safe-area-inset-bottom))}}header{justify-content:center;height:96px}.brand{display:block;line-height:0}.brand img{display:block;height:64px;width:auto}#hint{font-size:10px;letter-spacing:2px;color:#cfdac9}.stage-actions button[aria-pressed=true]{background:#e9bc75;border-color:#e9bc75;color:#22332c;font-weight:700}.stage-actions button[disabled]{opacity:.45;cursor:default}.stage-actions button[disabled]:hover{background:transparent}@media(max-width:700px){header{height:66px}.brand img{height:42px}.hud{gap:8px}.stage-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.stage-actions button{padding:7px 9px;font-size:10px;letter-spacing:0}#stage{height:min(78vh,97vw);min-height:0}#hint{bottom:max(14px,env(safe-area-inset-bottom));font-size:9px}}@media(pointer:coarse){.stage-actions button{min-height:40px}.touch button{min-width:66px;min-height:56px;font-size:16px}.touch button:last-child{min-width:104px}}@media(pointer:coarse)and (orientation:landscape){header{display:none}}body.preview-waiting .touch{display:none}@media(pointer:coarse){#hint{display:none}}.stage-actions button{background:#102524ee;border-color:#cfe0d199;color:#f7f2e2}.stage-actions button:hover{background:#1c3a38f2}#hint{color:#eef3e6;text-shadow:0 1px 3px #000c}#preview-start{min-height:32px}#preview-start{display:none}@media(pointer:coarse){#preview-start:not([hidden]){display:block;min-height:48px;padding:12px 22px;font-size:15px}}#cover-flash{position:absolute;inset:0;z-index:22;background:#fff;opacity:0;pointer-events:none}#startup-cover img{transition:opacity .45s ease,transform .45s ease}body.cover-revealing #cover-original{opacity:0;transform:scale(1.06)}body.cover-revealing #cover-remaster{animation:cover-in .55s ease both}body.cover-revealing #cover-flash{animation:cover-flash .5s ease-out both}@keyframes cover-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes cover-flash{0%{opacity:0}18%{opacity:.85}to{opacity:0}}#preview-start:not([hidden]){display:block;min-height:48px;padding:13px 26px;font-size:15px;font-weight:700;background:#e9bc75;color:#22332c;border:0;box-shadow:0 10px 30px #0006}#preview-start:not([hidden]):hover{background:#ffd69a}@media(prefers-reduced-motion:reduce){#startup-cover img{transition:none}body.cover-revealing #cover-remaster,body.cover-revealing #cover-flash{animation:none}body.cover-revealing #cover-flash{opacity:0}}.drawer-switch label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:6px;border-radius:8px;min-height:44px}.drawer-switch label:hover{background:#ffffff12}.drawer-switch input{position:absolute;opacity:0;width:0;height:0}.drawer-switch .switch{position:relative;flex:0 0 auto;width:42px;height:24px;margin-top:2px;border-radius:12px;background:#0e2423;border:1px solid #cfbb8a55;transition:background .18s}.drawer-switch .switch:after{content:"";position:absolute;left:3px;top:2.5px;width:17px;height:17px;border-radius:50%;background:#cfd8cc;transition:transform .18s,background .18s}.drawer-switch input:checked+.switch{background:#e9bc75;border-color:#e9bc75}.drawer-switch input:checked+.switch:after{transform:translate(18px);background:#22332c}.drawer-switch input:focus-visible+.switch{outline:3px solid #eabb69;outline-offset:3px}.option-text{display:block;font-size:13px;line-height:1.45}.option-text b{display:block;font-weight:600;color:#f1f5e9}.option-text small{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:#adc0b5}@media(prefers-reduced-motion:reduce){.drawer-switch .switch,.drawer-switch .switch:after{transition:none}}.drawer-volume label{display:block;cursor:pointer;padding:6px;border-radius:8px}.drawer-volume label:hover{background:#ffffff12}.drawer-volume .volume-row{display:flex;align-items:center;gap:10px;margin-top:8px}.drawer-volume output{flex:0 0 auto;min-width:42px;text-align:right;font-size:12px;color:#e9bc75;font-variant-numeric:tabular-nums}.drawer-volume input[type=range]{flex:1 1 auto;-webkit-appearance:none;appearance:none;height:24px;background:transparent;cursor:pointer}.drawer-volume input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#0e2423;border:1px solid #cfbb8a55}.drawer-volume input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#0e2423;border:1px solid #cfbb8a55}.drawer-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-7px;width:18px;height:18px;border-radius:50%;background:#e9bc75;border:0}.drawer-volume input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#e9bc75;border:0}.drawer-volume input[type=range]:focus-visible{outline:3px solid #eabb69;outline-offset:3px}#scores-game{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;pointer-events:auto}body.scores-open #stage:before{content:"";position:absolute;inset:0;z-index:29;pointer-events:none;background:var(--board-backdrop,#101714)}body.scores-open #scores-game{z-index:30}#score-name{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;z-index:-1;left:50%;top:50%;font-size:16px}#score-name.entry{left:0;top:0;width:100%;height:100%;z-index:31;color:transparent;caret-color:transparent;font-size:16px}#drawer-toggle{position:absolute;z-index:42;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:46px;height:46px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 12px;background:#173737cc;border-color:#cfbb8a40}#drawer-toggle span{display:block;height:2px;background:#f5efdb;border-radius:2px}#drawer-scrim{position:absolute;z-index:40;inset:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .22s ease}#drawer{position:absolute;z-index:41;top:0;right:0;bottom:0;width:min(340px,86%);display:flex;flex-direction:column;gap:20px;padding:22px max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) 22px;background:#173737f5;border-left:1px solid #cfbb8a40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto;overscroll-behavior:contain;transform:translate(100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}body.drawer-open #drawer{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}body.drawer-open #drawer-scrim{opacity:1;pointer-events:auto}body.drawer-open #drawer-toggle{opacity:0;pointer-events:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-head h2{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:26px;margin:0}#drawer-close{min-width:44px;min-height:44px;padding:0 12px;font-size:22px;line-height:1}#drawer-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}#drawer-options button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;min-height:48px;border-color:transparent;background:#ffffff0d;text-align:left}#drawer-options button:hover{background:#ffffff1c}#drawer-options .name{flex:1;font-size:13px;letter-spacing:.4px}#drawer-options .value{font-size:12px;font-weight:700;color:#e9ba69;letter-spacing:1px}#drawer-options button:not(:has(kbd)):after{content:"";flex:0 0 auto;width:32px}.drawer-section{border-top:1px solid #cfbb8a2e;padding-top:18px;display:flex;flex-direction:column;gap:10px}.drawer-section h3{margin:0;font-size:9px;letter-spacing:2.8px;color:#e9ba69;text-transform:uppercase;font-weight:700}.drawer-section label{font-size:12px;color:#c2d1c7;display:flex;flex-direction:column;gap:8px}#drawer-debug select{font:inherit;font-size:13px;padding:10px;min-height:44px;border-radius:6px;background:#0f2626;color:#f5efdb;border:1px solid #cfbb8a40}#drawer-keys,#drawer-pad{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid #cfbb8a2e;display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;align-items:center;font-size:11px;color:#c2d1c7}#drawer-keys>li,#drawer-pad>li{display:contents}#drawer-keys .keys,#drawer-pad .keys{display:inline-flex;gap:4px;flex-wrap:wrap}kbd{min-width:22px;padding:2px 5px;text-align:center;font:inherit;font-size:11px;font-weight:700;color:#1d2f2a;background:#cfd8c6;border-radius:4px;box-shadow:0 1px #0006}@media(max-width:700px){#drawer{width:min(320px,90%)}.drawer-head h2{font-size:22px}}@media(pointer:coarse){#drawer{background:#173737;-webkit-backdrop-filter:none;backdrop-filter:none}#drawer-toggle{width:52px;height:52px}#drawer-options button{min-height:54px}#drawer-keys,#drawer-options kbd{display:none}}@media(pointer:coarse){#drawer{gap:12px;padding-top:14px}#drawer-options{gap:4px}#drawer-options button{min-height:46px;padding:8px 12px}.drawer-head h2{font-size:20px}.drawer-section{padding-top:12px;gap:8px}}@media(pointer:coarse)and (max-width:380px){#drawer{padding-top:8px;gap:8px}#drawer-options{gap:3px}#drawer-options button{min-height:44px}.drawer-head h2{font-size:18px}}@media(prefers-reduced-motion:reduce){#drawer,#drawer-scrim{transition:none}}
