*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow-x:hidden}html,body{overscroll-behavior-x:none}body{color:#e8edf2;background:#101418;width:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}kbd{background:#ffffff14;border:1px solid #ffffff59;border-bottom-width:2px;border-radius:5px;padding:.1em .45em;font-family:inherit;font-size:.85em;display:inline-block}.menu{align-items:center;justify-content:safe-center;-webkit-overflow-scrolling:touch;background:radial-gradient(1200px 500px at 50% -10%,#3d954240,#0000),#101418;flex-direction:column;gap:2.2rem;height:100%;padding:2rem;display:flex;overflow-y:auto}.about-overlay{z-index:60;position:fixed;inset:0}.about-dialog{cursor:auto;text-align:left;background:#101418f5;border:1px solid #ffffff24;border-radius:14px;width:min(34rem,90vw);max-height:86vh;padding:1.6rem 1.8rem;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000080}.about-dialog h2{margin:0 0 .8rem;font-size:1.4rem}.about-dialog p{color:#b9c4cf;margin:0 0 .8rem;line-height:1.5}.about-dialog h3{color:#6fd487;margin:0 0 .5rem;font-size:1.05rem}.about-dialog__list{flex-direction:column;gap:.7rem;margin:0 0 1.2rem;padding:0;list-style:none;display:flex}.about-dialog__list li{flex-direction:column;gap:.2rem;display:flex}.about-dialog__src-label{color:#cdd7e0;font-size:.92rem;font-weight:600}.about-dialog__link{color:#8fc9ff;word-break:break-all;font-size:.85rem;text-decoration:underline}.about-dialog__link:hover{color:#b6dcff}.about-dialog__licenses-text{color:#98a4ae;white-space:pre-wrap;word-break:break-word;background:#00000047;border:1px solid #ffffff14;border-radius:8px;max-height:16rem;margin:0 0 1.2rem;padding:.7rem .8rem;font-size:.72rem;line-height:1.45;overflow-y:auto}.about-dialog__done{color:#6fd487;width:100%;font:inherit;cursor:pointer;background:linear-gradient(135deg,#3d954247,#3d954214);border:1px solid #78c8828c;border-radius:10px;padding:.6rem 1rem;font-weight:650;display:block}.about-dialog__done:hover{border-color:#8ce696e6}.about-dialog__close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;position:absolute;top:.8rem;right:.8rem}.about-dialog__close:hover{background:#ffffff38}.lang-overlay{z-index:60;position:fixed;inset:0}.lang-dialog{cursor:auto;text-align:left;background:#101418f5;border:1px solid #ffffff24;border-radius:14px;width:min(24rem,90vw);max-height:80vh;padding:1.6rem 1.8rem;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000080}.lang-dialog h2{margin:0 0 1rem;font-size:1.3rem}.lang-dialog__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lang-dialog__option{color:#cdd7e0;width:100%;font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;justify-content:space-between;align-items:center;padding:.7rem .9rem;font-size:1rem;transition:background .12s,border-color .12s;display:flex}.lang-dialog__option:hover{background:#ffffff1a;border-color:#8ce69673}.lang-dialog__option[aria-pressed=true]{color:#fff;background:linear-gradient(135deg,#3d954247,#3d954214);border-color:#78c882b3}.lang-dialog__check{color:#6fd487;font-weight:700}.lang-btn{font-size:1.15rem;line-height:1}.menu-header{text-align:center;max-width:34rem}.menu-header h1{letter-spacing:.02em;margin:0 0 .6rem;font-size:2.4rem}.menu-header p{color:#aab6c2;margin:0;line-height:1.5}.daily-challenge-header{text-align:center;flex-direction:column;align-items:center;gap:.2rem;display:flex}.daily-challenge-title{letter-spacing:.02em;margin:0;font-size:1.1rem;font-weight:700}.daily-challenge-subtitle{color:#8fa0b0;margin:0;font-size:.85rem}.menu-divider{border:none;border-top:1px solid #ffffff1f;width:min(34rem,90vw);margin:.4rem 0}.challenge-card{width:min(34rem,90vw);color:inherit;text-align:left;background:linear-gradient(135deg,#3d954247,#3d954214);border:1px solid #78c8828c;border-radius:14px;flex-direction:column;gap:.35rem;padding:1.2rem 1.5rem;transition:transform .12s,border-color .12s;display:flex}.challenge-card:hover{border-color:#8ce696e6;transform:translateY(-2px)}.challenge-card-title{font-size:1.25rem;font-weight:750}.challenge-card-sub{color:#b9c8b9;font-size:.92rem}.challenge-card-countdown{color:#cfe8d2;font-variant-numeric:tabular-nums;font-size:.85rem}.challenge-card-cta{color:#6fd487;margin-top:.25rem;font-weight:650}.challenge-card-empty{color:#8fa0b0;font-size:.95rem}.menu-links{flex-direction:column;align-items:center;gap:.6rem;display:flex}.menu-link-card{width:min(34rem,90vw);color:inherit;text-align:left;background:linear-gradient(135deg,#3d95421a,#3d954205);border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:.25rem;padding:.85rem 1.3rem;transition:transform .12s,border-color .12s;display:flex}.menu-link-card:hover{border-color:#8ce69673;transform:translateY(-2px)}.menu-link-card-title{font-size:1.1rem;font-weight:650}.menu-link-card-sub{color:#aab6c2;font-size:.85rem}.archive-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.6rem;width:min(34rem,90vw);padding:.8rem 1rem;display:flex}.archive-card.open{background:#ffffff0f;border-color:#78c88266}.archive-card-header{text-align:left;color:inherit;background:0 0;border:none;flex-direction:column;gap:.3rem;padding:0;display:flex}.archive-card-title{font-size:1.05rem;font-weight:700}.archive-card-sub{color:#aab6c2;font-size:.85rem}.archive-card-cta{color:#6fd487;font-size:.85rem;font-weight:600}.archive-grid{width:100%}.menu-section{text-transform:uppercase;letter-spacing:.12em;color:#8fa0b0;margin:0;font-size:.85rem}.challenge-results .challenge-grid{gap:.6rem;font-size:3rem;line-height:1;display:flex}.challenge-flair{color:#cdd7e0;margin:0}.challenge-countdown{color:#8fa0b0;font-variant-numeric:tabular-nums;margin:0;font-size:.9rem}.challenge-empty{color:#8fa0b0;font-size:.95rem}.menu-grid{flex-wrap:wrap;justify-content:center;gap:1rem;max-width:60rem;display:flex}.level-card{width:10.5rem;color:inherit;text-align:left;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem;transition:transform .12s,background .12s,border-color .12s;display:flex}.level-card:hover{background:#ffffff1a;border-color:#78c88280;transform:translateY(-2px)}.level-number{text-transform:uppercase;letter-spacing:.08em;color:#8fa0b0;font-size:.78rem}.level-name{font-size:1.05rem;font-weight:650}.level-status{color:#8fa0b0;margin-top:.3rem;font-size:.82rem}.status-pass{color:#6fd487}.status-fail{color:#f0766b}.lang-toggle{color:#cdd7e0;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:.85rem;display:inline-flex}.lang-toggle__icon{font-size:1rem}.lang-toggle__label{color:#8fa0b0}.lang-toggle__select{color:inherit;font:inherit;cursor:pointer;background:#101418e6;border:1px solid #fff3;border-radius:7px;padding:.25rem .4rem}.lang-toggle__select:focus-visible{outline-offset:1px;outline:2px solid #6fd487}.menu-load{flex-direction:column;align-items:center;gap:.4rem;display:flex}.load-level-label{color:#6f8296;cursor:pointer;font-size:.85rem;text-decoration:underline}.load-level-label input{display:none}.load-error{color:#f0766b;max-width:34rem;margin:0;font-size:.82rem}.game-screen{height:100%;position:relative}.game-canvas{touch-action:none;width:100%;height:100%;display:block}.game-back-button{z-index:10;color:#e8edf2;cursor:pointer;background:#0a0e12a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;font-size:1.2rem;display:flex;position:absolute;top:1rem;left:1rem}.game-back-button:hover{background:#0a0e12d9}.hud{pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.hud-top{background:#0a0e12a6;border-radius:10px;align-items:center;gap:1rem;padding:.5rem 1rem;font-size:.95rem;display:flex}.hud-level{font-weight:650}.hud-clock{font-variant-numeric:tabular-nums;color:#cdd7e0}.hud-countdown{color:#ffd75e}.hud-flag{color:#ff9a3d;font-weight:700;animation:.5s infinite alternate hud-flag-pulse}@keyframes hud-flag-pulse{0%{opacity:.7}to{opacity:1}}.hud-dot{background:#ffd600d9;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-bottom{color:#cdd7e0;background:#0a0e128c;border-radius:10px;padding:.45rem 1rem;font-size:.88rem}.touch-controls{pointer-events:none;z-index:5;position:absolute;inset:0}.touch-controls button{pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;color:#e8edf2;background:#0a0e128c;border:1px solid #ffffff59;border-radius:14px;transition:opacity .2s}.touch-controls button:disabled{opacity:.35;pointer-events:none}.touch-move{gap:.8rem;display:flex;position:absolute;bottom:1.2rem;left:1rem}.touch-move button{width:4.4rem;height:4.4rem;font-size:1.6rem}.touch-flag{height:4.4rem;padding:0 1.6rem;font-size:1.25rem;font-weight:750;position:absolute;bottom:1.2rem;right:1rem;background:#c8102ebf!important;border-color:#ff7a1acc!important}.touch-flag:active{background:#f03c3ce6!important}.touch-pause{width:2.8rem;height:2.8rem;font-size:.9rem;position:absolute;top:1rem;right:1rem}@media (pointer:coarse){.hud-bottom{display:none}}.overlay{z-index:10;cursor:pointer;background:#080a0d8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-card{text-align:center;cursor:auto;background:#101418eb;border:1px solid #ffffff24;border-radius:14px;max-width:26rem;padding:1.8rem 2rem}.overlay-card h2{margin:0 0 .7rem}.overlay-card p{color:#b9c4cf;margin:0 0 .9rem;line-height:1.5}.overlay-action{font-weight:650;animation:.9s infinite alternate hud-flag-pulse;color:#6fd487!important}.overlay--countdown{cursor:default;background:#080a0d66}.countdown-number{color:#fff;text-shadow:0 0 24px #6fd487b3;font-size:8rem;font-weight:800;animation:1s ease-out countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}.side-toggle{justify-content:center;gap:.5rem;margin:0 0 .9rem;display:flex}.side-toggle__label{color:#8fa0b0;align-self:center;margin-right:.3rem;font-size:.85rem}.side-toggle__btn{color:#b9c4cf;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:8px;padding:.3rem .7rem}.side-toggle__btn[aria-pressed=true]{color:#6fd487;background:#6fd48729;border-color:#6fd487;font-weight:650}.result-badge{letter-spacing:.1em;border-radius:999px;margin-bottom:.8rem;padding:.25rem .8rem;font-size:.78rem;font-weight:700;display:inline-block}.result-pass .result-badge{color:#6fd487;background:#6fd48729}.result-fail .result-badge{color:#f0766b;background:#f0766b29}.result-actions{justify-content:center;gap:.8rem;margin-top:.4rem;display:flex}.result-actions button{color:#fff;background:#3d9542;border:none;border-radius:9px;padding:.55rem 1.3rem;font-weight:650}.result-actions button.secondary{color:#e8edf2;background:#ffffff1f}.result-actions button.var-button{background:#b0392f}.result-actions--stack{flex-direction:column;align-items:center}.result-actions--stack button{width:80%}.share-header{text-align:center;color:#e8edf2;margin:.6rem 0 0;font-weight:650}.result-actions .share-link{color:#fff;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:0;font-size:1.3rem;font-weight:650;text-decoration:none;display:inline-flex}.result-actions button.share-btn{color:#e8edf2;background:#ffffff1f}.result-actions a.share-x{background:#000}.result-actions a.share-bluesky{background:#1185fe}.video-overlay{z-index:10}.video-modal{cursor:auto;width:min(50rem,92vw);position:relative}.video-modal__frame{background:#000;border-radius:12px;width:100%;padding-top:56.25%;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000080}.video-modal__frame iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.video-modal__close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;display:flex;position:absolute;top:-2.6rem;right:0}.video-modal__close:hover{background:#ffffff38}.var-overlay{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:.7rem;padding:1.4rem;display:flex;position:absolute;inset:0}.var-top{position:absolute;top:1rem;left:50%;transform:translate(-50%)}.var-back{pointer-events:auto;color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:4.8rem;height:4.8rem;display:flex}.var-back:hover{background:#000000bf}.var-banner{letter-spacing:.06em;border:2px solid #ffffffe6;align-items:stretch;min-width:21rem;font-weight:800;display:flex;box-shadow:0 6px 24px #00000073}.var-banner .var-tag{background:#fff;align-items:center;padding:.5rem 1.1rem;font-size:1.15rem;display:flex}.var-banner .var-verdict-text{color:#fff;flex:1;justify-content:center;align-items:center;padding:.5rem 1.4rem;font-size:1.25rem;display:flex}.var-offside{background:#c8102e}.var-offside .var-tag{color:#c8102e}.var-onside{background:#1f8a3b}.var-onside .var-tag{color:#1f8a3b}.var-caption{text-align:center;color:#e8edf2;background:#0a0e1299;border-radius:9px;max-width:min(40rem,92vw);margin:0;padding:.5rem 1rem;font-size:.92rem;line-height:1.45}.var-hint{color:#9fb0c0}.top-right-controls{z-index:50;pointer-events:none;align-items:center;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.top-right-controls>*{pointer-events:auto}@media (width<=640px){.top-right-controls{justify-content:flex-end;left:1rem}.menu{padding-top:4.5rem}}.icon-btn{width:2.8rem;height:2.8rem;color:inherit;cursor:pointer;background:#0a0e12a6;border:1px solid #ffffff59;border-radius:10px;justify-content:center;align-items:center;font-size:1.15rem;transition:background .12s;display:flex}.icon-btn:hover{background:#0a0e12d1}.menu-back-btn{z-index:50;position:fixed;top:1rem;left:1rem}.about-btn{font-size:1.4rem;font-weight:700;line-height:1}.mute-btn{cursor:pointer;background:#0a0e12a6;border-color:#ffffff59;font-size:1.15rem;transition:background .12s}.mute-btn:hover{background:#0a0e12d1}.mute-btn[aria-pressed=true]{border-color:#ff7a1ab3}.concept-intro{gap:1.2rem;justify-content:safe-center}.concept-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#6fd487;margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:inline-block}.concept-intro .menu-header{max-width:40rem}.concept-intro .menu-header p{color:#cdd7e0;font-size:.98rem;line-height:1.5}.concept-diagram{background:#0d1b12;border:1px solid #8ce6962e;border-radius:14px;width:min(46rem,94vw);padding:.6rem;position:relative;box-shadow:0 10px 30px #00000059}.concept-svg{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:9px;width:100%;height:auto;display:block}.concept-verdict{z-index:2;letter-spacing:.06em;text-transform:uppercase;color:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.32rem .7rem;font-size:.8rem;font-weight:800;display:inline-flex;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 14px #0006}.concept-verdict.is-onside{background:#1f7a3a}.concept-verdict.is-offside{background:#b0392f}.concept-verdict__dot{background:#ffffffe6;border-radius:50%;width:.55rem;height:.55rem}.concept-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .4rem .2rem;display:flex}.concept-play{color:#dbeee0;cursor:pointer;background:#3d954238;border:1px solid #8ce69666;border-radius:9px;padding:.45rem 1rem;font-weight:650;transition:background .12s,border-color .12s}.concept-play:hover{background:#3d954266;border-color:#8ce696b3}.concept-legend{color:#9fb0bd;gap:.9rem;font-size:.8rem;display:flex}.concept-legend__item{align-items:center;gap:.32rem;display:inline-flex}.concept-legend__item .dot{border:1px solid #00000080;border-radius:50%;width:.7rem;height:.7rem}.concept-try{text-align:center;color:#b6dcff;max-width:38rem;margin:0;font-size:.92rem;line-height:1.45}
