:root{--bg:#111418;--card:#1b2027;--fg:#e8ecf1;--mut:#8b95a3;--acc:#4f9dff;--ok:#3ecf8e;--bad:#ff5d5d}@media (prefers-color-scheme:light){:root{--bg:#f4f6f9;--card:#fff;--fg:#14181d;--mut:#667085}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);padding:max(16px,env(safe-area-inset-top)) 16px 24px;margin:0;font:16px/1.4 -apple-system,system-ui,sans-serif}main{max-width:560px;margin:0 auto}h1{margin:8px 0 16px;font-size:22px}.card{background:var(--card);border-radius:14px;margin-bottom:12px;padding:14px}label{color:var(--mut);margin:10px 0 4px;font-size:13px;display:block}label:first-child{margin-top:0}select,input[type=range]{background:var(--bg);width:100%;color:var(--fg);border:1px solid #0003;border-radius:10px;padding:10px;font-size:16px}input[type=range]{padding:0}.row{gap:10px;display:flex}.row>*{flex:1}button{font:inherit;background:var(--acc);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;padding:14px;font-weight:600}button.sec{background:var(--card);color:var(--fg);border:1px solid #8883}button.danger{background:var(--bad)}#lesson{display:none}.status{text-align:center;color:var(--mut);min-height:22px;margin:6px 0 12px;font-size:15px}@keyframes pulse{50%{transform:scale(.85)}}.m{background:var(--bg);border-radius:10px;margin:6px 0;padding:8px 10px}.m.u{background:#4f9dff22}.m b{color:var(--mut);font-size:12px;display:block}.ex{color:var(--ok)}#summary{white-space:pre-wrap;display:none}body.drive #log,body.drive #setup,body.drive .hint,body.drive h1,body.drive #pauseBtn,body.drive .status{display:none}.hint{color:var(--mut);font-size:13px}.auth{max-width:420px;margin:8vh auto 0}.auth input{background:var(--card);width:100%;color:var(--fg);border:1px solid #0003;border-radius:10px;padding:12px;font-size:16px}.auth input.code{letter-spacing:.3em;text-align:center;font-size:28px}.auth button{margin-top:16px}.auth a,main a{color:var(--acc)}.err{color:var(--bad);font-size:14px}.top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.top a,.top button{width:auto;padding:6px 10px;font-size:14px}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;border-bottom:1px solid #8883;padding:8px 6px}td button{width:auto;margin-right:6px;padding:6px 10px;font-size:13px}body{overflow-x:hidden}.urow{border-top:1px solid #8883;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.urow:first-of-type{border-top:0}.uname{word-break:break-word;flex-direction:column;min-width:0;display:flex}.uname .hint{font-size:12px}.uact{flex-shrink:0}.uact button{width:auto;margin-left:6px;padding:8px 12px;font-size:13px}.pill{background:#8883;border-radius:99px;margin-left:6px;padding:2px 8px;font-size:11px}.pill.active{color:var(--ok);background:#3ecf8e33}.pill.disabled{color:var(--bad);background:#ff5d5d33}.svc{border-top:1px solid #8883;flex-direction:column;gap:4px;padding:10px 0;display:flex}.svc:first-of-type{border-top:0}.svc-h{font-weight:600}.big{font-size:24px;font-weight:700}.meter{background:#8883;border-radius:99px;height:8px;margin:4px 0;overflow:hidden}.meter span{background:var(--acc);height:100%;display:block}body.in-lesson{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:8px}body.in-lesson .top{display:none}body.in-lesson main{max-width:720px}#lesson{flex-direction:column;height:calc(100dvh - 20px);display:none}.lesson-head{flex:none;padding-bottom:8px}#stage{word-break:break-word;flex-direction:column;flex:1;gap:.55em;min-height:0;padding:6px 2px;line-height:1.22;display:flex;overflow:hidden}#tText{color:#9ecbff;font-weight:600}#uText{color:#ffd479;font-size:.9em}#fixText{color:#6ee7a1;font-size:.9em;font-weight:600}.ex-note{color:var(--mut);font-size:.6em;font-weight:400;display:block}#tText b{color:#fff}body.drive #stage{display:none}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.stats div{background:var(--card);text-align:center;border-radius:12px;flex-direction:column;padding:10px 6px;display:flex}.stats b{font-size:22px}.stats span{color:var(--mut);font-size:11px}.lrow{color:inherit;border-top:1px solid #8883;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:flex}.lrow>span:first-child{flex-direction:column;display:flex}.stars{color:#ffd479;letter-spacing:2px}.stars.big{margin:6px 0;font-size:28px}.card ul{margin:8px 0 0;padding-left:20px}.card li{margin:6px 0}.card p{margin:8px 0 0}#uBlock{flex-direction:column;gap:.55em;display:flex}#uText.ok{color:#6ee7a1}#stage.fixmode{justify-content:center}#stage.fixmode #tText{display:none}#stage.fixmode #fixText{order:-1;font-size:1.25em;line-height:1.18}#stage.fixmode #uText{opacity:.9;font-size:.5em}.orb{cursor:pointer;-webkit-tap-highlight-color:transparent;width:min(27vh,62vw);min-width:150px;height:min(27vh,62vw);min-height:150px;margin:0 auto}.orb canvas{width:100%;height:100%;display:block}.lesson-head{text-align:center}.lesson-head .status{min-height:22px;margin:4px 0 0}.lesson-head .hint{min-height:0}.player{justify-content:center;align-items:center;gap:18px;margin:8px 0 4px;display:flex}.pbtn{background:var(--card);width:50px;height:50px;color:var(--fg);border:1px solid #8884;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.pbtn svg{width:22px;height:22px}.pbtn.big{background:var(--acc);color:#fff;border:0;width:60px;height:60px}.pbtn.big svg{width:26px;height:26px}.pbtn.stop{background:var(--bad);color:#fff;border:0}.pbtn .lbl,.pbtn .i-play{display:none}body.is-paused .pbtn .i-play{display:block}body.is-paused .pbtn .i-pause,body.drive .player>:not(.stop){display:none}body.drive #stopBtn{border-radius:28px;width:auto;height:auto;font-size:44px;font-weight:700;position:fixed;inset:42% 8% 6%}body.drive #stopBtn svg{display:none}body.drive #stopBtn .lbl{display:inline}.hide-note{color:var(--mut);flex-direction:column;align-items:flex-start;gap:.5em;font-weight:500;display:flex}.hide-note button{width:auto;color:var(--acc);border:1px solid var(--acc);background:0 0;padding:10px 16px;font-size:16px}optgroup{font-style:normal}.daily{background:var(--card);border-radius:14px;margin-bottom:12px;padding:12px 14px}.daily-row{justify-content:space-between;margin-bottom:6px;font-size:14px;display:flex}body.in-lesson .daily{display:none}
