.game-page{--topbar-height:46px}.app{left:50%;top:var(--vv-offset,0px);width:100%;max-width:900px;height:var(--app-height,100dvh);touch-action:manipulation;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.topbar{min-height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:calc(env(safe-area-inset-top) + 4px) 8px 4px;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#050916c7;flex:none;align-items:center;gap:6px;display:flex}.top-icon{width:34px;height:34px;color:var(--ink-soft);touch-action:manipulation;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}.top-icon svg{width:18px;height:18px}.top-icon:hover{color:var(--ink);background:#ffffff0f}.top-icon .sound-off-icon,.top-icon.is-muted .sound-on-icon{display:none}.top-icon.is-muted .sound-off-icon{display:block}.top-label{white-space:nowrap;flex:auto;justify-content:center;align-items:baseline;gap:5px;min-width:0;display:flex;overflow:hidden}.top-label strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;font-size:.72rem;font-weight:400}.top-label span{color:var(--muted);text-overflow:ellipsis;font-size:.62rem;font-weight:600;overflow:hidden}.top-actions{flex:none;align-items:center;gap:2px;display:flex}.timer-pill{border:1px solid var(--line);min-width:52px;color:var(--gold-soft);font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:center;background:#ffffff09;border-radius:999px;padding:5px 7px;font-size:.8rem;font-weight:700;line-height:1}.timer-pill.is-low{color:#ff9aa3;background:#ff4d5e1a;border-color:#ff4d5e80;animation:1s ease-in-out infinite low-blink}@keyframes low-blink{50%{background:#ff4d5e33;border-color:#ff4d5ee6}}.main{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.state-screen{flex:auto;place-items:center;min-height:0;padding:20px;display:grid;overflow:hidden auto}.state-card{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:18px;width:min(380px,100%);padding:22px 18px}.state-card h1{font-family:var(--font-display);letter-spacing:-.04em;text-transform:uppercase;margin-top:10px;font-size:1.45rem;line-height:1}.state-card p:not(.eyebrow){color:var(--muted);margin-top:10px;font-size:.82rem;line-height:1.55}.state-actions{gap:7px;margin-top:16px;display:grid}.loading-ring{width:110px;height:110px;margin-bottom:14px;position:relative}.loading-ring span{width:14px;height:14px;color:var(--gold-soft);transform:translate(-50%, -50%) rotate(calc(var(--i) * 14.4deg)) translateY(-50px) rotate(calc(var(--i) * -14.4deg));animation:loading-pulse 1.3s calc(var(--i) * 38ms) ease-in-out infinite;border:1px solid #f7c9484d;border-radius:50%;place-items:center;font-size:.35rem;display:grid;position:absolute;top:50%;left:50%}@keyframes loading-pulse{0%,to{opacity:.25}50%{opacity:1;border-color:var(--gold)}}.start-screen{overscroll-behavior:contain;flex:auto;justify-content:center;align-items:center;min-height:0;padding:10px 14px;display:flex;overflow:hidden auto}.start-card{align-content:center;gap:10px;width:min(420px,100%);display:grid}.start-card>h1{font-family:var(--font-display);letter-spacing:-.045em;text-align:center;text-transform:uppercase;margin-bottom:2px;font-size:clamp(1.35rem,5vw,1.8rem);line-height:1}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.time-option{border:1px solid var(--line);min-height:58px;color:var(--ink-soft);text-align:left;touch-action:manipulation;background:#ffffff09;border-radius:12px;flex-direction:column;justify-content:center;gap:2px;padding:8px 11px;transition:border-color .15s,background .15s,color .15s;display:flex}.time-option strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;font-size:1rem}.time-option span{color:var(--muted);font-size:.66rem;font-weight:600}.time-option:hover{border-color:var(--line-strong);background:#ffffff0f}.time-option.is-active{background:#f7c9481a;border-color:#f7c948b3}.time-option.is-active span{color:var(--gold-soft)}.time-custom{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:48px}.custom-time{border:1px solid var(--line);background:#ffffff08;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:flex}.custom-time label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700}.custom-time input{min-width:0;height:34px;color:var(--ink);font-family:var(--font-display);text-align:right;appearance:textfield;background:0 0;border:0;outline:0;flex:auto;padding:0;font-size:1.05rem}.custom-time input::-webkit-inner-spin-button,.custom-time input::-webkit-outer-spin-button{appearance:none;margin:0}.custom-time>span{color:var(--muted);font-size:.72rem}.start-error{color:#ff9aa3;text-align:center;font-size:.72rem;line-height:1.4}.start-button{color:#1b1203;background:linear-gradient(135deg, var(--gold-soft), var(--gold) 52%, #efac32);touch-action:manipulation;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:0 18px;font-size:.98rem;font-weight:800;display:flex;box-shadow:0 12px 30px #f7c94838,inset 0 1px #ffffff80}.start-button:active{transform:scale(.99)}.game{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.rosco-zone{flex:auto;justify-content:center;align-items:center;min-height:0;padding:2px 8px 0;display:flex;overflow:hidden}.rosco{--rosco-size:280px;--letter-size:26px;width:var(--rosco-size);height:var(--rosco-size);background:radial-gradient(circle at 50% 45%,#2f6df629,#0000 60%),radial-gradient(circle,#07102666 57%,#f7c94817 58%,#0000 59%);border-radius:50%;flex:none;position:relative}.rosco:before,.rosco:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.rosco:before{border:1px dashed #f7c94821;inset:6%}.rosco:after{border:1px solid #a1bbff17;inset:22%}.rosco-ring{pointer-events:none;border:1px solid #a1bbff29;border-radius:50%;position:absolute;inset:4%;box-shadow:inset 0 0 0 9px #ffffff03,inset 0 0 50px #2f6df614}.rosco-center{pointer-events:none;background:radial-gradient(circle at 50% 30%,#2f6df647,#071026f5 68%);border:1px solid #f7c9484d;border-radius:50%;place-content:center;justify-items:center;gap:1px;display:grid;position:absolute;inset:33%;box-shadow:0 16px 50px #0000006b}#center-letter{color:var(--gold-soft);font-family:var(--font-display);letter-spacing:-.05em;text-shadow:0 0 26px #f7c94838;font-size:clamp(1.75rem,7.5vw,2.8rem);line-height:.9}#center-remaining{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:700}.orbit{transform:rotate(calc(var(--i) * 14.4deg));pointer-events:none;position:absolute;inset:0}.letter{width:var(--letter-size);height:var(--letter-size);color:#eef3ff;font-family:var(--font-display);font-size:calc(var(--letter-size) * .42);pointer-events:auto;touch-action:manipulation;transform:translate(-50%, -50%) rotate(calc(var(--i) * -14.4deg));background:radial-gradient(circle at 35% 25%,#4874d280,#0c1833fa 68%);border:1px solid #a1bbff57;border-radius:50%;place-items:center;padding:0;line-height:1;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:grid;position:absolute;top:5.2%;left:50%;box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff1f}.letter:hover{color:var(--gold-soft);border-color:#f7c948a6}.letter.is-current{z-index:2;border-color:var(--gold);color:#1b1203;background:linear-gradient(135deg, var(--gold-soft), var(--gold));scale:1.12;box-shadow:0 0 0 4px #f7c94824,0 8px 22px #f7c94847}.letter.is-correct{color:#04170d;background:linear-gradient(135deg, #8ff0bd, var(--green));border-color:#2bd47db3;box-shadow:0 5px 16px #2bd47d42}.letter.is-wrong{color:#fff;background:linear-gradient(135deg, #ff7b88, var(--red));border-color:#ff4d5eb3;box-shadow:0 5px 16px #ff4d5e42}.letter.is-passed{color:var(--amber);background:#ffbf4714;border-color:#ffbf4799}.letter.is-current.is-passed{color:#211704;background:linear-gradient(135deg, #ffe29a, var(--amber))}.question-zone{padding:7px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:linear-gradient(#0a152ded,#050916fa);flex:none}.q-head{align-items:center;gap:7px;min-width:0;display:flex}.q-letter{color:var(--gold-soft);font-family:var(--font-display);font-size:.92rem;line-height:1}.q-mode{color:var(--gold-soft);letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.6rem;font-weight:800;overflow:hidden}.q-score{color:var(--muted);letter-spacing:.03em;white-space:nowrap;margin-left:auto;font-size:.65rem;font-weight:700}.q-score b:first-child{color:var(--green)}.q-score b:last-of-type{color:#ff8c96}.q-prompt{color:var(--ink);margin:4px 0 7px;font-size:clamp(.82rem,3.6vw,1rem);font-weight:500;line-height:1.32}.answer-bar{align-items:center;gap:6px;min-width:0;display:flex}.answer-bar input{border:1px solid var(--line-strong);min-width:0;height:44px;color:var(--ink);background:#030917b3;border-radius:10px;outline:0;flex:auto;padding:0 11px;font-size:16px;transition:border-color .15s,box-shadow .15s}.answer-bar input::placeholder{color:#8ea2c88c}.answer-bar input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f7c9481a}.pass-button,.submit-button{touch-action:manipulation;border-radius:10px;flex:none;height:44px}.pass-button{border:1px solid var(--line-strong);color:var(--ink-soft);background:#ffffff0a;padding:0 10px;font-size:.72rem;font-weight:700}.pass-button:active{background:#ffffff1a}.submit-button{color:#1b1203;background:linear-gradient(135deg, var(--gold-soft), var(--gold));border:0;width:44px;font-size:1.1rem;font-weight:900}.feedback{min-height:17px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.71rem;font-weight:600;line-height:1.3;overflow:hidden}.feedback.is-correct{color:#7ee7ad}.feedback.is-wrong{color:#ff9aa3}.feedback.is-pass{color:var(--amber)}.overlay{z-index:60;backdrop-filter:blur(12px);background:#02050dd1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.overlay-card{border:1px solid var(--line-strong);background:var(--panel-strong);text-align:center;width:min(340px,100%);box-shadow:var(--shadow);border-radius:18px;padding:20px 18px}.overlay-card h2{font-family:var(--font-display);letter-spacing:-.04em;text-transform:uppercase;margin-top:8px;font-size:1.5rem;line-height:1}.overlay-actions{gap:7px;margin-top:16px;display:grid}.overlay-actions .btn{min-height:42px;font-size:.8rem}.roscos-dialog,.end-dialog{color:var(--ink);background:0 0;border:0;padding:0}.roscos-dialog::backdrop,.end-dialog::backdrop{backdrop-filter:blur(8px);background:#02050db8}.roscos-dialog{width:100%;max-width:620px;max-height:82dvh;margin:0 auto;position:fixed;inset:auto 0 0}.sheet{max-height:82dvh;padding:12px 12px calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain;border:1px solid var(--line-strong);background:var(--panel-strong);border-bottom:0;border-radius:20px 20px 0 0;overflow-y:auto;box-shadow:0 -20px 60px #0006}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:2px 4px 10px;display:flex}.sheet-head h2{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;font-size:1.05rem}.sheet-close{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:1.25rem;line-height:1;display:grid}.roscos-list{gap:6px;display:grid}.rosco-row{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#ffffff08;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.rosco-row.is-current{background:#f7c94814;border-color:#f7c9489e}.rosco-row-main{gap:1px;min-width:0;display:grid}.rosco-row-date{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;font-size:.95rem;font-weight:400}.rosco-row-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:600;overflow:hidden}.rosco-row-badge{color:var(--gold-soft);letter-spacing:.1em;text-transform:uppercase;flex:none;font-size:.56rem;font-weight:800}.end-dialog{border:1px solid var(--line-strong);background:var(--panel-strong);width:min(440px,100% - 24px);max-height:88dvh;box-shadow:var(--shadow);border-radius:20px;margin:auto;position:fixed;inset:0;overflow:visible}.end-scroll{z-index:2;overscroll-behavior:contain;border-radius:inherit;max-height:88dvh;position:relative;overflow-y:auto}.end-content{z-index:2;padding:20px 16px calc(16px + env(safe-area-inset-bottom));text-align:center;position:relative}.end-content h2{font-family:var(--font-display);letter-spacing:-.045em;text-transform:uppercase;margin-top:8px;font-size:clamp(1.7rem,7vw,2.35rem);line-height:.95}.end-subtitle{color:var(--muted);margin-top:8px;font-size:.8rem;line-height:1.5}.end-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.end-stat{border:1px solid var(--line);background:#ffffff08;border-radius:10px;gap:1px;padding:8px 6px;display:grid}.end-stat strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.05rem}.end-stat span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:700}.end-best{color:var(--muted);margin-top:10px;font-size:.7rem}.end-missed{border:1px solid var(--line);text-align:left;background:#ffffff05;border-radius:10px;margin-top:12px}.end-missed summary{color:var(--ink-soft);cursor:pointer;padding:10px 12px;font-size:.72rem;font-weight:700}.end-missed ul{gap:7px;margin:0;padding:0 12px 12px;list-style:none;display:grid}.end-missed li{border-top:1px solid var(--line);color:var(--muted);padding-top:7px;font-size:.7rem;line-height:1.4}.end-missed li b{color:var(--gold-soft)}.end-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.end-actions .btn{min-height:40px;padding:0 8px;font-size:.74rem}.end-actions .btn-next{flex-direction:column;grid-column:1/-1;gap:1px;min-height:55px;padding:7px 12px;font-size:.9rem}.btn-next small{color:#1b1203b8;letter-spacing:.01em;font-size:.61rem;font-weight:700}.confetti{pointer-events:none;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.confetti span{top:-16px;left:var(--x);background:var(--c);width:7px;height:12px;animation:confetti-fall var(--d) var(--delay) linear forwards;transform:rotate(var(--r));border-radius:2px;position:absolute}@keyframes confetti-fall{to{transform:translate3d(var(--dx), 110vh, 0) rotate(720deg);opacity:0}}@media (width>=700px){.app{border-inline:1px solid #a1bbff17;box-shadow:0 0 80px #00000040}.question-zone{padding-inline:16px}.topbar{padding-inline:12px}.q-prompt{-webkit-line-clamp:3}}@media (height<=620px){.time-option{min-height:48px}.time-option strong{font-size:.9rem}.start-card{gap:7px}.start-button{min-height:46px}.q-prompt{margin-block:3px 5px}.feedback{min-height:15px}}@media (width<=360px){.top-label{font-size:.64rem}.timer-pill{min-width:46px;font-size:.72rem}.pass-button{padding-inline:8px;font-size:.68rem}.q-prompt{font-size:.78rem}}
