.sof-site{max-width:1280px;margin:auto;padding:0 40px}.sof-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0;border-bottom:1px solid #ffffff20}.sof-wordmark{font-weight:900;letter-spacing:-.045em;font-size:25px;line-height:1}.sof-wordmark>span{color:var(--gold)}.sof-wordmark small{display:block;font-size:9px;letter-spacing:.17em;margin-top:9px;font-weight:600;color:#b8c3ae}.sof-account{display:flex;align-items:center;gap:12px;font-size:14px}.sof-account>span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sof-account button,.sof-hud button{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #ffffff25;border-radius:50%;width:36px;height:36px}.sof-entry,.sof-hub{padding:64px 0}.sof-entry h1,.sof-hub h1{font-size:clamp(38px,5vw,65px);font-weight:800;line-height:1.04;letter-spacing:-.05em;margin:15px 0 20px}.sof-entry h1 em,.sof-title h1 em{font-family:Georgia,serif;color:var(--gold);font-weight:500}.sof-entry>p,.sof-hub>p{max-width:540px;color:#bfcab8;line-height:1.6}.sof-entry form{display:grid;gap:12px;max-width:420px;margin:28px 0 14px}.sof-entry input{width:100%;padding:16px;background:#19392e;border:1px solid #ffffff35;border-radius:8px;color:#fff}.sof-entry small{color:#a4b79f}.sof-game-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}.sof-game-card{min-width:0;display:flex;flex-direction:column;gap:15px;border:1px solid #b1bd9560;border-radius:18px;padding:28px;background:#14372c;transition:transform .15s,border-color .15s}.sof-game-card:hover{transform:translateY(-4px);border-color:var(--gold)}.sof-game-card h2{font-size:32px;line-height:1.12;letter-spacing:-.035em;max-width:360px}.sof-game-card>p{color:#c0cbb7}.sof-card-art{position:relative;display:flex;align-items:center;justify-content:center;height:185px;margin:-8px -8px 8px;border-radius:12px;color:#ecc669;background:radial-gradient(ellipse at bottom,#667053,#1d4032 72%)}.sof-card-art>span{position:absolute;right:21%;top:15%;transform:rotate(12deg);font-family:Georgia,serif;font-style:italic;font-size:27px;color:#f8efd4}.sof-card-festival .sof-card-art{background:repeating-conic-gradient(from -26deg at 50% 0,#7c653a,#7c653a 12deg,#665937 12deg,#665937 24deg)}.sof-card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid #ffffff20;font-size:13px}.sof-card-bottom span,.sof-card-bottom strong{display:flex;align-items:center;gap:8px}.sof-card-bottom strong{color:var(--gold)}.sof-footer{font-size:10px;letter-spacing:.16em;color:#9aac98;text-align:center;padding:32px 0}.sof-back{display:inline-flex;align-items:center;gap:8px;margin:20px 0 0;color:#b9c7ae;font-size:13px}.sof-layout{display:grid;grid-template-columns:minmax(0,640px) minmax(260px,1fr);gap:48px;padding-top:18px}.sof-title{margin-bottom:20px}.sof-title h1{font-size:clamp(32px,4vw,51px);letter-spacing:-.045em;line-height:1.02;margin:10px 0 12px}.sof-title>p{font-size:14px;color:#bfccb7}.sof-stage{border:1px solid #b0ac7255;border-radius:15px;overflow:hidden;background:#0e2922;box-shadow:0 12px 45px #00181080}.sof-hud{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:#19372d}.sof-hud>div{display:flex;flex-direction:column;gap:3px}.sof-hud small{font-size:9px;letter-spacing:.12em;color:#d3cba6}.sof-hud strong{font-size:29px;font-variant-numeric:tabular-nums;line-height:1.1}.sof-hud strong small{font-size:12px}.sof-hud b{font-size:15px;font-variant-numeric:tabular-nums}.sof-canvas-wrap{position:relative;isolation:isolate;line-height:0}.sof-canvas-wrap canvas{display:block;width:100%;height:auto;touch-action:none}.sof-canvas-wrap:fullscreen{background:#0c241d;display:flex;align-items:center;justify-content:center}.sof-canvas-wrap:fullscreen canvas{height:100dvh;width:auto;max-width:100vw;object-fit:contain}.sof-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:28px;text-align:center;line-height:1.5;background:linear-gradient(#091c0f0a 5%,#071c1170 40%,#061c16cf)}.sof-overlay>p{font-size:15px;max-width:340px;text-shadow:0 2px 4px #000}.sof-overlay small{font-size:11px;max-width:300px;color:#ecdfc0}.sof-overlay h2{font-size:35px;letter-spacing:-.035em;line-height:1.1}.sof-overlay .primary{max-width:330px;width:100%;justify-content:center;gap:10px;min-height:54px}.sof-overlay .secondary{min-height:44px}.sof-pill{background:#183a2fdd;border:1px solid #dcc46770;padding:9px 13px;border-radius:20px;font-size:10px;letter-spacing:.08em;font-weight:700}.sof-result{background:#10291cee;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sof-result h2{color:var(--gold);font-size:43px}.sof-skip{position:absolute;right:14px;bottom:14px;background:#123627;border:1px solid #dbcd98;border-radius:20px;padding:12px 15px;font-size:13px;line-height:1.2}.sof-controls{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:10px;padding:12px}.sof-steer,.sof-boost{height:53px;border:1px solid #dad4ac55;border-radius:10px;background:#204338;display:flex;justify-content:center;align-items:center;gap:8px;touch-action:none;-webkit-user-select:none;user-select:none}.sof-steer:active{background:#5d7450}.sof-steer:nth-child(2){grid-column:3;grid-row:1}.sof-boost{grid-column:2;grid-row:1;font-size:10px;font-weight:800}.sof-boost.charged{background:#edc16b;color:#1c3326;border-color:#fff1bd}.sof-status{text-align:center;min-height:30px;padding:0 8px 10px;font-size:11px;color:#d2d9ba}.sof-sidebar{padding-top:65px;display:flex;flex-direction:column;gap:25px}.sof-board,.sof-rules{padding:25px;border:1px solid #ffffff23;border-radius:12px;background:#16382c}.sof-board h2{display:flex;align-items:flex-start;gap:9px;font-size:23px;line-height:1.2;margin:12px 0}.sof-board h2 svg{color:var(--gold);flex-shrink:0}.sof-board>p,.sof-rules p{font-size:13px;color:#bccbb4;line-height:1.65}.sof-empty{padding:28px 0}.sof-board ol{padding:0;list-style:none;counter-reset:ranks;margin:20px 0}.sof-board li{counter-increment:ranks;display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff1c;padding:13px 8px;font-size:13px}.sof-board li:before{content:counter(ranks);color:#b0bc9e;min-width:15px}.sof-board li>span{flex:1;overflow-wrap:anywhere}.sof-board li>b{white-space:nowrap;color:#ecd39c;font-variant-numeric:tabular-nums}.sof-board li.is-me{background:#47644466}.sof-board>a{font-size:12px;color:var(--gold)}.sof-rules h2{font-size:21px;margin-bottom:12px}.sof-rules ul{padding-left:18px;font-size:13px;color:#d2ddc6;line-height:1.7}.sof-rules li{margin:12px 0}.sof-global-error{margin:20px}.sof-main>.error{margin-top:15px}.sof-main>.error button{display:block;padding:10px;margin-top:10px;background:#2b493c;border:1px solid #ecdaaa;border-radius:8px}@media(max-width:850px){.sof-site{padding:0 24px}.sof-layout{grid-template-columns:minmax(0,1fr);max-width:600px;margin:auto}.sof-sidebar{padding-top:0;gap:20px}.sof-title h1{font-size:40px}.sof-title h1 br{display:none}.sof-title .eyebrow{font-size:9px}.sof-title>p{font-size:12px}.sof-game-card h2{font-size:26px}.sof-game-card{padding:20px}.sof-card-bottom{flex-wrap:wrap}}@media(max-width:520px){.sof-site{padding:0 12px}.sof-header{padding:19px 3px}.sof-wordmark{font-size:20px}.sof-wordmark small{font-size:7px}.sof-account>span{max-width:80px;font-size:12px}.sof-account{gap:6px}.sof-entry,.sof-hub{padding:35px 4px}.sof-game-cards{gap:10px;margin-top:24px}.sof-card-art{height:155px}.sof-title h1{font-size:33px}.sof-layout{gap:22px;padding-top:12px}.sof-title{margin-bottom:14px}.sof-back{margin-top:13px}.sof-hud{padding:10px 12px}.sof-hud strong{font-size:25px}.sof-hud small{font-size:8px}.sof-overlay{padding:18px;gap:14px}.sof-overlay h2{font-size:29px}.sof-overlay>p{font-size:13px}.sof-overlay .primary{min-height:48px;font-size:13px}.sof-overlay small{font-size:10px}.sof-controls{padding:9px;gap:8px}.sof-steer,.sof-boost{height:48px}.sof-boost{gap:4px;font-size:9px}.sof-board,.sof-rules{padding:20px}.sof-result h2{font-size:34px}}.sof-stage:fullscreen{display:flex;flex-direction:column;border:0;border-radius:0;width:100vw;height:100dvh}.sof-stage:fullscreen .sof-canvas-wrap{flex:1;min-height:0;display:flex;justify-content:center}.sof-stage:fullscreen canvas{width:auto;height:100%;max-width:100%;object-fit:contain}.sof-stage:fullscreen .sof-controls{width:min(540px,100%);margin:auto}.sof-stage:fullscreen .sof-hud{flex-shrink:0}.sof-distance{display:block;width:100%;height:4px;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#173c31}.sof-distance::-webkit-progress-bar{background:#173c31}.sof-distance::-webkit-progress-value{background:#f5ce77}.sof-distance::-moz-progress-bar{background:#f5ce77}.sof-flow-count b{font-size:24px;color:#f6cd71}.sof-swipe-guide{display:flex;gap:28px;color:#ffe7b4}.sof-swipe-guide>span{display:flex;flex-direction:column;font-size:32px;line-height:1.1;font-weight:800}.sof-swipe-guide small{font-family:inherit;font-size:8px;margin-top:8px;letter-spacing:.1em}.sof-runner-controls{padding:8px 10px;display:flex;flex-direction:column;gap:7px;flex-shrink:0}.sof-action-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sof-action-buttons button{touch-action:manipulation;-webkit-user-select:none;user-select:none;min-height:40px;border:1px solid #b2c59a4a;border-radius:8px;background:#21493c;display:flex;align-items:center;justify-content:center;gap:4px}.sof-action-buttons small{font-size:8px;font-weight:800}.sof-action-buttons button:active{background:#547351;transform:scale(.95)}.sof-runner-boost{isolation:isolate;position:relative;overflow:hidden;min-height:39px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e5c77e70;border-radius:8px;background:#1c3a30;font-size:10px}.sof-runner-boost:disabled{opacity:.8}.sof-runner-boost small{font-size:9px;color:#dfd9b7}.sof-charge-fill{position:absolute;inset:0 auto 0 0;background:#a1a86435;z-index:-1;transition:width .12s}.sof-runner-boost.charged{background:#efc366;color:#143428;border-color:#ffecc0}.sof-runner-boost.charged small{color:#143428}.sof-runner-boost.charged .sof-charge-fill{background:transparent}.sof-save-error{position:absolute;left:10px;right:10px;bottom:10px;z-index:4;background:#692e27;padding:12px;line-height:1.4;font-size:13px;border-radius:9px}.sof-save-error button{display:block;background:#fff0cc;color:#31251c;border:0;padding:8px 12px;border-radius:6px;margin-top:8px}.sof-overlay>a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.sof-is-running{overflow:hidden}.sof-is-running .sof-header,.sof-is-running .sof-back,.sof-is-running .sof-title,.sof-is-running .sof-sidebar,.sof-is-running .sof-footer{display:none}.sof-is-running .sof-site{padding:0;max-width:none}.sof-layout.is-focused{position:fixed;top:0;right:0;bottom:0;left:0;padding:0;margin:0;display:flex;justify-content:center;background:#081e18;z-index:10;max-width:none}.is-focused .sof-main{width:min(100%,640px);height:100dvh;min-height:0}.is-focused .sof-stage{display:flex;flex-direction:column;width:100%;height:100%;border:0;border-radius:0}.is-focused .sof-canvas-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#223d2a}.is-focused .sof-canvas-wrap canvas{width:100%;height:100%;object-fit:contain}.is-focused .sof-hud{flex-shrink:0}.is-focused .sof-status{min-height:23px;padding-bottom:6px;flex-shrink:0;font-size:10px}.is-focused .sof-overlay{padding:20px}.is-focused .sof-result{gap:14px}.sof-stage:fullscreen .sof-runner-controls{width:min(600px,100%);margin:auto}.sof-stage:fullscreen .sof-canvas-wrap{overflow:hidden}@media(max-height:700px){.is-focused .sof-hud{padding:7px 12px}.is-focused .sof-hud strong{font-size:23px}.is-focused .sof-runner-controls{padding:5px 8px;gap:4px}.is-focused .sof-action-buttons button,.is-focused .sof-runner-boost{min-height:33px}.is-focused .sof-overlay{gap:10px}.is-focused .sof-overlay>p{font-size:12px}.is-focused .sof-overlay h2{font-size:29px}.is-focused .sof-status{font-size:9px}}.sof-hub{padding:28px 0 48px}.sof-hub-intro{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}.sof-hub-intro h1{font-size:32px;margin:0;line-height:1.1}.sof-hub-intro p{font-size:13px;color:#bfcab8}.sof-game-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.sof-game-card h2{font-size:29px}.sof-game-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.sof-card-title-short{display:none}.sof-hub .sof-entry{padding:48px 0 0;border-top:1px solid #ffffff20;margin-top:40px}.sof-hub .sof-entry h1{font-size:40px}.sof-loading{margin-top:30px;color:#bfcab8}@media(max-width:850px){.sof-hub-intro{align-items:flex-start;flex-direction:column;gap:8px}.sof-game-cards{gap:14px}.sof-game-card{padding:18px;gap:12px}.sof-game-card h2{font-size:24px;overflow-wrap:break-word}.sof-game-card .eyebrow{font-size:9px;letter-spacing:.06em}.sof-game-card>p{font-size:13px;line-height:1.5}.sof-card-art{height:130px}.sof-card-art>span{font-size:22px;right:8%}.sof-card-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:11px}.sof-card-bottom span svg{flex-shrink:0}}@media(max-width:520px){.sof-hub{padding:22px 0 32px}.sof-hub-intro{margin-bottom:18px}.sof-hub-intro h1{font-size:27px}.sof-hub-intro p{font-size:11px}.sof-game-cards{gap:8px}.sof-game-card{padding:9px;gap:10px;border-radius:12px}.sof-game-card h2{font-size:clamp(13px,3.6vw,18px);letter-spacing:-.04em;white-space:nowrap}.sof-card-title-full,.sof-game-card .eyebrow,.sof-game-card>p,.sof-card-bottom>span{display:none}.sof-card-title-short{display:inline}.sof-card-art{height:94px;margin:-3px -3px 0;border-radius:8px}.sof-card-art>svg{width:52px;height:52px}.sof-card-art>span{font-size:15px;right:6%;top:9%}.sof-card-bottom{padding-top:0;border-top:0}.sof-card-bottom strong{font-size:10px;min-height:34px;gap:4px}.sof-card-bottom strong svg{width:15px}.sof-hub .sof-entry{padding-top:30px;margin-top:28px}.sof-hub .sof-entry h1{font-size:34px}}.roof-layout{padding:28px 0 0;max-width:1100px;margin:auto}.roof-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:20px}.roof-heading h1{font-size:clamp(33px,4.8vw,57px);line-height:1.08;letter-spacing:-.05em;margin:12px 0}.roof-heading h1 em{color:#edca83;font-family:Georgia,serif;font-weight:400}.roof-heading p{font-size:14px;color:#bccbb4;line-height:1.6}.roof-edition{font-size:12px;line-height:1.5;letter-spacing:.1em;border:1px solid #cbbd8066;border-radius:50%;padding:24px;transform:rotate(9deg);color:#ecd391}.roof-stage{border-radius:16px;overflow:hidden;background:#19392f;border:1px solid #bece9870;box-shadow:0 18px 60px #00160f66}.roof-hud{display:flex;align-items:center;gap:28px;padding:16px 25px}.roof-hud>div{display:flex;flex-direction:column;gap:5px}.roof-hud small{font-size:9px;letter-spacing:.13em;color:#c3cca9}.roof-hud b{font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}.roof-hud b span{font-size:13px;color:#c3cca9}.roof-hud .roof-wind{margin-left:auto}.roof-wind b{font-size:15px}.roof-hud button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff30;border-radius:50%;background:transparent;flex-shrink:0}.roof-canvas{position:relative;line-height:0}.roof-canvas canvas{display:block;width:100%;height:auto;touch-action:none;outline-offset:-3px}.roof-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:20px;background:#10372fe8;line-height:1.5}.roof-overlay .eyebrow{color:#daca95}.roof-overlay h2{font-size:clamp(27px,4vw,50px);line-height:1.06;letter-spacing:-.04em}.roof-overlay h2 em{font-family:Georgia,serif;font-weight:400;color:#edca83}.roof-overlay p{font-size:15px;color:#e2e3cb}.roof-overlay .primary{justify-content:center;gap:10px;max-width:330px;width:100%}.roof-aim{display:grid;grid-template-columns:1fr 1fr auto;gap:28px;padding:18px 25px;align-items:center}.roof-aim label{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:10px;letter-spacing:.09em;color:#d2d8b9}.roof-aim strong{color:#edca83}.roof-aim input{width:100%;grid-column:1/-1;accent-color:#eccc89;height:25px;cursor:pointer}.roof-aim button{gap:10px;min-width:125px;justify-content:center}.roof-status{min-height:30px;padding:0 14px 12px;text-align:center;font-size:11px;line-height:1.5;color:#c9d6ba}.roof-details{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:26px}.roof-details .sof-rules h2{margin-top:10px}.roof-details ol{padding-left:20px;line-height:1.7;font-size:13px;color:#d2ddc6}.roof-details li{margin:9px 0}.roof-details small{font-size:11px;color:#adc1a5}.roof-error{margin:15px 0}.roof-error button{margin-left:14px}.sof-card-roof .sof-card-art{background:linear-gradient(160deg,#8bc3bf,#e6c083);color:#294c44}.sof-card-roof .sof-card-art>span{color:#284c43}@media(min-width:851px){.roof-stage:not(:fullscreen) .roof-canvas{width:min(100%,calc((100dvh - 235px)*1.77778));margin:auto}}.roof-stage:fullscreen{height:100dvh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#16392e;border:0;border-radius:0;overflow:auto}.roof-stage:fullscreen .roof-hud,.roof-stage:fullscreen .roof-aim{width:min(960px,100%);flex-shrink:0}.roof-stage:fullscreen .roof-canvas{width:min(100vw,calc((100dvh - 220px)*1.77778));flex-shrink:0}.roof-stage:fullscreen .roof-status{flex-shrink:0}@media(max-width:850px){.roof-details{grid-template-columns:1fr 1fr}.roof-edition{display:none}}@media(max-width:520px){.roof-layout{padding-top:20px}.roof-heading{margin-bottom:18px}.roof-heading .eyebrow{font-size:8px}.roof-heading p{font-size:12px}.roof-heading h1{font-size:35px}.roof-hud{padding:10px;gap:12px}.roof-hud b{font-size:21px}.roof-hud small{font-size:7px}.roof-hud button{width:29px;height:29px}.roof-wind b{font-size:10px}.roof-hud .roof-wind{margin-left:auto}.roof-hud b span{font-size:10px}.roof-overlay{padding:14px;gap:9px}.roof-overlay h2{font-size:28px}.roof-overlay p{font-size:11px}.roof-overlay .eyebrow{font-size:8px}.roof-overlay .primary{min-height:42px;padding:10px;font-size:11px;max-width:240px}.roof-overlay .secondary{padding:7px 15px;min-height:30px;font-size:11px}.roof-overlay small{font-size:10px}.roof-aim{gap:13px;padding:12px 10px}.roof-aim label{font-size:8px;gap:3px}.roof-aim button{min-width:80px;font-size:10px;padding:12px;min-height:40px;gap:5px}.roof-aim button svg{width:15px}.roof-status{font-size:9px;min-height:30px}.roof-details{grid-template-columns:1fr;gap:18px;margin-top:18px}.roof-result h2{font-size:30px}}@media(max-width:520px){.roof-canvas:has(.roof-overlay){min-height:245px;display:flex;align-items:center}.roof-stage:fullscreen .roof-canvas:has(.roof-overlay){min-height:245px}}.roof-targets{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px 0;color:#eedcaf;font-size:12px}.roof-targets>span{display:flex;align-items:center;gap:5px}.roof-targets small{color:#9fbaab;font-size:10px}.roof-targets svg{color:#efd18a}.roof-targets>strong{font-size:11px;letter-spacing:.08em;color:#adc4b0;white-space:nowrap}.roof-targets>strong.is-hot{color:#ffe197;background:#8b723b44;border-radius:12px;padding:5px 9px}.roof-hud{gap:20px}.roof-stage:fullscreen .roof-targets{width:min(960px,100%);flex-shrink:0}@media(min-width:851px){.roof-stage:not(:fullscreen) .roof-canvas{width:min(100%,calc((100dvh - 270px)*1.77778))}}.roof-stage:fullscreen .roof-canvas{width:min(100vw,calc((100dvh - 265px)*1.77778))}@media(max-width:520px){.roof-hud{gap:9px}.roof-hud .roof-wind{display:none}.roof-targets{padding:11px 12px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px;position:relative}.roof-targets small{font-size:8px}.roof-targets>strong{grid-column:1/-1;text-align:center;font-size:9px}.roof-targets svg{width:13px;height:13px}.roof-stage:fullscreen .roof-targets{display:flex;flex-wrap:wrap;justify-content:center}.roof-result p{max-width:300px}.roof-canvas:has(.roof-result){min-height:270px}}.roof-mobile-wind{display:none}@media(max-width:520px){.roof-mobile-wind{display:inline;color:#d6d6b2}}.roof-touch-aim,.roof-mobile-hint{display:none}.roof-page-link{background:transparent;border:0;color:#efdbb1;text-decoration:underline;padding:12px;min-height:44px;font-size:13px}.roof-hud button{min-width:44px;min-height:44px}.roof-aim input{height:44px;touch-action:pan-x}.roof-is-focused{overflow:hidden;overscroll-behavior:none}.roof-is-focused .sof-header,.roof-is-focused .sof-back,.roof-is-focused .roof-heading,.roof-is-focused .roof-details,.roof-is-focused .sof-footer{display:none}.roof-stage.is-focused,.roof-stage:fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;width:100%;height:100dvh;max-width:none;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-radius:0;overflow:hidden;background:#173b30;box-sizing:border-box}.roof-stage.is-focused .roof-hud,.roof-stage.is-focused .roof-aim,.roof-stage.is-focused .roof-targets,.roof-stage:fullscreen .roof-hud,.roof-stage:fullscreen .roof-aim,.roof-stage:fullscreen .roof-targets{width:100%;margin:0;flex-shrink:0}.roof-stage.is-focused .roof-canvas,.roof-stage:fullscreen .roof-canvas{width:100%;min-height:0;min-width:0;margin:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#a8d8d4}.roof-stage.is-focused canvas,.roof-stage:fullscreen canvas{width:100%;height:100%;object-fit:contain}.roof-stage.is-focused .roof-overlay,.roof-stage:fullscreen .roof-overlay{overflow-y:auto;overscroll-behavior:contain;padding:16px;gap:12px}.roof-stage.is-focused .roof-overlay button,.roof-stage:fullscreen .roof-overlay button{min-height:44px;flex-shrink:0}.roof-stage.is-focused .roof-status,.roof-stage:fullscreen .roof-status{flex-shrink:0;margin:0}.roof-stage.is-focused.is-menu .roof-touch-aim,.roof-stage.is-focused.is-menu .roof-aim,.roof-stage.is-focused.is-menu .roof-targets,.roof-stage.is-focused.is-menu .roof-status{display:none}.roof-stage.is-focused .roof-error{flex-shrink:0;margin:0;padding:12px;font-size:13px;line-height:1.5;max-height:35dvh;overflow:auto}.roof-error button{min-height:44px}@media(max-width:900px){.roof-mobile-hint{display:block;color:#ebd9b1}.roof-hud{padding:8px;gap:8px;justify-content:space-between}.roof-hud>div{gap:2px;min-width:0}.roof-hud b{font-size:22px}.roof-hud small{font-size:9px;letter-spacing:.04em}.roof-hud b span{font-size:11px}.roof-hud button{width:44px;height:44px}.roof-hud .roof-wind{display:none}.roof-mobile-wind{display:inline;color:#d6d6b2}.roof-aim{padding:10px 12px;gap:8px 16px;grid-template-columns:1fr 1fr}.roof-aim label{font-size:11px;gap:2px}.roof-aim strong{font-size:13px}.roof-aim input{margin:0;min-width:0;height:44px}.roof-aim>button{grid-column:1/-1;min-height:48px;font-size:14px;padding:10px}.roof-aim button svg{width:18px}.roof-status{font-size:11px;min-height:28px;line-height:1.4}.roof-targets{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:10px 8px;font-size:11px}.roof-targets small{font-size:10px}.roof-targets>strong{font-size:10px}.roof-stage.is-focused .roof-targets{gap:7px 12px;padding:8px}.roof-stage.is-focused .roof-targets small{display:none}.roof-touch-aim{touch-action:none;user-select:none;-webkit-user-select:none}.roof-stage.is-focused .roof-touch-aim{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex-shrink:0;height:130px;border-block:1px solid #d9d3a42b;background:radial-gradient(ellipse at 64% 30%,#38604a,#1b4034 75%);color:#f5dc9e}.roof-touch-guide{height:46px;width:100%;position:relative;pointer-events:none}.roof-touch-origin,.roof-touch-thumb{position:absolute;top:0;left:calc(65% - 22px);width:44px;height:44px;border:1px dashed #f5dc9e70;border-radius:50%;display:grid;place-items:center}.roof-touch-thumb{border-style:solid;background:#edcc8540;will-change:transform}.roof-touch-aim strong{font-size:13px}.roof-touch-aim small{font-size:11px;color:#c3d1b9}.roof-touch-aim.is-disabled{opacity:.65}.roof-stage.is-focused .roof-overlay h2{font-size:34px}.roof-stage.is-focused .roof-overlay p{font-size:13px;max-width:340px}.roof-stage.is-focused .roof-overlay small{font-size:12px}}@media(max-width:900px)and (orientation:portrait)and (max-height:700px){.roof-stage.is-focused .roof-touch-aim{height:94px;gap:3px}.roof-stage.is-focused .roof-touch-guide{height:38px}.roof-stage.is-focused .roof-touch-origin,.roof-stage.is-focused .roof-touch-thumb{height:36px;width:36px}.roof-stage.is-focused .roof-targets{gap:6px;font-size:10px;padding:6px}.roof-stage.is-focused .roof-aim{grid-template-columns:1fr 1fr 74px;padding:6px 8px;gap:8px}.roof-stage.is-focused .roof-aim>button{grid-column:auto;min-width:0;height:54px;font-size:11px;gap:4px;padding:4px}.roof-stage.is-focused .roof-status{font-size:10px;min-height:26px;padding:0 8px 5px}}@media(max-height:600px)and (orientation:landscape){.roof-stage.is-focused,.roof-stage:fullscreen{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:60px minmax(0,1fr) auto;gap:0}.roof-stage.is-focused .roof-hud,.roof-stage:fullscreen .roof-hud{grid-column:1;grid-row:1;padding:6px 12px;gap:8px}.roof-stage.is-focused .roof-hud .roof-wind,.roof-stage:fullscreen .roof-hud .roof-wind{display:none}.roof-stage.is-focused .roof-canvas,.roof-stage:fullscreen .roof-canvas{grid-column:1;grid-row:2/-1}.roof-stage.is-focused .roof-touch-aim,.roof-stage:fullscreen .roof-touch-aim{display:none}.roof-stage.is-focused .roof-targets,.roof-stage:fullscreen .roof-targets{grid-column:2;grid-row:1;padding:7px;gap:5px;font-size:10px;align-content:center;display:flex;flex-wrap:wrap}.roof-stage.is-focused .roof-targets small,.roof-stage:fullscreen .roof-targets small{display:none}.roof-stage.is-focused .roof-aim,.roof-stage:fullscreen .roof-aim{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:8px 12px;gap:6px}.roof-stage.is-focused .roof-aim input,.roof-stage:fullscreen .roof-aim input{height:44px}.roof-stage.is-focused .roof-aim button,.roof-stage:fullscreen .roof-aim button{min-height:48px;min-width:0;font-size:14px;padding:8px}.roof-stage.is-focused .roof-status,.roof-stage:fullscreen .roof-status{grid-column:2;grid-row:3;padding:0 9px 8px;min-height:30px;font-size:10px}.roof-stage.is-focused.is-menu,.roof-stage:fullscreen.is-menu{grid-template-columns:1fr;grid-template-rows:60px minmax(0,1fr) auto}.roof-stage.is-focused.is-menu .roof-canvas,.roof-stage:fullscreen.is-menu .roof-canvas{grid-column:1;grid-row:2}.roof-stage.is-focused .roof-overlay{gap:8px;padding:10px}.roof-stage.is-focused .roof-overlay h2{font-size:28px}.roof-stage.is-focused .roof-error{grid-column:1/-1;grid-row:3}.roof-stage.is-focused.is-menu .roof-overlay{display:grid;grid-template-columns:1fr 1fr;align-content:center;justify-items:center;column-gap:20px}.roof-stage.is-focused.is-menu .roof-overlay>h2,.roof-stage.is-focused.is-menu .roof-overlay>.eyebrow,.roof-stage.is-focused.is-menu .roof-overlay>p,.roof-stage.is-focused.is-menu .roof-overlay>small{grid-column:1}.roof-stage.is-focused.is-menu .roof-overlay>button{grid-column:2;width:100%;max-width:280px}.roof-stage.is-focused.is-menu .roof-overlay>button:first-of-type{grid-row:1/3}.roof-stage.is-focused.is-menu .roof-overlay>button:nth-of-type(2){grid-row:3/5}.roof-stage.is-focused.is-menu .roof-overlay>button:nth-of-type(3){grid-row:5/7}}.roof-aim label{margin:0}.roof-aim input{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:44px;padding:0;border:0;background:transparent}.roof-aim input::-webkit-slider-runnable-track{height:6px;background:#648773;border-radius:4px}.roof-aim input::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;background:#efcc84;border:2px solid #ffedbf;border-radius:50%}.roof-aim input::-moz-range-track{height:6px;background:#648773;border-radius:4px}.roof-aim input::-moz-range-thumb{width:24px;height:24px;background:#efcc84;border:2px solid #ffedbf;border-radius:50%}.roof-aim input:disabled{opacity:.45}.roof-stage.is-focused canvas,.roof-stage:fullscreen canvas{object-position:center bottom}@media(max-height:540px)and (orientation:portrait){.roof-stage.is-focused .roof-touch-aim{display:none}}@media(max-height:300px)and (orientation:landscape){.roof-stage.is-focused,.roof-stage:fullscreen{grid-template-rows:52px minmax(0,1fr)}.roof-stage.is-focused .roof-hud,.roof-stage:fullscreen .roof-hud{padding:4px 8px}.roof-stage.is-focused .roof-aim,.roof-stage:fullscreen .roof-aim{grid-row:1/-1;padding:4px 10px;gap:3px}.roof-stage.is-focused .roof-targets,.roof-stage.is-focused .roof-status,.roof-stage:fullscreen .roof-targets,.roof-stage:fullscreen .roof-status{display:none}.roof-stage.is-focused.is-menu,.roof-stage:fullscreen.is-menu{grid-template-rows:52px minmax(0,1fr) auto}.roof-stage.is-focused.is-menu .roof-overlay{align-content:start;gap:5px}.roof-stage.is-focused.is-menu .roof-overlay h2{font-size:25px}.roof-stage.is-focused.is-menu .roof-overlay p{font-size:11px}.roof-stage.is-focused.is-menu .roof-overlay small{font-size:10px}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f2eddc;background:#0c241d;font-synthesis:none;font-weight:400;--gold: #efc366;--muted: #a2b0a0;--border: #ffffff1c;--panel: #15352a}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}.app-shell{max-width:1240px;margin:auto;padding:0 48px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:100px;border-bottom:1px solid var(--border);gap:20px}.wordmark{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:900;letter-spacing:-1px}.wordmark>svg{color:var(--gold)}.gold{color:var(--gold)}.wordmark small{display:block;font-size:9px;letter-spacing:2.2px;font-weight:500;margin-top:6px;color:#b2b8a7}.header-right{display:flex;gap:27px;align-items:center}.edition{font-size:11px;letter-spacing:1.4px;color:#aeb9a9}.profile{border:1px solid #ffffff25;background:#17362a;padding:6px 13px 6px 6px;border-radius:40px;display:flex;gap:9px;align-items:center;font-size:13px}.profile span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#183023;font-weight:700}.play-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(285px,1fr);gap:55px;margin-top:30px;align-items:start}.main-column{min-width:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--gold);display:flex;align-items:center;gap:8px;text-transform:uppercase}.game-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:10px}h1{font-family:Georgia,Times New Roman,serif;font-size:39px;line-height:1.1;font-weight:400;letter-spacing:-1.3px;margin-top:12px}h1 em{color:var(--gold);font-weight:400}.edition-stamp{font-size:9px;line-height:1.9;letter-spacing:1px;color:#b6ad84;border:1px solid #b6ad844f;border-radius:50%;width:75px;height:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);flex-shrink:0}.edition-stamp b{font-size:23px;line-height:1;letter-spacing:0;font-family:Georgia,serif}.game-frame{border:1px solid #6e795846;border-radius:12px;overflow:hidden;background:#143629;box-shadow:0 20px 70px #0002}.score-strip{display:flex;justify-content:space-between;align-items:center;padding:17px 23px 14px;border-bottom:1px solid #e5cb801e;background:#19392c}.score-strip>div>span{font-size:10px;font-weight:600;letter-spacing:1.7px;color:#afbaa4;display:block}.score-strip strong{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:37px;line-height:1.15;font-weight:500;color:#f5f0dd;font-variant-numeric:tabular-nums}.score-strip strong small{font-family:inherit;font-size:12px;color:#b3bca9;letter-spacing:1px}.sound-and-best{display:flex;align-items:center;gap:18px}.sound-and-best span{font-size:11px!important;letter-spacing:1px!important}.sound-and-best b{display:block;font-size:18px;margin-top:6px;letter-spacing:0;color:var(--gold);font-weight:500}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid #ffffff28;border-radius:50%;padding:6px}.canvas-wrap{position:relative;line-height:0;max-height:540px;overflow:hidden}.canvas-wrap canvas{display:block;width:100%;aspect-ratio:480/600;max-height:540px;object-fit:contain;background:#123126}.start-overlay{position:absolute;bottom:44px;left:50%;width:80%;max-width:360px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;line-height:1.4}.game-pill{background:#0e231fec;border:1px solid #ebd89a33;color:#e9e2ca;box-shadow:0 4px 30px #0002;font-size:12px;border-radius:30px;padding:7px 14px;display:flex;align-items:center;gap:8px}.game-pill>span{width:5px;height:5px;background:#ddc37c;border-radius:50%}.primary{width:100%;background:var(--gold);border:1px solid #ffdb86;border-radius:6px;color:#193427;font-weight:800;font-size:13px;letter-spacing:1px;padding:17px 20px;display:flex;align-items:center;justify-content:center;gap:12px;transition:background .15s,transform .15s}.primary:hover:not(:disabled){background:#ffda84;transform:translateY(-1px)}.play-button{font-size:16px;padding:20px 23px;box-shadow:0 5px #a5772c,0 15px 25px #0005;justify-content:space-between}.start-overlay p{font-size:12px;color:#fff;text-shadow:0 1px 6px black;background:#0a211cbf;padding:6px 10px;border-radius:4px;text-align:center}.control-bar{display:flex;background:#1b3a2c;border-top:1px solid #6e795846}.balance-button{touch-action:none;user-select:none;-webkit-user-select:none;display:flex;justify-content:center;align-items:center;gap:17px;min-height:70px;width:50%;background:transparent;border:0;border-right:1px solid #ffffff15;color:#cfcfba}.balance-button:last-child{border-right:0}.balance-button span{font-size:11px;letter-spacing:1.1px;font-weight:700}.balance-button.ready{color:var(--gold);background:#294a34}.balance-button:active:not(:disabled){background:var(--gold);color:#143529}.under-game{display:flex;justify-content:space-between;align-items:center;margin-top:15px;color:#8c9f8b;font-size:10px;letter-spacing:1px;gap:12px}.under-game span{display:flex;align-items:center;gap:6px}.under-game button{background:none;border:0;font-size:12px;letter-spacing:0;color:#c5cdbb;text-decoration:underline;text-underline-offset:3px}.sidebar{padding-top:3px}.competition-card{padding:26px;border:1px solid #dfc77932;background:linear-gradient(140deg,#234735,#15382b);border-radius:9px}.competition-card h2{font-family:Georgia,serif;font-size:35px;line-height:1.13;font-weight:400;margin:20px 0 24px;letter-spacing:-.7px}.deadline{display:flex;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--gold)}.deadline b{font-size:15px;display:block;font-weight:600;color:#f3ebd1}.deadline span{font-size:12px;color:#a9b89f;display:block;margin-top:5px}.prize{padding-top:18px}.prize>span{display:block;font-size:10px;letter-spacing:1.5px;color:#a9b79e;margin-bottom:8px}.prize strong{font-size:16px;font-weight:500;color:#ebd19b}.leaderboard-card{margin-top:25px;border:1px solid var(--border);border-radius:9px;padding:21px 22px;background:#113025}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h2{font-size:18px;font-weight:600}.section-heading>span{font-size:11px;color:var(--muted)}.empty-board{text-align:center;padding:28px 0 25px;color:#a7b79a}.empty-board svg{color:#c1a86b;margin-bottom:9px}.empty-board b{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400;color:#ddd9bf}.empty-board p{font-size:13px;line-height:1.6;margin-top:8px}.leaderboard-link{display:flex;justify-content:space-between;width:100%;align-items:center;border:0;border-top:1px solid var(--border);background:none;padding:15px 0 0;color:#e4c888;font-size:12px}.ranking{list-style:none;margin:18px 0;padding:0}.ranking li{display:flex;align-items:center;gap:12px;padding:15px 6px;border-bottom:1px solid var(--border);font-size:14px}.ranking li:last-child{border-bottom:0}.ranking .place{color:#78957d;width:24px;flex-shrink:0;font-family:monospace}.ranking .first .place{color:var(--gold)}.ranking .rank-name{flex:1;min-width:0;overflow-wrap:anywhere}.ranking li.is-you{background:#e6bc6314;border-radius:5px}.ranking .rank-name small{display:inline-block;font-size:9px;border:1px solid #ccbd7650;border-radius:3px;padding:2px 4px;margin-left:5px;color:#ddc681}.ranking li>b{font-size:17px;font-family:monospace;font-weight:500;white-space:nowrap}.ranking li>b small{font-family:inherit;font-size:11px;margin-left:4px;color:#9aac97}.how-card{margin-top:29px;padding:0 7px}.how-card>div{display:flex;gap:14px;margin-top:20px}.step-number{font-family:Georgia,serif;font-size:22px;color:#a08e5d;width:25px;flex-shrink:0}.how-card p{font-size:13px;line-height:1.65;color:#9fb09a}.how-card p b{color:#e2e3cc;font-weight:500}.sidebar-footnote{font-family:Georgia,serif;font-style:italic;text-align:center;color:#a6b29a;font-size:21px;line-height:1.4;margin-top:35px}.sidebar-footnote span{font-family:Arial,sans-serif;font-style:normal;font-size:9px;letter-spacing:1.8px;display:block;margin-top:12px;color:#7f957e}footer{margin-top:50px;border-top:1px solid var(--border);padding:24px 0;display:flex;justify-content:space-between;color:#819580;font-size:10px;letter-spacing:1px}footer span:last-child{letter-spacing:0;font-style:italic}.center-overlay,.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#102a23ed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.5;padding:25px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.center-overlay h2,.result-overlay h2{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.2;margin:17px 0;color:#f5eace}.center-overlay p{font-size:15px;color:#a8bca3;margin-bottom:25px}.result-time{font-family:ui-monospace,monospace;font-size:72px;line-height:1.15;color:var(--gold);font-weight:500;letter-spacing:-3px;margin:10px 0}.result-time small{font-family:Arial,sans-serif;font-size:12px;display:block;color:#aab8a0;letter-spacing:2px}.result-meta{font-size:12px;color:#d7ddc3;margin-top:6px}.result-meta>span{display:flex;align-items:center;gap:8px}.save-status{font-size:11px;color:#a6c7a7;min-height:26px;display:flex;align-items:center;justify-content:center;gap:5px;margin:8px 0 12px}.result-overlay .primary{max-width:300px}.result-overlay .text-button{margin-top:17px}.result-overlay .error{font-size:12px;margin:0 0 10px}.entry{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:85px;min-height:680px;padding:45px 0}.entry h1{font-size:52px;margin-top:20px}.entry p{font-size:16px;line-height:1.75;color:#acb9a5;max-width:420px}.entry-emblem{display:flex;align-items:center;gap:28px;color:#d9b46d;padding:28px 0}.entry-emblem span{font-size:11px;letter-spacing:1.7px;line-height:1.8}.entry-bottom{display:flex;align-items:center;gap:10px;color:#dfc480;font-size:12px;margin-top:30px}.join-card{background:#19382b;border:1px solid #ffffff1f;border-radius:10px;padding:35px}.join-card h2{font-family:Georgia,serif;font-weight:400;font-size:31px;letter-spacing:-.7px;margin-top:17px;margin-bottom:15px}.muted{color:#a9b7a1;font-size:14px;line-height:1.7}.join-card form{margin-top:25px}label{display:block;font-size:13px;margin:17px 0;color:#d5dec9}input{display:block;width:100%;margin-top:8px;border:1px solid #8197736b;border-radius:5px;background:#0e2b21;color:#f7efda;padding:14px 13px;font-size:16px;min-height:48px}input::placeholder{color:#758d76}.join-card .primary{margin-top:25px}.text-button{border:0;background:none;font-size:13px;color:#ead19b;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.join-card>.text-button{margin:14px auto 0}.login-help{font-size:12px!important;line-height:1.6!important;margin-top:20px!important;text-align:center}.error{color:#ffbfad;background:#703f3338;border:1px solid #de8b713d;padding:11px 13px;border-radius:6px;line-height:1.6;font-size:14px;margin:15px 0}.modal{color:#f1ecd9;background:#17382b;border:1px solid #b39c5f66;border-radius:14px;padding:28px;width:min(490px,calc(100% - 30px));max-height:85dvh;box-shadow:0 25px 100px #0008}.modal::backdrop{background:#061811c9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.modal h2{font-family:Georgia,serif;font-size:26px;font-weight:400}.modal p{font-size:14px;line-height:1.65}.modal>.primary{margin-top:18px}.code-box{font-family:monospace;font-size:25px;letter-spacing:2px;background:#0c271e;border:1px dashed #bba66a;padding:20px 10px;margin:22px 0;text-align:center;-webkit-user-select:all;user-select:all}.secondary{border:1px solid #93a37b70;border-radius:5px;background:#1c412f;display:flex;gap:8px;align-items:center;justify-content:center;width:100%;padding:13px;margin:12px 0;font-size:13px}.notice{color:var(--gold);padding:12px;border:1px solid #bdae7055;border-radius:5px;overflow-wrap:anywhere}.rules{padding-left:24px;font-size:15px;line-height:1.6}.rules li{margin-bottom:15px}.admin h3{margin:28px 0 12px;font-size:16px}.admin-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);gap:10px;font-size:14px}.admin-row small{display:block;color:#b1c2a5;margin-top:4px}.admin-row button{font-size:12px;background:transparent;border:1px solid #80947166;border-radius:4px;padding:8px}.danger{color:#f0b6a0}@media(min-width:1100px){.app-shell{max-width:1150px}.play-layout{grid-template-columns:510px 1fr;gap:50px}.canvas-wrap{max-height:480px}.canvas-wrap canvas{height:480px;width:100%}}@media(max-width:900px){.app-shell{padding:0 25px}.play-layout{gap:27px;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}h1{font-size:33px}.edition{display:none}.competition-card{padding:22px}.competition-card h2{font-size:31px}.edition-stamp{display:none}.entry{gap:35px}.entry h1{font-size:40px}.join-card{padding:25px}.result-time{font-size:55px}.result-overlay h2{font-size:26px}}@media(max-width:680px){.app-shell{padding:0 18px}.site-header{min-height:77px}.wordmark{font-size:19px;letter-spacing:-.8px;gap:8px}.wordmark small{font-size:7px;letter-spacing:1.35px;margin-top:5px}.wordmark>svg{width:23px}.profile{padding:4px}.profile b{display:none}.profile span{width:29px;height:29px}.header-right{gap:0}.play-layout{display:block;margin-top:24px}.game-intro{margin-bottom:19px}.game-intro .eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:34px;letter-spacing:-.8px;line-height:1.08;margin-top:10px}.edition-stamp{display:flex;width:64px;height:64px;font-size:8px}.edition-stamp b{font-size:19px}.score-strip{padding:12px 17px}.score-strip strong{font-size:31px}.score-strip>div>span{font-size:9px}.sound-and-best{gap:13px}.canvas-wrap{max-height:none}.canvas-wrap canvas{max-height:none}.start-overlay{bottom:33px;width:83%;gap:10px}.play-button{padding:17px 20px;font-size:15px}.start-overlay p{font-size:11px;margin-top:1px}.balance-button{min-height:65px;gap:15px}.balance-button span{font-size:10px}.under-game{font-size:9px;margin-top:14px}.keyboard-hint{display:none!important}.sidebar{margin-top:32px}.competition-card{padding:22px}.competition-card h2{font-size:32px;margin:18px 0}.deadline{padding:14px 0}.prize strong{font-size:16px}.leaderboard-card{margin-top:20px}.how-card{margin-top:27px}.how-card p{font-size:14px}.sidebar-footnote{margin:32px 0}footer{margin-top:30px;padding-bottom:24px;gap:20px;font-size:8px;line-height:1.8}.entry{display:flex;flex-direction:column;gap:28px;padding:32px 0;min-height:auto;align-items:stretch}.entry h1{font-size:39px}.entry-emblem{display:none}.entry p{font-size:14px;margin-top:16px}.entry-bottom{font-size:11px;margin-top:20px}.join-card{padding:25px}.join-card h2{font-size:29px}.join-card .muted{margin-top:0}.result-overlay{padding:20px 16px}.result-overlay h2{font-size:27px;margin:12px 0}.result-time{font-size:60px;margin:4px 0}.result-overlay .eyebrow{font-size:9px}.result-overlay .primary{padding:15px}.result-overlay .text-button{margin-top:9px}.result-meta{font-size:11px}.save-status{margin:5px 0 9px;font-size:10px}.modal{padding:24px}.modal h2{font-size:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:680px){.is-playing .game-intro{display:none}.is-playing .play-layout{margin-top:14px}.is-playing .canvas-wrap canvas{height:min(calc(100svh - 245px),calc((100vw - 36px)/.8));object-fit:contain}.is-playing .balance-button{min-height:72px}}.ready-overlay{line-height:1.4;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:24px 12px;background:linear-gradient(transparent 28%,#071811f2);pointer-events:none;color:#fff4d9}.ready-overlay h2{font-size:28px;margin:8px 0}.ready-overlay p{font-size:14px;line-height:1.6;margin:4px 0 14px}.ready-arrows{font-size:12px;letter-spacing:2px;color:#f8c457;animation:ready-pulse 1s ease-in-out infinite alternate}.next-challenge{color:#f4c359;font-size:13px;font-weight:700;margin:7px 0}.balance-button{-webkit-tap-highlight-color:transparent}.balance-button:active:not(:disabled){background:#f8c457;color:#18392d;transform:translateY(2px)}@keyframes ready-pulse{to{opacity:.5;transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.ready-arrows{animation:none}}.result-overlay{overflow-y:auto}@media(max-width:360px){.is-playing .result-overlay h2{font-size:22px;margin:6px 0}.is-playing .result-time{font-size:48px}.is-playing .result-overlay{padding:10px}.next-challenge{font-size:11px}}.code-box{white-space:pre-wrap;overflow-wrap:anywhere;text-transform:none}.canvas-wrap{aspect-ratio:480/600;max-height:none}.canvas-wrap canvas{width:100%;height:100%;max-height:none;object-fit:fill}.joint-controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.joint-row{position:absolute;left:10px;right:10px;display:flex;justify-content:space-between;transform:translateY(-50%)}.joint-3{top:37.5%;--joint:#ffcf57}.joint-2{top:60%;--joint:#8ecbfa}.joint-1{top:77.5%;--joint:#8bd8b3}.joint-button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;width:64px;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;line-height:1;background:#102a23ed;color:var(--joint);border:1px solid var(--joint);border-radius:12px;box-shadow:0 4px 12px #0004}.joint-button span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:700}.joint-button kbd{font-size:9px;opacity:.65}.joint-button:active:not(:disabled),.joint-button[aria-pressed=true]:not(:disabled){background:var(--joint);color:#102a23;transform:scale(.95)}.joint-button:disabled{visibility:hidden}.control-legend{padding:13px 5px;text-align:center;font-size:9px;letter-spacing:1.6px;color:#c7c6a3;border-top:1px solid #ffffff1c}.ready-overlay{justify-content:flex-end;padding:10px 72px 14px;background:linear-gradient(transparent 68%,#092119ed)}.ready-overlay h2{font-size:18px;margin:3px 0}.ready-overlay p{font-size:11px;line-height:1.4;margin:3px 0 5px}.ready-arrows{font-size:8px;letter-spacing:1px}.result-overlay,.center-overlay{z-index:2}@media(max-width:680px){.is-playing .canvas-wrap{width:min(100%,calc((100svh - 205px)*.8));margin:auto}.is-playing .canvas-wrap canvas{height:100%}.joint-row{left:6px;right:6px}.joint-button{width:48px;min-height:52px;gap:3px;border-radius:9px}.joint-button kbd{display:none}.joint-button span{font-size:8px}.ready-overlay{padding:6px 54px 9px}.ready-overlay h2{font-size:14px}.ready-overlay p{font-size:9px;margin:3px 0}.ready-arrows{font-size:7px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.score-strip{gap:12px}.score-strip>div>span{letter-spacing:.6px}.score-strip .round-clock strong{font-size:20px;margin:4px 0 2px}.round-clock{white-space:nowrap}.round-clock>small{color:#afbaa4;font-size:10px}.score-strip .score-awarded{color:#9af2be;animation:score-pop .4s ease-out}.scoring-guide{position:relative;padding:10px 8px 13px;text-align:center;background:#102d23;border-top:1px solid #ffffff20;line-height:1.5}.scoring-guide>strong{display:block;color:#ffe08b;font-size:13px}.scoring-guide>span:not(.sr-only){display:block;color:#c7ceba;font-size:11px}.scoring-guide.is-hit>strong{color:#9af2be}.scoring-guide.is-miss>strong{color:#ffb19a}.ring-countdown{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff12}.ring-countdown i{display:block;height:100%;background:#ffe08b}.result-scoring{font-size:12px;color:#d5dec9;margin:4px 0}@keyframes score-pop{50%{transform:translateY(-3px)}}@media(max-width:680px){.is-playing .canvas-wrap{width:min(100%,calc((100svh - 237px)*.8))}.score-strip{padding:10px 12px;gap:8px}.score-strip>div>span{font-size:8px;letter-spacing:.3px}.score-strip .sound-and-best{gap:6px}.sound-and-best span{font-size:9px!important}.scoring-guide>strong{font-size:11px}.scoring-guide>span:not(.sr-only){font-size:10px}}@media(prefers-reduced-motion:reduce){.score-strip .score-awarded{animation:none}}
