.shell{grid-template-columns:240px 1fr;min-height:100dvh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:24px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-head);color:var(--fg);align-items:center;gap:10px;padding:0 8px;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.sidenav{gap:4px;display:grid}.sidenav__item{min-height:44px;color:var(--fg);border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.sidenav__item:hover{background:var(--surface-2)}.sidenav__item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar__foot{gap:8px;margin-top:auto;display:grid}.piano-chip{background:var(--surface-2);color:var(--fg);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;font-size:.875rem;text-decoration:none;display:flex}.piano-chip>span:last-child{display:grid}.piano-chip__dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.piano-chip.is-on .piano-chip__dot{background:var(--accent-2)}.piano-chip__sub{color:var(--muted);font-size:.8rem}.main{min-width:0;padding:32px clamp(16px,3vw,40px) 48px}.page{gap:20px;max-width:1120px;margin:0 auto;display:grid}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page__head .eyebrow{margin-bottom:4px}.tabbar{display:none}@media (width<=899px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:20px 16px calc(84px + env(safe-area-inset-bottom))}.tabbar{z-index:20;background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(6,1fr);display:grid;position:fixed;inset:auto 0 0}.tabbar__item{color:var(--muted);border-radius:10px;justify-items:center;gap:2px;padding:6px 0;font-size:.7rem;text-decoration:none;display:grid}.tabbar__item.is-active{color:var(--accent);font-weight:600}}.score{position:relative}.score__overlay{pointer-events:none;position:absolute;inset:0}.score .vf-notehead.is-ok path{fill:#15924b;stroke:#15924b}.score .vf-notehead.is-early path,.score .vf-notehead.is-late path{fill:#d97f00;stroke:#d97f00}.score .vf-notehead.is-wrong path{fill:#d92b3a;stroke:#d92b3a}.score .vf-notehead.is-missed path{fill:#a3a7b3;stroke:#a3a7b3}.score .is-dim{opacity:.3}.score-cursor{background:#4f46e529;border-radius:8px;transition:left 90ms linear,width 90ms linear;position:absolute;box-shadow:inset 0 0 0 1.5px #4f46e573}.score-ghost{opacity:.8;background:#d92b3a;border-radius:50%;position:absolute;transform:rotate(-20deg)}.score-ghost:before{content:attr(data-sharp);color:#d92b3a;font-size:inherit;line-height:1;position:absolute;top:50%;right:105%;transform:rotate(20deg)translateY(-55%)}.kbd{-webkit-user-select:none;user-select:none;touch-action:none;background:var(--key-white);border:1px solid var(--border);border-radius:10px;width:100%;position:relative;overflow:hidden}.kbd__key{box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:absolute;top:0}.kbd__key--white{background:var(--key-white);border-right:1px solid var(--border);z-index:1;height:100%}.kbd__key--black{background:var(--key-black);z-index:2;border-radius:0 0 4px 4px;height:62%}.kbd--playable .kbd__key{cursor:pointer}.kbd__key.is-down.is-piano{background:var(--accent)}.kbd__key.is-down.is-virtual{background:var(--accent-2)}.kbd__key--white.is-down.is-piano,.kbd__key--white.is-down.is-virtual{border-right-color:#0000}.kbd__label{color:var(--muted);pointer-events:none;margin-bottom:6px;font-size:11px}.kbd__key.is-down .kbd__label{color:#fff;font-weight:600}.kbd__key.is-down.is-wrong{background:#d92b3a}.setup{max-width:980px;margin:0 auto;padding:24px 16px 64px}.setup__top{gap:20px;margin-bottom:24px;display:grid}.lead{max-width:62ch;margin-top:8px}.brand{font-family:var(--font-head);color:var(--fg);align-items:center;gap:10px;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.brand__mark{background:var(--accent);border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.setup__cards,.setup-card{gap:16px;display:grid}.setup-card__head{align-items:flex-start;gap:14px;display:flex}.setup-card__head>div{flex:1;gap:4px;display:grid}.step{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.sub{margin-bottom:8px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.notice{background:var(--surface-2);border-radius:12px;padding:12px 14px;font-size:.95rem}.notice--warn{background:var(--warn-soft);color:var(--fg);border-left:4px solid var(--warn)}.notice--ok{background:var(--accent-2-soft);border-left:4px solid var(--accent-2)}.toggle{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:3px}.field.inline{align-items:center;gap:8px;display:flex}.field.inline input{width:90px}.text-input{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:1;min-width:200px;min-height:44px;padding:0 12px}.big-num{text-align:center;min-width:48px;font-size:1.3rem;font-weight:700}.kbd-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.kbd-wide{min-width:720px}.mini-table{border-collapse:collapse;width:100%;font-size:.95rem}.mini-table th{text-align:left;color:var(--muted);padding:4px 6px;font-size:.8rem;font-weight:600}.mini-table td{border-top:1px solid var(--border);padding:6px}.vel{background:var(--surface-2);vertical-align:middle;border-radius:3px;width:48px;height:6px;margin-right:8px;display:inline-block;overflow:hidden}.vel span{background:var(--accent);height:100%;display:block}.pedals{gap:10px;margin:0 0 8px;padding:0;list-style:none;display:grid}.pedals li{grid-template-columns:150px 1fr;align-items:center;gap:10px;display:grid}.meter{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;height:10px;overflow:hidden}.meter span{background:var(--accent-2);height:100%;transition:width 60ms linear;display:block}.voice-lab{border-top:1px solid var(--border);padding-top:14px}.voice-lab summary{cursor:pointer;min-height:32px}.voice-lab[open]{gap:12px;display:grid}.voice-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.voice-list li{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.beats{gap:10px;display:flex}.beat{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;width:18px;height:18px}.beat--accent{width:22px;height:22px}.beat.is-on{background:var(--accent);border-color:var(--accent)}.latency-live{background:var(--accent-soft);border-radius:12px;gap:8px;padding:16px;display:grid}.latency-live__label{font-family:var(--font-head);color:var(--accent);font-size:1.4rem;font-weight:700}.progress{background:var(--surface);border-radius:4px;height:8px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .12s;display:block}.result-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.result-grid .notice{grid-column:1/-1}.stat{background:var(--surface-2);border-radius:12px;gap:2px;padding:14px;display:grid}.stat__label{color:var(--muted);font-size:.85rem}.stat__value{font-family:var(--font-head);font-size:1.6rem;font-weight:700}.checks{gap:10px;margin:0;padding:0;list-style:none;display:grid}.checks li{background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.checks li.is-ok{background:var(--accent-2-soft)}.check-icon{text-align:center;width:24px;color:var(--muted);font-weight:700}.checks li.is-ok .check-icon{color:var(--accent-2)}.range{min-width:160px;accent-color:var(--accent);flex:1}.score-frame{border:1px solid var(--border);background:#fff;border-radius:12px;padding:8px;overflow-x:auto}.report{background:var(--surface-2);white-space:pre-wrap;word-break:break-word;border-radius:12px;margin:0;padding:14px;font-size:.85rem}@media (width<=560px){.setup-card__head{flex-wrap:wrap}.pedals li{grid-template-columns:1fr;gap:4px}}.btn--big{border-radius:14px;min-height:52px;padding:0 24px;font-size:1.05rem}.btn--sm{min-height:34px;padding:0 12px;font-size:.85rem}.btn--light{color:var(--navy);background:#fff;border-color:#fff}.btn--left{justify-content:flex-start}.icon-btn{border:1px solid var(--border);background:var(--surface);min-width:40px;height:40px;color:var(--fg);cursor:pointer;border-radius:10px;place-items:center;padding:0 8px;font-weight:700;display:inline-grid}.icon-btn.is-on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.seg--sm button{min-height:32px;padding:0 10px;font-size:.85rem}.eyebrow a{color:inherit}.eyebrow--light{color:#c7c4f5}.splash{min-height:100dvh}.bar{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.bar span{background:var(--accent);border-radius:4px;height:100%;display:block}.tag{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-block}.tag--warm{background:var(--warn-soft);color:var(--warn)}.tag--tech{background:var(--accent-2-soft);color:var(--accent-2)}.tag--review{background:var(--surface-2);color:var(--muted)}.tag--new{background:var(--accent-soft);color:var(--accent)}.tag--song{background:var(--bad-soft);color:var(--bad)}.teacher-note{border-radius:var(--radius);background:var(--accent-soft);border:1px solid #0000;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.teacher-note__avatar{background:var(--accent);color:#fff;width:36px;height:36px;font-family:var(--font-head);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.teacher-note__who{color:var(--accent);margin-bottom:2px;font-size:.8rem;font-weight:700}.teacher-note--inline{padding:14px 16px}.today{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.today__main,.today__side{gap:16px;display:grid}.session{gap:18px;display:grid}.session__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.goal{gap:6px;display:grid}.goal__label{font-size:.875rem;font-weight:600}.goal input{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-height:46px;padding:0 14px}.plan{margin:0;padding:0;list-style:none;display:grid}.plan li{border-top:1px solid var(--border);grid-template-columns:24px 110px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.plan__n{color:var(--muted);font-weight:600}.plan__min{color:var(--muted);white-space:nowrap;font-size:.9rem}.session__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.levels{grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px;display:grid}.levels>div{background:var(--surface-2);border-radius:12px;padding:12px;display:grid}.levels__n{font-family:var(--font-head);font-size:2rem;font-weight:800;line-height:1.1}.today__side .card{gap:8px;display:grid}.week{grid-template-columns:repeat(7,1fr);gap:6px;margin:6px 0 4px;display:grid}.week__day{aspect-ratio:1;background:var(--surface-2);color:var(--muted);border-radius:8px;place-items:center;font-size:.75rem;display:grid}.week__day.is-done{background:var(--accent);color:#fff;font-weight:700}.week__day.is-today{outline:2px solid var(--accent);outline-offset:-2px}.facts{gap:6px;margin:0;display:grid}.facts div{justify-content:space-between;display:flex}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:700}.piece{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.piece__side{gap:16px;display:grid}.piece__grid{gap:14px;display:grid;overflow-x:auto}.grid-table{gap:8px;min-width:640px;display:grid}.grid-table__row{grid-template-columns:130px repeat(6,1fr);align-items:center;gap:8px;display:grid}.grid-table__row--head span{color:var(--muted);text-align:center;font-size:.8rem;font-weight:600}.grid-table__label{display:grid}.grid-table__row.is-join .grid-table__label strong{color:var(--accent)}.grid-table__row.is-join .cell{border-style:dotted}.cell{border:1.5px dashed var(--border);background:var(--surface-2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:4px;height:54px;font-weight:700;display:inline-flex}.cell--done{background:var(--accent);color:#fff;border:0}.cell--now{background:var(--surface);border:2px solid var(--accent);color:var(--accent);flex-direction:column;gap:0}.cell--now span{color:var(--muted);font-size:.72rem;font-weight:500}.cell--next{background:var(--accent-soft);color:var(--accent);border:0}.card.card--navy{background:var(--navy);border-color:var(--navy);color:#fff;gap:8px;display:grid}.on-navy-muted{color:#c7c4f5;margin-bottom:8px}.spots{gap:8px;margin:10px 0 12px;padding:0;list-style:none;display:grid}.spots li{gap:8px;font-size:.95rem;display:flex}.spot-mark{color:var(--warn);margin-top:5px;font-size:.7rem}.piece__side .card{gap:8px;display:grid}.focus{background:var(--bg);grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.focus__bar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.focus__title{margin-right:auto;line-height:1.2;display:grid}.focus__controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.focus__score{padding:16px;overflow:auto}.focus__score .score{border-radius:var(--radius);border:1px solid var(--border);background:#fff;min-height:200px;padding:12px}.focus__foot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);gap:10px;display:grid;position:sticky;bottom:0}.focus__status{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.status-dot{background:var(--accent-2);border-radius:50%;flex:none;width:10px;height:10px}.summary{z-index:30;background:#12131a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.summary__card{gap:16px;width:min(620px,100%);display:grid}.summary__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.settings-grid .card{gap:18px}.setting{justify-items:start;gap:6px;display:grid}.setting__label{font-size:.95rem;font-weight:600}.setting--toggle{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.setting--toggle input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.setting input[type=number]{width:100px}.settings-grid .btn{justify-self:start;text-decoration:none}.placeholder{gap:8px;max-width:720px;display:grid}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login__card{text-align:center;justify-items:stretch;gap:14px;width:min(400px,100%);padding:32px 24px;display:grid}.login__card .brand__mark--big{border-radius:14px;justify-self:center;width:52px;height:52px}.login__card .field{text-align:left}.login__card .text-input{width:100%}.brand__mark{background:var(--accent);place-items:center;display:grid}@media (width<=1000px){.today,.piece{grid-template-columns:1fr}}@media (width<=560px){.plan li{grid-template-columns:20px 1fr auto}.plan li .tag{grid-column:2;justify-self:start}.plan li .plan__what{grid-column:2/4}.plan li .plan__min{grid-area:1/3}.hide-sm{display:none}}.setting__hint{display:block}.status-dot.is-live{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.focus__status-text{font-weight:600}.focus__hint{margin-left:auto}.focus__status>.btn:last-child{margin-left:0}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.legend .dot--ok{background:#15924b}.legend .dot--time{background:#d97f00}.legend .dot--wrong{background:#d92b3a}.legend .dot--missed{background:#a3a7b3}@media (width<=560px){.focus__status>.btn:last-child{margin-left:auto}}.library{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.library__main,.library__side{gap:16px;display:grid}.library .card{gap:12px;display:grid}.import h2{margin-bottom:6px}.piece-list{margin:0;padding:0;list-style:none;display:grid}.piece-list li+li{border-top:1px solid var(--border)}.piece-row{color:inherit;border-radius:10px;align-items:center;gap:14px;padding:12px 4px;text-decoration:none;display:flex}.piece-row:hover{background:var(--surface-2)}.piece-row__icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.piece-row__main{min-width:0;margin-right:auto;display:grid}.piece-row__main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.piece-row__tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.import__choose{justify-items:start;gap:8px;display:grid}.import__form{gap:12px;display:grid}.import__form .text-input{width:100%}.import__row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.piece__preview{background:#fff;overflow-x:auto}.piece__side form .text-input{width:100%}@media (width<=1000px){.library{grid-template-columns:1fr}.library__side{order:-1}}@media (width<=560px){.piece-row__tags{display:none}}.finder{gap:14px;margin-bottom:16px;display:grid}.finder__bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finder__search{border:1px solid var(--border);background:var(--surface-2);min-height:46px;color:var(--muted);border-radius:12px;flex:260px;align-items:center;gap:8px;padding:0 14px;display:flex}.finder__search input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:1}.finder__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.finder__sort{align-items:center;gap:8px;display:flex}.btn.is-on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.filters{border-top:1px solid var(--border);gap:12px;padding-top:4px;display:grid}.filters__group{grid-template-columns:90px 1fr;align-items:start;gap:10px;padding-top:8px;display:grid}.filters__label{padding-top:6px;font-size:.85rem;font-weight:600}.filters__foot{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:.85rem}.chip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=dark] .chip.is-on{color:#12131a}.shelves{gap:16px;display:grid}.shelf{gap:8px;display:grid}.fav-mark{color:var(--warn)}.import{margin-bottom:16px}.import__row{grid-template-columns:repeat(3,1fr)}.import__facts{grid-column:1/-1;margin:0}.piece-status{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}@media (width<=560px){.filters__group{grid-template-columns:1fr;gap:6px}.import__row{grid-template-columns:1fr}.finder__sort{width:100%}.finder__sort select{flex:1}}:root{--bg:#f3f4f8;--surface:#fff;--surface-2:#f6f7fb;--fg:#12131a;--muted:#5d6272;--border:#e3e5ee;--accent:#4338ca;--accent-soft:#eceafd;--accent-2:#0f766e;--accent-2-soft:#e3f4f1;--navy:#1e1b4b;--warn:#b45309;--warn-soft:#fdf3e4;--bad:#be123c;--bad-soft:#fde8ee;--key-white:#fff;--key-black:#1b1d26;--radius:16px;--shadow:0 1px 2px #12131a0a, 0 4px 16px #12131a0a;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head:"Plus Jakarta Sans", var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#12131a;--surface:#1b1d26;--surface-2:#232633;--fg:#f2f3f7;--muted:#a3a8b8;--border:#2e3240;--accent:#8b83f5;--accent-soft:#2a2752;--accent-2:#2dd4bf;--accent-2-soft:#12322f;--navy:#0d0c24;--warn:#f59e0b;--warn-soft:#33260f;--bad:#fb7185;--bad-soft:#3a1620;--key-white:#e9eaf0;--key-black:#0b0c11;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.01em;margin:0;line-height:1.2}h1{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700}h2{font-size:1.25rem;font-weight:700}h3{font-size:1rem;font-weight:600}p{margin:0}a{color:var(--accent)}button,select,input{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:.875rem}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{filter:brightness(1.08)}.btn--teal{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.field{gap:6px;display:grid}.field label{font-size:.875rem;font-weight:600}select,input[type=number]{border:1px solid var(--border);background:var(--surface);border-radius:10px;max-width:100%;min-height:44px;padding:0 12px}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.pill{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.pill--ok{background:var(--accent-2-soft);color:var(--accent-2)}.pill--warn{background:var(--warn-soft);color:var(--warn)}.pill--bad{background:var(--bad-soft);color:var(--bad)}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stack{gap:12px;display:grid}.hold{text-align:center;place-content:center;justify-items:center;gap:8px;min-height:100dvh;padding:16px;display:grid}.hold h1{font-size:3rem}.hold .btn{margin-top:12px;text-decoration:none}:root[data-theme=dark] .btn--primary,:root[data-theme=dark] .teacher-note__avatar,:root[data-theme=dark] .cell--done,:root[data-theme=dark] .week__day.is-done{color:#12131a}
