:root{font-family:Nunito,system-ui,sans-serif;color:#f7efd9;background:#101f25;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}body{min-height:100dvh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 30% 10%,#264941,#102229 55%,#0a151c)}#app{position:relative;width:min(100vw,142.22dvh,1200px);aspect-ratio:1024/720;overflow:hidden;border:1px solid #45685b;border-radius:10px;box-shadow:0 24px 90px #0008}#game{width:100%;height:100%;display:grid;place-items:center}canvas{display:block;image-rendering:pixelated}button{font:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid #ffce71;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.45}button:not(:disabled):hover{filter:brightness(1.12);transform:translateY(-1px)}[hidden]{display:none!important}.menu-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#08171cd9;backdrop-filter:blur(5px);overflow:auto}.start-panel{text-align:center;max-width:760px;width:100%;padding:24px}.eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:900;color:#a8c6ac}.hero-cuy{width:110px;height:94px;margin:20px auto 8px;display:grid;place-items:center;background:radial-gradient(ellipse,#a9d88725,transparent 70%)}.hero-cuy img{width:64px;height:76px;object-fit:contain;image-rendering:pixelated;animation:cuy-bounce 2s ease-in-out infinite}h1{font-size:clamp(30px,4.7vw,58px);line-height:1.03;letter-spacing:-2px;margin:12px 0 18px;font-weight:900}h1 em{font-style:normal;color:#a6de90}.start-panel p{font-size:15px;line-height:1.7;color:#b9c8c2}.control-row{display:flex;justify-content:center;gap:18px;margin:24px 0;font-size:12px;color:#c2d2c7}.control-row span{display:flex;align-items:center;gap:7px}kbd{border:1px solid #769184;background:#294438;padding:5px 8px;border-radius:5px;font:900 11px inherit;color:#eff6e4;box-shadow:0 3px #071e14}.primary{background:#b4e391;color:#172e26;font-weight:900;letter-spacing:1px;border-radius:7px;padding:16px 24px;box-shadow:0 4px #649d55;transition:filter .15s,transform .15s}.primary span{margin-left:20px}.start-panel small{display:block;font-size:11px;color:#829e91;margin:20px 0}.results-panel{width:min(950px,100%);border:1px solid #536c5e;background:linear-gradient(140deg,#20392f,#172a28);padding:24px;border-radius:14px;box-shadow:0 20px 80px #0005;animation:panel-in .25s ease-out}.result-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.result-header h2{font-size:clamp(20px,2.8vw,32px);letter-spacing:-1px;margin:8px 0 0;line-height:1.2}.result-header h2 span{color:#b3df93}.wallet{text-align:right;color:#c4efa0;font-size:36px;font-weight:900;white-space:nowrap}.wallet small{display:block;font-size:10px;letter-spacing:2px;color:#96b49b}.run-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 0;margin:14px 0;border-block:1px solid #4f675540}.run-stats strong{display:block;font-size:24px;color:#f2dfb0}.run-stats span{font-size:9px;letter-spacing:1.2px;color:#9db4a6}.workshop-heading{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 12px}.workshop-heading h3{margin:0;font-size:17px}.workshop-heading>span{font-size:11px;color:#a4bda8}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.skill-card{padding:14px 12px;border:1px solid #52725c;background:#243f34;border-radius:8px;display:flex;flex-direction:column}.skill-card:nth-child(n+3){background:#3d3b2c;border-color:#79704f}.skill-top{display:flex;align-items:center;gap:7px}.skill-icon{font-size:25px;color:#b6e8a0}.branch{font-size:8px;letter-spacing:1px;color:#bbceb2}.rank{margin-left:auto;font-size:11px;color:#cbe0b8}.skill-card h3{font-size:15px;margin:9px 0 5px}.skill-card p{font-size:11px;line-height:1.5;color:#b4c6b6;margin:0;min-height:34px}.pips{display:flex;gap:5px;margin:13px 0}.pips i{height:5px;flex:1;background:#0e241f;border-radius:2px}.pips .filled{background:#b8e790;box-shadow:0 0 8px #a4d97935}.skill-value{font-size:11px;color:#e8e5c5;min-height:30px}.skill-value span{color:#a5c295;display:block}.skill-card button{margin-top:auto;padding:10px 6px;border:1px solid #8cad72;border-radius:5px;background:#aecf8f;color:#1b3329;font-size:10px;font-weight:900;display:flex;justify-content:center;gap:9px}.maxed{border-color:#c0dc82}.results-panel footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.results-panel footer p{font-size:11px;line-height:1.6;color:#b6cbb9;margin:0}.results-panel footer p span{color:#839b8b}.retry-button{font-size:12px}.ability-hud{position:absolute;bottom:15px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:12px;border:1px solid #7c9d794d;background:#132b29ee;padding:10px 18px;border-radius:9px;pointer-events:none;min-width:310px;box-shadow:0 4px 18px #0005}.dash-key{font-size:30px;color:#8ca58c;width:26px}.dash-title{font-size:11px;font-weight:900;letter-spacing:2px;display:flex;justify-content:space-between;gap:50px}.dash-title b{color:#c9e9a9;font-size:10px;letter-spacing:.6px}.ability-hud small{font-size:9px;color:#a6beb0}.cooldown-track{height:4px;margin:6px 0;background:#4d655e;border-radius:2px;overflow:hidden}.cooldown-track i{display:block;height:100%;background:#b4e391;transition:width .08s linear}.ready{border-color:#b4e39188}.ready .dash-key{color:#c5f49e}@keyframes cuy-bounce{50%{transform:translateY(-6px) rotate(3deg)}}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:750px){.menu-layer{padding:10px}.results-panel{padding:14px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card{padding:9px}.skill-card p{min-height:0}.skill-value{min-height:25px}.result-header h2{font-size:20px}.run-stats{padding:10px 0;margin:8px 0}.run-stats strong{font-size:17px}.workshop-heading{margin:10px 0}.results-panel footer{flex-wrap:wrap;margin-top:12px}.results-panel footer p{display:none}.retry-button{width:100%}.eyebrow{font-size:8px;letter-spacing:1.5px}.wallet{font-size:25px}.control-row{gap:8px;flex-wrap:wrap}.start-panel{padding:8px}.hero-cuy{margin:6px auto;height:60px}.hero-cuy img{height:58px}.start-panel p{font-size:12px}.ability-hud{bottom:8px;min-width:250px;padding:6px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.menu-layer{position:fixed;padding:18px;overflow:auto}.results-panel{max-height:calc(100dvh - 36px);overflow:auto}.results-panel footer{position:sticky;bottom:-24px;background:#172e29;padding:14px 0 0}.start-panel{padding:14px}.control-row{margin:18px 0}.start-panel small{margin:14px 0}.results-panel::-webkit-scrollbar,.menu-layer::-webkit-scrollbar{width:6px}.results-panel::-webkit-scrollbar-thumb,.menu-layer::-webkit-scrollbar-thumb{background:#6b8b70;border-radius:8px}@media(max-width:750px){.results-panel footer{bottom:-14px}.menu-layer{padding:10px}.results-panel{max-height:calc(100dvh - 20px)}}.puzzle-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#0712188c;backdrop-filter:blur(2px)}.puzzle-panel{width:min(430px,100%);padding:22px 24px 18px;text-align:center;border:1px solid #698978;background:linear-gradient(145deg,#213a37,#142a2d);border-radius:13px;box-shadow:0 18px 65px #000b,0 0 0 5px #14241e99;animation:panel-in .18s ease-out}.puzzle-panel h2{margin:7px 0 6px;font-size:clamp(20px,4vw,27px);letter-spacing:-.6px;color:#e8efcf}.puzzle-panel p{margin:0 0 13px;font-size:12px;line-height:1.55;color:#b7cbbd}.circuit-label{display:flex;align-items:center;justify-content:space-between;color:#b6d291;font:900 9px monospace;letter-spacing:1px;margin:0 auto 8px;max-width:282px}.circuit-label i{height:1px;flex:1;margin:0 9px;background:linear-gradient(90deg,#b4df8c,#8fcad2)}.circuit-grid{display:grid;grid-template-columns:repeat(4,52px);gap:6px;justify-content:center;padding:12px;width:max-content;margin:0 auto 10px;background:#0d2124;border:1px solid #48615a;border-radius:9px;box-shadow:inset 0 0 22px #0006}.circuit-tile{width:52px;height:52px;padding:0;border:1px solid #54736c;border-radius:7px;background:linear-gradient(145deg,#284642,#1a3334);color:#d8cf9e;font:900 38px/1 monospace;text-shadow:0 2px 5px #0009;transition:transform .1s,border-color .12s,background .12s;touch-action:manipulation}.circuit-tile:hover{background:#35584d;border-color:#b4df8c}.circuit-tile:active{transform:scale(.91)}.source-tile{color:#9bdf99;border-color:#85bd71}.target-tile{color:#87d7df;border-color:#69b5ba}.puzzle-panel>small{display:block;margin:7px 0 11px;color:#9bb3a5;font-size:10px;line-height:1.5}.puzzle-exit{padding:6px 10px;color:#a8b9ad;background:#314542;border:1px solid #526963;border-radius:5px;font-size:9px;font-weight:900;letter-spacing:1px}.puzzle-exit kbd{padding:3px 5px;margin-left:5px;font-size:8px}.puzzle-message{margin-top:11px;color:#dfd49c;font-size:10px;letter-spacing:.3px}@media(max-width:420px){.puzzle-panel{padding:17px 10px}.circuit-grid{grid-template-columns:repeat(4,46px);gap:5px;padding:9px}.circuit-tile{width:46px;height:46px;font-size:34px}}.puzzle-clock{display:flex;align-items:center;justify-content:space-between;max-width:282px;margin:0 auto 6px;padding:8px 11px;border:1px solid #5b7667;border-radius:7px;background:#102726;color:#9db7a5;font:900 9px monospace;letter-spacing:.8px}.puzzle-clock strong{color:#c5ec9a;font-size:16px;letter-spacing:0}.puzzle-timer-track{height:5px;max-width:282px;margin:0 auto 11px;overflow:hidden;border-radius:5px;background:#3b5148}.puzzle-timer-track i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a8df85,#e8c469);transition:width .08s linear}.ability-hud{min-width:480px;max-width:calc(100% - 18px);gap:14px;padding:9px 14px}.ability-slot{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:4px 7px;border:1px solid transparent;border-radius:6px}.ability-copy{flex:1;min-width:0}.ability-slot .dash-key{width:22px;flex:0 0 22px;text-align:center}.ability-slot .dash-title{gap:8px;letter-spacing:1px}.ability-slot .ability-copy>small{font-size:8px;letter-spacing:.4px}.ability-slot.ready{border-color:#b4e39155;background:#b4e3910a}.cloak-key{color:#8ba9a3!important}.cloak-slot.ready .cloak-key,.cloak-slot.cloaked .cloak-key{color:#b8f0d9!important;text-shadow:0 0 14px #a3f1d2}.cloak-slot.cloaked{border-color:#a3f1d288;background:#72e5c112}.skills-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:750px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-hud{min-width:min(480px,calc(100% - 14px));gap:5px;padding:6px}.ability-slot{gap:4px;padding:3px}.ability-slot .dash-key{font-size:24px;width:18px;flex-basis:18px}.ability-slot .dash-title{font-size:9px;gap:4px}.ability-slot .dash-title b{font-size:9px}.ability-slot .ability-copy>small{font-size:7px}}.circuit-tile.selected-tile{position:relative;outline:3px solid #c8f29d;outline-offset:2px;background:linear-gradient(145deg,#41665a,#27443d);box-shadow:0 0 13px #afe79066;z-index:1}.puzzle-controls{display:flex;justify-content:center;gap:20px;margin:5px auto 8px;color:#c4d9c5;font-size:9px;font-weight:800}.puzzle-controls span{display:flex;align-items:center;gap:5px}.puzzle-controls kbd{padding:3px 5px;font-size:8px;box-shadow:0 2px #071e14}@media(max-width:420px){.puzzle-controls{gap:8px;font-size:8px}.puzzle-controls kbd{padding:3px}}#app,canvas{touch-action:none}.touch-controls{position:absolute;inset:0;z-index:8;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls[hidden]{display:none!important}.touch-pad{position:absolute;left:14px;bottom:56px;width:112px;height:112px;display:grid;place-items:center;pointer-events:auto;touch-action:none}.touch-pad-ring{position:relative;width:100%;height:100%;border:2px solid #c9e5c274;border-radius:50%;background:#102b29a8;box-shadow:inset 0 0 20px #d2edc619,0 3px 16px #0006}.touch-pad-ring:before,.touch-pad-ring:after{content:"";position:absolute;background:#d7e8ca2b}.touch-pad-ring:before{left:50%;top:10%;bottom:10%;width:1px}.touch-pad-ring:after{top:50%;left:10%;right:10%;height:1px}.touch-pad-nub{position:absolute;left:50%;top:50%;width:42px;height:42px;border:2px solid #d6eec5;border-radius:50%;background:#8cb584ad;box-shadow:0 2px 10px #0008;transform:translate(-50%,-50%)}.touch-actions{position:absolute;right:14px;bottom:56px;display:grid;grid-template-columns:repeat(2,58px);grid-template-rows:58px 58px;gap:8px;align-items:center;pointer-events:none}.touch-button{width:58px;height:58px;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid #d9e8b888;border-radius:50%;background:#183a35e8;color:#e8f4db;font-size:23px;font-weight:1000;line-height:1;box-shadow:0 3px 10px #0008;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.touch-button small{font-size:7px;letter-spacing:.5px;color:#c8ddbb}.touch-button.pressed{transform:scale(.91);filter:brightness(1.35);background:#4b7651}.touch-interact{grid-column:2;grid-row:2;width:64px;height:64px;border-color:#c9e99c;background:#597b42f2;color:#fff4d0;font-size:25px}.touch-dash{grid-column:2;grid-row:1}.touch-cloak{grid-column:1;grid-row:1}@media(pointer:fine)and (min-width:751px){.touch-controls{display:none!important}}@media(max-height:390px){.touch-pad{width:92px;height:92px;bottom:52px;left:10px}.touch-pad-nub{width:36px;height:36px}.touch-actions{right:10px;bottom:52px;grid-template-columns:repeat(2,50px);grid-template-rows:50px 50px;gap:6px}.touch-button{width:50px;height:50px;font-size:20px}.touch-interact{width:56px;height:56px}}#orientation-prompt{display:none}@media(pointer:coarse){body{display:block;width:100vw;height:100dvh;min-height:0}#app{width:100vw;height:100dvh;max-width:none;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none}.touch-pad{left:max(10px,env(safe-area-inset-left));bottom:calc(52px + env(safe-area-inset-bottom))}.touch-actions{right:max(10px,env(safe-area-inset-right));bottom:calc(52px + env(safe-area-inset-bottom))}}@media(orientation:portrait)and (pointer:coarse){#orientation-prompt{position:fixed;inset:0;z-index:20000;display:grid;place-content:center;justify-items:center;gap:14px;padding:28px;text-align:center;color:#f7efd9;background:radial-gradient(ellipse at 50% 35%,#264941,#102229 65%,#0a151c);font-family:Nunito,system-ui,sans-serif}#orientation-prompt strong{font-size:clamp(23px,7vw,34px);color:#b4e391}#orientation-prompt>span{max-width:280px;color:#c6d5ca;font-size:14px;line-height:1.5}.rotate-phone{position:relative;width:42px;height:70px;border:3px solid #e7eddb;border-radius:9px;box-shadow:0 0 24px #a5dc8a33;animation:rotate-device 1.8s ease-in-out infinite alternate}.rotate-phone:before{content:"↻";position:absolute;left:-30px;top:18px;color:#ffd77b;font-size:25px}.rotate-phone:after{content:"";position:absolute;left:15px;bottom:4px;width:6px;height:3px;border-radius:3px;background:#e7eddb}@keyframes rotate-device{to{transform:rotate(90deg)}}}@media(pointer:coarse){.touch-pad{width:clamp(132px,38dvh,156px);height:clamp(132px,38dvh,156px)}.touch-pad-nub{width:54px;height:54px}}@media(pointer:coarse)and (max-height:390px){.touch-pad{width:132px;height:132px}.touch-pad-nub{width:48px;height:48px}}@media(pointer:coarse){.ability-hud{bottom:calc(8px + env(safe-area-inset-bottom));width:min(330px,40vw);min-width:0;max-width:calc(100% - 18px);gap:3px;padding:4px 6px;border-radius:7px}.ability-slot{gap:3px;padding:2px 4px}.ability-slot .dash-key{font-size:18px;width:16px;flex-basis:16px}.ability-slot .dash-title{font-size:8px;gap:3px;letter-spacing:.4px}.ability-slot .dash-title b{font-size:8px}.ability-slot .ability-copy>small{display:none}.cooldown-track{height:3px;margin:3px 0}.touch-actions{grid-template-columns:repeat(2,68px);grid-template-rows:68px 68px;gap:7px}.touch-button{width:68px;height:68px;font-size:27px}.touch-button small{font-size:8px}.touch-interact{width:76px;height:76px;font-size:29px}}@media(pointer:coarse)and (max-height:390px){.touch-actions{grid-template-columns:repeat(2,64px);grid-template-rows:64px 64px;gap:6px}.touch-button{width:64px;height:64px;font-size:25px}.touch-interact{width:72px;height:72px;font-size:27px}}.ability-hud{width:min(360px,calc(100% - 20px));min-width:0;gap:5px;padding:6px 8px}.ability-slot{gap:4px;padding:2px 4px}.ability-slot .dash-title{gap:8px;letter-spacing:.7px}.ability-slot .ability-copy>small{font-size:7px}@media(pointer:coarse){.ability-hud{bottom:calc(8px + env(safe-area-inset-bottom));width:min(330px,40vw);min-width:0;max-width:calc(100% - 18px);gap:3px;padding:4px 6px;border-radius:7px}.ability-slot{gap:3px;padding:2px 4px}.ability-slot .dash-title{gap:3px;letter-spacing:.4px}.ability-slot .ability-copy>small{display:none}}
