@font-face{font-family:Bravura;src:url(/assets/bravura-subset-D-BTVR9P.woff2) format("woff2");font-display:swap}:root{--bg: #111418;--surface: #1b2027;--surface-2: #242a33;--border: #303845;--text: #e8eaed;--muted: #8b949e;--accent: #4f8cff;--accent-soft: rgba(79, 140, 255, .15);--ok: #3fb950;--bad: #f85149;--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#app{height:100%}button{font:inherit;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;min-height:44px;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.shell{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto}.shell main{flex:1;overflow-y:auto;padding:16px}.shell nav{display:flex;gap:8px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.shell nav button{flex:1;background:transparent;border-color:transparent}.shell nav button.active{background:var(--accent-soft);border-color:var(--accent)}h1{font-size:22px;margin:8px 0 16px}h2{font-size:16px;margin:24px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.exercise-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exercise-card{text-align:left;min-height:72px;display:flex;flex-direction:column;gap:4px}.exercise-card .desc{font-size:12px;color:var(--muted)}.exercise-card.disabled{opacity:.45}.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented button{flex:1;min-width:64px;padding:10px 12px;background:var(--surface)}.segmented button.selected{background:var(--accent-soft);border-color:var(--accent)}.check-row{display:flex;gap:8px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;cursor:pointer;min-height:44px}.check-row label.on{background:var(--accent-soft);border-color:var(--accent)}.number-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;padding:10px 12px;width:88px;min-height:44px}.start{width:100%;margin-top:24px;font-size:18px;min-height:52px}.calibrate-link{display:block;text-align:center;margin-top:16px;color:var(--muted);font-size:13px;text-decoration:none}.session{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto}.session header{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.session header .quit{padding:8px 12px;min-height:36px;font-size:14px;background:transparent}.progress{flex:1;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.progress .bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.progress .bar>div{height:100%;background:var(--accent);transition:width .2s}.session main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:16px;overflow-y:auto}.staff{width:100%;color:var(--text);display:block;-webkit-user-select:none;user-select:none}.target{text-align:center;font-size:18px}.target strong{font-size:26px;color:var(--accent)}.feedback{text-align:center;border-radius:var(--radius);padding:14px;font-size:17px}.feedback.ok{background:#3fb95026;border:1px solid var(--ok)}.feedback.bad{background:#f8514926;border:1px solid var(--bad)}.feedback .given{color:var(--muted);font-size:14px;margin-top:4px}.feedback button{margin-top:12px}.answer-pad{display:flex;flex-direction:column;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.answer-pad .preview{text-align:center;font-size:22px;font-weight:700;min-height:30px;color:var(--accent)}.answer-pad .row{display:flex;gap:6px}.answer-pad .row button{flex:1;padding:10px 0;min-height:46px;font-size:17px;background:var(--surface-2)}.answer-pad .row button.selected{background:var(--accent);border-color:var(--accent);color:#fff}.check-place{min-height:52px;font-size:17px}.overview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.overview .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.overview .card .value{font-size:22px;font-weight:700}.overview .card .label{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase}td.num,th.num{text-align:right}.worst{color:var(--bad)}.empty-note{color:var(--muted);padding:24px 0;text-align:center}.actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.actions button{min-height:48px}
