@font-face{font-family:Arimo;src:url(/assets/Arimo-Regular-D3y8VDJJ.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Arimo;src:url(/assets/Arimo-Bold-BzvRIA9p.ttf)format("truetype");font-weight:700;font-display:swap}:root{color:#19454a;font-synthesis:none;text-rendering:optimizelegibility;font-smooth:always;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#56c6d4;font-family:Arimo,system-ui,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}html,body,#app,#game{width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#app{background:#56c6d4;position:relative}#game{place-items:center;display:grid;position:absolute;inset:0}#game canvas{touch-action:none;max-width:100vw;max-height:100dvh;display:block}#panel{z-index:2;pointer-events:none;position:absolute;inset:0}#panel>*{pointer-events:auto}.loading{color:#315f62;background:#fffefaee;border-radius:22px;align-items:center;gap:16px;padding:22px 28px;font-size:20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 38px #24626c24}.spinner{border:3px solid #c7e9e4;border-top-color:#18a98c;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-card,.hub-card,.replay-card{color:#2c5256;background:linear-gradient(155deg,#fffef5f2,#fffef1e8);border:2px solid #ffffffa8;border-radius:30px;width:min(630px,47vw);max-height:88%;padding:clamp(24px,3vw,56px);position:absolute;top:50%;left:7.6%;overflow:auto;transform:translateY(-50%);box-shadow:0 22px 65px #183c4d35}.login-card h1,.hub-card h1,.replay-card h1{color:#1b4e54;letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(30px,2.4vw,44px)}.eyebrow{color:#df7432;text-transform:uppercase;letter-spacing:.14em;margin:0 0 12px;font-size:13px;font-weight:700}.muted{color:#547476;margin:0 0 24px;font-size:17px;line-height:1.45}.field{gap:8px;margin:22px 0 16px;font-weight:700;display:grid}.field input{letter-spacing:.22em;color:#28545b;background:#fff;border:2px solid #c5deda;border-radius:15px;outline:none;width:100%;padding:16px 18px;font:700 24px Arimo,sans-serif}.field input:focus{border-color:#1aa688;box-shadow:0 0 0 4px #1aa68822}.primary,.secondary,.link-button,.test-button,.icon-button{cursor:pointer;border:0;border-radius:15px;font:700 18px Arimo,sans-serif;transition:transform .12s,filter .12s,box-shadow .12s}.primary{color:#fff;background:#fb6632;width:100%;padding:17px 24px;box-shadow:0 7px #c84122,0 12px 25px #ba583430}.primary:hover,.test-button:hover,.secondary:hover{filter:brightness(1.04);transform:translateY(-2px)}.primary:active,.test-button:active,.secondary:active{box-shadow:none;transform:translateY(2px)}.secondary{color:#22635f;background:#e2f2e6;padding:14px 18px;box-shadow:0 5px #badacb}.link-button{color:#397879;background:0 0;padding:10px 4px;font-size:15px;text-decoration:underline}.login-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.error-message{color:#b63c2e;margin:0 0 16px;font-size:15px;line-height:1.4}.hub-card{width:min(770px,55vw);left:5.2%}.menu-card{width:min(630px,47vw);left:7.6%}.menu-actions{gap:24px;margin-top:30px;display:grid}.menu-actions .secondary{width:100%}.hub-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.icon-button{color:#557275;background:#e4efeb;padding:10px 14px;font-size:14px}.progress-line{background:#dfebe2;border-radius:999px;height:12px;margin:14px 0 24px;overflow:hidden}.progress-line span{border-radius:inherit;background:linear-gradient(90deg,#85c83c,#f5cf40);height:100%;transition:width .3s;display:block}.test-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.test-button{text-align:left;color:#28585a;background:#f3f9e9;flex-direction:column;align-items:flex-start;gap:4px;min-height:76px;padding:13px 15px;display:flex;box-shadow:0 4px #d9e5c8}.test-button small{color:#66807c;font-size:12px;font-weight:400}.test-button.done{background:#e1f3d4}.test-grid .test-button{cursor:default}.test-button.next{outline:3px solid #80b844}.hub-actions{gap:12px;margin-top:18px;display:flex}.hub-actions .primary{flex:1}.session-state{color:#68817f;margin:14px 0 0;font-size:13px}.replay-card{width:min(680px,80vw);left:50%;transform:translate(-50%,-50%)}.replay-list{gap:10px;max-height:45vh;display:grid;overflow-y:auto}.replay-list .test-button{flex-direction:row;justify-content:space-between;align-items:center}.back-link{margin-top:16px}#toast{left:50%;bottom:max(26px, env(safe-area-inset-bottom));z-index:5;color:#fff;opacity:0;pointer-events:none;background:#245858ef;border-radius:14px;max-width:min(90vw,700px);padding:14px 20px;font-size:15px;transition:all .2s;position:absolute;transform:translate(-50%,14px);box-shadow:0 10px 28px #0003}#toast.visible{opacity:1;transform:translate(-50%)}#toast[data-tone=error]{background:#9e3f36f2}#toast[data-tone=success]{background:#257b5ff2}@media (width<=760px){.login-card,.hub-card{width:min(92vw,620px);padding:22px;left:50%;transform:translate(-50%,-50%)}.login-card h1,.hub-card h1{font-size:30px}.muted{font-size:15px}.test-grid{grid-template-columns:1fr;gap:8px}.test-button{min-height:60px}.hub-actions{flex-direction:column}.hub-head{align-items:center}}
