:root{--bg:#fdf8ee;--surface:#fff;--ink:#2b2540;--muted:#6b6485;--accent:#5b3fd1;--accent-ink:#fff;--line:#e2d9c7;--green:#2f9e57;--yellow:#e8b200;--red:#d9464a;--green-bg:#dcf3e4;--yellow-bg:#fff2c2;--red-bg:#fbdcdc;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#17142a;--surface:#231f3d;--ink:#f4f0ff;--muted:#b3acd0;--accent:#9d86ff;--accent-ink:#17142a;--line:#3a3560;--green:#56d68a;--yellow:#f3c93c;--red:#ff7b7f;--green-bg:#1f4a33;--yellow-bg:#5a4a10;--red-bg:#5a2328}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:18px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:880px;padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));margin:0 auto}.brand{color:var(--muted);margin-bottom:8px;font-size:.9rem}h1{margin:.2em 0;font-size:clamp(1.6rem,5vw,2.2rem)}h2{margin:.4em 0 0;font-size:1.2rem}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;gap:12px;display:flex}.center{text-align:center}button,.button,select,input:not([type=radio]):not([type=checkbox]){font:inherit;border-radius:var(--radius);border:2px solid var(--line);background:var(--surface);min-height:56px;color:var(--ink);padding:0 20px}button,.button{cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;font-weight:600;display:inline-flex}button.big{min-height:64px;font-size:1.2rem}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button:disabled{opacity:.5}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.field{flex-direction:column;gap:6px;font-weight:600;display:flex}.check{align-items:center;gap:12px;display:flex}.check input{width:28px;height:28px}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:16px}.avatar-card{flex-direction:column;gap:6px;min-height:150px;font-size:1.2rem}.avatar{font-size:3rem}.segmented{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.segmented legend{margin-bottom:8px;font-weight:700}.segmented label{flex:120px;position:relative}.segmented input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.segmented span{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;min-height:64px;font-weight:700;display:flex}.segmented small{color:var(--muted);font-weight:400}.segmented input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.segmented input:checked+span small{color:inherit}.segmented input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.avatars span{font-size:2rem}.suggestion{color:var(--accent);font-weight:700}.gate{color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none;margin-top:24px;position:relative;overflow:hidden}.gate span{position:relative}.gate:before{content:"";background:var(--line);width:0;position:absolute;inset:0}.gate.holding:before{width:100%;transition:width 3s linear}.practice{grid-template-columns:minmax(160px,1fr) 2fr;align-items:stretch;gap:16px;display:grid}.hint{min-height:2.4em;font-size:1.6rem;font-weight:800}.progress-line{color:var(--muted);margin:0}.ladder-wrap{min-height:min(70vh,560px);display:flex;position:relative}.ladder{flex-direction:column-reverse;flex:1;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ladder li{border:3px solid var(--line);background:var(--surface);border-radius:14px;flex:1;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px 0 72px;display:flex}.ladder li[data-current=true]{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 35%, transparent)}.ladder li[data-verdict=green]{background:var(--green-bg);border-color:var(--green)}.ladder li[data-verdict=yellow]{background:var(--yellow-bg);border-color:var(--yellow)}.ladder li[data-verdict=red]{background:var(--red-bg);border-color:var(--red)}.swara-label{flex-direction:column;line-height:1.1;display:flex}.en{font-weight:800}.ta{color:var(--muted);font-size:.95rem}.status{text-align:right;font-weight:600}.marker{background:var(--accent);border:4px solid var(--surface);pointer-events:none;border-radius:50%;width:36px;height:36px;margin-bottom:-18px;transition:bottom 80ms linear;position:absolute;left:18px;box-shadow:0 2px 8px #0005}.marker[data-verdict=green]{background:var(--green)}.marker[data-verdict=yellow]{background:var(--yellow)}.marker[data-verdict=red]{background:var(--red)}.big-number{margin:0;font-size:1.8rem;font-weight:800}.stars{color:var(--yellow);letter-spacing:.1em;margin:0;font-size:3rem}.chips{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.chips li{border:2px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:700}.chips li[data-verdict=green]{background:var(--green-bg);border-color:var(--green)}.chips li[data-verdict=yellow]{background:var(--yellow-bg);border-color:var(--yellow)}.chips li[data-verdict=red]{background:var(--red-bg);border-color:var(--red)}.summary{position:relative}.confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{background:hsl(var(--hue) 80% 55%);width:10px;height:16px;animation:2.4s ease-in forwards fall;position:absolute;top:-20px}@keyframes fall{to{transform:translateY(110vh)rotate(540deg)}}.chart{background:var(--surface);border-radius:var(--radius);border:2px solid var(--line);width:100%;height:auto}.chart text{fill:var(--muted);font-size:12px}.chart .grid{stroke:var(--line)}.chart .line{fill:none;stroke:var(--accent);stroke-width:3px}.chart .dot{fill:var(--accent)}.chart .change{stroke:var(--red);stroke-dasharray:5 4}.swara-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.swara-row li{border:2px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;align-items:center;padding:8px 2px;display:flex}.swara-row li[data-level=high]{background:var(--green-bg)}.swara-row li[data-level=mid]{background:var(--yellow-bg)}.swara-row li[data-level=low]{background:var(--red-bg)}@media (width<=560px){.practice{grid-template-columns:1fr}.ladder-wrap{min-height:60vh}.swara-row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.confetti i,.marker,.gate.holding:before{transition:none;animation:none}}
