.help-fab{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;border:0;background:var(--accent);color:#1d1a14;font:700 14px/1 inherit;box-shadow:0 6px 18px #0000002e;cursor:pointer}.help-fab:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 60%,#000);outline-offset:2px}.help-fab.is-kid{position:static;right:auto;bottom:auto;z-index:auto;box-shadow:none;font-size:16px;padding:12px 16px;margin:4px 0;align-self:flex-start}@media (min-width: 900px){.help-fab:not(.is-kid){bottom:20px}}.help-backdrop{position:fixed;inset:0;z-index:90;background:#00000059;display:flex;justify-content:flex-end;align-items:flex-end;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.help-panel{width:min(460px,100%);max-height:min(86vh,760px);overflow:auto;background:var(--surface);color:var(--text, inherit);border:1px solid var(--border);border-radius:18px;padding:14px 16px 16px;display:grid;gap:12px;box-shadow:0 16px 40px #00000040}.help-panel.is-kid{font-size:16px}.help-head{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}.help-head b{font-size:16px}.help-head small{grid-column:1;color:var(--text-muted);font-size:12.5px}.help-head .icon-btn{grid-row:1 / span 2;grid-column:2}.help-ask{display:grid;gap:6px}.help-ask label{font-size:13px;color:var(--text-muted)}.help-ask textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:9px 11px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2, transparent);color:inherit;resize:vertical}.help-ask .btn{justify-self:start}.help-answer,.help-chris{display:grid;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--border)}.help-answer{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.help-text{margin:0;font-size:15px;line-height:1.45;white-space:pre-line}.help-row{display:flex;flex-wrap:wrap;gap:6px}.help-chris p{margin:0;font-size:14px}.help-video{margin:0;display:grid;gap:4px}.help-video iframe,.help-video video{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;background:#000}.help-video figcaption{font-size:13px;color:var(--text-muted)}.help-faq h4{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.help-faq ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.help-faq li button{width:100%;text-align:left;font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer}.help-faq li button[aria-expanded=true]{border-color:var(--accent)}.help-faq li p{margin:4px 2px 6px;font-size:13.5px;line-height:1.45;color:var(--text-muted)}.cv{display:grid;gap:12px}.cv-form{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cv-form label{font-size:12.5px;color:var(--text-muted);display:grid;gap:4px}.cv-form input,.cv-form select{width:100%;box-sizing:border-box;font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2, transparent);color:inherit}.cv-subjects{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px}.cv-subjects label{display:inline-flex;flex-direction:row;gap:4px;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:inherit;cursor:pointer}.cv-subjects input{width:auto}.cv-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cv-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:13.5px}.cv-list small{color:var(--text-muted);display:block;font-size:12px}.cv-count{font-weight:800;color:var(--accent-ink, var(--accent));font-variant-numeric:tabular-nums}.lroom-late{margin:8px 12px 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}.viewas-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:12.5px;color:var(--text-faint)}.viewas-switch select{flex:1 1 auto;min-width:0;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit}.viewas-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 14px;margin:0 0 12px;border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--text);font-size:13.5px}.viewas-bar>svg{color:var(--accent)}.viewas-bar b{color:var(--accent)}.viewas-bar>.btn:last-child{margin-left:auto}.viewas-day{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.viewas-day select{padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit}.viewas-on-account .viewas-switch{max-width:320px;margin-bottom:14px}.viewas-card{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);cursor:pointer}.protect{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.protect-text{position:absolute;inset:-10% -30%;display:flex;flex-direction:column;justify-content:space-around;transform:rotate(-24deg)}.protect-text span{white-space:pre;font:500 12px/1 Manrope,Segoe UI,Arial,sans-serif;letter-spacing:.06em;color:#80808014}.protect-text span:nth-child(2n){padding-left:18%}.protect.is-dark{background:#000;z-index:9999}.protect.is-dark>*{display:none}.lib-reader,.book-drawer,.reader-page,.lib-frame-wrap{position:relative}body.is-protected,body.is-protected *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}body.is-protected input,body.is-protected textarea{-webkit-user-select:text!important;user-select:text!important}@media print{body.is-protected>*{display:none!important}body.is-protected:before{content:"Chris Guitar Tuto â€” ce contenu se lit dans lâ€™application.";display:block;margin-top:40vh;text-align:center;font:600 16px Arial,sans-serif;color:#000}}.lib{max-width:1100px;margin:0 auto}.lib-head h1{margin:0 0 4px}.lib-group{margin-top:28px}.lib-group h2{font-size:20px;margin:0 0 12px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.lib-book{display:flex;flex-direction:column;gap:8px;text-align:left;padding:10px;background:var(--surface, #121214);border:1px solid var(--line, rgba(255,255,255,.08));border-radius:12px;cursor:pointer;color:inherit}.lib-book:hover{border-color:var(--amber, #ffb43d)}.lib-book:focus-visible{outline:2px solid var(--amber, #ffb43d);outline-offset:2px}.lib-book img,.lib-nocover{width:100%;aspect-ratio:148 / 210;object-fit:cover;border-radius:6px;background:#000;display:block}.lib-nocover{display:flex;align-items:center;justify-content:center;padding:10px;font-weight:700}.lib-book b{font-size:14px;line-height:1.25}.lib-open{font-size:13px;color:var(--amber, #ffb43d);margin-top:auto}.lib-level-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.lib-grade-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700}.lib-grade-pick select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:6px 10px;font:inherit;font-weight:700}.lib-level{align-self:flex-start;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;border:1px solid var(--border-strong, rgba(255,255,255,.14));color:var(--text-muted)}.lib-level.is-mine{border-color:var(--amber, #ffb43d);color:var(--amber, #ffb43d)}.lib-mine h2{color:var(--amber, #ffb43d)}.lib-more{margin-top:12px}.lib-open-note{margin-top:24px}.lib-reader{display:flex;flex-direction:column;gap:10px}.lib-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lib-bar h1{font-size:20px;margin:0;flex:1;min-width:160px}.lib-langs{display:flex;gap:6px}.lib-frame{width:100%;height:calc(100vh - 210px);min-height:480px;border:0;border-radius:12px;background:#1a1a1d}@media (max-width: 700px){.lib-frame{height:calc(100vh - 240px)}}.reader-tools{display:flex;align-items:center;gap:4px}.reader-tools .btn{min-width:40px;min-height:36px}.reader-zoom{min-width:42px;text-align:center;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}@media (max-width: 700px){.reader-tools-word,.reader-zoom{display:none}.reader-bar{gap:8px;row-gap:4px}}.lib-reader.is-full,.book-drawer.is-full{position:fixed;inset:0;z-index:95;width:auto;gap:0;background:#0b0b0c;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.lib-reader.is-full .lib-bar{padding:8px 12px}.lib-reader.is-full .lib-frame-wrap{flex:1;min-height:0}.lib-reader.is-full .lib-frame{height:100%;min-height:0;border-radius:0;display:block}.book-drawer{position:fixed;top:0;right:0;bottom:0;width:min(46vw,640px);z-index:80;display:flex;flex-direction:column;background:#1a1a1d;border-left:1px solid var(--border-strong, rgba(255,255,255,.14));box-shadow:-20px 0 50px #00000073}.book-drawer-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border, rgba(255,255,255,.08));background:var(--bg, #0b0b0c)}.book-drawer-bar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-drawer iframe{flex:1;width:100%;border:0}@media (max-width: 800px){.book-drawer{width:100%;border-left:0}}.book-answers{margin-top:18px;display:grid;gap:8px}.book-answers h3{margin:0}.book-answers-list{margin:6px 0 10px;display:grid;gap:6px}.book-answers-list>div{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.book-answers-list dt{font-size:12px;color:var(--text-muted)}.book-answers-list dd{margin:2px 0 0;white-space:pre-wrap;font-weight:600}.stab{width:100%;overflow-x:hidden}.stab-svg{display:block;max-width:100%;height:auto;font-family:var(--font-body, inherit)}.stab-string{stroke:var(--text-faint, #6c6c74);stroke-width:1;opacity:.75}.stab-barline{stroke:var(--text-muted, #8a8a92);stroke-width:1.2}.stab-barline.is-double{stroke-width:3}.stab-barline.is-heavy{stroke-width:3;stroke:var(--text, #e9e9ee)}.stab-repeat circle{fill:var(--text, #e9e9ee)}.stab-barno{font-size:10.5px;fill:var(--text-faint, #6c6c74);font-variant-numeric:tabular-nums}.stab-section{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;fill:var(--accent, #E8971B)}.stab-ts{font-size:15px;font-weight:700;fill:var(--text, #e9e9ee);text-anchor:middle;font-variant-numeric:tabular-nums}.stab-dot{fill:var(--surface, #151517);stroke:var(--text, #e9e9ee);stroke-width:1.6}.stab-dot.is-ghost{stroke-dasharray:3 2;opacity:.8}.stab-dot.is-dead{fill:transparent;stroke:var(--text-muted, #8a8a92)}.stab-label{fill:var(--text, #e9e9ee);font-weight:700;text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums}.stab-beat.is-active .stab-dot{stroke:var(--accent, #E8971B);stroke-width:2.4}.stab-active{fill:color-mix(in srgb,var(--accent, #E8971B) 16%,transparent)}.stab-rest{fill:transparent;stroke:var(--text-faint, #6c6c74);stroke-width:1.4}.stab-chord{font-size:13px;font-weight:700;fill:var(--accent, #E8971B);text-anchor:middle}.stab-text{font-size:11px;fill:var(--text-muted, #8a8a92);text-anchor:middle;font-style:italic}.stab-fx{font-size:10.5px;fill:var(--text-muted, #8a8a92);text-anchor:middle}.stab-slur{fill:none;stroke:var(--text, #e9e9ee);stroke-width:1.4}.stab-slide{stroke:var(--text, #e9e9ee);stroke-width:1.4}.stab-stem,.stab-flag{stroke:var(--text-muted, #8a8a92);stroke-width:1.4;stroke-linecap:round}.stab-dotted{fill:var(--text-muted, #8a8a92)}.stab-tuplet{font-size:10px;fill:var(--text-muted, #8a8a92);text-anchor:middle;font-style:italic}.stab-lh{font-size:12px;font-weight:700;fill:var(--text, #e9e9ee);text-anchor:middle;font-variant-numeric:tabular-nums}.stab-rh{font-size:12px;font-weight:700;fill:var(--accent, #E8971B);text-anchor:middle;font-style:italic}.stab-rowlabel{font-size:9px;letter-spacing:.08em;fill:var(--text-faint, #6c6c74)}.stab-diagram{color:var(--text, #e9e9ee)}.stab-diagram .ca-mark,.stab-diagram .ca-base{fill:currentColor;font-size:9px;text-anchor:middle}.stab.on-paper .stab-string,.stab.on-paper .stab-barline{stroke:#4a4a4a}.stab.on-paper .stab-dot{fill:#fff;stroke:#1a1a1a}.stab.on-paper .stab-label,.stab.on-paper .stab-lh,.stab.on-paper .stab-slur,.stab.on-paper .stab-ts{fill:#1a1a1a;stroke:#1a1a1a}.stab.on-paper .stab-label{stroke:none}.take-aim{position:absolute;right:12px;bottom:58px;z-index:5;display:inline-flex;align-items:center;gap:7px;margin:0;padding:6px 11px;max-width:min(420px,calc(100% - 24px));font-size:13px;font-weight:600;line-height:1.35;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.take-aim svg{color:var(--accent);flex:none}@media (max-width: 720px){.take-aim{right:8px;bottom:50px;font-size:12px}}@media (max-width: 600px){.take-aim{bottom:100px;max-width:70vw}}.take-stars-big{display:grid;place-items:center;min-height:112px}.take-stars-big .take-stars{font-size:30px;letter-spacing:3px}.take-stars-big.is-good .take-stars{color:var(--ok)}.take-stars-big.is-fair .take-stars,.take-stars-big.is-poor .take-stars{color:var(--accent)}.take-soon{margin:0}.tk-strip{display:grid;gap:10px}.tk-strip:empty{display:none}.tk-best{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);animation:tk-pop .48s cubic-bezier(.2,1.4,.4,1) both}.tk-best>div{display:grid;gap:1px;position:relative}.tk-best b{font-size:17px;font-weight:800;letter-spacing:.01em}.tk-best span{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;opacity:.85}.tk-best>svg{position:relative;flex:none}.tk-best-burst{position:absolute;inset:0;pointer-events:none}.tk-best-burst i{position:absolute;left:30px;top:50%;width:6px;height:6px;border-radius:2px;background:var(--accent-contrast);opacity:0;animation:tk-burst .9s ease-out calc(.12s + var(--i) * 25ms) both;transform-origin:center;--a: calc(var(--i) * 36deg)}@keyframes tk-pop{0%{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}@keyframes tk-burst{0%{opacity:.9;transform:rotate(var(--a)) translate(0)}to{opacity:0;transform:rotate(var(--a)) translate(90px)}}@media (prefers-reduced-motion: reduce){.tk-best,.tk-best-burst i{animation:none}.tk-best-burst{display:none}}.tk-note{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text)}.tk-note svg{color:var(--accent);flex:none}.tk-trend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 10px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.tk-trend-text{display:grid;gap:2px;font-size:13px;color:var(--text-muted)}.tk-trend-text b{color:var(--ok);font-size:14px}.tk-line{display:block;max-width:100%;overflow:visible}.tk-line-goal{stroke:var(--text-faint);stroke-dasharray:3 3;stroke-width:1}.tk-line-path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.tk-line-dot{fill:var(--accent)}.tk-line-now{fill:var(--accent);stroke:var(--surface);stroke-width:2}.tk-then{display:grid;gap:8px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent-soft)}.tk-then.is-compact{border-color:var(--border);background:var(--surface-2)}.tk-then-head{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:700}.tk-then-head svg{color:var(--accent)}.tk-then-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tk-then-row>svg{color:var(--text-faint)}.tk-then-btn{display:grid;gap:1px;text-align:left;min-width:96px;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font:inherit}.tk-then-btn span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tk-then-btn b{font-size:18px;font-variant-numeric:tabular-nums}.tk-then-btn.is-now b{color:var(--ok)}.tk-then-btn.is-on{outline:2px solid var(--accent);outline-offset:1px}.tk-then-btn:focus-visible{outline:2px solid var(--accent)}.tk-then audio{display:none}.tk-fixed{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:14px;line-height:1.45;color:var(--text)}.tk-fixed svg{color:var(--ok);flex:none;margin-top:3px}.tk-fixed b{color:var(--ok)}.kw{display:grid;gap:8px;justify-items:center}.kw-svg{max-width:100%;height:auto}.kw-ring{fill:none;stroke:var(--border-strong);stroke-width:1.5;stroke-dasharray:2 4}.kw-dot{fill:var(--surface-3);stroke:var(--border-strong);stroke-width:1.5}.kw-name{font-size:13px;font-weight:800;fill:var(--text-faint)}.kw-key.is-learning .kw-dot{fill:var(--accent-soft);stroke:var(--accent)}.kw-key.is-learning .kw-name{fill:var(--text)}.kw-key.is-mastered .kw-dot{fill:var(--ok);stroke:var(--ok)}.kw-key.is-mastered .kw-name{fill:#06130d}.kw-pips circle{fill:var(--border-strong)}.kw-pips circle.is-on{fill:var(--accent)}.kw-pips circle.is-done{fill:var(--ok)}.kw-legend{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none;font-size:12px;color:var(--text-muted)}.kw-legend li{display:inline-flex;align-items:center;gap:5px}.kw-legend i{width:7px;height:7px;border-radius:50%;background:var(--border-strong)}.kw-count{font-size:34px;font-weight:800;fill:var(--ok);font-variant-numeric:tabular-nums}.kw-sub{font-size:12px;font-weight:600;fill:var(--text-muted)}.kw-hint{margin:0;text-align:center;max-width:42ch}.mode-pick .segmented button{min-width:96px}.tk-page{display:grid;gap:18px}.tk-block{display:grid;gap:10px;padding:16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.tk-block h3{margin:0;font-size:17px;font-weight:800}.tk-block .hint{margin:0}.tk-map{display:grid;gap:10px}.tk-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.tk-map-count{display:flex;align-items:baseline;gap:8px;margin:0}.tk-map-count b{font-size:32px;line-height:1;font-weight:800;color:var(--ok);font-variant-numeric:tabular-nums}.tk-map-count span{font-size:14px;color:var(--text-muted);font-weight:600}.tk-legend{display:flex;gap:12px;margin:0;padding:0;list-style:none;font-size:12px;color:var(--text-muted)}.tk-legend li{display:inline-flex;align-items:center;gap:5px}.tk-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.tk-legend .is-new{background:var(--surface-3);border:1px solid var(--border-strong)}.tk-legend .is-learning{background:var(--accent)}.tk-legend .is-mastered{background:var(--ok)}.tk-map-row{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:start}.tk-map-grade{font-size:12px;font-weight:700;color:var(--text-muted);padding-top:6px;text-transform:uppercase;letter-spacing:.04em}.tk-map-chips{display:flex;flex-wrap:wrap;gap:6px}.tk-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:7px;font-size:13px;font-weight:700;border:1px solid var(--border-strong);background:var(--surface-3);color:var(--text-faint)}.tk-chip.is-learning{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.tk-chip.is-mastered{background:var(--ok);border-color:var(--ok);color:#06130d}.tk-chip-pips{display:inline-flex;gap:2px}.tk-chip-pips i{width:5px;height:5px;border-radius:50%;background:var(--border-strong)}.tk-chip-pips i.is-on{background:var(--accent)}@media (max-width: 480px){.tk-map-row{grid-template-columns:1fr;gap:4px}.tk-map-grade{padding-top:0}}.tk-fixed-list,.tk-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none}.tk-step{display:grid;gap:8px}.tk-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font:inherit}.tk-step-head:focus-visible{outline:2px solid var(--accent)}.tk-step-title{font-size:14px;font-weight:600;min-width:0;overflow-wrap:anywhere}.tk-step-nums{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-muted);flex:none}.tk-step-nums b{color:var(--text)}.tk-step-nums em{font-style:normal;color:var(--ok);font-weight:700;margin-left:6px}.mc{max-width:820px;margin:0 auto}.mc-years{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.mc-years button{padding:8px 14px;border-radius:999px;border:0;background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:13.5px;white-space:nowrap;cursor:pointer}.mc-years button.is-on{background:var(--amber, #ffb43d);color:#000;font-weight:700}.mc-yname{color:var(--text-muted);font-size:13px;margin:10px 0 4px}.mc-terms{list-style:none;margin:0;padding:0}.mc-term{border-top:1px solid var(--border)}.mc-term-head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.mc-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;font-size:12px;flex:none;color:var(--text-muted)}.mc-term.done .mc-dot{background:#5fd68a;border-color:#5fd68a;color:#000}.mc-term.now .mc-dot{border-color:var(--amber, #ffb43d);color:var(--amber, #ffb43d)}.mc-term-t{flex:1;min-width:0;display:flex;flex-direction:column}.mc-term-t b{font-size:15px}.mc-term-t small{color:var(--text-muted);font-size:12.5px}.mc-grade{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:#ffb43d24;color:var(--amber, #ffb43d);white-space:nowrap}.mc-grade.is-done{background:#5fd68a24;color:#5fd68a}.mc-lessons{padding:0 0 12px 40px}.mc-lesson{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px dashed var(--border)}.mc-n{width:18px;font-weight:600;color:var(--text-faint, #75717b)}.mc-lesson.done .mc-n{color:#5fd68a}.mc-lesson.next .mc-n{color:var(--amber, #ffb43d)}.mc-lt{flex:1;min-width:0;font-size:14px;position:relative;padding-bottom:3px}.mc-lt i{position:absolute;left:0;bottom:0;height:2px;background:var(--amber, #ffb43d);border-radius:2px}.mc-play,.mc-book{min-width:40px;height:36px;border-radius:10px;border:0;background:var(--surface-2);color:inherit;font:inherit;font-size:14px;cursor:pointer}.mc-lesson.next .mc-play{background:var(--amber, #ffb43d);color:#000;font-weight:700}.mc-play:focus-visible,.mc-book:focus-visible,.mc-term-head:focus-visible,.mc-card:focus-visible{outline:2px solid var(--amber, #ffb43d);outline-offset:2px}.mc-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:20px 0 8px}.mc-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:14px;border-radius:14px;background:var(--surface, #121214);border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer}.mc-card:hover{border-color:var(--amber, #ffb43d)}.mc-card span{color:var(--text-muted);font-size:13px}@media (max-width: 600px){.mc-lessons{padding-left:0}}.dayplan{background:var(--surface, #121214);border:1px solid var(--border);border-radius:16px;padding:16px;margin:0 0 16px;display:flex;flex-direction:column}.dayplan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.dayplan-head h2{font-size:20px;margin:0}.dayplan-head p{margin:2px 0 0;color:var(--text-muted);font-size:13px}.dayplan-pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:#ffb43d24;color:var(--amber, #ffb43d)}.dayplan-task{display:flex;align-items:center;gap:12px;padding:11px 0;border:0;border-top:1px solid var(--border);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dayplan-task:first-of-type{border-top:0}.dayplan-task i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:16px;flex:none}.dayplan-task i.is-amber{background:#ffb43d24;color:var(--amber, #ffb43d)}.dayplan-task i.is-green{background:#5fd68a21}.dayplan-task i.is-sky{background:#8fb8ff24;color:#8fb8ff}.dayplan-task span{display:flex;flex-direction:column;min-width:0}.dayplan-task b{font-size:14.5px}.dayplan-task small{color:var(--text-muted);font-size:12.5px}.dayplan-task:focus-visible,.dayplan-go:focus-visible{outline:2px solid var(--amber, #ffb43d);outline-offset:2px}.dayplan-go{margin-top:10px;width:100%;justify-content:center}.ta-lead{color:var(--text-muted);font-size:14px;margin:12px 0;max-width:70ch}.ta-progress{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}.ta-progress .bar{flex:1;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.ta-progress .bar b{display:block;height:100%;background:#5fd68a;border-radius:999px}.ta-weeks{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:10px}.ta-week{cursor:default;gap:8px}.ta-week-head{display:flex;align-items:center;gap:10px}.ta-week-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}.ta-tick{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;cursor:pointer}.ta-tick input{width:18px;height:18px;accent-color:var(--amber, #ffb43d)}.ta-final,.ta-plan,.ta-block{cursor:default}.ta-plan ol{margin:6px 0 4px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--text-muted)}.ta-plan ol em{font-style:normal;display:inline-block;min-width:52px;color:var(--amber, #ffb43d);font-weight:600}.ta-plan ol b{color:var(--text)}.ta-exam{cursor:default;margin-top:12px}.ta-exam dl{margin:0;display:grid;gap:8px}.ta-exam dl div{display:grid;grid-template-columns:130px 1fr;gap:10px;border-top:1px solid var(--border);padding-top:8px}.ta-exam dl div:first-child{border-top:0;padding-top:0}.ta-exam dt{color:var(--amber, #ffb43d);font-weight:600;font-size:13px}.ta-exam dd{margin:0;font-size:14px}.ta-h{font-size:16px;margin:22px 0 8px}.ta-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.ta-doc{text-decoration:none;font:inherit;color:inherit}.ta-linkbtn{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}@media (max-width: 520px){.ta-exam dl div{grid-template-columns:1fr;gap:2px}}.reader{position:fixed;inset:0;z-index:90;background:#0b0b0c;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.reader-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border)}.reader-bar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-bar>span{color:var(--text-muted);font-size:13px;white-space:nowrap}.reader-bar{flex-wrap:wrap}.reader-page{flex:1;min-height:0;position:relative}.reader-scroll{position:absolute;inset:0;overflow:auto;padding:12px;-webkit-overflow-scrolling:touch}.reader-page img{display:block;margin:0 auto;max-width:none;height:auto;border-radius:4px;background:#fff;pointer-events:none;-webkit-user-drag:none}.reader-nav{display:flex;align-items:center;gap:12px;padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border)}.reader-nav input{flex:1;accent-color:var(--amber, #ffb43d)}@media print{.reader,.lib-frame,.book-drawer{display:none!important}}.pv{display:flex;flex-direction:column;gap:12px}.pv-card{cursor:default;gap:8px}.pv-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:4px 0}.pv-week span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.pv-week i{display:block;width:100%;height:30px;border-radius:8px;background:var(--surface-2)}.pv-week i.on{background:var(--amber, #ffb43d)}.pv-week i.today{outline:2px solid var(--amber, #ffb43d);outline-offset:-2px}.pv-good{color:#5fd68a!important}.pv-list{margin:0;padding-left:18px;color:var(--text-muted);font-size:13.5px}.pv-grades{display:flex;gap:22px}.pv-grades span{display:flex;flex-direction:column;font-size:12.5px;color:var(--text-muted)}.pv-grades em{font-style:normal;font-size:24px;font-weight:700;color:var(--amber, #ffb43d)}.pv-btn{align-self:flex-start;margin-top:4px}.pv-link{color:var(--amber, #ffb43d)!important;margin-top:4px}a.mc-card{text-decoration:none}.lrecap{display:flex;flex-direction:column;gap:12px;text-align:left}.lrecap-title{font-size:15px}.lrecap-part{display:flex;flex-direction:column;gap:4px}.lrecap-part h4{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.lrecap-part p{margin:0;font-size:14px;white-space:pre-wrap}.lrecap-board{margin:0;padding-left:18px;font-size:14px;display:flex;flex-direction:column;gap:2px}.lrecap-drills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}.lrecap-drills li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-2)}.lrecap-drills b{color:var(--accent);letter-spacing:.08em}.lrecap-what{min-width:0;overflow-wrap:anywhere}.lrecap-what .pill{margin-left:6px;font-style:normal}.lrecap-word{margin:0;padding:8px 12px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius-sm);font-size:15px}.lrecap-more{list-style:none;margin-left:-18px;color:var(--text-muted);font-size:13px}.voice-note{display:flex;flex-direction:column;gap:6px}.voice-note-ready{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.voice-note-ready audio{max-width:100%;height:36px}.lroom-challenge{display:flex;align-items:center;gap:8px;font-size:14px}.lroom-challenge-last{margin:0;font-size:13px;color:var(--text-muted)}.lroom-challenge-last b{color:var(--accent)}.lroom-drill-list .pill{margin-left:6px;font-size:11px}.lroom-word-count{align-self:flex-end;font-size:11px;color:var(--text-muted)}.lrecap-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.lrecap-photos a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.lrecap-photos img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.lesson-rating{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--surface-2, rgba(255, 180, 61, .08));border:1px solid var(--line, rgba(0, 0, 0, .08));display:grid;gap:8px}.lesson-rating.is-compact{padding:10px 12px}.lr-q{font-size:15px}.lr-stars{display:flex;gap:6px}.lr-stars button{font-size:30px;line-height:1;background:none;border:0;padding:2px;cursor:pointer;color:var(--line-2, #cfc6b8);transition:transform .12s,color .12s}.lr-stars button.is-on{color:var(--amber, #ffb43d)}.lr-stars button:not(:disabled):hover{transform:scale(1.15);color:var(--amber, #ffb43d)}.lr-stars button:disabled{cursor:default}.lr-stars button:focus-visible{outline:2px solid var(--amber, #ffb43d);outline-offset:2px;border-radius:6px}.lr-more{display:grid;gap:6px}.lr-more label{font-size:14px}.lr-more textarea{width:100%;font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;border:1px solid var(--line, rgba(0, 0, 0, .15));background:var(--surface, #fff);color:inherit;resize:vertical}.lr-check{display:flex;gap:8px;align-items:flex-start;font-size:13px}.lr-check input{margin-top:3px}.lr-acts{display:flex;gap:8px;flex-wrap:wrap}.lr-thanks{margin:0;font-weight:600}.lr-error{margin:0;color:var(--bad, #c2352a);font-size:13px}.cl-feedback{display:grid;gap:4px;margin-top:6px}.cl-fb{font-size:13px}.cl-fb .st{color:var(--amber, #ffb43d);letter-spacing:1px;margin-right:6px}.cl-fb.is-low .st{color:var(--bad, #c2352a)}.cl-fb q{color:var(--muted, #6a6358)}.cl-fb .pub{font-size:11px;font-weight:700;margin-left:6px;padding:1px 6px;border-radius:99px;background:#1fb88426;color:var(--ok, #13875d)}.cl-avg{font-size:13px;color:var(--muted, #6a6358);margin:0 0 8px}.cl-avg b{color:var(--amber, #ffb43d)}.cl{display:grid;gap:22px}.cl-h{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-muted)}.cl-diary.is-live .cl-h{color:var(--accent)}.cl-list{display:grid;gap:10px}.cl-lesson{display:flex;gap:14px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.cl-lesson.is-live{border-color:var(--accent);background:radial-gradient(70% 45% at 0% 0%,var(--accent-soft),transparent 70%),var(--surface)}.cl-lesson.is-off{opacity:.6}.cl-when{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;min-width:58px;font-variant-numeric:tabular-nums}.cl-when b{font-family:var(--font-display);font-size:24px;line-height:1;font-weight:700;letter-spacing:var(--track-tight);color:var(--accent)}.cl-when span{margin-top:4px;font-size:11.5px;color:var(--text-faint);white-space:nowrap}.cl-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.cl-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.cl-title{font-size:15px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.cl-meta{font-size:12.5px;color:var(--text-muted)}.cl-seats{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.cl-seats li{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);font-size:12px}.cl-seats li.is-in{border-color:var(--ok);color:var(--ok)}.cl-seats li .icon{color:var(--ok)}.cl-hw{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.cl-hw b{color:var(--text);font-weight:600;margin-right:6px}.cl-hw.is-notes{color:var(--text-faint)}.cl-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.cl-acts .btn{display:inline-flex;align-items:center;gap:6px}.cl-cancel:hover:not(:disabled){color:var(--danger)}.cl-opens{flex:1 0 100%;font-size:11.5px;color:var(--text-faint)}.cl .pill.is-live,.live-card .pill.is-live{background:var(--accent-soft);color:var(--accent)}.cl .pill.is-off{background:var(--surface-3);color:var(--text-faint)}.cl-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.cl-form .hint{margin:-6px 0 0}.cl-kinds{display:flex;width:100%;box-sizing:border-box}.cl-kinds button{flex:1 1 0;min-width:0;white-space:normal;line-height:1.2;padding:5px 8px;font-size:12.5px}.cl-when-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.cl-when-row .cl-minutes{grid-column:1 / -1;max-width:140px}.cl-when-row input[type=date],.cl-when-row input[type=time],.cl-when-row input[type=number]{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:7px 9px;font-size:13.5px;color:var(--text);font-family:inherit;color-scheme:dark}:root[data-theme=light] .cl-when-row input{color-scheme:light}.cl-students{display:grid;gap:8px}.cl-students-head{display:flex;align-items:baseline;justify-content:space-between;font-size:12px;color:var(--text-muted)}.cl-students-head small{font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.cl-search{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:7px 9px;font-size:13.5px;color:var(--text);font-family:inherit}.cl-pick{list-style:none;margin:0;display:grid;gap:4px;max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px;background:var(--surface-2)}.cl-pick button{width:100%;display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius);background:none;color:inherit;font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.cl-pick .cl-name small{display:block;font-size:11px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis}.cl-pick .cl-name{flex:1 1 auto;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-pick button:hover:not(:disabled){background:var(--surface-3)}.cl-pick button.is-on{border-color:var(--accent);background:var(--accent-soft)}.cl-pick button.is-on .icon{color:var(--accent)}.cl-pick button:disabled{opacity:.45;cursor:not-allowed}.live-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;margin:0 0 18px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.live-card.is-open{border-color:var(--border-strong)}.live-card.is-live{border-color:var(--accent);background:radial-gradient(70% 45% at 0% 0%,var(--accent-soft),transparent 70%),var(--surface)}.live-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.live-card-title{font-family:var(--font-display);font-size:20px;line-height:1.1;font-weight:700;letter-spacing:var(--track-tight)}.live-card-meta{font-size:13px;color:var(--text-muted)}.live-card-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:8px}.live-card-acts .btn{display:inline-flex;align-items:center;gap:6px}.live-card-acts small,.live-card-note,.live-card-more{font-size:12px;color:var(--text-faint)}.live-card-note{margin-top:2px}@media (min-width: 720px){.cl{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start}.cl>.cl-diary,.cl>.form-ok,.cl>.auth-error,.cl>.page-empty{grid-column:1}.cl>.cl-form{grid-column:2;grid-row:1 / span 6}.cl-when-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px}.cl-when-row .cl-minutes{grid-column:auto;max-width:none}}.cl-repeat{display:grid;gap:8px}.cl-repeat-label{font-size:13px;font-weight:600;color:var(--text-muted)}.cl-repeat .hint{font-size:12px}.lp{display:grid;gap:12px;margin-top:12px}.lp-student{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2, var(--surface))}.lp-head{display:flex;align-items:center;gap:8px}.lp-grid{display:grid;gap:12px}.lp-block h4{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-muted)}.lp-block small,.lp-missing{font-size:12px;color:var(--text-faint)}.lp-step{display:grid;gap:2px;margin:0 0 6px}.lp-step span{font-size:13px;color:var(--text-muted)}.lp-bar{height:6px;border-radius:var(--radius-sm);background:var(--border);overflow:hidden}.lp-bar i{display:block;height:100%;background:var(--accent)}.lp-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.lp-figure{margin:0;font-variant-numeric:tabular-nums}.lp-scores{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:4px}.lp-scores li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:13px}.lp-scores li b{font-variant-numeric:tabular-nums}.lp-scores li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.lp-scores li time{color:var(--text-faint);font-size:12px}.lp-scores li.is-low b{color:var(--danger, var(--accent))}@media (min-width: 720px){.lp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lp-where,.lp-missing{grid-column:1 / -1}}.cl-absent{display:grid;gap:4px}.cl-absent p{margin:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px}.cc-list{display:grid;gap:8px;margin:12px 0}.cc-list h3{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.cc-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.cc-avatar{font-size:22px;text-align:center}.cc-who{display:grid;gap:2px;min-width:0}.cc-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-who small,.cc-when{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-new{display:grid;gap:8px}.cc-pick{display:grid;gap:4px;max-height:240px;overflow:auto;padding:4px 0}.cc-pick label{display:flex;gap:8px;align-items:center;font-size:14px}.cc-pick small{color:var(--text-muted)}.cc-chat{display:grid;gap:8px}.cc-chat .btn-row{align-items:center;flex-wrap:wrap;gap:8px}.cc-log{max-height:55vh;overflow:auto;display:grid;gap:6px}.cc-author{display:block;font-size:11.5px;color:var(--text-muted);margin-bottom:2px}.chat-msg.is-mine{justify-self:end}.chat-msg .chat-bubble time{display:block;font-size:10.5px;color:var(--text-faint);margin-top:2px}.chat-msg .chat-bubble p{margin:0;white-space:pre-wrap}.so-board ol,.so-buddy-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.so-board li{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:8px;align-items:center;font-size:14px}.so-board li.is-me{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:8px;padding:4px 6px;margin:0 -6px}.so-days{letter-spacing:2px;color:var(--accent);font-size:12px}.so-board li small{color:var(--text-muted);font-size:12px;white-space:nowrap}.so-buddy-list li{display:grid;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--border)}.so-buddy-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.so-buddy-head small{color:var(--text-muted);font-size:12.5px}.so-invite{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.so-invite select{font:inherit;font-size:13px;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit}.me-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface));margin:10px 0}.me-card>div{display:grid;gap:2px;min-width:0}.me-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink, var(--accent));font-weight:700}.me-card b{font-size:16px}.me-card small{color:var(--text-muted);font-size:12.5px}@media (max-width: 560px){.me-card{grid-template-columns:1fr}}.trial{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(70% 45% at 0% 0%,var(--accent-soft),transparent 70%),var(--surface);overflow:hidden}.trial-head{display:flex;flex-direction:column;gap:12px}.trial-head-row{display:flex;align-items:center;gap:14px}.trial-day{display:flex;align-items:baseline;gap:3px;font-family:var(--font-display);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight)}.trial-day b{font-size:44px;font-weight:700}.trial-day small{font-size:14px;font-weight:600;color:var(--text-faint);letter-spacing:0}.trial-head-text{display:flex;flex-direction:column;gap:3px;min-width:0}.trial-head-goal{font-family:var(--font-display);font-size:22px;line-height:1.05;font-weight:700;letter-spacing:var(--track-tight)}.trial-eyebrow{font-size:11px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent);font-variant-numeric:tabular-nums}.trial-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.trial-bar i{position:relative;display:block;height:4px;background:var(--surface-3);border-radius:var(--radius-pill);overflow:hidden}.trial-bar i:after{content:"";position:absolute;inset:0;background:var(--accent);border-radius:var(--radius-pill);transform-origin:left center;transform:scaleX(var(--fill, 0));animation:trial-fill .9s var(--ease) both}.trial-bar i.is-live:after{animation-delay:.25s}@keyframes trial-fill{0%{transform:scaleX(0)}to{transform:scaleX(var(--fill, 0))}}.trial-body{display:flex;flex-direction:column;gap:12px}.trial-body h2{margin:0;font-family:var(--font-display);font-size:22px;line-height:1.1;font-weight:700;letter-spacing:var(--track-tight);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.trial-body h2 small{font-family:var(--font);font-size:12px;font-weight:600;color:var(--text-faint);letter-spacing:0}.trial-lede{margin:0;color:var(--text-muted);line-height:1.5}.trial-minutes{display:inline-flex;align-items:center;gap:6px;margin:-4px 0 0;font-size:12.5px;font-weight:600;color:var(--text-faint)}.trial-minutes svg{color:var(--accent)}.trial-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:var(--radius);background:var(--accent-soft);color:var(--text);font-size:13.5px;line-height:1.45}.trial-note svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.trial-session,.trial-nudge{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2)}.trial-session{position:relative;padding-left:62px}.trial-session p,.trial-nudge p{margin:0;font-size:15.5px;line-height:1.4}.trial-session-badge{position:absolute;left:16px;top:16px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--surface-3);color:var(--text-muted)}.trial-session.is-win{border-color:var(--accent)}.trial-session.is-win .trial-session-badge,.trial-session.is-checkup .trial-session-badge{background:var(--accent-soft);color:var(--accent)}.trial-count{font-size:11px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint);font-variant-numeric:tabular-nums}.trial-session.is-win .trial-count{color:var(--accent)}.trial-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.trial-compare h3{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text-muted)}.trial-compare table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px}.trial-compare th,.trial-compare td{text-align:left;padding:8px 8px 8px 0;border-top:1px solid var(--border)}.trial-compare thead th{border-top:0;font-size:11px;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint);font-weight:700}.trial-compare tbody th{font-weight:600;color:var(--text-muted)}.trial-compare td{white-space:nowrap}@media (max-width: 520px){.trial-compare td{white-space:normal}.trial-compare th,.trial-compare td{padding-right:6px}}.trial-compare td svg{display:inline-block;margin-left:6px;vertical-align:-1px;color:var(--ok)}.trial-compare tr.is-better td:last-child{color:var(--text);font-weight:700;font-family:var(--font-display);font-size:16px}.trial-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.trial-plan{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:0;border-radius:var(--radius);background:var(--accent);color:#111;font:inherit;text-align:left;cursor:pointer;transition:transform .18s var(--ease),filter .18s var(--ease)}.trial-plan:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.trial-plan b{font-size:15px}.trial-plan span{font-size:12.5px;opacity:.8;font-variant-numeric:tabular-nums}.trial-plan .trial-plan-note{font-size:11.5px;opacity:.65}.trial-plan:disabled{opacity:.55;cursor:progress}.trial-period{align-self:flex-start;margin-bottom:8px}.trial-error{margin:0;color:var(--danger);font-size:13px}.trial-finisher{display:flex;gap:8px;align-items:center;margin:0;font-weight:600;color:var(--accent)}.trial-lock{flex:0 0 auto;margin-left:auto;opacity:.55}.card-chip .trial-lock,.segmented .trial-lock{display:inline-block;margin-left:0;margin-right:4px;vertical-align:-1px}.trial-lock.is-inline{display:inline-block;margin-left:4px;vertical-align:-1px}.card.is-trial-locked .card-cover{filter:saturate(.4)}.trial-locked{max-width:640px;margin:24px auto}.trial-locked-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent)}.trial-locked .trial-body h2{font-size:26px}.tm-trial{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--text-faint)}.trial-firstclean{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--ok);border-radius:var(--radius-lg);background:var(--surface-2);animation:trial-rise .5s var(--ease) both}.trial-firstclean>svg{color:var(--ok);flex:0 0 auto;animation:trial-pop .5s var(--ease) .2s both}.trial-firstclean div{display:flex;flex-direction:column;gap:2px;flex:1 1 auto}.trial-firstclean b{font-family:var(--font-display);font-size:18px}.trial-firstclean span{font-size:13.5px;color:var(--text-muted)}.checkup-onefix{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft)}.checkup-onefix b{font-size:11px;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent)}.checkup-onefix p{margin:0;font-size:15.5px;line-height:1.45}.trial-welcome{display:flex;flex-direction:column;gap:8px}.trial-welcome-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.trial-welcome-frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-3)}.trial-welcome-frame iframe,.trial-welcome-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}.trial-admin-hint{margin:0;font-size:12.5px;color:var(--text-faint);display:flex;gap:6px;align-items:center}.trial-promise{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--accent)}.trial-share{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-soft)}.trial-share .hint{margin:0}.trial-challenge{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);text-decoration:none;font-size:14px;transition:border-color .18s var(--ease)}.trial-challenge:hover{border-color:var(--border-strong)}.trial-challenge>svg:first-child{color:var(--accent)}.trial-challenge span{flex:1 1 auto}.trial-month{display:flex;flex-direction:column;gap:12px}.trial-month-toggle{align-self:flex-start}.trial-week h3{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 8px;font-size:11px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-muted)}.trial-week h3 small{font-variant-numeric:tabular-nums;color:var(--text-faint)}.trial-week ol{position:relative;list-style:none;margin:0;padding:0 0 0 34px;display:flex;flex-direction:column;gap:6px}.trial-week ol:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--surface-3)}.trial-week li{position:relative}.trial-week a,.trial-week-row{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);text-decoration:none;font-size:14px;line-height:1.35;transition:border-color .18s var(--ease),background .18s var(--ease)}.trial-week a:hover{border-color:var(--border-strong);background:var(--surface-3)}.trial-week-n{position:absolute;left:-34px;top:8px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border);font-family:var(--font-display);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-faint)}.trial-week-text{display:flex;flex-direction:column;gap:3px}.trial-week-text em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint)}.trial-week li.is-done a{opacity:.55}.trial-week li.is-done .trial-week-n{color:var(--bone-ink);background:var(--ok);border-color:var(--ok)}.trial-week li.is-done .trial-week-n svg{animation:trial-pop .4s var(--ease) both}.trial-week li.is-next a{border-color:var(--accent);background:var(--surface-3)}.trial-week li.is-next .trial-week-n{color:var(--bone-ink);background:var(--accent);border-color:var(--accent)}.trial-week li.is-next em{color:var(--accent)}.trial-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.trial-level{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.trial-level:hover{border-color:var(--border-strong);transform:translateY(-1px)}.trial-level b{font-family:var(--font-display);font-size:18px;letter-spacing:var(--track-tight)}.trial-level span{font-size:13px;color:var(--text-muted);line-height:1.4}.trial-level em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent)}.trial-level .trial-level-min{color:var(--text-faint);margin-top:2px}.trial-level.is-on{background:var(--bone);color:var(--bone-ink);border-color:transparent}.trial-level.is-on span,.trial-level.is-on .trial-level-min{color:var(--bone-ink);opacity:.75}.trial-preview{padding-bottom:96px}.trial-preview-inner{max-width:760px;width:100%;gap:16px}.trial-preview-card{text-align:left;margin-bottom:0}.trial-preview-hero{padding:26px 26px 24px}.trial-preview-title{margin:0;font-family:var(--font-display);font-size:clamp(30px,6vw,44px);line-height:1.02;font-weight:700;letter-spacing:var(--track-tight);max-width:14ch}.trial-preview-hero .trial-lede{font-size:16px;max-width:56ch}.trial-preview-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.trial-preview-list li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:15px;line-height:1.4}.trial-preview-list li>i{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.trial-preview-list .trial-promise{display:flex;margin-top:4px}.trial-preview-cta{flex-direction:column;align-items:stretch;gap:8px}.trial-preview-cta .hint{margin:0;text-align:center}.trial-preview-start{justify-content:center;padding:14px 18px;font-size:16px}@media (max-width: 640px){.trial-preview-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:5;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}}.auth-trial{display:inline-flex;align-items:center;gap:6px;margin-top:4px}.trial-reveal{animation:trial-rise .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms)}@keyframes trial-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes trial-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.trial-bar i:after,.trial-reveal,.trial-firstclean,.trial-firstclean>svg,.trial-week li.is-done .trial-week-n svg{animation:none}.trial-plan,.trial-level,.trial-week a,.trial-challenge{transition:none}}@media (max-width: 640px){.trial{padding:16px 16px 18px}.trial-day b{font-size:38px}.trial-head-goal,.trial-body h2{font-size:19px}.trial-preview-hero{padding:20px 18px}}.trial-card-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.trial-card-list li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.4}.trial-card-list svg{flex:0 0 auto;margin-top:3px;color:var(--accent)}.trial-card-free{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--text-muted);font-size:13px;line-height:1.45}.trial-card-free svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.guarantee{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;line-height:1.45;color:var(--text-muted);text-align:left}.guarantee svg{flex:0 0 auto;margin-top:2px;color:var(--ok, var(--accent))}.guarantee b{color:var(--text);font-weight:600}.guarantee a{color:inherit}.trial-guest{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:10px 18px 14px;font-size:12.5px;color:var(--text-muted)}.trial-guest svg{flex:0 0 auto}.trial-guest button{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.guest-ask p{margin:6px 0 14px;max-width:46em}.guest-ask-actions{display:flex;flex-wrap:wrap;gap:8px}.auth-ask{margin:0 0 4px;padding:10px 12px;border-radius:var(--radius);background:var(--accent-soft);color:var(--text);font-size:13.5px;line-height:1.45}.trial-plan-switches{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.trial-plan-switches .trial-period{margin:0}.trial-plans-title{margin:4px 0 8px;font-size:13.5px;color:var(--text-dim)}.trial-plans-title b{color:var(--text)}.trial-coach-line{margin-top:10px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);color:var(--text);text-decoration:none;font-size:14px}.trial-coach-line span:nth-child(2){flex:1}.trial-coach-line svg{color:var(--accent);flex:none}.trial-coach-line:hover{border-color:var(--accent)}.road{display:grid;gap:10px;margin:0 0 18px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 14px)}.road.is-compact{margin:18px 0 0}.road-title{margin:0 0 2px;font-size:15px;color:var(--text-muted);font-weight:600}.path-result+.road,.road.has-title{margin:22px 0 0;max-width:640px}.road-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.road-week{font-family:var(--font-display);font-weight:700;font-size:18px}.road-year{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.road-bar{position:relative;height:8px;border-radius:99px;background:var(--surface-3);overflow:visible}.road-bar i{display:block;height:100%;border-radius:99px;background:var(--accent)}.road-bar b{position:absolute;top:-3px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}.road-term{margin:0;display:grid;gap:2px;font-size:13.5px;color:var(--text-muted)}.road-term b{color:var(--text)}.road-next{display:grid;gap:6px}.road-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;padding:9px 11px;color:inherit;text-decoration:none;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.road-item:hover{border-color:var(--border-strong)}.road-item svg{flex:0 0 auto;color:var(--accent)}.road-item span{display:flex;flex-direction:column;font-size:12.5px;color:var(--text-muted)}.road-item span b{font-size:13.5px;color:var(--text)}.road-parcours h3{margin:4px 0 2px;font-size:14px}.road-parcours .hint{margin:0 0 8px}.road-parcours-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.road-parcours-grid button{display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;padding:10px 11px;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.road-parcours-grid button b{font-size:13.5px}.road-parcours-grid button span{font-size:12px;color:var(--text-muted)}.road-parcours-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.road-progress{display:grid;gap:12px}.road-cert{display:grid;gap:6px;justify-items:start}@media (max-width: 480px){.road-parcours-grid{grid-template-columns:1fr}}.market-switch{margin-left:auto}.market-switch button{min-width:2.6em}.offer-market{display:flex;justify-content:flex-end;margin:0 0 10px}.clip-shelf{display:flex;flex-direction:column;gap:10px;margin:18px 0}.clip-shelf-head{display:grid;gap:3px}.clip-shelf-eyebrow{font-size:11px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent)}.clip-shelf-head h3{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600}.clip-shelf-head p{margin:0;font-size:13.5px;color:var(--text-muted);max-width:60ch}.clip-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,230px);gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}.clip-row::-webkit-scrollbar{height:6px}.clip-row::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}.clip-tile{display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start}.clip-tile.is-big .clip-tile-poster{border-color:#ffb43d8c}.clip-tile.is-big .clip-tile-tag{color:var(--accent)}.clip-tile.is-locked{cursor:default}.clip-tile-poster{position:relative;display:block;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(120% 90% at 85% 10%,rgba(255,180,61,.22),transparent 55%),linear-gradient(160deg,#1d1b19,#0d0d0f);transition:transform .18s var(--ease),border-color .18s var(--ease)}.clip-tile.is-vertical .clip-tile-poster{aspect-ratio:4 / 5}.clip-tile:not(.is-locked):hover .clip-tile-poster{transform:translateY(-2px);border-color:#ffb43d73}.clip-tile:focus-visible{outline:none}.clip-tile:focus-visible .clip-tile-poster{outline:2px solid var(--accent);outline-offset:2px}.clip-tile-strings{position:absolute;inset:22% 0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.09) 0 1px,transparent 1px calc(100% / 5.02))}.clip-tile-play{position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:var(--bone);color:#141418;box-shadow:0 8px 24px #00000080}.clip-tile.is-locked .clip-tile-play{background:#ffffff1f;color:#f6f4f2}.clip-tile.is-locked .clip-tile-poster{filter:saturate(.3)}.clip-tile-len{position:absolute;right:8px;bottom:8px;padding:3px 6px;border-radius:var(--radius-sm);background:#0009;color:#f6f4f2;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.clip-tile-text{display:grid;gap:2px}.clip-tile-text b{font-size:14px;font-weight:600;line-height:1.3}.clip-tile-tag{font-size:11px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint)}.clip-tile-lock{font-size:12.5px;color:var(--text-muted)}.clip-player{display:flex;flex-direction:column;gap:6px}.clip-player-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.clip-player-bar b{font-size:14px;font-weight:600}.clip-player-frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;background:#000}.clip-player.is-vertical .clip-player-frame{aspect-ratio:9 / 16;max-height:70vh;margin-inline:auto;width:auto;height:min(70vh,640px)}.clip-player-frame iframe,.clip-player-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}.clip-watch{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.clip-watch b{color:var(--text);font-weight:600}.clip-watch:hover{border-color:var(--border-strong);color:var(--text)}.clip-watch-play{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--bone);color:var(--bone-ink)}.clip-watch-len{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-faint)}.clip-admin-hint{margin:10px 0}.welcome-poster{position:relative;display:grid;align-content:end;gap:4px;width:100%;aspect-ratio:16 / 9;padding:16px 18px;border:1px solid rgba(255,180,61,.35);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(90% 120% at 100% 0%,rgba(255,180,61,.28),transparent 60%),linear-gradient(160deg,#211d18,#0c0c0e 70%);color:#f6f4f2;font:inherit;text-align:left;cursor:pointer}.welcome-poster-name{position:absolute;right:18px;top:8px;font-family:var(--font-script);font-size:clamp(54px,12vw,96px);color:#ffb43d33;transform:rotate(-6deg);pointer-events:none}.welcome-poster-row{position:relative;display:flex;align-items:center;gap:14px}.welcome-poster-row .clip-tile-play{position:static;transform:none;flex:0 0 auto;width:54px;height:54px}.welcome-poster-text{display:grid;gap:2px;min-width:0}.welcome-poster b{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.1}.welcome-poster span.welcome-poster-meta{font-size:13px;color:#d9d5de}.welcome-poster:hover{border-color:#ffb43db3}.welcome-poster:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.welcome-again{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.welcome-again:hover{color:var(--text)}@media (prefers-reduced-motion: reduce){.clip-tile-poster{transition:none}.clip-tile:not(.is-locked):hover .clip-tile-poster{transform:none}}.vp{display:flex;flex-direction:column;gap:10px}.vp-summary{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:8px}.vp-progress{display:grid;grid-template-columns:26px 1fr minmax(80px,140px) 52px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.vp-progress.is-done{border-color:#5fe3b366}.vp-progress-text{display:grid;gap:1px;min-width:0}.vp-progress-text b{font-size:14px}.vp-progress-text span{font-size:12px;color:var(--text-muted)}.vp-step{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.is-done>.vp-step,.is-done header .vp-step{background:var(--ok);color:#0b0b0c}.vp-bar{display:block;height:6px;border-radius:var(--radius-sm);background:var(--surface-3);overflow:hidden}.vp-bar i{display:block;height:100%;background:var(--accent)}.vp-count{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right}.vp-prompts{margin:0 0 4px;padding-left:18px;font-size:13px;color:var(--text-muted);display:grid;gap:2px}.vp-link input{width:100%}.vp-bad{font-size:12px;color:var(--danger)}.vp-clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.vp-clip{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:start}.vp-clip.is-done{border-color:#5fe3b366}.vp-clip header{display:flex;align-items:center;gap:8px}.vp-clip header b{font-size:14px;line-height:1.3}.vp-min{margin-left:auto;font-size:12px;color:var(--text-faint);white-space:nowrap}.vp-film{margin:0;font-size:12.5px;color:var(--text-muted)}.vp-where{margin:0;font-size:12px;color:var(--accent)}.vp-lessons{list-style:none;margin:0;padding:0;display:grid;gap:6px}.vp-lessons li{display:grid;grid-template-columns:1fr minmax(80px,140px) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius)}.vp-lessons li.is-done{border-color:#5fe3b366}.vp-lesson-title{display:grid;gap:1px}.vp-lesson-title b{font-size:13.5px}.vp-lesson-title span{font-size:12px;color:var(--text-muted)}.vp-later summary{cursor:pointer;font-size:13px;color:var(--text-muted);margin:4px 0}.vp-warmups{display:grid;gap:6px}.vp-warmup{display:grid;grid-template-columns:26px minmax(120px,1.2fr) minmax(110px,.8fr) minmax(140px,1.4fr) auto auto;gap:6px;align-items:center}.vp-upright{display:inline-flex;gap:4px;align-items:center;font-size:12px;color:var(--text-muted)}@media (max-width: 700px){.vp-warmup{grid-template-columns:26px 1fr 1fr}.vp-warmup-url{grid-column:2 / -1}.vp-progress{grid-template-columns:26px 1fr 52px}.vp-progress .vp-bar{display:none}}.demo-ribbon{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;padding-top:calc(8px + env(safe-area-inset-top,0px));background:#17120a;color:#f6f4f2;border-bottom:1px solid rgba(255,180,61,.45);font-size:13px;line-height:1.35}.demo-chip{flex:none;font:700 11px/1 Manrope,Segoe UI,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#17120a;background:var(--amber, #ffb43d);border-radius:999px;padding:5px 9px}.demo-text{margin:0;flex:1 1 260px;min-width:0;color:#e7e2da}.demo-actions{display:flex;gap:8px;align-items:center;flex:none}.demo-cta{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:var(--amber, #ffb43d);color:#000;font-weight:700;text-decoration:none;white-space:nowrap}.demo-cta:focus-visible,.demo-leave:focus-visible{outline:2px solid #fff;outline-offset:2px}.demo-leave{min-height:36px;padding:0 12px;border-radius:999px;background:transparent;color:#cfc9c0;border:1px solid rgba(255,255,255,.22);cursor:pointer;font:inherit;white-space:nowrap}.demo-ribbon{flex-wrap:nowrap}.demo-actions{margin-left:auto}.demo-ribbon{padding-right:64px}.demo-leave-x{display:none}@media (max-width: 560px){.demo-ribbon{gap:8px;padding-left:10px}.demo-cta{padding:0 12px}.demo-leave{padding:0;width:36px;justify-content:center}.demo-leave-text{display:none}.demo-leave-x{display:inline}}.demo-short{display:none}@media (max-width: 440px){.demo-ribbon .demo-chip,.demo-ribbon .demo-long{display:none}.demo-ribbon .demo-short{display:inline}.demo-ribbon{padding-right:58px;gap:6px}}.demo-clock{flex:none;font:700 12px/1 Manrope,Segoe UI,Arial,sans-serif;font-variant-numeric:tabular-nums;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,180,61,.55);color:var(--amber, #ffb43d)}.demo-clock.is-low{background:var(--amber, #ffb43d);color:#17120a}.demo-over{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));background:#080705d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.demo-over-card{width:min(460px,100%);display:grid;gap:14px;justify-items:start;padding:26px;background:#17120a;color:#f6f4f2;border:1px solid rgba(255,180,61,.45);border-radius:18px;box-shadow:0 30px 80px -30px #000c}.demo-over-card h2{margin:0;font-size:26px;line-height:1.15}.demo-over-card p{margin:0;color:#e7e2da;font-size:15px;line-height:1.5}.demo-over-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%;margin-top:4px}.demo-over-actions .demo-cta{flex:1 1 auto;justify-content:center;min-height:44px}.demo-over-actions .demo-leave{min-height:44px}.demo-ribbon~.kid{top:var(--demo-ribbon-h, 53px)}.simple-card{display:grid;gap:12px;padding:18px;border-radius:20px;border:1px solid var(--border);background:var(--surface);margin:12px 0}.simple-card h2{margin:0;font-size:22px}.simple-eyebrow{margin:0;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent-ink, var(--accent))}.simple-acts{display:grid;gap:8px;justify-items:start}.simple-acts .btn.big{min-height:48px;padding:0 22px}.demo-try-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.demo-try-step{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--bg, var(--surface));color:inherit;font:inherit;cursor:pointer}.demo-try-step:hover{border-color:var(--accent)}.demo-try-step:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.demo-try-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--accent);color:#000}.demo-try-step.is-done .demo-try-num{background:color-mix(in srgb,var(--accent) 25%,var(--surface));color:var(--text)}.demo-try-text{display:grid;gap:2px;min-width:0}.demo-try-text b{font-size:16px}.demo-try-text small{color:var(--text-muted);font-size:13px}.home-simple-more{margin-top:16px}.tgo-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tgo-list li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:14px}.tgo-list li>span{display:grid;gap:2px;min-width:0}.tgo-list li small{color:var(--text-muted);font-size:12.5px}.tgo b{text-transform:capitalize}.kid-demo-try h2{font-size:26px}.kid-demo-step{grid-template-columns:56px minmax(0,1fr);padding:14px 16px;border-radius:22px}.kid-demo-emoji{font-size:38px;line-height:1;text-align:center}.kid-demo-step .demo-try-text b{font-size:18px}.kid-demo-more{margin-top:14px}.kid-trial-start{overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 16px 32px}.kid-trial-card{width:100%;max-width:520px}.kid-trial-card h1{margin:0;font-size:28px;line-height:1.15}.kid-trial-points{list-style:none;margin:4px 0;padding:0;display:grid;gap:10px}.kid-trial-points li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:start;font-size:16px;line-height:1.4}.kid-trial-points li span{font-size:24px;line-height:1.1}.kid-trial-inst{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-weight:700}.kid-trial-inst-on{padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.kid-trial-inst a{font-size:14px;font-weight:600}.kid-trial-go{width:100%;justify-content:center}.kid-trial-have{margin:0;text-align:center;font-size:14px}.kid-trial-parent{display:grid;gap:8px;margin:10px 0;padding:12px 14px;border-radius:18px;border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.kid-trial-parent-top{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between}.kid-trial-parent-top b{font-size:15px}.kid-trial-parent-top small{font-size:13px;color:var(--text-muted)}.kid-trial-bar{display:block;height:8px;border-radius:99px;background:color-mix(in srgb,var(--accent) 18%,var(--surface));overflow:hidden}.kid-trial-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}.kid-trial-parent-acts{display:flex;flex-wrap:wrap;gap:8px}.kid-trial-parent-acts:empty{display:none}.kid-trial-card a{color:#9e5600;font-weight:700}.hol-stack{display:grid;gap:14px;margin:4px 0 18px}.hol{position:relative;padding:12px 14px 14px;background:var(--card, #fffdf8);border:1.5px solid var(--ink, #1b1a17);border-radius:12px;color:var(--ink, #1b1a17)}.hol-kicker{margin:0;font:600 15px/1.35 var(--font, "Figtree", system-ui, sans-serif)}.hol-kicker b{font:400 21px/1.2 var(--font-display, "Gloock", Georgia, serif)}.hol-tag{display:inline-block;margin-left:6px;padding:1px 7px;border:1.5px solid var(--ink, #1b1a17);border-radius:4px;font:800 11px/1.5 var(--font, "Figtree", sans-serif);letter-spacing:.12em;vertical-align:3px}.hol-est{display:inline-block;margin-left:8px;font:18px var(--font-hand, "Kalam", cursive);color:var(--muted, #6f6a5e)}.hol-postit{position:relative;margin:20px 4px 14px -4px;padding:14px 16px 12px;background:var(--sun-50, #fff3a6);border-radius:2px;box-shadow:0 8px 16px #0000001f;transform:rotate(-1.5deg)}.hol-postit:before{content:"";position:absolute;top:-10px;left:42%;width:70px;height:20px;background:#fff9;transform:rotate(3deg);box-shadow:0 1px 2px #0000001a}.hol-postit p{margin:0;font:23px/1.15 var(--font-chris, "Caveat", cursive);color:var(--chris, #1f4fbf)}.hol-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.hol-acts .btn{white-space:normal;text-align:center}.hol-h{margin:14px 0 4px;font:400 18px var(--font-display, "Gloock", Georgia, serif)}.hol-hint{margin:0 0 8px;font-size:13px;color:var(--muted, #6f6a5e)}.hol-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.hol-list label{display:flex;align-items:baseline;gap:10px;padding:6px 2px;border-bottom:1px solid var(--rule, #e6dfcf);cursor:pointer}.hol-list input{flex:none;width:18px;height:18px;accent-color:var(--ink, #1b1a17);transform:translateY(3px)}.hol-name{font:20px/1.1 var(--font-hand, "Kalam", cursive);color:var(--pencil, #2d2b27)}.hol-meta{margin-left:auto;font:700 11px var(--font, "Figtree", sans-serif);letter-spacing:.08em;color:var(--muted, #6f6a5e);text-align:right}.hol-msg{display:grid;gap:4px;margin:0 0 10px}.hol-msg-l{font:800 11px var(--font, "Figtree", sans-serif);letter-spacing:.12em;color:var(--muted, #6f6a5e)}.hol-msg textarea{width:100%;box-sizing:border-box;padding:8px 10px;font:21px/1.2 var(--font-chris, "Caveat", cursive);color:var(--chris, #1f4fbf);background:#fff;border:1.5px solid var(--ink, #1b1a17);border-radius:8px;resize:vertical}.hol-progress{display:grid;gap:6px;margin-top:10px;font-weight:700}.hol-bar{height:10px;border:1.5px solid var(--ink, #1b1a17);border-radius:6px;overflow:hidden;background:#fff}.hol-bar i{display:block;height:100%;background:var(--sun, #ffd23f);transition:width .25s}.hol-done{display:flex;align-items:center;gap:12px;margin-top:6px}.hol-done .auth-error{flex-basis:100%}.hol-sentline{margin:6px 0 0;font:800 16px var(--font, "Figtree", sans-serif)}.hol-sentline small{margin-left:6px;font-weight:600;color:var(--muted, #6f6a5e)}.hol.is-sent{padding-bottom:10px}.hol-stamp{flex:none}:root.is-joy:not(#_):not(#_) .hol-msg textarea{font:21px/1.2 var(--font-chris);color:var(--chris)}.tour{position:fixed;inset:0;z-index:9000}.tour-hole{position:absolute;border-radius:12px;box-shadow:0 0 0 9999px #080a0e9e;outline:2px solid var(--accent, #e8971b);outline-offset:2px;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease;pointer-events:none}.tour-dim{position:absolute;inset:0;background:#080a0e9e}.tour-card{position:absolute;box-sizing:border-box;max-width:calc(100vw - 32px);padding:16px 16px 14px;border-radius:14px;background:var(--surface, #16181d);border:1px solid var(--line, rgba(255, 255, 255, .12));box-shadow:0 18px 40px #00000073;transition:left .18s ease,top .18s ease}.tour-card.is-hunting{opacity:.85}.tour-card h2{margin:10px 0 6px;font-size:17px;line-height:1.25}.tour-card p{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-muted, #9aa0a8)}.tour-head{display:flex;align-items:center;gap:8px}.tour-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--accent, #e8971b) 18%,transparent);color:var(--accent, #e8971b)}.tour-count{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #9aa0a8)}.tour-x{margin-left:auto;display:inline-flex;padding:4px;border:0;border-radius:6px;background:transparent;color:var(--text-muted, #9aa0a8);cursor:pointer}.tour-x:hover{color:var(--text, #eceef2)}.tour-dots{display:flex;gap:4px;margin:12px 0}.tour-dots b{width:100%;height:3px;border-radius:2px;background:var(--line, rgba(255, 255, 255, .14))}.tour-dots b.is-done{background:color-mix(in srgb,var(--accent, #e8971b) 45%,transparent)}.tour-dots b.is-now{background:var(--accent, #e8971b)}.tour-actions{display:flex;align-items:center;gap:8px}.tour-spacer{flex:1}.rail-tour{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;margin-bottom:6px;border:1px solid var(--line, rgba(255, 255, 255, .12));border-radius:9px;background:transparent;color:var(--text-muted, #9aa0a8);font:inherit;font-size:12.5px;cursor:pointer}.rail-tour:hover{color:var(--text, #eceef2);border-color:color-mix(in srgb,var(--accent, #e8971b) 45%,transparent)}@media (max-width: 720px){.tour-card{width:calc(100vw - 32px)!important;left:16px!important}}:root{--bg: #0b0b0c;--bg-2: #0f0f11;--surface: #121214;--surface-2: #17171a;--surface-3: #1b1b1f;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--text: #f6f4f2;--text-muted: #a5a2a8;--text-faint: #76737c;--bone: #e6e1d6;--bone-ink: #141418;--accent: #ffb43d;--logo-ink: #ffb43d;--accent-2: #ff6a3d;--accent-soft: rgba(255, 180, 61, .12);--accent-contrast: #1c1206;--danger: #ff8a72;--ok: #5fe3b3;--violet: #a78bfa;--sky: #37b6ff;--stage-pad: 18px;--radius-sm: 6px;--radius: 8px;--radius-lg: 10px;--radius-xl: 10px;--radius-pill: 8px;--track-caps: .08em;--track-tight: -.02em;--shadow: 0 24px 60px -20px rgba(0, 0, 0, .8);--ease: cubic-bezier(.22, .61, .36, 1);--maxw: 1180px;--sheet-bg: #f7f7fa;--sheet-ink: #16161d;--font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: Oswald, Inter, "Segoe UI", sans-serif;--font-script: "Kaushan Script", "Brush Script MT", "Segoe Script", cursive;color-scheme:dark}:root[data-theme=light]{--bg: #f4f2ef;--bg-2: #ffffff;--surface: #ffffff;--surface-2: #faf9f7;--surface-3: #efece7;--border: rgba(28, 18, 6, .09);--border-strong: rgba(28, 18, 6, .16);--bone: #1c1206;--bone-ink: #fffdf8;--text: #1c1206;--text-muted: #6a6459;--text-faint: #948d80;--accent: #c88a2a;--accent-2: #e0663f;--accent-soft: rgba(200, 138, 42, .12);--accent-contrast: #ffffff;--danger: #c53d3d;--ok: #2f9e6e;--shadow: 0 1px 2px rgba(28, 18, 6, .06), 0 12px 30px rgba(28, 18, 6, .08);--sheet-bg: #ffffff;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}h1,h2,h3,h4,h5,.sidebar-title,.card-title,.tier-name{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.12;text-wrap:balance}h1{font-weight:700}body{margin:0;font-family:var(--font);font-size:16px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.icon{display:block}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);padding:8px 14px;font-size:13.5px;font-weight:550;cursor:pointer;transition:background .14s,border-color .14s,transform .1s}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#111;font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.06);background:var(--accent)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.btn.accent:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.primary.is-done{background:var(--ok);border-color:var(--ok)}.btn.wide{min-width:220px;justify-content:center}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.app{display:grid;grid-template-columns:auto 1fr;height:100%;overflow:hidden}.app.is-focus{grid-template-columns:1fr}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);border-left:1px solid var(--border)}.sidebar{width:320px;padding:18px 16px;overflow-y:auto;background:var(--bg);display:flex;flex-direction:column;gap:12px}.sidebar.is-collapsed{width:58px;padding:18px 10px;align-items:center}.sidebar-head{display:flex;align-items:center;justify-content:space-between}.sidebar.is-collapsed .eyebrow{display:none}.sidebar-title{margin:0;font-size:20px;letter-spacing:-.01em}.lesson-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}.lesson-card{width:100%;display:flex;gap:12px;text-align:left;padding:10px;border-radius:var(--radius-lg);border:1px solid transparent;background:var(--surface);cursor:pointer;transition:border-color .14s,background .14s}.lesson-card:hover{border-color:var(--border-strong)}.lesson-card.is-active{background:var(--accent-soft);border-color:transparent}.lesson-cover{flex:0 0 auto;width:62px;height:62px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px}.lesson-copy{display:grid;gap:2px;min-width:0}.lesson-meta{font-size:11.5px;color:var(--text-faint)}.lesson-name{font-size:14.5px;font-weight:650;line-height:1.25}.lesson-card.is-active .lesson-name{color:var(--accent)}.lesson-teacher{font-size:12.5px;color:var(--text-muted)}.lesson-progress{position:relative;display:block;height:4px;margin-top:6px;border-radius:99px;background:var(--surface-3)}.lesson-progress span{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--accent)}.lesson-progress i{position:absolute;right:0;top:-16px;font-style:normal;font-size:10.5px;color:var(--text-faint)}.lesson-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 24px 10px}.lesson-header h1{margin:4px 0 2px;font-size:27px;letter-spacing:-.02em}.lesson-byline{margin:0;display:flex;gap:14px;font-size:13.5px;color:var(--text-muted)}.lesson-byline b{color:var(--text);font-weight:600}.header-actions{display:flex;align-items:center;gap:8px}.step-tabs{display:flex;align-items:stretch;gap:2px;padding:0 18px;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:thin}.step-sep{flex:0 0 auto;align-self:center;color:var(--border-strong)}.step-tab{flex:0 0 auto;display:grid;gap:1px;padding:12px 14px 11px;border:none;border-bottom:3px solid transparent;background:none;cursor:pointer;text-align:left;max-width:190px}.step-title{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:650;color:var(--text-muted)}.step-subtitle{font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-tab:hover .step-title{color:var(--text)}.step-tab.is-active{border-bottom-color:var(--accent)}.step-tab.is-active .step-title,.step-tab.is-active .step-subtitle{color:var(--accent)}.step-tab.is-done .step-title .icon{color:var(--ok)}.toolbar{display:flex;align-items:center;gap:14px;padding:9px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-spacer{flex:1 1 auto}.tool-btn{position:relative;display:inline-grid;place-items:center;width:34px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer}.tool-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.tool-btn.is-active{background:var(--accent-soft);color:var(--accent)}.tool-btn .dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--ok)}.speed-control{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:2px 4px}.speed-control>button{width:26px;height:26px;border:none;background:none;border-radius:50%;cursor:pointer;color:var(--text-muted);font-size:17px;line-height:1}.speed-control>button:hover{background:var(--surface-3);color:var(--text)}.speed-value{position:relative;display:inline-flex;align-items:center}.speed-value span{min-width:46px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.speed-value input[type=range]{position:absolute;inset:0;opacity:0;cursor:ew-resize;width:100%}.segmented{background:var(--surface-3);border-radius:99px;padding:3px;gap:2px}.segmented button{border:none;background:none;cursor:pointer;padding:5px 14px;border-radius:99px;font-size:13px;font-weight:600;color:var(--text-muted)}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.segmented button:disabled{opacity:.4;cursor:not-allowed}.zoom-value{font-size:12px;color:var(--text-muted);min-width:38px;text-align:center;font-variant-numeric:tabular-nums}.stage{display:flex;flex:1 1 auto;min-height:0;position:relative}.split{position:relative;display:flex;flex:1 1 auto;min-width:0}.split-pane{min-width:0;display:flex}.split-pane.grow{flex:1 1 auto}.split-handle{flex:0 0 auto;width:10px;display:grid;place-items:center;cursor:col-resize;color:var(--border-strong);background:var(--surface-2);border-left:1px solid var(--border);border-right:1px solid var(--border)}.split-handle:hover{color:var(--accent)}.video-pane{position:relative;flex:1 1 auto;background:#000;display:flex;align-items:center;justify-content:center;min-width:0}.video-pane video{width:100%;height:100%;object-fit:contain;background:#000}.video-meta{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:#0009;color:#fff;font-size:12px;backdrop-filter:blur(6px)}.video-meta span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-meta button{border:none;background:none;color:#fff;cursor:pointer;display:grid}.video-empty{display:grid;justify-items:center;gap:8px;color:#8b8b9a;text-align:center;padding:20px}.video-empty p{margin:0;font-size:14px}.video-empty small{font-size:11.5px;color:#6a6a78}.score-view{position:relative;flex:1 1 auto;overflow:auto;background:var(--surface-3);padding:var(--stage-pad);min-width:0}.score-view.is-dragging{outline:2px dashed var(--accent);outline-offset:-8px}.score-surface{background:var(--sheet-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 6px;color:var(--sheet-ink)}.score-status,.score-error{position:absolute;left:50%;top:24px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:var(--surface);border:1px solid var(--border);font-size:13px;box-shadow:var(--shadow)}.score-error{color:var(--danger);max-width:80%}.spinner{width:13px;height:13px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.score-range-badge{position:absolute;right:20px;top:20px;display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:99px;background:var(--accent);color:var(--accent-contrast);font-size:12px;font-weight:600}.score-range-badge button{border:none;background:#fff3;color:inherit;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;cursor:pointer}.drop-overlay{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600;pointer-events:none}.at-cursor-bar{background:#ffb43d24}.at-cursor-beat{background:var(--accent);width:2px}.at-highlight *{fill:var(--accent);stroke:var(--accent)}.at-selection div{background:#ffb43d29}.overview{position:absolute;inset:0;background:var(--surface);overflow-y:auto;padding:40px 32px}.overview-inner{max-width:640px;margin:0 auto;display:grid;gap:14px}.split-row.is-under-overview{visibility:hidden}.overview{z-index:2}.overview h2{margin:6px 0 0;font-size:26px;letter-spacing:-.02em}.overview p{margin:0;line-height:1.6;color:var(--text-muted)}.overview ul{margin:4px 0;padding:0;list-style:none;display:grid;gap:8px}.overview li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px}.overview li .icon{color:var(--ok);margin-top:2px;flex:0 0 auto}.overview .btn{justify-self:start;margin-top:8px}.panel{flex:0 0 320px;border-left:1px solid var(--border);background:var(--surface-2);display:flex;flex-direction:column;min-height:0}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 10px 12px 16px;border-bottom:1px solid var(--border)}.panel-head h3{margin:0;font-size:14px}.panel-body{overflow-y:auto;padding:16px}.panel-empty{color:var(--text-muted);font-size:13.5px}.panel-body section{margin-bottom:22px}.panel-body h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);display:flex;align-items:center;justify-content:space-between}.hint{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--text-muted)}.field-row{display:flex;gap:10px;margin-bottom:10px}.field-row label,.stacked{flex:1 1 0;display:grid;gap:4px;font-size:12px;color:var(--text-muted)}.field-row input[type=number],.stacked input[type=url],.field-row input[type=text]{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 9px;font-size:13.5px;color:var(--text)}.suffix{position:relative;display:flex;align-items:center}.suffix span{position:absolute;right:9px;font-size:11.5px;color:var(--text-faint);pointer-events:none}.suffix input{padding-right:34px!important}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn-row input[type=url]{flex:1 1 auto}.switch{position:relative;display:inline-block;width:34px;height:19px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:99px;background:var(--border-strong);cursor:pointer;transition:background .15s}.switch span:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(15px)}.radio-list{display:grid;gap:6px;margin-bottom:8px}.radio-list label{display:flex;align-items:center;gap:8px;font-size:13.5px}.trainer-readout{display:flex;gap:10px;margin-top:12px}.trainer-readout div{flex:1 1 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:grid;gap:2px}.trainer-readout strong{font-size:20px;font-variant-numeric:tabular-nums}.trainer-readout span{font-size:11.5px;color:var(--text-faint)}.mixer{display:grid;gap:12px}.mixer-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:grid;gap:8px}.mixer-name{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}.mixer-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mixer-controls{display:flex;align-items:center;gap:8px}.mixer-controls input[type=range]{flex:1 1 auto}.chip{min-width:26px;height:24px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);font-size:11.5px;font-weight:700;color:var(--text-muted);cursor:pointer}.chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.transport{display:flex;align-items:center;gap:14px;padding:10px 20px;border-top:1px solid var(--border);background:var(--surface-2)}.transport-play{width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-contrast);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow)}.transport-play:disabled{opacity:.5;cursor:not-allowed}.transport-play .icon{margin-left:2px}.transport-play .icon[width="22"]{margin-left:0}.transport-stop{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);display:grid;place-items:center;cursor:pointer}.transport-time{display:flex;gap:5px;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.transport-time i{font-style:normal;color:var(--text-faint)}.scrubber{position:relative;flex:1 1 auto;height:22px;cursor:pointer;display:flex;align-items:center}.scrubber:before{content:"";position:absolute;left:0;right:0;height:5px;border-radius:99px;background:var(--surface-3)}.scrubber-loop{position:absolute;height:13px;border-radius:4px;background:color-mix(in srgb,var(--accent) 22%,transparent);border-left:2px solid var(--accent);border-right:2px solid var(--accent);display:none}.scrubber-fill{position:absolute;left:0;height:5px;width:0;border-radius:99px;background:var(--accent)}.scrubber-head{position:absolute;left:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--surface-2)}.volume{display:flex;align-items:center}.volume input[type=range]{width:88px}.step-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 16px;border-top:1px solid var(--border)}.footer-spacer{flex:1 1 auto}input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:99px;background:var(--border-strong);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}@media (max-width: 1080px){.sidebar:not(.is-collapsed){position:absolute;z-index:20;height:100%;box-shadow:var(--shadow)}.panel{flex-basis:280px}}@media (max-width: 820px){.split{flex-direction:column}.split-pane{width:100%!important;height:40%}.split-handle{width:100%;height:10px;cursor:row-resize}.panel{position:absolute;right:0;top:0;bottom:0;z-index:15}}@media print{.sidebar,.toolbar,.transport,.step-footer,.step-tabs,.panel,.video-pane,.split-handle{display:none!important}}.logo{display:inline-flex;align-items:center;gap:12px;line-height:1;background:none;border:0;padding:0;color:var(--text);cursor:inherit}.logo[type=button]{cursor:pointer}.logo-img{display:block;max-height:44px;width:auto}.logo-text{display:flex;flex-direction:column;gap:1px;align-items:flex-start}.logo-script{font-family:var(--font-script);font-size:30px;line-height:.92;letter-spacing:.5px;transform:rotate(-3deg);transform-origin:left center;color:var(--logo-ink)}.logo-caps .logo-script{font-family:var(--font-display);font-style:normal;font-weight:600;font-size:19px;letter-spacing:.3em;text-transform:uppercase;transform:none;color:var(--logo-ink)}.logo-caps .logo-sub{font-size:10px;letter-spacing:.24em;margin-left:2px;color:var(--text-faint)}.logo-caps.logo-sm .logo-script{font-size:15px}.logo-caps.logo-lg .logo-script{font-size:24px}.logo-sub{font-family:var(--font-display);font-weight:600;font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);margin-left:14px}.logo-product{font-family:var(--font-display);font-weight:700;font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--accent, #ffb43d);margin:3px 0 0 14px}.logo-sm .logo-product{font-size:8px;margin-left:11px}.logo-lg .logo-product{font-size:12px;margin-top:5px}.logo-caps .logo-product{margin-left:2px}.logo-sm .logo-script{font-size:21px}.logo-sm .logo-sub{font-size:9.5px;letter-spacing:.28em;margin-left:11px}.logo-sm .logo-img{max-height:32px}.logo-lg .logo-script{font-size:34px}.logo-lg .logo-sub{font-size:13px}.lang-switch{display:inline-flex;max-width:100%;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:99px}.lang-switch button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;border-radius:99px;padding:4px 9px;cursor:pointer;color:var(--text-muted);font-size:11.5px;font-weight:600;letter-spacing:.04em}.lang-switch button:hover{color:var(--text)}.lang-switch button.is-active{background:var(--accent-soft);color:var(--accent)}.lang-switch .code{line-height:1}.flag{flex:0 0 auto;display:block;border-radius:2px;box-shadow:0 0 0 1px #7f7f7f59}.lang-switch.is-compact button{padding:4px 7px}.home{display:grid;grid-template-columns:232px 1fr;height:100%;background:var(--bg);overflow:hidden}.rail{display:flex;flex-direction:column;gap:22px;padding:20px 16px;border-right:1px solid var(--border);background:var(--bg-2);overflow-y:auto}.rail-brand{padding:2px 4px 4px}.rail-nav{display:grid;gap:2px}.rail-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--radius);font-size:13.5px;color:var(--text-muted)}.rail-foot{margin-top:auto;display:grid;gap:12px}.rail-copy{margin:0;font-size:10.5px;line-height:1.5;color:var(--text-faint)}.home-main{overflow-y:auto;padding:0 0 40px}.home-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px 18px;background:linear-gradient(180deg,var(--bg) 70%,transparent);backdrop-filter:blur(6px)}.home-head h1{margin:0;font-size:30px;letter-spacing:-.01em}.home-head p{margin:4px 0 0;color:var(--text-muted);font-size:14px}.home-empty{display:grid;justify-items:center;gap:8px;padding:80px 20px;color:var(--text-muted);text-align:center}.home-empty h2{margin:6px 0 0;font-size:20px;color:var(--text)}.home-empty p{margin:0;font-size:14px}.row{padding:10px 30px 22px}.row-head{margin-bottom:12px}.row-head h2{margin:0;font-size:17px;letter-spacing:.01em}.row-head p{margin:3px 0 0;font-size:12.5px;color:var(--text-faint)}.row-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.card{flex:0 0 auto;width:232px;display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);cursor:pointer;overflow:hidden;transition:transform .18s var(--ease),border-color .18s var(--ease)}.card:hover{transform:translateY(-3px);border-color:var(--border-strong)}.card-lg{width:268px}.card-sm{width:200px}.card-cover{position:relative;display:block;height:116px;background:var(--surface-2)}.card-lg .card-cover{height:140px}.card-chip{position:absolute;top:10px;left:10px;padding:3px 8px;border-radius:99px;background:#00000080;color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.04em;backdrop-filter:blur(4px)}.card-numeral{position:absolute;right:12px;bottom:4px;font-family:var(--font-display);font-size:54px;font-weight:700;line-height:1;color:#ffffff3d}.card-body{display:grid;gap:5px;padding:12px 13px 8px}.card-title{font-size:14.5px;line-height:1.25}.card-meta{font-size:11.5px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-foot{display:flex;align-items:center;gap:8px;margin-top:2px}.card-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.card-cta{display:flex;align-items:center;gap:5px;padding:9px 13px 12px;font-size:12.5px;font-weight:600;color:var(--accent)}.dot-grid{display:flex;flex-wrap:wrap;gap:3px;max-width:96px}.dot-grid i{width:7px;height:7px;border-radius:50%;background:var(--surface-3)}.tier{flex:0 0 auto;width:186px;display:grid;gap:8px;align-content:start;padding:16px 15px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;transition:border-color .18s var(--ease)}.tier:hover{border-color:var(--border-strong)}.tier-index{font-size:11.5px;color:var(--text-faint);letter-spacing:.08em}.tier-name{font-size:18px}.tier .dot-grid{max-width:100%;margin-top:4px}.tier-count{font-size:11px;color:var(--text-muted)}.home-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 30px 0;padding-top:20px;border-top:1px solid var(--border);color:var(--text-faint);font-size:11.5px}.home-foot p{margin:0}.home-foot-note{margin-left:auto!important}.lesson-head-left{display:flex;align-items:center;gap:12px;min-width:0}.lesson-head-title{min-width:0}.lesson-head-title h1{margin:0;font-size:22px}.lesson-head-title .lesson-byline{margin-top:2px}.step-tip{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 22px;border-top:1px solid var(--border);background:var(--accent-soft);color:var(--text-muted);font-size:13px;line-height:1.5}.step-tip .icon{color:var(--accent);flex:0 0 auto;margin-top:2px}.boot{display:grid;place-content:center;justify-items:center;gap:12px;height:100%;color:var(--text-muted);background:var(--bg)}.boot-card{display:grid;gap:10px;justify-items:center;text-align:center;max-width:420px}.studio{flex:0 0 420px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--surface-2)}.studio-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px 12px 16px;border-bottom:1px solid var(--border)}.studio-head h3{margin:0;font-size:15px}.studio-state{font-size:11px;color:var(--text-faint)}.studio-state.is-dirty{color:var(--accent)}.studio-head-actions{display:flex;align-items:center;gap:6px}.studio-status{margin:0;padding:9px 16px;background:var(--accent-soft);color:var(--accent);font-size:12.5px}.studio-body{overflow-y:auto;padding:14px 16px 40px}.studio-section{margin-bottom:22px}.studio-section h5{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.studio-form{display:grid;gap:12px}.studio-seg{display:inline-flex;margin-bottom:8px}.studio-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.studio-list li{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 9px;border-radius:8px;border:1px solid transparent;background:var(--surface)}.studio-list li.is-active{border-color:var(--accent);background:var(--accent-soft)}.studio-list-name{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0;border:0;background:none;color:inherit;text-align:left;font-size:13px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-list-name .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.studio-list-tools{display:flex;gap:2px}.studio-list-tools button{width:22px;height:22px;border:0;border-radius:6px;background:none;color:var(--text-faint);cursor:pointer;font-size:12px}.studio-list-tools button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.studio-list-tools button:disabled{opacity:.3;cursor:not-allowed}.btn.small{padding:5px 10px;font-size:12px;border-radius:8px}.stacked textarea,.studio-form textarea,.studio-form input[type=text],.studio-form input[type=url],.studio-form select,.stacked select{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 9px;font-size:13.5px;color:var(--text);font-family:inherit}.tex-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5;resize:vertical}.file-chip{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:12.5px}.file-chip button{margin-left:auto;border:0;background:none;color:var(--accent);cursor:pointer;font-size:12px}.loop-inputs{display:flex;gap:6px}.loop-inputs input{width:100%}.check-row{display:grid;gap:6px;margin-top:10px}.check-row label{display:flex;align-items:center;gap:8px;font-size:13px}.swatches{display:flex;gap:6px;margin-top:8px}.swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatch.is-active{border-color:var(--text)}.hint.inline{margin:0;flex:1 1 140px}.studio-danger{border-top:1px solid var(--border);padding-top:16px}.studio-danger code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--accent)}.studio-fab{position:fixed;right:22px;bottom:22px;z-index:30;padding:11px 18px;border:0;border-radius:99px;background:var(--accent);color:var(--accent-contrast);font-weight:700;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:12px;cursor:pointer;box-shadow:var(--shadow)}@media (max-width: 1240px){.studio{flex-basis:360px}}@media (max-width: 980px){.home{grid-template-columns:1fr}.rail{flex-direction:row;align-items:center;gap:14px;overflow-x:auto}.rail-nav{grid-auto-flow:column}.rail-foot{margin-top:0;margin-left:auto;grid-auto-flow:column;align-items:center}.rail-copy{display:none}.studio{position:absolute;right:0;top:0;bottom:0;z-index:25;flex-basis:340px}}.auth{display:grid;place-items:center;min-height:100%;padding:40px 20px;background:radial-gradient(90% 60% at 50% 0%,rgba(255,180,61,.1),transparent 65%),var(--bg)}.auth-inner{display:grid;justify-items:center;gap:18px;width:100%;max-width:380px}.auth-tagline{margin:-6px 0 0;color:var(--text-muted);font-size:14px;text-align:center}.auth-card{width:100%;display:grid;gap:12px;padding:24px 22px 20px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);text-align:left}.auth-card h1{margin:0 0 4px;font-size:22px}.auth-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}.auth-card .btn.wide{min-width:0;width:100%}.auth-card input{width:100%;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:10px 11px;font-size:14.5px;color:var(--text)}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-error{margin:0;padding:9px 11px;border-radius:9px;background:#ff8a721f;color:var(--danger);font-size:13px}.auth-tick{color:var(--ok)}.auth-foot{display:flex;align-items:center;gap:14px}.auth-back{color:var(--text-muted);font-size:12.5px;text-decoration:none}.auth-back:hover{color:var(--text)}.auth-copy{margin:0;color:var(--text-faint);font-size:11px}.landing{min-height:100%;background:var(--bg);overflow-y:auto}.landing-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:0 auto;padding:16px 24px;background:#0a0a0bd1;backdrop-filter:blur(10px)}:root[data-theme=light] .landing-nav{background:#f4f2efdb}.landing-nav-right{display:flex;align-items:center;gap:12px}.landing-main{max-width:1180px;margin:0 auto;padding:0 24px}.ls{padding:54px 0;border-top:1px solid var(--border)}.ls:first-child{border-top:0}.ls.alt{background:linear-gradient(180deg,transparent,var(--bg-2) 12%,transparent)}.ls h2{font-size:clamp(24px,3.2vw,34px);margin:0 0 24px}.ls-text{color:var(--text-muted);font-size:15.5px;line-height:1.7;max-width:680px}.ls.hero{padding:70px 0 60px;max-width:800px;border-top:0}.ls.hero h1{margin:0;font-size:clamp(38px,6vw,66px);line-height:1.05}.ls.hero h1 .script{display:block;font-family:var(--font-script);font-style:italic;font-weight:500;letter-spacing:-.015em;color:var(--accent);text-transform:none;font-size:clamp(40px,6.4vw,70px);margin-top:6px}.ls.hero .lede{font-size:18px;line-height:1.65;color:var(--text-muted);margin:24px 0 32px;max-width:620px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.btn.big{padding:13px 24px;font-size:15.5px;border-radius:12px}.ls-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:22px 20px 24px}.feature-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:19px;margin-bottom:14px}.feature h3{margin:0 0 8px;font-size:17px}.feature p{margin:0;font-size:14px;line-height:1.6;color:var(--text-muted)}.ls-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.ls-steps li{display:grid;grid-template-columns:62px 1fr;align-items:start;gap:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px}.ls-steps .step-no{font-family:var(--font-display);font-size:26px;color:var(--accent)}.ls-steps h3{margin:0 0 6px;font-size:17px}.ls-steps p{margin:0;font-size:14px;line-height:1.6;color:var(--text-muted)}.ls.cta{text-align:center}.ls.cta .ls-text{margin:0 auto 26px}.ls-video{width:100%;border-radius:var(--radius-lg);background:#000}.landing-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:26px 24px 40px;border-top:1px solid var(--border);color:var(--text-faint);font-size:12.5px}.landing-foot p{margin:0}.sample-player{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.sample-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.speed-flat{min-width:46px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.sample-sheet{height:320px;display:flex}.site-editor{display:grid;gap:12px}.site-editor-top{align-items:center}.site-editor-h{margin:6px 0 0;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.lang-tabs{display:inline-flex;gap:3px;padding:3px;background:var(--surface-3);border-radius:99px}.lang-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer}.lang-tabs button.is-active{background:var(--surface);color:var(--accent)}.section-form{border-left:2px solid var(--accent);padding-left:12px}.section-items{display:grid;gap:10px}.section-item{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.section-item-head{display:flex;align-items:center;justify-content:space-between}.students-alert{margin:0 0 8px;padding:7px 10px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:12.5px}.student-info{display:grid;gap:1px;min-width:0;flex:1 1 auto}.student-info b{font-size:13px}.student-info small{font-size:11px;color:var(--text-faint)}.studio-list li.is-pending{border-color:var(--accent)}.shell{display:grid;grid-template-columns:232px 1fr;height:100%;background:var(--bg);overflow:hidden}.shell-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.rail.is-compact{width:62px}.rail.is-compact .rail-item{justify-content:center;padding:10px 0}.rail.is-compact .rail-brand{display:none}.rail-group{display:grid;gap:2px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.rail-group:last-child{border-bottom:0;margin-bottom:0}.rail-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border:0;border-radius:var(--radius);background:none;color:var(--text-muted);font-size:13.5px;cursor:pointer;text-align:left;width:100%}.rail-item:hover{background:var(--surface-2);color:var(--text)}.rail-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.rail-user{margin:0;font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 30px 16px;border-bottom:1px solid var(--border)}.page-head h1{margin:0;font-size:28px;letter-spacing:-.01em}.page-head p{margin:4px 0 0;color:var(--text-muted);font-size:14px}.page-body{flex:1 1 auto;overflow-y:auto;padding:22px 30px 60px}.page-head.is-block{background:var(--accent);color:var(--bone-ink);border-bottom:0;align-items:flex-start;padding:10px 30px 11px}.page-head.is-block>div:first-child{flex:1 1 auto;min-width:0;max-width:620px}.page-head.is-block h1{font-size:18px;font-weight:600;letter-spacing:-.015em}.page-block-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.page-head.is-block p{color:inherit;opacity:.72}.page-eyebrow{margin:0!important;font-size:11.5px;font-weight:500;opacity:.7;text-transform:capitalize}.page-figures{display:flex;flex-wrap:wrap;gap:2px 14px;margin:4px 0 0}.page-figures>div{display:flex;align-items:baseline;gap:4px}.page-figures dt{font-size:13px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.page-figures dd{margin:0;font-size:10.5px;opacity:.7}.page-head.is-block .page-head-actions .btn.primary{background:var(--bone-ink);color:var(--bone);border-color:var(--bone-ink)}@media (max-width: 720px){.page-head.is-block{padding:10px 18px 11px;flex-direction:column-reverse}.page-head.is-block .page-head-actions{align-self:flex-end;margin-bottom:2px}.page-figures{gap:6px 18px}}.page-empty{color:var(--text-muted);font-size:14px;margin:6px 0 0}.page-section{margin-bottom:30px}.page-section>h2{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:16px}.page-section>h2 i{font-style:normal;font-size:11px;color:var(--text-faint);background:var(--surface-2);border-radius:99px;padding:2px 8px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.card-kind{position:absolute;top:10px;right:10px;padding:3px 8px;border-radius:99px;background:#00000080;color:#fff;font-size:10px;font-weight:600;backdrop-filter:blur(4px)}.search-box{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-muted)}.search-box input{flex:1 1 auto;border:0;background:none;font-size:15px;color:var(--text);outline:none}.result-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.result-list button{width:100%;display:grid;gap:2px;text-align:left;cursor:pointer;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.result-list button:hover{border-color:var(--accent)}.result-list span{font-size:12.5px;color:var(--text-muted)}.result-list small{font-size:11px;color:var(--text-faint)}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.panel-card{display:grid;gap:12px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.panel-card h2{margin:0;font-size:16px}.panel-card h2.mt{margin-top:8px}.panel-card input,.panel-card textarea,.panel-card select{width:100%;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:9px 11px;font-size:14px;color:var(--text);font-family:inherit}.panel-card input:disabled{opacity:.6}.form-ok{margin:0;padding:9px 11px;border-radius:9px;background:#5fe3b31f;color:var(--ok);font-size:13px}.practice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}.practice-card{display:grid;gap:12px;padding:20px;justify-items:stretch;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.practice-card h2{margin:0;font-size:16px}.metro-beats{display:flex;gap:8px;justify-content:center}.metro-beats i{width:14px;height:14px;border-radius:50%;background:var(--surface-3);transition:background .05s}.metro-beats i.is-on{background:var(--accent)}.metro-bpm{display:flex;align-items:center;justify-content:center;gap:10px}.metro-bpm strong{font-family:var(--font-display);font-size:40px;line-height:1}.metro-bpm span{font-size:11px;color:var(--text-faint);letter-spacing:.1em}.metro-bpm button{width:30px;height:30px;border-radius:50%;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:17px}.practice-clock{margin:0;text-align:center;font-family:var(--font-display);font-size:44px;font-variant-numeric:tabular-nums}.practice-readout{display:flex;gap:10px}.practice-readout div{flex:1 1 0;padding:12px;display:grid;gap:2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.practice-readout strong{font-size:26px;font-family:var(--font-display)}.practice-readout span{font-size:11px;color:var(--text-faint)}.practice-bars{display:flex;align-items:flex-end;gap:4px;height:70px}.practice-bars i{flex:1 1 0;min-height:3px;border-radius:3px 3px 0 0;background:var(--surface-3)}.practice-bars i.is-on{background:var(--accent)}.tuner{grid-column:1 / -1}.tuner-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.tuner-controls .stacked{flex:1 1 200px;min-width:0}.tuner-meter{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 10px}.tuner-note{font-family:var(--font-display);line-height:1;display:flex;align-items:baseline;gap:2px}.tuner-note b{font-size:56px;letter-spacing:-1px}.tuner-note sub{font-size:18px;color:var(--text-faint)}.tuner-waiting{color:var(--text-faint)}.tuner-scale{position:relative;width:100%;max-width:520px;height:34px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tuner-zone{position:absolute;left:45%;width:10%;top:0;bottom:0;background:color-mix(in srgb,var(--ok) 16%,transparent)}.tuner-centre{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border-strong)}.tuner-needle{position:absolute;top:3px;bottom:3px;width:4px;border-radius:2px;transform:translate(-50%);background:var(--text-faint);transition:left 90ms linear,background .16s var(--ease)}.tuner-meter.is-flat .tuner-needle,.tuner-meter.is-sharp .tuner-needle{background:var(--accent)}.tuner-meter.is-in-tune .tuner-needle{background:var(--ok)}.tuner-meter.is-in-tune .tuner-note b{color:var(--ok)}.tuner-verdict{margin:0;font-size:14px;font-weight:600}.tuner-meter.is-in-tune .tuner-verdict{color:var(--ok)}.tuner-meter.is-idle .tuner-verdict{color:var(--text-faint);font-weight:400}.tuner-hz{margin:0;font-size:11px;color:var(--text-faint)}.tuner-strings{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tuner-string{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:52px;padding:8px 6px;cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .16s var(--ease),background .16s var(--ease)}.tuner-string:hover{border-color:var(--border-strong)}.tuner-string b{font-family:var(--font-display);font-size:17px}.tuner-string small{font-size:10px;color:var(--text-faint)}.tuner-string.is-target{border-color:var(--accent);background:var(--accent-soft)}.tuner-string.is-pinned{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.chordbook{margin-top:16px}.chord-roots,.chord-types{display:flex;gap:6px;flex-wrap:wrap}.chord-chip{padding:6px 12px;cursor:pointer;font-weight:600;font-size:13px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-pill);transition:border-color .16s var(--ease),background .16s var(--ease)}.chord-chip.small{font-size:12px;padding:5px 10px;font-weight:500}.chord-chip:hover{border-color:var(--border-strong)}.chord-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.chord-grid{display:grid;gap:14px;margin-top:4px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.chord-card{margin:0;padding:10px 6px 8px;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.chord-card figcaption{display:flex;flex-direction:column;align-items:center;gap:4px}.chord-card figcaption b{font-family:var(--font-display);font-size:17px}.chord-diagram{width:100%;max-width:128px;height:auto}.cd-string,.cd-fret{stroke:var(--text-faint);stroke-width:1}.cd-nut{stroke:var(--text);stroke-width:4;stroke-linecap:square}.cd-dot,.cd-barre{fill:var(--accent)}.cd-finger{fill:var(--accent-contrast);font-size:9px;font-weight:700}.cd-open{fill:var(--text-muted);font-size:11px}.cd-position{fill:var(--text-muted);font-size:11px;font-weight:600}.chord-grid.is-wide{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.arp-diagram{width:100%;height:auto}.arp-string{stroke:var(--text-faint)}.arp-fret{stroke:var(--border-strong);stroke-width:1}.arp-nut{stroke:var(--text);stroke-width:3}.arp-fretnum{fill:var(--text-faint);font-size:10px}.arp-dot{fill:var(--surface-3);stroke:var(--accent);stroke-width:1.5}.arp-dot.is-root{fill:var(--accent);stroke:var(--accent)}.arp-degree{fill:var(--text);font-size:9px;font-weight:700}.arp-degree.is-root{fill:var(--accent-contrast)}.arp-notes{color:var(--text-faint);font-size:11px;letter-spacing:.02em}.piano-row{margin-top:8px}.piano-row-name{margin:0 0 8px;font-family:var(--font-display);font-size:15px;color:var(--accent);letter-spacing:.04em}.piano-card .keyboard-wrap{margin:0 0 6px}.piano-card .keyboard{width:100%;height:auto}.piano-card figcaption small{color:var(--text-faint);font-size:11px}.piano-fingers{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:4px 0 2px;padding:0;list-style:none}.piano-fingers li{display:flex;flex-direction:column;align-items:center;line-height:1.25}.piano-fingers span{font-size:12px;font-weight:600}.piano-fingers span.is-root{color:var(--accent)}.piano-fingers i{font-style:normal;font-size:10px;color:var(--text-faint);min-width:15px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-pill)}.request-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.request-list li{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.request-list li.is-new{border-color:var(--accent)}.request-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.request-list small{font-size:11.5px;color:var(--text-faint)}.request-list p{margin:2px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-muted)}.request-list time{font-size:11px;color:var(--text-faint)}.pill{padding:3px 9px;border-radius:99px;font-size:10.5px;font-weight:600;background:var(--surface-3);color:var(--text-muted);white-space:nowrap}.pill.is-done{background:#5fe3b329;color:var(--ok)}.pill.is-warn{background:#ff8a7229;color:var(--danger)}.composer{margin-bottom:20px}.composer textarea{width:100%;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:11px;font:inherit;font-size:14px;color:var(--text);resize:vertical}.thread-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.thread{padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.thread.is-hidden{opacity:.55;border-style:dashed}.post p{margin:6px 0 0;font-size:14.5px;line-height:1.6;white-space:pre-wrap}.post-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.post-head b{font-size:13.5px}.post-head time{margin-left:auto;font-size:11px;color:var(--text-faint)}.post-tools{display:flex;gap:12px;margin-top:8px}.post-tools button{border:0;background:none;padding:0;cursor:pointer;color:var(--text-faint);font-size:11.5px;text-decoration:underline}.post-tools button:hover{color:var(--text)}.reply-list{list-style:none;margin:14px 0 10px;padding:0 0 0 16px;display:grid;gap:12px;border-left:2px solid var(--border)}.reply-box{margin-top:12px;display:grid;gap:8px}.reply-box textarea{width:100%;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:9px;font:inherit;font-size:13.5px;color:var(--text)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;object-fit:cover;flex:none;background:var(--surface-2)}.avatar-initials{color:#fff;font-weight:800;letter-spacing:.02em}.picker-inner{width:min(920px,100%);margin:0 auto;padding:40px 20px;display:grid;justify-items:center;gap:26px}.picker-title{font-size:clamp(22px,4vw,34px);font-weight:700;text-align:center;margin:0}.picker-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:22px}.picker-tile{display:grid;justify-items:center;gap:10px;border:0;background:none;padding:6px;cursor:pointer;color:var(--text-dim)}.picker-tile:disabled{cursor:default}.picker-face{position:relative;display:block;border-radius:14px}.picker-face .avatar{border:3px solid transparent;transition:border-color .12s,transform .12s}.picker-tile:hover .avatar,.picker-tile:focus-visible .avatar{border-color:var(--accent);transform:translateY(-2px)}.picker-tile.is-current .avatar{border-color:var(--accent)}.picker-tile:hover .picker-name,.picker-tile:focus-visible .picker-name{color:var(--text)}.picker-name{font-size:14.5px;font-weight:600}.picker-role{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.picker-add{width:120px;height:120px;display:grid;place-items:center;border:3px dashed var(--border);border-radius:14px;font-size:44px;line-height:1;color:var(--text-faint)}.picker-tile:hover .picker-add{border-color:var(--accent);color:var(--accent)}.picker-pencil{position:absolute;inset:0;display:grid;place-items:center;background:#0000008c;border-radius:14px;color:#fff}.picker-actions{justify-content:center}.profile-editor{width:min(420px,100%);display:grid;gap:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:22px}.profile-editor h1{font-size:19px;margin:0}.profile-picture{display:grid;justify-items:center;gap:10px;text-align:center}.seg{display:flex;gap:4px;border:1px solid var(--border);border-radius:10px;padding:3px}.seg button{flex:1;border:0;background:none;color:var(--text-dim);padding:7px 10px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.seg button.is-active{background:var(--accent);color:#17130c}.btn.danger{color:var(--danger, #d4644c)}.rail-profile{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;padding:6px 4px;cursor:pointer;color:var(--text-dim);font:inherit;font-size:12.5px;text-align:left}.rail-profile:disabled{cursor:default}.rail-profile span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-profile:not(:disabled):hover{color:var(--text)}.rail-profile .avatar{border-radius:8px}.achievements{display:grid;gap:14px;margin-bottom:22px}.level-card{display:flex;align-items:center;gap:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px}.level-badge{position:relative;display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:linear-gradient(150deg,var(--accent),#8a6d14);color:#17130c;font-size:22px;font-weight:800}.level-badge b{position:absolute;font-size:15px;color:#17130c}.level-body{flex:1;min-width:0;display:grid;gap:6px}.level-body small{color:var(--text-faint);font-size:12px}.level-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.level-bar span{display:block;height:100%;background:var(--accent);border-radius:99px}.level-xp{text-align:right;flex:none}.level-xp b{display:block;font-size:19px;font-variant-numeric:tabular-nums}.level-xp small{color:var(--text-faint);font-size:11px}.badges-title{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.badges-title span{color:var(--accent)}.badge-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.badge{display:grid;justify-items:center;gap:3px;text-align:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px 8px;opacity:.45}.badge.is-earned{opacity:1;border-color:var(--accent)}.badge-art{font-size:26px;line-height:1;filter:grayscale(1)}.badge.is-earned .badge-art{filter:none}.badge b{font-size:12px;font-weight:600}.badge small{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.badge-done{color:var(--accent);font-weight:700}.achievements.is-kids .level-card{padding:22px;gap:20px}.achievements.is-kids .level-badge{width:72px;height:72px;font-size:30px}.achievements.is-kids .level-body b{font-size:20px}.achievements.is-kids .level-bar{height:14px}.achievements.is-kids .level-xp b{font-size:24px}.achievements.is-kids .badge-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px}.achievements.is-kids .badge{padding:18px 10px;border-radius:18px}.achievements.is-kids .badge-art{font-size:40px}.achievements.is-kids .badge b{font-size:13.5px}.achievements.is-kids .badge.is-earned{box-shadow:0 0 0 3px #e8913a2e}.kids-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);padding:11px 12px}.kids-toggle span{display:grid;gap:2px}.kids-toggle small{color:var(--text-faint);font-size:12px}.plan-lede{margin:-12px 0 0;color:var(--text-faint);font-size:13.5px;text-align:center}.plan-grid{list-style:none;margin:0;padding:0;display:grid;gap:14px;width:100%;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.plan-card{display:grid;justify-items:start;gap:6px;width:100%;height:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px;cursor:pointer;text-align:left;color:var(--text-dim);transition:border-color .12s,transform .12s}.plan-card:hover:not(:disabled),.plan-card:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.plan-card.is-chosen{border-color:var(--accent)}.plan-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:4px;border-radius:11px;background:var(--surface-2);color:var(--accent)}.plan-name{color:var(--text);font-size:16px}.plan-price{color:var(--accent);font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.plan-price small{font-size:12px;font-weight:600;color:var(--text-faint)}.plan-converted{margin-top:-4px;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.plan-seats{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:700}.plan-blurb{font-size:12.5px;line-height:1.45}.plan-note{text-align:center;max-width:46ch}.icon-picker{position:relative;display:inline-flex}.icon-picker-current{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-dim);cursor:pointer}.icon-picker-current:hover{color:var(--accent);border-color:var(--accent)}.icon-picker-grid{position:absolute;top:calc(100% + 5px);left:0;z-index:30;display:grid;grid-template-columns:repeat(6,28px);gap:4px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 28px #00000073}.icon-picker-grid button{display:grid;place-items:center;width:28px;height:28px;border:1px solid transparent;border-radius:7px;background:none;color:var(--text-dim);cursor:pointer}.icon-picker-grid button:hover{background:var(--surface-2);color:var(--text)}.icon-picker-grid button.is-active{border-color:var(--accent);color:var(--accent)}.add-person{display:grid;gap:10px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}.add-person-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px}.add-person-done{margin:0;padding:9px 10px;border-radius:9px;font-size:12.5px;background:var(--surface);border:1px solid var(--accent);color:var(--text-dim)}.add-person-done code{display:block;margin-top:6px;font-size:14px;font-weight:700;color:var(--accent);user-select:all;word-break:break-all}@media (max-width: 620px){.add-person-row{grid-template-columns:1fr}}.student-info{display:flex;align-items:center;gap:10px;text-align:left}.student-info>span{display:grid;min-width:0}.student-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-list{list-style:none;margin:8px 0 2px;padding:0 0 0 14px;display:grid;gap:6px;border-left:2px solid var(--border)}.profile-list>li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-list>li.is-hidden{opacity:.5}.role-select{border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);border-radius:7px;padding:3px 5px;font:inherit;font-size:11px;cursor:pointer}.comments-panel{display:grid;gap:14px}.comments-panel .composer{margin-bottom:4px}.comments-compose-row{align-items:center;justify-content:space-between;gap:10px}.comments-at{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint);cursor:pointer}.comments-at b{color:var(--text-dim);font-variant-numeric:tabular-nums}.timecode{border:1px solid var(--border);background:var(--surface-2);color:var(--accent);border-radius:var(--radius-pill);padding:1px 9px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.timecode:hover{border-color:var(--accent)}.faq{display:grid;gap:8px;max-width:760px}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.faq-item>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:0;background:none;color:var(--text);font-size:14.5px;font-weight:600;text-align:left;cursor:pointer}.faq-item.is-open{border-color:var(--accent)}.faq-item p{margin:0;padding:0 16px 16px;font-size:14px;line-height:1.65;color:var(--text-muted)}.contact-card{margin-top:20px;max-width:760px}.menu-editor{display:grid;gap:10px}.menu-row{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0}.menu-row input{flex:1 1 auto;min-width:0;border:1px solid var(--border);background:var(--surface-2);border-radius:7px;padding:5px 8px;font-size:13px;color:var(--text)}.menu-row code{font-size:10.5px;color:var(--text-faint)}.studio-list li.is-muted{opacity:.5}.inbox{display:grid;gap:10px}@media (max-width: 980px){.shell{grid-template-columns:1fr}.shell .rail{flex-direction:row;align-items:center;gap:10px;overflow-x:auto}.shell .rail-group{grid-auto-flow:column;border-bottom:0;padding-bottom:0;margin-bottom:0}.shell .rail-nav{display:flex;gap:10px}}.card.is-hidden{opacity:.55;border-style:dashed}.card-hidden{position:absolute;top:10px;right:10px;padding:3px 8px;border-radius:99px;background:#0009;color:var(--danger);font-size:10px;font-weight:700;letter-spacing:.04em}.step-tab.is-hidden .step-title,.step-tab.is-hidden .step-subtitle{opacity:.55}.tab-hidden{color:var(--danger);font-size:11px}.ls-wrap.is-hidden{opacity:.5;outline:1px dashed var(--border-strong);outline-offset:-6px}.hidden-note{margin:0;padding:6px 0 0;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--danger);font-weight:600}.stats{display:grid;gap:22px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{display:grid;gap:3px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.stat strong{font-family:var(--font-display);font-size:30px;line-height:1}.stat span{font-size:11.5px;color:var(--text-faint)}.stat-block{display:grid;gap:10px}.stat-block h3{margin:0;font-size:15px}.week-grid{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px}.week-col{display:grid;grid-template-rows:repeat(7,1fr);gap:4px}.heat{width:13px;height:13px;border-radius:3px;background:var(--surface-3)}.heat-1{background:#ffb43d47}.heat-2{background:#ffb43d80}.heat-3{background:#ffb43dbf}.heat-4{background:var(--accent)}.lesson-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lesson-bars li{display:grid;grid-template-columns:1fr 140px auto;align-items:center;gap:12px}.lesson-bar-name{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-bar{height:7px;border-radius:99px;background:var(--surface-3);overflow:hidden}.lesson-bar span{display:block;height:100%;border-radius:99px}.lesson-bar-count{font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.fact-list{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13.5px;color:var(--text-muted)}.fact-list b{color:var(--text);font-family:var(--font-display);font-size:16px;margin-right:4px}.student-info{flex:1 1 auto;display:grid;gap:1px;min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}.student-info:hover b{color:var(--accent)}.student-stats{grid-column:1 / -1;width:100%;margin-top:10px;padding-top:12px;border-top:1px solid var(--border)}.studio-list li:has(.student-stats){flex-wrap:wrap}.audit{display:grid;gap:10px}.audit-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:320px;overflow-y:auto}.audit-list li{display:grid;gap:1px;padding:7px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.audit-list li.is-warn{border-color:var(--danger)}.audit-list b{font-size:12.5px;text-transform:capitalize}.audit-list span{font-size:11.5px;color:var(--text-muted)}.audit-list em{font-size:11px;color:var(--text-faint);font-style:normal}.audit-list small{font-size:10.5px;color:var(--text-faint)}.auth-link{border:0;background:none;padding:2px;color:var(--text-muted);font:inherit;font-size:12.5px;text-decoration:underline;cursor:pointer}.auth-link:hover{color:var(--accent)}.score-stalled{max-width:460px;text-align:left;line-height:1.5}.score-stalled code{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:5px;background:var(--surface-3);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}html,body{max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%}.auth,.picker-inner,.shell,.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (max-width: 1024px){.split{flex-direction:column}.split-pane{width:100%!important}.split-handle{width:100%;height:12px;cursor:row-resize}}@media (max-width: 820px){button,.btn,.tool-btn,.icon-btn,.rail-item,.step-tab,select,input[type=checkbox]{min-height:44px}.icon-btn,.tool-btn{min-width:44px}input,select,textarea{font-size:16px}.picker-inner{padding:24px 16px;gap:20px}.plan-grid{grid-template-columns:1fr}.profile-editor{width:100%;padding:18px}.picker-grid{gap:16px}.picker-tile .avatar,.picker-add{width:88px!important;height:88px!important}.picker-add{font-size:34px}}@media (max-width: 620px){.landing-nav{flex-wrap:wrap;gap:10px}.landing-nav-right{flex-wrap:wrap;justify-content:flex-end;gap:8px}.shell .rail,.rail{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--border);padding:6px 8px;gap:6px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.rail-item span{display:none}.rail-item{padding:10px;justify-content:center}.rail-brand,.rail-copy{display:none}.rail-profile span{max-width:90px}.video-pane{max-height:34vh}.lesson-head-title h1{font-size:16px}.lesson-byline{font-size:11px}.toolbar{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.transport{position:sticky;bottom:0;z-index:25;background:var(--surface)}.stat-row{grid-template-columns:repeat(2,1fr)}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.level-card{flex-wrap:wrap}.add-person-row{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-height: 480px) and (orientation: landscape){.video-pane{max-height:45vh}.picker-inner{padding:12px;gap:12px}.picker-tile .avatar,.picker-add{width:72px!important;height:72px!important}.picker-title{font-size:18px}}@media (min-width: 1600px){html{font-size:18px}.picker-inner{width:min(1200px,100%)}.picker-tile .avatar,.picker-add{width:150px!important;height:150px!important}.picker-name{font-size:17px}.plan-grid{grid-template-columns:repeat(4,1fr);max-width:1300px}.shell-main>*{max-width:1500px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (min-width: 1920px){html{font-size:20px}.picker-tile .avatar,.picker-add{width:180px!important;height:180px!important}}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.picker-tile:focus-visible .avatar,.picker-tile:focus-visible .picker-add{outline:4px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.bill-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2)}.bill-toggle button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--text-dim);cursor:pointer;padding:8px 16px;border-radius:var(--radius-pill);font:inherit;font-size:13px;font-weight:600}.bill-toggle button.is-active{background:var(--accent);color:#17130c}.bill-toggle span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.plan-billnote{margin-top:-2px;font-size:11.5px;line-height:1.35;color:var(--text-faint)}.plan-from{font-style:normal;font-size:12px;font-weight:600;color:var(--text-faint)}.inbox .studio-list li.is-unread{border-left:3px solid var(--accent, #c9a227)}.inbox-open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:44px}.inbox-open:focus-visible{outline:2px solid var(--accent, #c9a227);outline-offset:3px;border-radius:6px}.inbox-body{margin-top:.6rem;padding:.7rem .8rem;border-radius:8px;background:#ffffff0a;font-size:.9rem}.inbox-body p{display:grid;grid-template-columns:minmax(6rem,9rem) 1fr;gap:.4rem .9rem;margin:0 0 .45rem}.inbox-body p b{color:var(--muted, #9a9186);font-weight:500}.inbox-body p span{white-space:pre-wrap;word-break:break-word}@media (max-width: 620px){.inbox-body p{grid-template-columns:1fr;gap:.15rem}}.instrument-panel{flex:0 0 auto;margin:.6rem .9rem 0;padding:.85rem;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.07)}.ip-head{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin-bottom:.7rem}.ip-modes{display:inline-flex;border-radius:var(--radius-pill);background:#00000040;padding:3px}.ip-modes button{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:0 .85rem;border:0;border-radius:var(--radius-pill);background:none;color:var(--muted, #9a9186);font:inherit;font-size:.85rem;cursor:pointer}.ip-modes button.is-active{background:var(--accent, #c9a227);color:#1a1710;font-weight:600}.ip-modes button:disabled{opacity:.4;cursor:not-allowed}.ip-tools,.ip-explore{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem}.ip-explore{margin-bottom:.7rem}.ip-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted, #9a9186);min-height:34px}.ip-capo{font-size:.8rem;padding:.2rem .55rem;border-radius:var(--radius-pill);background:#c9a2272e;color:var(--accent, #c9a227)}.ip-hint{margin:.6rem 0 0;text-align:center}.fretboard-wrap,.keyboard-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.fretboard{display:block;width:100%;min-width:620px;height:auto}.keyboard{display:block;width:100%;min-width:560px;height:auto}.fb-board{fill:#3b2a1c}.fb-inlay{fill:#ffffff29}.fb-fret{stroke:#b9b2a6;stroke-width:2}.fb-nut{stroke:#efe9dd;stroke-width:6}.fb-capo{stroke:var(--accent, #c9a227);stroke-width:7;opacity:.85}.fb-string{stroke:#d8d2c6;opacity:.85}.fb-fretnum{fill:var(--muted, #9a9186);font-size:13px}.fb-openname{fill:var(--text, #e9e9ee);font-size:14px;font-weight:800}.fb-hit{fill:transparent;cursor:pointer}.fb-hit:focus-visible{fill:#c9a22738;outline:2px solid var(--accent, #c9a227);outline-offset:-2px}.fb-note{fill:#ffffff24;stroke:#ffffff47;stroke-width:1}.fb-note.is-scale{fill:#c9a22759;stroke:var(--accent, #c9a227)}.fb-note.is-root{fill:var(--accent, #c9a227);stroke:#fff3d0;stroke-width:2}.fb-note.is-lit{fill:#4ad4a0;stroke:#eafff6;stroke-width:2}.fb-heard circle{stroke-width:4}.fb-heard.is-ok circle{fill:#1fb88447;stroke:#1fb884}.fb-heard.is-off circle{fill:#ff6b5738;stroke:#ff6b57;stroke-dasharray:5 4}.fb-heard-name{fill:#ff6b57;font-weight:800;font-size:12px}.fb-notename{fill:#14110c;font-size:11px;font-weight:700;pointer-events:none}.fb-note.is-scale+.fb-notename{fill:#f6efdd}.fb-note.is-root+.fb-notename,.fb-note.is-lit+.fb-notename{fill:#14110c}.kb-white{fill:#f4efe6;stroke:#2a2620;stroke-width:1;cursor:pointer}.kb-black{fill:#1b1815;stroke:#000;stroke-width:1;cursor:pointer}.kb-white.is-scale{fill:#f0dfae}.kb-black.is-scale{fill:#6b5820}.kb-white.is-root{fill:var(--accent, #c9a227)}.kb-black.is-root{fill:#a8871f}.kb-white.is-lit{fill:#4ad4a0}.kb-black.is-lit{fill:#2fa87c}.kb-white:focus-visible,.kb-black:focus-visible{outline:2px solid var(--accent, #c9a227);outline-offset:-3px}.kb-name{font-size:10px;fill:#6b6357;pointer-events:none}.kb-name.is-c{font-weight:700;fill:#3a352c}.kb-name.is-black{fill:#cfc7b8}@media (max-width: 620px){.instrument-panel{padding:.6rem}.ip-head{gap:.45rem}.fretboard{min-width:560px}}@media (prefers-reduced-motion: reduce){.fb-note,.kb-white,.kb-black{transition:none!important}}.rail-instruments{display:flex;flex-direction:column;gap:2px;margin:0 .5rem .8rem;padding:4px;border-radius:10px;background:#00000038}.rail-instruments.is-compact{margin:0 .3rem .6rem}.rail-instrument{display:flex;align-items:center;gap:.55rem;width:100%;min-height:40px;padding:0 .6rem;border:0;border-radius:7px;background:none;color:var(--muted, #9a9186);font:inherit;font-size:.88rem;text-align:left;cursor:pointer}.rail-instruments.is-compact .rail-instrument{justify-content:center;padding:0}.rail-instrument:hover{background:#ffffff0d;color:var(--text, #efe9dd)}.rail-instrument.is-active{background:var(--accent, #c9a227);color:#1a1710;font-weight:600}.rail-instrument:focus-visible{outline:2px solid var(--accent, #c9a227);outline-offset:2px}.rail-count{margin-left:auto;font-size:.72rem;font-weight:600;opacity:.75;font-variant-numeric:tabular-nums}.fretboard{max-height:210px}.keyboard{max-height:186px}.instrument-panel.is-closed{margin:.4rem .9rem 0;padding:0;background:none;border:0;text-align:center}.ip-reopen{display:inline-flex;align-items:center;gap:.4rem;min-height:32px;padding:0 .85rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);background:#ffffff08;color:var(--muted, #9a9186);font:inherit;font-size:.82rem;cursor:pointer}.ip-reopen:hover{color:var(--text, #efe9dd)}@media (max-height: 700px){.fretboard{max-height:160px}.keyboard{max-height:140px}}.card-cover.has-image{background-size:cover;background-position:center;background-repeat:no-repeat}.card-cover.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,transparent 42%,rgba(0,0,0,.5) 100%);pointer-events:none}.lesson-header.has-image{position:relative;background-size:cover;background-position:center}.lesson-header-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#12100df0,#12100dd1 45%,#12100d99);pointer-events:none}.lesson-header.has-image>*:not(.lesson-header-scrim){position:relative;z-index:1}.section-cover{position:relative;display:flex;align-items:flex-end;min-height:150px;margin:0 0 1.2rem;border-radius:14px;overflow:hidden;background-size:cover;background-position:center}.section-cover-scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(10,9,7,.85) 100%)}.section-cover-name{position:relative;padding:.9rem 1.1rem;font-size:1.35rem;font-weight:700;letter-spacing:.01em;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.6)}@media (max-width: 620px){.section-cover{min-height:110px}.section-cover-name{font-size:1.1rem}}.imgpick{display:block;margin:.9rem 0}.imgpick-label{display:block;margin-bottom:.35rem;font-size:.82rem;color:var(--muted, #9a9186)}.imgpick-frame{position:relative;display:grid;place-items:center;width:100%;border-radius:10px;border:1px dashed rgba(255,255,255,.18);background:#ffffff08;overflow:hidden}.imgpick-frame.has-image{border-style:solid}.imgpick-frame img{width:100%;height:100%;object-fit:cover;display:block}.imgpick-empty{display:inline-flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted, #9a9186)}.imgpick-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.5rem}.imgpick-size{font-size:.75rem;color:var(--muted, #9a9186);font-variant-numeric:tabular-nums}.studio-dupe{margin:.9rem 0}.studio-dupe-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.studio-dupe-row .btn{display:inline-flex;align-items:center;gap:.35rem}.card-cover.has-image>*{position:relative;z-index:1}.teacher-list{display:flex;flex-direction:column;gap:1.6rem}.teacher{padding:1.1rem;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.07)}.teacher-head{display:flex;gap:1.1rem;align-items:flex-start}.teacher-photo{flex:0 0 auto;width:128px;height:128px;border-radius:12px;object-fit:cover;background:var(--surface-2, #1a1713)}.teacher-photo.is-blank{display:grid;place-items:center;font-size:2.6rem;font-weight:700;color:#ffffff59}.teacher-intro{min-width:0}.teacher-intro h2{margin:0 0 .15rem;font-size:1.3rem}.teacher-role{margin:0 0 .6rem;color:var(--accent, #c9a227);font-size:.9rem}.teacher-bio{margin:0 0 .85rem;max-width:62ch;line-height:1.65;white-space:pre-wrap}.teacher-actions{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-actions .btn{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.teacher-video{position:relative;margin-top:1rem;border-radius:10px;overflow:hidden;background:#000;aspect-ratio:16 / 9}.teacher-video iframe,.teacher-video video{position:absolute;inset:0;width:100%;height:100%;border:0}.teacher-lessons{margin-top:1.2rem}.teacher-lessons h3{margin:0 0 .6rem;font-size:.95rem;color:var(--muted, #9a9186);font-weight:600}@media (max-width: 620px){.teacher-head{flex-direction:column}.teacher-photo{width:96px;height:96px}}.teacher-thumb{width:26px;height:26px;border-radius:6px;object-fit:cover;flex:0 0 auto}.teacher-edit{margin-top:.7rem;padding:.8rem;border-radius:10px;background:#00000038}.teacher-edit textarea{width:100%;resize:vertical;font:inherit}.teachers-panel .studio-list li{display:block}.teachers-panel .studio-list-name{display:flex;align-items:center;gap:.55rem;text-align:left}.workspace{overflow-y:auto;overflow-x:hidden}.stage{min-height:300px;border-bottom:1px solid var(--border)}.video-pane{min-height:190px}.score-view{min-height:240px}.instrument-panel{border-top:1px solid var(--border);border-radius:0;margin:0;padding:.7rem var(--stage-pad) .9rem;background:var(--surface-2, rgba(255, 255, 255, .02))}.instrument-panel.is-closed{padding:.45rem .9rem;border-top:1px solid var(--border);background:none}@media (max-height: 820px){.stage{min-height:250px}.video-pane{min-height:150px}.score-view{min-height:200px}}@media (max-height: 680px){.stage{min-height:210px}.video-pane{min-height:120px}.score-view{min-height:170px}}@media (max-width: 640px){.stage{min-height:380px}.video-pane{min-height:160px}.score-view{min-height:200px}}.stack{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.stack-row{display:flex;min-width:0;min-height:0}.stack{min-height:0;overflow-y:auto}.video-row{flex:0 0 auto;border-bottom:1px solid var(--border)}.lower-row{flex:1 1 auto;min-height:0}.stack-handle{flex:0 0 auto;height:10px;display:grid;place-items:center;cursor:row-resize;color:var(--border-strong);background:var(--surface-2);border-bottom:1px solid var(--border)}.stack-handle:hover{color:var(--accent)}.stack-handle svg{transform:rotate(90deg)}.fret-pane{flex:0 0 auto;display:flex;flex-direction:column;min-width:0;overflow:hidden;border-left:1px solid var(--border)}.fret-pane .instrument-panel{flex:1 1 auto;min-height:0;overflow-y:auto;border-top:0;margin:0}.fret-pane .fretboard{min-width:420px;max-height:none}.fret-pane .keyboard{min-width:380px;max-height:none}@media (max-width: 900px){.lower-row{flex-direction:column}.fret-pane{width:100%!important;flex:0 0 auto;border-left:0;border-top:1px solid var(--border)}.lower-row>.split-handle{width:100%;height:10px;cursor:row-resize}.fret-pane .fretboard{min-width:560px;max-height:210px}.fret-pane .keyboard{min-width:520px;max-height:186px}}.fret-pane .fretboard,.fret-pane .keyboard{min-width:0;max-height:none}.ip-board{min-width:0;width:100%}.split-handle:focus-visible,.stack-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;color:var(--accent)}.split-handle:before,.stack-handle:before{content:"";position:absolute;z-index:2}.split-handle,.stack-handle{position:relative}.split-handle:before{inset:0 -6px}.stack-handle:before{inset:-6px 0}.split-handle:active,.stack-handle:active{color:var(--accent)}@media (pointer: coarse){.split-handle{width:16px}.stack-handle{height:16px}}.legal{max-width:74ch}.legal-tabs{margin-bottom:1rem}.legal-todo{margin:0 0 1.2rem;padding:.7rem .9rem;border-radius:10px;border:1px solid rgba(224,102,63,.45);background:#e0663f1f;font-size:.86rem}.legal-doc h2{margin:1.6rem 0 .5rem;font-size:1.02rem;letter-spacing:.01em}.legal-doc section:first-child h2{margin-top:0}.legal-doc p{margin:0 0 .75rem;line-height:1.7}.legal-doc ul{margin:0 0 .9rem;padding-left:1.1rem;line-height:1.7}.legal-doc li{margin-bottom:.35rem}.legal-table{list-style:none;padding:0;margin:0 0 1rem}.legal-table li{display:grid;grid-template-columns:minmax(9rem,12rem) 1fr;gap:.2rem 1rem;padding:.6rem 0;border-top:1px solid var(--border)}.legal-table li b{font-weight:600}.legal-table li small{grid-column:2;color:var(--muted)}@media (max-width: 620px){.legal-table li{grid-template-columns:1fr}.legal-table li small{grid-column:1}}.legal-foot{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.84rem;color:var(--muted)}.auth-consent{margin:.2rem 0 .6rem;font-size:.78rem;line-height:1.5;color:var(--muted);text-align:center}.auth-consent a{color:inherit}.video-embed{width:100%;height:100%;border:0;display:block}.audio-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;height:100%;padding:1rem;color:var(--muted);background:linear-gradient(160deg,rgba(201,162,39,.14),transparent 70%);text-align:center}.audio-title{margin:0;font-weight:600;color:var(--text);word-break:break-word}.audio-stage .hint{margin:0}.video-nosync{font-weight:500;font-size:.72rem;padding:.1rem .45rem;border-radius:var(--radius-pill);background:#e0663f40;color:#ffd9c9;white-space:nowrap}.hint.is-warn{color:#e0663f}.legal-standalone .auth-inner{max-width:74ch}.legal-standalone .legal-doc{text-align:left}.sidebar{flex:0 0 auto;width:264px;display:flex;flex-direction:column;min-height:0;background:var(--surface-2);border-right:1px solid var(--border)}.sidebar.is-collapsed{width:44px;align-items:center;padding-top:.6rem}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.85rem .5rem .7rem .9rem;border-bottom:1px solid var(--border)}.sidebar-heading{min-width:0}.sidebar-title{margin:0;font-size:.98rem;line-height:1.25;word-break:break-word}.sidebar-head .eyebrow{display:block;margin-top:.15rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:1rem}.sidebar-empty{padding:1rem .9rem}.grade{border-bottom:1px solid var(--border)}.grade-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.75rem .7rem .75rem .9rem;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.grade-head:hover{background:#ffffff08}.grade-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.grade-titles{min-width:0}.grade-titles b{display:block;font-size:.88rem}.grade-titles small{display:block;margin-top:.1rem;font-size:.76rem;color:var(--muted)}.grade-body{padding:0 .6rem .7rem}.grade-blurb{margin:0 .3rem .6rem;font-size:.76rem;line-height:1.55;color:var(--muted)}.grade-progress{margin:0 .3rem .5rem;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.grade-loose{margin:0;padding:.75rem .9rem .3rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lesson-list{list-style:none;margin:0;padding:0}.lesson-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:40px;padding:.4rem .55rem;border:0;border-radius:8px;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.lesson-item:hover{background:#ffffff0a;color:var(--text)}.lesson-item.is-active{background:#5b4bd638;color:var(--text)}.lesson-item.is-active b{color:var(--accent)}.lesson-item.is-hidden{opacity:.5}.lesson-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lesson-item-text{min-width:0}.lesson-item-text b{display:block;font-size:.83rem;font-weight:500}.lesson-item-text small{display:block;font-size:.72rem;opacity:.75}.lesson-item-right{flex:0 0 auto;opacity:.7}.lesson-empty{padding:.4rem .55rem}@media (max-width: 900px){.sidebar{width:210px}}@media (max-width: 640px){.sidebar{display:none}.sidebar.is-collapsed{display:flex}}.score-row{flex:1 1 auto;min-height:0}.score-row .score-view{flex:1 1 auto;width:100%}.fret-row{flex:0 0 auto;min-height:0;border-top:1px solid var(--border);background:var(--surface-2)}.fret-row .instrument-panel{flex:1 1 auto;width:100%;min-height:0;overflow-y:auto;margin:0;border-top:0}.fret-row .fretboard,.fret-row .keyboard{min-width:0;max-height:none}.lower-row{display:none}@media (max-width: 900px){.fret-row{border-left:0}}.score-row{min-height:140px}.score-row .score-view{min-height:0;height:100%}.fret-row .instrument-panel{min-height:0}.fret-row{flex:0 0 auto;height:auto}.fret-row .instrument-panel{overflow:visible}.instrument-panel.size-small .fretboard{max-height:84px}.instrument-panel.size-small .keyboard{max-height:76px}.instrument-panel.size-medium .fretboard{max-height:132px}.instrument-panel.size-medium .keyboard{max-height:118px}.instrument-panel.size-large .fretboard{max-height:210px}.instrument-panel.size-large .keyboard{max-height:186px}.instrument-panel.size-small .fb-fretnum{display:none}.ip-sizes{display:inline-flex;border-radius:var(--radius-pill);background:#00000040;padding:3px}.ip-sizes button{min-width:30px;min-height:28px;padding:0 .4rem;border:0;border-radius:var(--radius-pill);background:none;color:var(--muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.ip-sizes button.is-active{background:var(--accent);color:#1a1710}.ip-sizes button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-height: 760px){.instrument-panel.size-large .fretboard{max-height:150px}.instrument-panel.size-large .keyboard{max-height:136px}}.waiting{margin:0 0 1.1rem;padding:.7rem .8rem .5rem;border-radius:10px;border:1px solid rgba(201,162,39,.3);background:#c9a22712}.waiting h6{display:flex;align-items:center;gap:.45rem;margin:0 0 .4rem;font-size:.82rem;letter-spacing:.02em}.waiting-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 .35rem;border-radius:999px;background:var(--accent);color:#1a1710;font-size:.72rem;font-weight:700}.waiting .studio-list li{border-color:#c9a22733}.work-list{display:flex;flex-direction:column;gap:.9rem}.work{padding:.9rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-2)}.work.is-returned{border-color:#5fe3b34d}.work header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.work h3{margin:0;font-size:1rem}.work-due{font-size:.76rem;color:var(--muted)}.work-due.is-late{color:var(--danger);font-weight:600}.work-note,.work-feedback{margin:.5rem 0;line-height:1.6;font-size:.9rem}.work-feedback{padding:.6rem .8rem;border-radius:8px;background:#5fe3b31a}.work-waiting{display:flex;align-items:center;gap:.4rem;margin:.5rem 0 0;font-size:.85rem;color:var(--ok)}.work-submit{margin-top:.6rem}.work-outcome{padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600}.work-outcome.is-again{background:#ff8a7233;color:var(--danger)}.work-outcome.is-good{background:#ffb43d2e;color:var(--accent)}.work-outcome.is-excellent{background:#5fe3b333;color:var(--ok)}.work-video{position:relative;margin-top:.6rem;aspect-ratio:16 / 9;max-height:70vh;margin-inline:auto;border-radius:10px;overflow:hidden;background:#000}.work-video:fullscreen{max-height:none;width:100%;height:100%;border-radius:0}.work-video:fullscreen video,.work-video:fullscreen iframe{object-fit:contain}.work-video iframe,.work-video video{position:absolute;inset:0;width:100%;height:100%;border:0}.chat{display:flex;flex-direction:column;gap:.7rem}.chat-log{display:flex;flex-direction:column;gap:.5rem;max-height:420px;overflow-y:auto;padding:.3rem}.chat-msg{display:flex}.chat-msg.is-student{justify-content:flex-start}.chat-msg.is-staff{justify-content:flex-end}.chat-bubble{max-width:78%;padding:.55rem .75rem;border-radius:12px;background:var(--surface-3);font-size:.9rem;line-height:1.55}.chat-msg.is-staff .chat-bubble{background:#ffb43d29;border:1px solid rgba(255,180,61,.28)}.chat-bubble p{margin:0 0 .25rem;white-space:pre-wrap;word-break:break-word}.chat-bubble time{display:block;margin-top:.2rem;font-size:.68rem;opacity:.6}.chat-send{display:flex;flex-direction:column;gap:.4rem}.chat-send textarea,.chat-send input{width:100%;font:inherit}.chat-actions{display:flex;gap:.4rem;justify-content:flex-end}.convo-list .studio-list-name{text-align:left}.classroom .studio-seg{margin-bottom:.8rem}.classroom .waiting-count{margin-left:.35rem}.work-detail{margin-top:.6rem}.work-facts{margin:0}.work-facts>div{display:grid;grid-template-columns:minmax(6rem,8rem) 1fr;gap:.3rem .9rem;padding:.35rem 0;border-top:1px solid var(--border)}.work-facts>div:first-child{border-top:0}.work-facts dt{font-size:.76rem;color:var(--muted)}.work-facts dd{margin:0;font-size:.85rem;line-height:1.5;word-break:break-word}.work-facts dd i{opacity:.55}@media (max-width: 620px){.work-facts>div{grid-template-columns:1fr}}.crash{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--bg, #0a0a0b);color:var(--text, #f6f4f2);font-family:var(--font, system-ui, sans-serif)}.crash-inner{width:100%;max-width:460px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}.crash-inner h1{margin:0;font-family:var(--font-display, inherit);font-size:26px}.crash-inner p{margin:0;color:var(--text-muted, #a5a2a8);line-height:1.5}.crash .btn-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.crash-detail{width:100%;margin-top:6px;text-align:left}.crash-detail summary{cursor:pointer;font-size:12px;color:var(--text-faint, #76737c)}.crash-detail pre{margin:8px 0 0;padding:10px;overflow-x:auto;font-size:11px;color:var(--text-muted, #a5a2a8);background:var(--surface-2, #1c1c1f);border:1px solid var(--border, rgba(255,255,255,.1));border-radius:var(--radius, 10px)}.rotate-hint{display:flex;align-items:center;gap:8px;margin:.6rem 0 0;padding:8px 12px;font-size:13px;line-height:1.4;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius)}.rotate-hint-icon{font-size:16px;flex:0 0 auto}.split-row{flex:1 1 auto;min-width:0;min-height:200px}.split-pane{position:relative;display:flex;min-width:0;min-height:0;overflow:hidden}.split-pane.score-pane{flex:1 1 auto}.video-pane-wrap{flex:0 0 auto}.video-pane-wrap .video-pane{width:100%;min-height:0}.split-handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:12px;cursor:col-resize;background:var(--surface-2);border-left:1px solid var(--border);border-right:1px solid var(--border)}.split-handle:hover,.split-handle:focus-visible{background:var(--surface-3)}.split-grip{width:2px;height:26px;border-radius:2px;background:var(--text-faint);box-shadow:3px 0 0 var(--text-faint),-3px 0 0 var(--text-faint)}.fret-row,.chords-row{position:relative}.chords-row{flex:0 1 auto;max-height:32vh;overflow-y:auto;border-top:1px solid var(--border);background:var(--surface-2)}.strip-close{position:absolute;top:6px;right:6px;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:26px;cursor:pointer;color:var(--text);background:#0000008c;border:1px solid var(--border);border-radius:6px}.strip-close:hover{background:#000000bf;border-color:var(--border-strong)}.stage-tools{position:absolute;left:12px;bottom:12px;z-index:5;display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.stage-tools button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:7px}.stage-tools button:hover{color:var(--text);background:var(--surface-2)}.stage-tools button.is-on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}@media (max-width: 860px){.split-row{flex-direction:column}.video-pane-wrap{width:100%!important;height:38%}.split-handle{width:100%;height:12px;cursor:row-resize}.split-grip{width:26px;height:2px;box-shadow:0 3px 0 var(--text-faint),0 -3px 0 var(--text-faint)}}.step-tabs-row{position:relative;display:flex;align-items:stretch;min-width:0}.step-tabs-row>.step-tabs{flex:1 1 auto;min-width:0}.lesson-menu{position:relative;flex:0 0 auto;display:flex;align-items:center;padding:0 8px}.lesson-menu-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;cursor:pointer;font-size:18px;line-height:1;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:50%}.lesson-menu-btn:hover{color:var(--text);border-color:var(--border-strong)}.lesson-menu-pop{position:absolute;top:calc(100% + 6px);right:8px;z-index:40;min-width:232px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.lesson-menu-head{margin:4px 10px 6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.lesson-menu-pop button,.lesson-menu-pop a{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;cursor:pointer;text-align:left;text-decoration:none;font-size:14px;color:var(--text);background:transparent;border:0;border-radius:8px}.lesson-menu-pop button:hover,.lesson-menu-pop a:hover{background:var(--surface-2)}.lesson-menu-pop .is-on{color:var(--ok)}.split-row.is-stacked{flex-direction:column}.split-row.is-stacked .video-pane-wrap{width:100%;flex-grow:0;flex-shrink:0}.split-row.is-stacked .split-handle{width:100%;height:12px;cursor:row-resize;border-left:0;border-right:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.split-row.is-stacked .split-grip{width:26px;height:2px;box-shadow:0 3px 0 var(--text-faint),0 -3px 0 var(--text-faint)}.fret-row.is-lefty .fretboard,.chords-row.is-lefty .chord-diagram,.chords-row.is-lefty .arp-diagram{transform:scaleX(-1)}.fret-row.is-lefty .fretboard text,.chords-row.is-lefty .chord-diagram text,.chords-row.is-lefty .arp-diagram text{transform:scaleX(-1);transform-box:fill-box;transform-origin:center}.tool-handed{font-size:13px;font-weight:700;line-height:1}@media (max-width: 1180px){.instrument-panel.size-large .fretboard{max-height:168px}.stage-tools{left:8px;bottom:8px}}@media (max-width: 860px){.split-row{flex-direction:column;min-height:260px}.video-pane-wrap{width:100%!important;flex-basis:38%!important}.split-handle{width:100%;height:14px;cursor:row-resize;border-left:0;border-right:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.split-grip{width:26px;height:2px;box-shadow:0 3px 0 var(--text-faint),0 -3px 0 var(--text-faint)}.instrument-panel.size-large .fretboard,.instrument-panel.size-medium .fretboard{max-height:118px}.chords-row{max-height:34vh}}@media (max-width: 560px){:root{--stage-pad: 10px}.instrument-panel.size-large .fretboard,.instrument-panel.size-medium .fretboard,.instrument-panel.size-small .fretboard{max-height:96px}.fb-fretnum{display:none}.stage-tools{gap:2px;padding:3px}.stage-tools button{width:28px;height:28px}.split-row{min-height:220px}.chord-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}@media (max-height: 500px) and (orientation: landscape){.split-row{flex-direction:row;min-height:150px}.video-pane-wrap{flex-basis:34%!important}.instrument-panel.size-large .fretboard,.instrument-panel.size-medium .fretboard{max-height:84px}}.lower-row{display:flex!important;flex:1 1 auto;min-height:220px;min-width:0;flex-direction:row}.lower-row>.score-pane{flex:1 1 auto;min-width:0}.board-pane{flex:0 0 clamp(280px,34%,460px);min-width:0;border-left:1px solid var(--border);background:var(--surface-2);overflow:auto}.board-pane .instrument-panel{margin:0;border:0;border-radius:0;height:100%}.board-pane .fretboard,.board-pane .keyboard{max-height:none}.split-handle.is-horizontal{width:100%;height:12px;cursor:row-resize;border-left:0;border-right:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.split-handle.is-horizontal .split-grip{width:26px;height:2px;box-shadow:0 3px 0 var(--text-faint),0 -3px 0 var(--text-faint)}.board-pane.is-lefty .fretboard,.board-pane.is-lefty .keyboard{transform:scaleX(-1)}.board-pane.is-lefty .fretboard text,.board-pane.is-lefty .keyboard text{transform:scaleX(-1);transform-box:fill-box;transform-origin:center}@media (max-width: 900px){.lower-row{flex-direction:column}.board-pane{flex:0 0 auto;border-left:0;border-top:1px solid var(--border)}}.stage-wrap:fullscreen{width:100vw;height:100vh;max-height:none;padding:0;background:var(--bg)}.stage-wrap:fullscreen .stack{height:100%}.stage-wrap:fullscreen .split-row,.stage-wrap:fullscreen .lower-row{min-height:0}.stage-wrap:fullscreen .instrument-panel.size-large .fretboard,.stage-wrap:fullscreen .instrument-panel.size-medium .fretboard{max-height:260px}.stage-wrap:fullscreen .chords-row{max-height:40vh}.stage-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0}.stage-wrap:fullscreen .stage{flex:1 1 auto;min-height:0}.stage-wrap:fullscreen .transport{flex:0 0 auto}.transport-speed{display:flex;align-items:center;gap:2px;flex:0 0 auto;padding:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-pill)}.transport-speed button{min-width:26px;height:26px;cursor:pointer;font-size:15px;line-height:1;color:var(--text-muted);background:transparent;border:0;border-radius:999px}.transport-speed button:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.transport-speed button:disabled{opacity:.4;cursor:default}.transport-speed-value{min-width:46px!important;font-size:12px!important;font-weight:600;color:var(--text)!important}@media (max-width: 560px){.transport-speed-value{min-width:40px!important}}.owner-tag{margin-left:8px;padding:1px 7px;font-size:10px;font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-contrast);background:var(--accent);border-radius:var(--radius-pill)}.work-mini{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.work-mini li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.work-mini b{font-size:13px}.work-mini span{font-size:12px;color:var(--text-muted)}.work-mini small{margin-left:auto;font-size:11px;color:var(--text-faint)}.auth-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;font-size:12px;color:var(--text-faint)}.auth-footer a{color:var(--text-muted);text-decoration:none}.auth-footer a:hover{color:var(--accent);text-decoration:underline}.gift-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.gift-steps li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.gift-steps b{font-size:13px}.gift-steps span{font-size:12px;color:var(--text-muted);line-height:1.45}.gift-redeem{display:flex;flex-direction:column;gap:10px;margin-top:4px}.gift-ok{color:var(--ok);font-size:13px}.new-teacher{margin:10px 0;padding:12px 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius)}.new-teacher p{margin:0 0 8px;font-size:13px;line-height:1.5}.new-teacher dl{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 10px}.new-teacher dt{font-size:11px;color:var(--text-faint);text-transform:uppercase}.new-teacher dd{margin:2px 0 0;font-size:14px}.new-teacher-pw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px!important;font-weight:700;letter-spacing:.5px;user-select:all}.live{display:flex;flex-direction:column;gap:12px;height:100vh;padding:14px;background:var(--bg)}.live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.live-head h1{margin:0;font-size:20px;font-family:var(--font-display)}.live-state{margin:2px 0 0;font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.live-state.is-live{color:var(--ok)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:livepulse 2s ease-in-out infinite}@keyframes livepulse{0%,to{opacity:1}50%{opacity:.35}}.live-stats{color:var(--text-faint)}.live-warn{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;font-size:13px;line-height:1.4;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius)}.live-grid{flex:1 1 auto;display:grid;gap:10px;grid-template-columns:1fr 1fr;min-height:0}.live-pane{position:relative;min-height:0;background:#000;border-radius:12px;overflow:hidden}.live-pane video{width:100%;height:100%;object-fit:contain;display:block}.live-label{position:absolute;left:10px;bottom:10px;padding:3px 9px;font-size:12px;color:#fff;background:#0009;border-radius:var(--radius-pill)}.live-controls{display:flex;gap:10px;justify-content:center}.live-controls button{width:46px;height:46px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.live-controls button.is-on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.live-controls .live-leave{color:#fff;background:var(--danger);border-color:var(--danger)}.live-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center}.live-share code{padding:3px 8px;font-size:12px;user-select:all;background:var(--surface-2);border:1px solid var(--border);border-radius:6px}.live-start{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}@media (max-width: 860px){.live-grid{grid-template-columns:1fr}}.class-stage{flex:1 1 auto;display:flex;flex-direction:column;gap:10px;min-height:0}.class-teacher{flex:1 1 auto;min-height:0}.class-empty{display:flex;align-items:center;justify-content:center;height:100%;margin:0;color:var(--text-faint);font-size:14px}.class-people{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.class-people li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill)}.class-initial{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:13px;font-weight:700;color:var(--accent-contrast);background:var(--accent)}.class-name{font-size:13px;color:var(--text)}.class-none{color:var(--text-faint);font-size:13px;background:none!important;border:0!important}.forum-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.forum-new{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.forum-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.forum-list>li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.forum-list>li.is-pinned{border-color:var(--accent)}.forum-head{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;width:100%;padding:12px 14px;cursor:pointer;text-align:left;background:none;border:0;color:var(--text)}.forum-head:hover{background:var(--surface-3)}.forum-head small{grid-column:2;font-size:11px;color:var(--text-faint);display:flex;align-items:center;gap:4px}.forum-title{font-weight:600;font-size:14px}.forum-kind{grid-row:span 2;align-self:start;padding:3px 9px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border)}.forum-kind.is-challenge{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.forum-body{padding:0 14px 14px;border-top:1px solid var(--border)}.forum-body>p{font-size:14px;line-height:1.6;white-space:pre-wrap}.forum-replies{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.forum-replies li{padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.forum-replies b{font-size:13px;display:flex;align-items:center;gap:4px}.forum-replies p{margin:4px 0;font-size:13px;line-height:1.55;white-space:pre-wrap}.forum-replies small{font-size:11px;color:var(--text-faint)}.forum-reply{display:flex;flex-direction:column;gap:8px;margin-top:12px}.forum-tools{margin-top:10px}.tex-preview{margin:10px 0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.tex-preview-sheet{width:100%;max-height:260px;overflow:auto;background:var(--sheet-bg);color:var(--sheet-ink);border:1px solid var(--border);border-radius:var(--radius)}.tex-raw{margin:10px 0;padding:10px;overflow-x:auto;font-size:12px;color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius)}.share-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.share-bar>button{display:flex;align-items:center;gap:6px;padding:6px 11px;cursor:pointer;font-size:12px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill)}.share-bar>button:hover{color:var(--text);border-color:var(--border-strong)}.share-bar>button.is-on{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.share-tex{width:100%}.shared-panel{padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:40vh;overflow:auto}.shared-metro{display:flex;flex-direction:column;gap:8px;align-items:center}.shared-metro-row{display:flex;align-items:center;gap:10px}.shared-metro-row b{min-width:74px;text-align:center;font-family:var(--font-display);font-size:17px}.devices{position:relative;margin-left:auto}.devices-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:290px;display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.score-preview{display:flex;flex-direction:column;gap:8px}.score-preview-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.score-speeds{display:flex;gap:2px;padding:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-pill)}.score-speeds button{padding:4px 10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-pill)}.score-speeds button:hover{color:var(--text)}.score-speeds button.is-on{color:var(--accent-contrast);background:var(--accent)}.score-preview-board{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:8px}.attachments{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.attach-chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:7px 12px;font-size:13px;text-decoration:none;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill)}.attach-chip:hover{border-color:var(--border-strong)}.attach-chip.is-video{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.attach-chip a{color:var(--accent)}.attach-image{margin:0;max-width:200px}.attach-image button{padding:0;cursor:zoom-in;background:none;border:0}.attach-image img{display:block;width:100%;border-radius:var(--radius);border:1px solid var(--border)}.attach-image figcaption{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;color:var(--text-faint)}.attach-x{cursor:pointer;color:var(--danger);background:none;border:0;font-size:13px}.attach-full{position:fixed;inset:0;z-index:100;cursor:zoom-out;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d9}.attach-full img{max-width:100%;max-height:100%;border-radius:8px}.attach-video{position:relative;width:100%;max-width:560px;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:#000}.attach-video iframe,.attach-video video{position:absolute;inset:0;width:100%;height:100%;border:0}.attach-picker{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.attach-link{display:flex;gap:8px;align-items:flex-end}.attach-link .stacked{flex:1 1 auto}.step-handouts{padding:0 18px 14px}.editor-block h4{margin:0 0 8px;font-size:13px}.share-score{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 0 4px}.share-score .hint{margin:0}.share-score-name{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.share-link{max-width:520px}.shared-neck{display:flex;flex-direction:column;gap:10px}.shared-neck-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shared-neck-bar .hint{margin:0}.shared-neck .seg{display:flex;gap:2px;padding:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-pill)}.shared-neck .seg button{padding:4px 12px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-pill)}.shared-neck .seg button:hover{color:var(--text)}.shared-neck .seg button.is-on{color:var(--accent-contrast);background:var(--accent)}.live-stage{display:flex;flex:1 1 auto;gap:12px;min-height:0}.live-stage>.shared-panel{flex:1 1 auto;min-width:0;min-height:0;overflow:auto}.live-stage>.live-grid{min-height:0;min-width:0}.live-stage.is-side{flex-direction:row-reverse}.live-stage.is-side>.live-grid{flex:0 0 320px;grid-template-columns:1fr}.live-stage.is-stacked{flex-direction:column-reverse}.live-stage.is-stacked>.live-grid{flex:0 0 40%;grid-template-columns:1fr 1fr}.live-stage.is-classic{flex-direction:column-reverse}.live-stage.is-classic>.live-grid{flex:0 0 120px;grid-template-columns:1fr 1fr}@media (max-width: 900px){.live-stage.is-side{flex-direction:column-reverse}.live-stage.is-side>.live-grid{flex:0 0 34%;grid-template-columns:1fr 1fr}}.ask-form{display:flex;flex-direction:column;gap:6px;max-width:720px;margin-bottom:18px}.ask-row{display:flex;gap:8px}.ask-row input{flex:1 1 auto;min-width:0}.ask-answer{max-width:720px;display:flex;flex-direction:column;gap:12px}.ask-said{padding:14px 16px;line-height:1.6;white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.ask-cite{display:inline-flex;align-items:center;gap:4px;margin:0 2px;padding:1px 7px;font-size:12px;text-decoration:none;white-space:nowrap;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-pill)}.ask-declined{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--text-muted);font-size:14px}.ask-sources-head{margin:4px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.ask-sources{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.ask-sources a{display:flex;flex-direction:column;gap:3px;padding:10px 12px;text-decoration:none;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.ask-sources a:hover{border-color:var(--border-strong)}.ask-sources b{font-size:14px}.ask-sources span{font-size:13px;color:var(--text-muted);line-height:1.5}.chord-grid.is-piano{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}.piano-card .keyboard{width:100%;height:auto;max-height:148px}.piano-card figcaption b{font-size:19px}.piano-card .piano-fingers span{font-size:13px}@media (max-width: 720px){.chord-grid.is-piano{grid-template-columns:1fr}}.path-intro{max-width:560px}.path-form{display:flex;flex-direction:column;gap:22px;max-width:640px}.path-question{border:0;margin:0;padding:0}.path-question legend{padding:0 0 8px;font-family:var(--font-display);font-size:16px}.path-options{display:flex;flex-wrap:wrap;gap:8px}.path-option{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:8px 13px;font-size:13px;text-align:left;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);transition:border-color .18s var(--ease)}.path-option:hover{border-color:var(--border-strong)}.path-option.is-on{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.path-result{display:flex;flex-direction:column;gap:16px;max-width:640px}.path-summary{padding:18px 20px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.path-summary h2{margin:4px 0 6px;font-family:var(--font-display);font-size:20px;line-height:1.15}.path-summary p{margin:0 0 14px;color:var(--text-muted);line-height:1.6}.path-figures{display:flex;align-items:baseline;gap:6px;margin-bottom:14px;flex-wrap:wrap}.path-figures b{font-family:var(--font-display);font-size:20px}.path-figures span{margin-right:14px;font-size:13px;color:var(--text-faint)}.path-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.path-list button{display:flex;align-items:center;gap:12px;width:100%;cursor:pointer;padding:10px 12px;text-align:left;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.path-list button:hover{border-color:var(--border-strong)}.path-number{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--text-muted);background:var(--surface-3);border-radius:50%}.path-lesson{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.path-lesson b{font-size:14px}.path-lesson span{font-size:12px;color:var(--text-faint)}.plan{display:flex;flex-direction:column;gap:12px;max-width:640px;margin-top:26px}.plan-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.plan-head h3{margin:0;font-family:var(--font-display);font-size:18px}.plan-head .hint{margin:0}.plan-days{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.plan-day{display:flex;align-items:stretch;gap:10px;position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}.plan-day.is-rest,.plan-day.is-practise{background:transparent}.plan-day.is-test{border-color:var(--accent);background:var(--accent-soft)}.plan-day.is-done{border-color:var(--border-strong)}.plan-day-name{flex:0 0 68px;display:grid;place-items:center;padding:10px 0;font-size:12px;font-weight:700;color:var(--text-faint);background:var(--surface-3)}.plan-day-body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;text-align:left;cursor:pointer;color:inherit;background:none;border:0}.plan-day-body.is-quiet{cursor:default}button.plan-day-body:hover{background:var(--surface-3)}.plan-day-body b{font-size:14px}.plan-day-body span{font-size:12px;color:var(--text-faint)}.plan-tick{position:absolute;right:10px;top:12px;color:var(--ok)}.plan-test{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;padding:12px;min-width:0}.plan-test>b{font-family:var(--font-display);font-size:15px}.plan-test .hint{margin:0}.plan-test ul{display:flex;flex-direction:column;gap:6px;margin:4px 0;padding:0;list-style:none}.plan-test li{display:flex;align-items:flex-start;gap:8px}.plan-test label{display:flex;align-items:flex-start;gap:8px;flex:1 1 auto;font-size:13px;line-height:1.45}.plan-test-open{cursor:pointer;font-size:12px;color:var(--accent);background:none;border:0}.plan-test.is-done{gap:4px}.plan-test.is-done.is-pass>b{color:var(--ok)}.plan-all-head{margin:14px 0 0;font-family:var(--font-display);font-size:16px}.plan-weeks{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.plan-weeks button{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;padding:8px 10px;text-align:left;color:inherit;background:none;border:1px solid transparent;border-radius:var(--radius)}.plan-weeks button:hover,.plan-weeks button.is-open{background:var(--surface-2);border-color:var(--border)}.plan-week-n{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text-muted);background:var(--surface-3);border-radius:50%}.plan-week-body{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.plan-week-body b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-week-body span{font-size:11px;color:var(--text-faint)}.plan-bar{flex:0 0 60px;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}.plan-bar i{display:block;height:100%;background:var(--accent)}@media (max-width: 560px){.plan-day-name{flex-basis:54px;font-size:11px}}.today{display:grid;gap:8px;justify-items:start;margin:0 30px 22px;padding:18px 20px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .18s var(--ease)}.today:hover{border-color:var(--border-strong)}.today-label{font-size:11.5px;letter-spacing:.08em;color:var(--text-faint)}.today h2{margin:0;font-family:var(--font-display);font-size:22px;line-height:1.15}.today p{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted)}.today .btn{margin-top:6px}.today-progress{display:flex;align-items:center;gap:10px;margin-top:6px}.today-count{font-size:11px;color:var(--text-muted)}@media (max-width: 720px){.today{margin:0 16px 18px}.today .btn{width:100%;justify-content:center}}.search-filters{display:flex;flex-direction:column;gap:10px;margin:-10px 0 22px}.search-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-filter>span{flex:0 0 62px;font-size:11.5px;letter-spacing:.08em;color:var(--text-faint)}.search-filter .segmented{display:flex;flex-wrap:wrap}.search-styles{display:flex;flex-wrap:wrap;gap:6px}.search-style{padding:5px 12px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:99px;transition:border-color .18s var(--ease)}.search-style:hover{border-color:var(--border-strong)}.search-style.is-on{color:var(--text);background:var(--surface);border-color:var(--border-strong)}@media (max-width: 560px){.search-filter{align-items:flex-start}.search-filter>span{flex-basis:100%}}.ask-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ask-suggestion{padding:6px 12px;cursor:pointer;font-size:12.5px;text-align:left;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:99px;transition:border-color .18s var(--ease)}.ask-suggestion:hover{color:var(--text);border-color:var(--border-strong)}.ask-suggestion:disabled{opacity:.5;cursor:default}.reward{display:grid;gap:8px;margin:0 30px 22px;padding:16px 20px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.reward-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reward-rank{display:grid;gap:2px}.reward-rank b{font-family:var(--font-display);font-size:19px}.reward-streak{display:inline-flex;align-items:baseline;gap:5px;padding:4px 10px;border-radius:99px;background:var(--surface-3);color:var(--accent)}.reward-streak b{font-family:var(--font-display);font-size:16px}.reward-streak span{font-size:11px;color:var(--text-muted)}.reward-bar{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.reward-bar i{display:block;height:100%;background:var(--accent);border-radius:3px}.reward-next{margin:0;font-size:12px;color:var(--text-muted)}.reward-badges{display:flex;flex-wrap:wrap;gap:5px}.reward-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;border-radius:99px;color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.reward-badge.is-next{color:var(--text-faint);background:none;border-style:dashed}.reward-more{justify-self:start;padding:0;cursor:pointer;font-size:11.5px;color:var(--text-faint);background:none;border:0;text-decoration:underline}.reward-more:hover{color:var(--text-muted)}@media (max-width: 720px){.reward{margin:0 16px 18px}}.plan-season{font-size:11.5px;letter-spacing:.06em;color:var(--accent)}.plan-challenge{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;padding:10px 12px;font-size:13px;line-height:1.5;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.plan-challenge b{color:var(--text)}.plan-challenge.is-finale{border-color:var(--accent);background:var(--accent-soft)}.path-pacing{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:640px;margin-top:22px}.path-pacing>span:first-child{font-size:11.5px;letter-spacing:.08em;color:var(--text-faint)}.path-pacing .hint{margin:0;flex-basis:100%}.song-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.song-list button{display:flex;align-items:center;gap:14px;width:100%;cursor:pointer;padding:11px 12px;text-align:left;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.song-list button:hover{border-color:var(--border-strong)}.song-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.song-main b{font-size:14px}.song-main span{font-size:12px;color:var(--text-faint)}.song-chords{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:46%}.song-chords i{font-style:normal;font-size:11.5px;font-weight:600;padding:2px 7px;color:var(--text-muted);background:var(--surface-3);border-radius:var(--radius-pill)}.song-level{flex:0 0 auto;font-size:11.5px;color:var(--text-faint)}.song-note{max-width:640px;margin-top:18px}.song-detail{display:flex;flex-direction:column;gap:18px;max-width:720px}.song-head h2{margin:6px 0 8px;font-family:var(--font-display);font-size:24px}.song-head p{margin:0 0 6px;font-size:14px;line-height:1.6;color:var(--text-muted)}.song-origin{font-size:12px;color:var(--text-faint)}.song-section{margin:0;font-family:var(--font-display);font-size:16px}.song-bars{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.song-bars li{display:flex;align-items:center;gap:7px;padding:7px 11px;font-size:14px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.song-bar-n{font-size:10.5px;font-weight:500;color:var(--text-faint)}.song-strum{display:flex;align-items:baseline;gap:8px;margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}@media (max-width: 560px){.song-chords{display:none}.song-list button{gap:10px}}.buddy{flex:0 0 auto;display:block}.buddy svg{overflow:visible;display:block}.buddy-shadow{fill:var(--text);opacity:.12}.buddy-torso{fill:var(--accent)}.buddy-face{fill:#f2c9a0}.buddy-hair{fill:var(--text);opacity:.85}.buddy-eye{fill:#2b2118}.buddy-smile{stroke:#2b2118;stroke-width:2.4}.buddy-instrument{fill:var(--surface-3);stroke:var(--border-strong);stroke-width:2}.buddy-neck{fill:var(--text-muted)}.buddy-hole{fill:var(--bg)}.buddy-key{fill:var(--surface-1);stroke:var(--border);stroke-width:.8}.buddy-note{fill:var(--accent);opacity:0}.buddy-guitar,.buddy-bass,.buddy-piano{display:none}.buddy.plays-guitar .buddy-guitar,.buddy.plays-bass .buddy-bass,.buddy.plays-piano .buddy-piano{display:block}.buddy-body{transform-origin:60px 108px;animation:buddy-breathe 4.2s ease-in-out infinite}@keyframes buddy-breathe{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-1.2deg)}}.buddy.is-thinking .buddy-eyes{animation:buddy-look 1.6s ease-in-out infinite}.buddy.is-thinking .buddy-body{animation-duration:1.6s}.buddy.is-thinking .buddy-note{animation:buddy-float 1.8s ease-out infinite}@keyframes buddy-look{0%,to{transform:translate(0)}50%{transform:translate(2px,-3px)}}@keyframes buddy-float{0%{opacity:0;transform:translateY(6px) scale(.8)}35%{opacity:1}to{opacity:0;transform:translate(6px,-18px) scale(1)}}.buddy.is-talking .buddy-smile{animation:buddy-talk .42s steps(2,end) infinite}@keyframes buddy-talk{0%{d:path("M52 55 q8 7 16 0")}to{d:path("M52 56 q8 3 16 0")}}.buddy.is-talking .buddy-body{animation-duration:2.4s}.buddy.is-cheering .buddy-body{animation:buddy-hop .7s ease-in-out 3}.buddy.is-cheering .buddy-eye{transform:scaleY(.35);transform-origin:center}.buddy.is-cheering .buddy-note{animation:buddy-float 1.2s ease-out 3}@keyframes buddy-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-9px) rotate(-4deg)}}@media (prefers-reduced-motion: reduce){.buddy-body,.buddy-eyes,.buddy-smile,.buddy-note{animation:none!important}.buddy-note{opacity:.9}}.ask-buddy{display:flex;align-items:flex-end;gap:14px;margin-bottom:6px}.ask-buddy-says{position:relative;flex:1 1 auto;max-width:460px;padding:12px 14px;border-radius:var(--radius);font-size:14px;line-height:1.5;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.ask-buddy-says:before{content:"";position:absolute;left:-7px;bottom:16px;width:12px;height:12px;transform:rotate(45deg);background:var(--surface-2);border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.ask-buddy-says b{color:var(--text)}@media (max-width: 560px){.ask-buddy{gap:10px}.ask-buddy-says{font-size:13px}}.buddy-arm{stroke:#f2c9a0;stroke-width:6}.buddy-head-stock{fill:var(--text-muted)}.buddy-fab{position:fixed;right:20px;bottom:20px;z-index:60;width:68px;height:68px;padding:4px;cursor:pointer;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:50%;box-shadow:0 8px 24px #00000047;transition:transform .18s ease,border-color .18s ease}.buddy-fab:hover{transform:translateY(-2px) scale(1.04);border-color:var(--accent)}.buddy-fab.is-nudging{animation:buddy-nudge 1.4s ease-in-out 2}@keyframes buddy-nudge{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(-6deg)}60%{transform:translateY(0) rotate(4deg)}}.buddy-chat{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 40px));background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg, 14px);box-shadow:0 18px 48px #0006;overflow:hidden}.buddy-chat-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.buddy-chat-head>div{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.buddy-chat-head b{font-size:14px}.buddy-chat-head span{font-size:11.5px;color:var(--text-faint)}.buddy-close{flex:0 0 auto;width:28px;height:28px;cursor:pointer;font-size:20px;line-height:1;color:var(--text-muted);background:none;border:0;border-radius:6px}.buddy-close:hover{background:var(--surface-3);color:var(--text)}.buddy-chat-list{flex:1 1 auto;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.buddy-said,.buddy-asked{max-width:88%;margin:0;padding:9px 12px;border-radius:12px;font-size:13.5px;line-height:1.5}.buddy-said{align-self:flex-start;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px}.buddy-asked{align-self:flex-end;color:var(--bg);background:var(--accent);border-bottom-right-radius:4px}.buddy-said.is-waiting{letter-spacing:3px;animation:buddy-dots 1.2s steps(4) infinite}@keyframes buddy-dots{0%{opacity:.35}50%{opacity:1}to{opacity:.35}}.buddy-sources{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.buddy-sources a{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--accent);text-decoration:none}.buddy-sources a:hover{text-decoration:underline}.buddy-suggestions{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px}.buddy-suggestions button{padding:6px 10px;cursor:pointer;font-size:12px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill)}.buddy-suggestions button:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.buddy-suggestions button:disabled{opacity:.5;cursor:default}.buddy-chat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.buddy-chat-form input{flex:1 1 auto;min-width:0}.buddy-clear{padding:0 12px 10px;align-self:flex-start;cursor:pointer;font-size:11.5px;color:var(--text-faint);background:none;border:0;text-decoration:underline}.buddy-clear:hover{color:var(--text-muted)}@media (max-width: 560px){.buddy-fab{right:14px;bottom:14px;width:60px;height:60px}.buddy-chat{right:0;left:0;bottom:0;width:100%;max-height:78vh;border-radius:14px 14px 0 0}}.buddy-fab{background:transparent;border-color:transparent;box-shadow:none}.buddy-fab:hover{background:var(--surface-2);border-color:var(--accent)}.buddy-chat{background:color-mix(in srgb,var(--surface-1) 82%,transparent);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1)}.buddy-chat-head{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.buddy-said{background:color-mix(in srgb,var(--surface-2) 78%,transparent)}@supports not (backdrop-filter: blur(4px)){.buddy-chat{background:var(--surface-1)}.buddy-chat-head,.buddy-said{background:var(--surface-2)}}.lesson-feedback{display:grid;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);max-width:520px}.lesson-feedback h3{margin:0;font-size:14px;font-weight:600;color:var(--text-dim, inherit)}.lesson-feedback textarea{width:100%;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:9px 11px;font-size:14px;color:var(--text);font-family:inherit;resize:vertical}.feedback-stars{display:flex;align-items:center;gap:4px}.feedback-stars .star{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--border);cursor:pointer;transition:color .12s,border-color .12s,transform .08s}.feedback-stars .star:hover:not(:disabled){transform:translateY(-1px);border-color:var(--accent)}.feedback-stars .star.is-on{color:var(--accent);border-color:var(--accent)}.feedback-stars .star:disabled{cursor:default;opacity:.6}.feedback-average{margin-left:8px;font-size:13px;opacity:.7}.suggestion-box .segmented{margin-bottom:4px}.suggestion-box form{display:grid;gap:12px}.suggestion-box h3{margin:8px 0 0;font-size:14px}.suggestion-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.suggestion-list li{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font-size:14px}.suggestion-list small{opacity:.65;font-size:12px}.card-grade{position:absolute;top:10px;right:10px;padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;letter-spacing:.02em;background:#00000073;color:#fff;backdrop-filter:blur(4px)}.plan-grade{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--accent)}.studio-search{width:100%;margin:2px 0 6px;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:8px 11px;font-size:14px;color:var(--text);font-family:inherit}.studio-found{margin:0 0 8px;font-size:12px;opacity:.7}.studio-list-where{margin-left:6px;padding:1px 6px;border-radius:var(--radius-pill);font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);opacity:.75}.studio-sections{margin-bottom:6px}.studio-sections button{text-transform:capitalize}.studio-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}.studio-bulk .hint{font-size:12px}.take{display:grid;gap:12px;margin:14px 0 4px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.take-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.take-head h3{margin:0;font-size:14px;font-weight:600}.take-transport{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.take-count{font-size:34px;font-weight:700;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.take-live{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent)}.take-live i{width:9px;height:9px;border-radius:50%;background:currentColor}@media (prefers-reduced-motion: no-preference){.take-live i{animation:take-blink 1s steps(2,start) infinite}@keyframes take-blink{to{visibility:hidden}}}.take-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.take-score{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.take-score-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.take-score-num{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.take-bar{display:block;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.take-bar i{display:block;height:100%;border-radius:2px;background:currentColor}.is-good{color:#6fbf73}.is-fair{color:var(--accent)}.is-poor{color:#d96a57}.take-score.is-good .take-score-num,.take-score.is-fair .take-score-num,.take-score.is-poor .take-score-num{color:currentColor}.take-notes{display:flex;flex-wrap:wrap;gap:6px}.take-note{display:inline-flex;align-items:baseline;gap:6px;padding:4px 9px;border-radius:7px;border:1px solid currentColor;background:var(--surface-2);font-size:12px}.take-note b{font-size:13px}.take-note small{opacity:.75;color:var(--text)}.take-hear{display:grid;gap:8px}.take-hear-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}button.take-note{cursor:pointer;font:inherit;font-size:12px;text-align:left;transition:transform .08s ease,box-shadow .12s ease}button.take-note:hover{transform:translateY(-1px)}button.take-note:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.take-note.is-playing{box-shadow:0 0 0 2px var(--accent);transform:translateY(-1px)}.take-hear-audio{display:none}.score-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:1 1 auto;min-width:0;min-height:0;height:100%;border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;background:var(--surface)}.score-stage-main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.score-stage-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.score-stage-title{margin:0;text-align:center;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-tempo{justify-self:start;padding:3px 11px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);font-size:13px;font-variant-numeric:tabular-nums}.score-zoom{justify-self:end;display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);padding:2px}.score-zoom button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.score-zoom button:hover{background:var(--surface)}.score-zoom .score-zoom-now{width:auto;padding:0 9px;border-radius:var(--radius-pill);font-size:12px;font-variant-numeric:tabular-nums;opacity:.8}.score-stage-sheet{display:flex;min-width:0;min-height:0;position:relative}.score-rail{display:flex;flex-direction:column;gap:2px;padding:8px 6px;background:var(--surface-2);border-left:1px solid var(--border)}.rail-key{display:grid;justify-items:center;gap:3px;width:62px;padding:9px 4px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.rail-key span{opacity:.62}.rail-key:hover:not(:disabled){background:var(--surface)}.rail-key:hover:not(:disabled) span{opacity:.9}.rail-key:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rail-key:disabled{opacity:.35;cursor:default}.rail-key.is-on{border-color:var(--border);background:var(--surface)}.rail-key.is-play svg{color:#3fa34d}.rail-key.is-rec svg{color:#d63b32}.rail-key.is-rec.is-on{border-color:#d63b32}@media (prefers-reduced-motion: no-preference){.rail-key.is-rec.is-on svg{animation:take-blink 1s steps(2,start) infinite}}@media (max-width: 720px){.score-stage{grid-template-columns:1fr;grid-template-rows:1fr auto}.score-rail{flex-direction:row;justify-content:space-around;border-left:0;border-top:1px solid var(--border)}.rail-key{width:auto;flex:1}}.take-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#00000061}.take-modal-inner{position:relative;width:min(560px,100%);max-height:86vh;overflow:auto;display:grid;gap:14px;padding:22px 24px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 24px 60px #00000059}.take-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;opacity:.6}.take-close:hover{opacity:1;background:var(--surface-2)}.take-verdict{margin:0;padding-right:34px;font-size:18px;font-weight:600;line-height:1.35}.take-body{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}@media (max-width: 480px){.take-body{grid-template-columns:1fr;justify-items:center}}.take-ring-wrap{display:grid;justify-items:center;gap:4px}.take-ring-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.6}.take-ring{transform:rotate(-90deg)}.take-ring-track{fill:none;stroke:var(--border);stroke-width:7}.take-ring-arc{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;transition:stroke-dasharray .5s ease}.take-ring-num{transform:rotate(90deg);transform-origin:50px 50px;fill:var(--text);font-size:27px;font-weight:700;text-anchor:middle;dominant-baseline:central}@media (prefers-reduced-motion: reduce){.take-ring-arc{transition:none}}.take-stars{font-size:15px;letter-spacing:2px;color:var(--border)}.take-stars .is-on{color:var(--accent)}.take-rows{display:grid;gap:10px}.take-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:15px}.take-row b{font-size:19px;font-variant-numeric:tabular-nums}.take-row svg{opacity:.8}.take-goal{display:flex;align-items:center;gap:7px;margin:0;padding-top:12px;border-top:1px solid var(--border);font-size:13px;opacity:.75}.take-actions{display:flex;gap:10px}.take-trace{display:grid;gap:6px}.take-trace canvas{display:block;width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.take-trace-key{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;opacity:.7}.take-trace-key span{display:inline-flex;align-items:center;gap:5px}.take-trace-key i{width:12px;height:4px;border-radius:2px}.take-trace-key .k-good{background:#3fa34d}.take-trace-key .k-fair{background:#e0a32e}.take-trace-key .k-poor{background:#d63b32}.take-trace-key .k-missed{background:#d63b32;height:3px;width:12px;opacity:.6}.take-countin{position:fixed;inset:0;z-index:55;display:grid;place-items:center;font-size:120px;font-weight:800;line-height:1;color:var(--accent);pointer-events:none;text-shadow:0 4px 30px rgba(0,0,0,.5)}.take-level{position:fixed;z-index:56;left:50%;bottom:26px;transform:translate(-50%);margin:0;padding:10px 16px;border-radius:var(--radius-pill);font-weight:700;font-size:15px;max-width:min(92vw,420px);text-align:center;border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 30px #0000004d}.take-level.is-ok{color:#5fd68a}.take-level.is-quiet,.take-level.is-loud{color:var(--accent);border-color:var(--accent)}.take-running{position:fixed;z-index:55;left:50%;bottom:26px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);box-shadow:0 10px 30px #0000004d}.take-error{margin:8px 14px}.stage-tools .is-rec svg{color:#d63b32}.stage-tools .is-rec.is-on{border-color:#d63b32}.take-playback{display:grid;gap:5px}.take-playback-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}.take-playback audio{width:100%;height:34px}.take-click{position:absolute;right:12px;bottom:12px;z-index:5;display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 11px;font-size:13px;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.take-click input{accent-color:var(--accent);width:15px;height:15px}.take-coach{display:grid;gap:8px;padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.take-coach p{display:grid;grid-template-columns:18px 1fr;gap:9px;margin:0;font-size:14px;line-height:1.45}.take-coach svg{margin-top:3px}.take-coach-good svg{color:#6fbf73}.take-coach-fix svg{color:var(--accent)}.example{display:grid;gap:10px;margin:14px 0 4px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.example-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.example-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600}.example audio{width:100%;height:36px}.example-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.example-loop{display:inline-flex;align-items:center;gap:7px;font-size:13px;cursor:pointer}.example-loop input{accent-color:var(--accent);width:15px;height:15px}.example .hint{margin:0;font-size:13px}.example-live{display:inline-flex;align-items:center;gap:8px;color:#d63b32;font-weight:600}.example-live i{width:9px;height:9px;border-radius:50%;background:currentColor}@media (prefers-reduced-motion: no-preference){.example-live i{animation:take-blink 1s steps(2,start) infinite}}.btn.is-rec-on{background:#d63b32;border-color:#d63b32;color:#fff}@media (max-width: 900px){.toolbar{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}}@media (max-width: 700px){.lesson-header{flex-wrap:wrap;gap:6px;padding:12px 12px 8px}.lesson-head-left{flex:1 1 100%;min-width:0}.lesson-head-title{min-width:0}.lesson-head-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{flex:1 1 100%;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px}.header-actions .btn{font-size:13px;padding:8px 12px}.sidebar:not(.is-collapsed){position:fixed;top:0;left:0;bottom:0;z-index:45;width:min(320px,86vw);border-right:1px solid var(--border);box-shadow:0 0 48px #00000080}.sidebar.is-collapsed{width:44px;padding:12px 6px}.example-head{flex-wrap:wrap;gap:8px}.take-click{right:8px;bottom:8px;padding:6px 9px;font-size:12px}}@media (max-width: 480px){.lesson-head-left .logo{display:none}}.loop-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:6;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;white-space:nowrap;color:var(--accent);background:var(--surface);border:1px solid var(--accent);box-shadow:var(--shadow);pointer-events:none}.stage-tools .is-loop.is-on{color:var(--accent);border-color:var(--accent)}@media (max-width: 700px){.loop-hint{font-size:12px;padding:7px 11px;max-width:92vw;white-space:normal;text-align:center}.take-click{bottom:56px;max-width:64vw}}.note-trainer{position:absolute;left:50%;bottom:56px;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:14px;padding:9px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);max-width:min(92%,560px);transition:border-color .15s ease,box-shadow .15s ease}.note-trainer.is-flash{border-color:var(--ok);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.note-trainer-target{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.note-trainer-target b{font-size:22px;line-height:1}.note-trainer-target small{font-size:12px;color:var(--text-muted)}.note-trainer-count{font-size:12px;color:var(--text-faint);white-space:nowrap}.note-trainer-nomic{font-size:12px;color:var(--text-muted)}.note-trainer-done{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ok)}.note-trainer-btns{display:flex;align-items:center;gap:6px}.note-trainer-ear{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex:0 0 auto;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border)}.note-trainer-ear.is-listening{color:var(--accent);border-color:var(--accent)}.note-trainer-ear.is-hearing{color:var(--ok);border-color:var(--ok)}.stage-tools .is-stepper.is-on{color:var(--accent);border-color:var(--accent)}@media (max-width: 700px){.note-trainer{bottom:96px;gap:10px;padding:8px 10px;flex-wrap:wrap;justify-content:center}.note-trainer-target b{font-size:19px}}.scope{display:grid;gap:2px}.scope-canvas{width:100%;height:150px;display:block;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.scope-axis{display:flex;justify-content:space-between;padding:0 4px;font-size:10px;color:var(--text-faint)}.scope-axis i{font-style:normal}.tuner-scope-toggle{justify-self:start}.score-sheet{position:relative}.live-marks{position:absolute;inset:0;pointer-events:none}.live-mark{position:absolute;border-radius:4px;animation:live-mark-in .18s ease-out}.live-mark.is-good{background:#58b97c38;box-shadow:inset 0 -2px #58b97ccc}.live-mark.is-wrong{background:#e0663f38;box-shadow:inset 0 -2px #e0663fd9}.live-mark.is-missed{background:#80808029;box-shadow:inset 0 -2px #80808099}@keyframes live-mark-in{0%{transform:scale(1.25);opacity:0}}@media (prefers-reduced-motion: reduce){.live-mark{animation:none}}.live-marks-nomic{position:absolute;top:8px;left:50%;transform:translate(-50%);margin:0;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.stage-tools .is-live.is-on{color:var(--ok, #58b97c);border-color:currentColor}.app-notice{background:var(--accent);color:var(--accent-contrast, #1c1206);text-align:center;padding:8px 16px;font-size:14px;font-weight:600}.app.is-maintenance{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}.maintenance-card{max-width:420px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 28px}.maintenance-card h1{font-size:22px;margin:0 0 10px}.maintenance-card p{color:var(--text-muted);margin:0}.app-control{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--border)}.app-control h6{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.app-control .check-row{display:flex;gap:8px;align-items:center;font-size:13.5px}.score-pane.is-student{overflow:auto}.score-pane.is-student>:not(.lesson-student){position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.lesson-student{padding:10px 12px 30px}.lesson-student-empty{padding:12px}.console{display:grid;gap:10px}.console-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.console-row{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--border, #2a2a2e);background:#ffffff08;text-align:left;color:inherit;cursor:pointer;width:100%;font:inherit}.console-row:hover{background:#ffffff0f}.console-row.is-open{border-color:var(--accent, #ffb43d)}.console-row-head{display:flex;align-items:center;gap:8px}.console-row-head b{flex:1}.console-why{font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-pill);background:#ffffff14;color:var(--text-muted, #8a8a92)}.console-why.is-waiting{background:#ffb43d38;color:#ffd48a}.console-why.is-quiet{background:#e0736b2e;color:#f0a49e}.console-why.is-stuck{background:#5b4bd640;color:#c2b8ff}.console-why.is-flying{background:#63c08a33;color:#9fe0bb}.console-says{margin:0;padding-left:16px;font-size:12.5px;color:var(--text-muted, #8a8a92);display:grid;gap:2px}.console-open{display:grid;gap:10px;padding:10px 12px 12px;border-radius:0 0 12px 12px;border:1px solid var(--border, #2a2a2e);border-top:0;margin-top:-6px}.console-open h6{margin:0 0 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, #8a8a92)}.console-sections{display:flex;flex-wrap:wrap;gap:6px}.console-sections span{padding:3px 9px;border-radius:var(--radius-pill);font-size:12px;background:#ffffff0f}.console-next textarea,.console-next input{width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--border, #2a2a2e);background:#00000040;color:inherit}.console-next textarea{min-height:88px;resize:vertical}.console-letter{white-space:pre-wrap;font-size:13px;line-height:1.5;padding:10px 12px;border-radius:10px;background:#ffffff0a;margin:0}.evidence{display:grid;gap:10px}.evidence-rank b{display:block;font-size:19px;margin-top:2px}.evidence-means{margin:3px 0 0;color:var(--text-muted);font-size:13.5px;line-height:1.5}.evidence-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.evidence-list li{display:grid;grid-template-columns:16px 1fr;gap:9px;align-items:start;font-size:14px;line-height:1.5}.evidence-list svg{color:var(--ok, #63c08a);margin-top:3px}.evidence-next{margin:0;padding-top:9px;border-top:1px solid var(--border);font-size:13.5px}.evidence-next span{display:block;color:var(--text-muted);margin-top:2px}.quiet{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.quiet b{display:block;margin-bottom:2px}.quiet p{margin:0;max-width:52ch}.quiet-switch{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 9px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.quiet-switch i{width:30px;height:18px;border-radius:999px;background:var(--border);position:relative;transition:background .15s}.quiet-switch i:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--surface);transition:transform .15s}.quiet-switch.is-on{color:var(--text)}.quiet-switch.is-on i{background:var(--accent)}.quiet-switch.is-on i:after{transform:translate(12px)}.class-challenge{display:grid;gap:9px;margin-top:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}.class-challenge.is-done{border-color:var(--ok, #63c08a)}.class-challenge-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.class-challenge-head b{font-size:16px;width:100%}.class-challenge-left{margin-left:auto;color:var(--text-muted);font-size:12.5px}.class-challenge-bar{height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden}.class-challenge-bar i{display:block;height:100%;background:var(--accent);border-radius:999px}.class-challenge.is-done .class-challenge-bar i{background:var(--ok, #63c08a)}.class-challenge-says{margin:0;font-size:13.5px;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:5px;align-items:baseline}.class-challenge-says b{color:var(--text);font-size:15px}.class-challenge-says svg{color:var(--ok, #63c08a)}.class-panel{display:grid;gap:14px}.class-now{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px}.class-now-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.class-now-head span{color:var(--text-muted);font-size:12.5px}.class-now-head .btn{margin-left:auto}.class-count{margin:0;font-size:13.5px;color:var(--text-muted)}.class-count b{color:var(--text);font-size:17px}.class-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.class-list li{display:grid;grid-template-columns:1fr 90px auto 16px;gap:10px;align-items:center;font-size:13px}.class-list li.is-done .class-name{color:var(--text)}.class-name{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.class-bar i{display:block;height:100%;background:var(--accent)}.class-list li.is-done .class-bar i{background:var(--ok, #63c08a)}.class-list svg{color:var(--ok, #63c08a)}.class-set{display:grid;gap:9px}.class-set label{display:grid;gap:4px;font-size:12.5px;color:var(--text-muted)}.class-set input,.class-set select,.class-set textarea{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:8px 10px;color:var(--text);font:inherit;font-size:13.5px}.class-set-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px}@media (max-width: 620px){.class-set-row{grid-template-columns:1fr}}.micro{font-size:11px;font-weight:700;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint)}.tight{letter-spacing:var(--track-tight)}.studio-nav{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--border);padding:8px 14px 9px;display:grid;gap:7px}.studio-groups{display:flex;flex-wrap:wrap;gap:4px}.studio-groups button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.studio-groups button:hover{background:var(--surface-3);color:var(--text)}.studio-groups button.is-active{background:var(--bone);border-color:var(--bone);color:var(--bone-ink)}.studio-panels{display:flex;flex-wrap:wrap;gap:4px}.studio-panels button{padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.studio-panels button:hover{color:var(--text)}.studio-panels button.is-active{border-color:var(--accent);color:var(--accent)}.studio-body>.studio-section{border-top:0}.people{display:grid;gap:12px}.people-rollup{margin:0;color:var(--text-muted);font-size:13px}.people-rollup b{color:var(--text)}.people-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.people-chips{display:flex;flex-wrap:wrap;gap:4px}.people-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.people-chip span{opacity:.65;font-variant-numeric:tabular-nums}.people-chip:hover{color:var(--text)}.people-chip.is-on{background:var(--bone);border-color:var(--bone);color:var(--bone-ink)}.people-chip.is-on span{opacity:.8}.people-search{flex:1 1 160px;min-width:140px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-size:13px}.people-list>li{align-items:center}.people-app{font-style:normal;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;font-size:10px;color:var(--text-muted)}.people-app.is-kids,.people-app.is-kidsPiano{color:var(--accent)}.people-why{margin-left:auto;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface-3);color:var(--text-muted)}.people-why.is-waiting{background:#ffb43d24;color:var(--accent)}.people-open-name{margin:0}.people-open-name small{display:block;font-weight:400;color:var(--text-muted);font-size:12px}.people-kid{padding:0;background:none}@media (max-width: 560px){.people-why{margin-left:0}.people-list>li{flex-wrap:wrap}}.today-work{margin:0 0 18px}.today-work>header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.today-work>header b{font-size:13px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-muted)}.today-work-all{background:none;border:0;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:2px}.today-work-all:hover{color:var(--text)}.today-work ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.today-work li{border-bottom:1px solid var(--border)}.today-work li button{width:100%;display:flex;align-items:baseline;gap:12px;text-align:left;background:none;border:0;color:inherit;font:inherit;padding:10px 2px;cursor:pointer}.today-work li button:hover{background:var(--surface-2)}.today-work-t{flex:1 1 auto;min-width:0}.today-work-t b{display:block;font-size:13.5px;font-weight:600;line-height:1.3}.today-work-t small{display:block;font-size:11.5px;color:var(--text-faint);margin-top:2px}.today-work-due{font-style:normal;font-size:11px;font-weight:600;color:var(--text-faint);white-space:nowrap}.today-work-due.is-back{color:var(--accent)}.today-work-due.is-late{color:var(--text-muted)}.room-strip{display:none}@media (max-width: 980px){.room-strip{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex:0 0 auto;padding:5px 30px 6px;border-bottom:1px solid var(--border);background:var(--bg)}.rail-item.is-panel{display:none}}.room-strip::-webkit-scrollbar{display:none}.room-strip button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 11px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.room-strip button:hover{color:var(--text);background:var(--surface-2)}.room-strip button.is-active{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.room-strip.on-block{border-top:0}@media (max-width: 720px){.room-strip{padding-left:18px;padding-right:18px}}.ref-chips{display:flex;gap:6px;flex-wrap:wrap;padding:10px 30px 0;flex:0 0 auto}.ref-chips button{padding:7px 13px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.ref-chips button:hover{color:var(--text)}.ref-chips button.is-active{border-color:var(--amber, #ffb43d);color:var(--amber, #ffb43d)}@media (max-width: 720px){.ref-chips{padding-left:18px;padding-right:18px}}.rail-room{display:block}.rail-room-head{font-weight:600}.rail-item.is-pinned{color:var(--text-faint)}.rail-item.is-panel{padding-left:30px;font-size:13px;font-weight:400}.rail-room.is-open>.rail-group{margin:2px 0 6px}.rail-item.is-panel.is-active{font-weight:600}.lesson-tabbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:8px 0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:13.5px;color:var(--text-muted)}.lesson-tabbar svg{color:var(--text-faint)}.lesson-tabbar .btn{margin-left:auto}.lesson-tabbar.is-blank{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.lesson-tabbar.is-blank svg{color:var(--accent)}.auth.has-showcase{align-content:center;gap:40px;background:radial-gradient(60% 55% at 78% 45%,rgba(255,180,61,.16),transparent 70%),radial-gradient(90% 60% at 20% 0%,rgba(255,180,61,.08),transparent 65%),var(--bg)}.auth.has-showcase .auth-footer{grid-column:1 / -1}.showcase{display:grid;gap:22px;width:100%;max-width:620px;min-width:0;box-sizing:border-box}.showcase-copy{display:grid;gap:10px}.showcase-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent)}.showcase-copy h2{margin:0;font-family:var(--font-display);font-size:clamp(26px,3.2vw,38px);font-weight:600;line-height:1.08;text-wrap:balance}.showcase-features{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:9px}.showcase-features li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--text)}.showcase-icon{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.showcase-stage{position:relative;height:500px;isolation:isolate}.showcase-stage figure{margin:0;position:absolute;display:grid;gap:6px}.showcase-stage figcaption{font-size:11.5px;font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-muted)}.showcase-phone{left:34%;top:0;width:210px;z-index:2}.showcase-phone-screen{height:400px;padding:7px;border-radius:26px;background:linear-gradient(160deg,#2a2a2f,#141416);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -20px #000000d9;overflow:hidden}.showcase-phone-screen img{width:100%;border-radius:20px;display:block}.showcase-card{width:250px;padding:6px 6px 8px;border-radius:var(--radius-lg);background:#121214;border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 50px -18px #000000d9}.showcase-card img{width:100%;display:block;border-radius:var(--radius)}.showcase-card figcaption{padding:0 4px}.showcase-card-1{left:0;top:40px;transform:rotate(-4deg);z-index:1}.showcase-card-2{right:0;top:10px;width:230px;transform:rotate(3deg);z-index:3}.showcase-card-3{right:-2%;bottom:0;width:230px;transform:rotate(-2deg);z-index:3}.showcase-phone{grid-template-rows:auto 1fr}.showcase-phone figcaption{order:-1;text-align:center}@media (prefers-reduced-motion: no-preference){.showcase-phone{animation:showcase-float 7s ease-in-out infinite}.showcase-card-2{animation:showcase-float 8s ease-in-out -2s infinite}@keyframes showcase-float{0%,to{translate:0 0}50%{translate:0 -8px}}}@media (min-width: 980px){.auth.has-showcase{grid-template-columns:minmax(340px,400px) minmax(0,640px);justify-content:center;column-gap:72px}}@media (max-width: 979px){.auth.has-showcase{grid-template-columns:minmax(0,1fr)}.auth.has-showcase .showcase{justify-self:center;padding-inline:16px}.showcase-copy{text-align:left}.showcase-stage{height:auto;display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory}.showcase-stage figure{position:static;transform:none;flex:0 0 auto;scroll-snap-align:start;animation:none}.showcase-phone{width:170px}.showcase-phone-screen{height:auto;max-height:320px}.showcase-card,.showcase-card-2,.showcase-card-3{width:230px;align-self:start}}.offer-inner{width:min(980px,100%)}.offer-inner:has(.offer-grid.is-three){width:min(1240px,100%)}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;align-items:stretch}.offer-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-card{position:relative;display:flex;flex-direction:column;text-align:left;border:1px solid var(--border-strong);border-radius:18px;background:var(--surface);padding:clamp(18px,3vw,28px)}.offer-card.is-coach{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:linear-gradient(180deg,var(--accent-soft),var(--surface) 60%)}.offer-card.is-group{border-color:color-mix(in srgb,var(--accent) 26%,var(--border-strong));background:var(--surface-2, var(--surface))}.offer-badge{position:absolute;top:-12px;right:20px;padding:3px 11px;border-radius:99px;background:var(--accent);color:#111;font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}.offer-badge.is-soft{background:var(--surface);color:var(--text-dim);box-shadow:inset 0 0 0 1px var(--border-strong)}.offer-name{margin:0;font-family:var(--font-display);font-size:clamp(28px,3.4vw,36px);line-height:1.05}.offer-name span{color:var(--accent)}.offer-online{align-self:flex-start;margin:10px 0 0;display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:99px;border:1px solid var(--border-strong);background:var(--bg);font-size:13px;font-weight:600;color:var(--text)}.offer-online i{width:8px;height:8px;border-radius:50%;background:var(--ok)}.offer-desc{margin:10px 0 0;color:var(--text-dim);font-size:15px;min-height:3em}.offer-pick{margin-top:14px}.offer-lbl{display:block;font-size:12.5px;color:var(--text-faint);margin-bottom:6px}.offer-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2)}.offer-seg button{padding:8px 14px;border:0;border-radius:9px;background:none;color:var(--text-dim);font:inherit;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}.offer-seg button[aria-pressed=true]{background:var(--accent);color:#111}.offer-seg.is-soft button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.offer-save{margin-left:6px;padding:1px 6px;border-radius:6px;font-size:11.5px;font-weight:700;background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.offer-seg button[aria-pressed=true] .offer-save{background:#00000029;color:#111}.offer-price{margin:18px 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.offer-price b{font-family:var(--font-display);font-weight:700;font-size:clamp(44px,6vw,64px);line-height:.95;font-variant-numeric:tabular-nums;color:var(--text)}.offer-price small{color:var(--text-dim);font-size:16px}.offer-billed{margin:6px 0 0;color:var(--text-dim);font-size:14px;min-height:1.5em}.offer-feat{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--border);display:grid;gap:10px}.offer-feat li{display:grid;grid-template-columns:20px 1fr;gap:8px;font-size:14.5px;color:var(--text)}.offer-feat li svg{margin-top:2px;color:var(--ok)}.offer-feat li.is-hi{font-weight:600}.offer-feat li.is-hi svg{color:var(--accent)}.offer-acts{margin-top:auto;padding-top:22px;display:grid;gap:8px}.offer-acts .btn{justify-content:center;text-decoration:none}.offer-fine{margin:0;color:var(--text-faint);font-size:12.5px;text-align:center}.offer-spacer{visibility:hidden}.offer-under{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;width:100%;margin:0;color:var(--text-dim);font-size:14px}.offer-found{color:var(--accent);font-weight:600}.offer-nocard{margin:0;width:100%;text-align:center;font-size:14px}.offer-nocard a{color:var(--text-dim);text-decoration:underline;text-underline-offset:3px}.offer-under .link-button{background:none;border:0;padding:0;color:var(--text-dim);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}@media (max-width: 1040px){.offer-grid.is-three{grid-template-columns:1fr}.offer-grid.is-three .offer-spacer{display:none}.offer-grid.is-three .offer-card{margin-top:8px}}@media (max-width: 760px){.offer-grid{grid-template-columns:1fr}.offer-spacer{display:none}.offer-grid:not(.is-three) .offer-card.is-coach{order:-1;margin-top:8px}}.score-pane{position:relative}.listen-cover{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--surface)}.listen-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:420px;text-align:center;color:var(--text)}.listen-card h2{margin:0;font-size:1.25rem;text-wrap:balance}.listen-card .listen-ask{margin:0;font-size:1.05rem;font-weight:600}.listen-card .listen-how{margin:0 0 6px;color:var(--text-muted);line-height:1.5}.prog-level{margin:8px 0 4px}.chord-inversions{margin-top:18px;display:grid;gap:6px}.chord-inversions h3{margin:0}.chord-inv{display:grid;gap:4px;justify-items:center}.chord-inv small{color:var(--text-muted);font-size:12px}.chord-view{margin:4px 0 10px}.jazz-chords{display:grid;gap:10px}.jz-roots,.jz-families{flex-wrap:wrap}.jz-chord{display:grid;gap:6px}.jz-chord h3{margin:6px 0 0}.jz-recipe{font-variant-numeric:tabular-nums;letter-spacing:.04em}.prog-song-pick{flex:1 1 100%;min-width:0}.prog-song-pick select{flex:1 1 auto;min-width:0;max-width:100%}.songmap{display:grid;gap:8px;margin:10px 0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.songmap h3{margin:0;display:flex;align-items:baseline;gap:8px;font-size:16px}.songmap-bpm{font-size:12px;font-weight:700;color:var(--text-muted)}.songmap-line{display:flex;height:26px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.songmap-seg{display:grid;place-items:center;min-width:0;overflow:hidden;font-size:11px;font-weight:800;border-right:2px solid var(--surface);color:#1d1a16}.songmap-seg.is-on{box-shadow:inset 0 -4px #00000059}.is-I{background:#d9d2c5}.is-A{background:#ffd76a}.is-B{background:#9fd3c7}.is-C{background:#c9b8f0}.is-P{background:#f4a7a0}.is-X{background:#3a342c;color:#fff!important}.songmap-parts{list-style:none;margin:0;padding:0;display:grid;gap:6px}.songmap-part{display:grid;grid-template-columns:28px minmax(90px,1fr) minmax(0,2fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.songmap-part.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.songmap-tag{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:12px;color:#1d1a16}.songmap-name,.songmap-deg{display:grid;min-width:0}.songmap-name small,.songmap-deg small{color:var(--text-muted);font-size:12px}.songmap-deg b{font-variant-numeric:tabular-nums;letter-spacing:.02em}.songmap-guess{color:#b4531b;font-style:normal}.songmap-lesson{margin:0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:13.5px}@media (max-width: 560px){.songmap-part{grid-template-columns:28px minmax(0,1fr);row-gap:4px}.songmap-part .songmap-deg,.songmap-part .btn{grid-column:2 / -1}.songmap-part .btn{justify-self:start}}.rep-finder{display:grid;gap:10px}.rep-chips{display:flex;flex-wrap:wrap;gap:6px}.rep-chip{min-width:44px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-weight:700;cursor:pointer}.rep-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.rep-count{margin:4px 0 0;font-size:15px}.rep-count b{font-size:22px;color:var(--accent)}.rep-count.is-near{color:var(--text-muted)}.rep-loop em,.rep-row small,.rep-fit em{color:var(--text-muted);font-style:normal}.rep-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rep-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.rep-row-main{all:unset;cursor:pointer;display:grid;min-width:0}.rep-page{display:none}.rep-row-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rep-level{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#e8f4ea;color:#1d1a16;justify-self:end}.rep-level.l4,.rep-level.l5{background:#fff1c7}.rep-level.l6,.rep-level.l7,.rep-level.l8,.rep-level.l9,.rep-level.l10{background:#fde2dc}.rep-fit{grid-column:1 / -1;font-size:13px;font-weight:600;display:flex;gap:8px}.rep-pick select{max-width:100%;min-width:0;flex:1 1 auto}.song-editor{display:grid;gap:10px;padding:14px;border:2px dashed var(--accent);border-radius:14px;background:var(--surface)}.song-editor h3,.song-editor h4{margin:0}.ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ed-grid label,.song-editor>label{display:grid;gap:4px;font-size:13px;font-weight:600}.ed-wide{grid-column:1 / -1}.song-editor input,.song-editor select,.song-editor textarea{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:inherit;min-width:0}.ed-parts{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ed-parts li{display:grid;grid-template-columns:28px minmax(90px,.8fr) minmax(0,1.4fr) 64px;gap:6px;align-items:center}.ed-times{display:flex;align-items:center;gap:2px;font-weight:700}.ed-times input{width:100%}.ed-actions{display:flex;gap:8px;flex-wrap:wrap}.song-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.song-card h3{margin:0}.song-card header .hint{margin:0}.sc-controls{display:grid;gap:8px}.sc-step{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sc-step>span{min-width:72px;font-weight:700;color:var(--text-muted)}.sc-step>b{min-width:44px;text-align:center;font-size:20px}.sc-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg);font-size:22px;font-weight:700;cursor:pointer;line-height:1}.sc-reset{border:0;background:none;color:var(--accent);font-weight:700;cursor:pointer;text-decoration:underline}.sc-say{margin:0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 16%,transparent);font-weight:600}.sc-loop{margin:0}.sc-parts{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sc-parts li{display:grid;grid-template-columns:28px 110px minmax(0,1fr);gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:10px}.sc-name small{color:var(--text-muted)}.sc-chords{display:flex;flex-wrap:wrap;gap:6px}.sc-chords b{padding:3px 9px;border-radius:8px;background:var(--bg);border:1px solid var(--border);font-size:15px}.ed-step{display:grid;gap:8px}.ed-step h4{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:16px}.ed-step .hint{margin:0}.ed-n{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);display:grid;place-items:center;font-size:14px}.ed-label{font-size:13px;font-weight:600}.ed-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ed-pill{padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--bg);font-weight:600;cursor:pointer;font-size:13px}.ed-pill.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.ed-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ed-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.ed-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.ed-chords{display:grid;gap:4px;font-size:13px;font-weight:600;flex:1 1 180px;min-width:0}.ed-chords input{font-size:18px;letter-spacing:.04em}.ed-bars{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.ed-bars b{min-width:22px;text-align:center;font-size:18px}.ed-preview{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.ed-preview span{padding:2px 8px;border-radius:7px;font-weight:700}.ed-preview span.ok{background:#e8f4ea;color:#1d1a16}.ed-preview span.bad{background:#fde2dc;color:#9b2c12}.ed-preview small{color:#9b2c12;width:100%}.ed-line{display:flex;height:30px;border-radius:9px;overflow:hidden;border:1px solid var(--border)}.ed-line span{display:grid;place-items:center;min-width:0;overflow:hidden;font-size:11px;font-weight:800;border-right:2px solid var(--surface);white-space:nowrap}.ed-order{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.ed-order li{display:flex;align-items:center;gap:2px;padding:4px 6px;border-radius:10px;font-size:13px}.ed-order li b{padding:0 4px}.ed-order li button{border:0;background:#ffffff73;border-radius:6px;width:24px;height:24px;cursor:pointer;font-weight:700;color:inherit}.ed-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;font-weight:600}.ed-add select{font:inherit;padding:6px 8px;border-radius:999px;border:1px dashed var(--border);background:var(--bg);color:inherit}.ed-kind{justify-self:start;font:inherit;font-weight:800;font-size:16px;padding:6px 12px;border-radius:10px;border:0;cursor:pointer}.ed-order{flex-direction:column;flex-wrap:nowrap}.ed-order li{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:8px;padding:6px 8px;font-size:15px}.ed-pos{font-size:12px;opacity:.7;text-align:center}.ed-rep,.ed-move{display:flex;align-items:center;gap:4px;font-weight:800}.ed-order li button{width:30px;height:30px;font-size:15px}.is-D{background:#f4a7a0}.is-O{background:#cfc6b8}.songs-page{display:grid;gap:12px}.songs-back{justify-self:start}.songs-saved{margin:0;padding:8px 12px;border-radius:10px;background:#e8f4ea;color:#1d1a16;font-weight:700}.songs-error{margin:0;padding:8px 12px;border-radius:10px;background:#fde2dc;color:#9b2c12;font-weight:700}.songs-same h3{margin:8px 0;font-size:16px}.sc-actions{display:flex;flex-wrap:wrap;gap:8px}.sc-parts li{grid-template-columns:28px 110px minmax(0,1fr) auto}.sc-part-play{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--accent);color:var(--accent-contrast);font-weight:800;cursor:pointer}.sc-video{display:grid;gap:6px}.sc-video iframe{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;background:#000}.sc-video-btn{justify-self:start}.sc-yt{font-size:13px;color:var(--text-muted);justify-self:start}.sc-video-frame{width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#000}.sc-video-frame>div,.sc-video-frame iframe{width:100%!important;height:100%!important;border:0}.sc-now{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 12px;border-radius:12px;background:var(--accent);color:var(--accent-contrast)}.sc-now-head>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.sc-now b{font-size:18px}.sc-now em{font-style:normal;font-weight:700;font-size:17px;letter-spacing:.03em}.sc-line .songmap-seg{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:800}.sc-line .songmap-seg:disabled{cursor:default}.songmap-seg.is-now{outline:3px solid var(--accent);outline-offset:-3px;filter:brightness(1.05)}.sc-parts li.is-now{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sc-name{all:unset;cursor:pointer;font-weight:600}.sc-name:disabled{cursor:default}.sc-retime{display:grid;gap:8px;padding:12px;border:2px dashed var(--accent);border-radius:12px}.sc-retime p{margin:0}.sc-tap{font-size:17px;padding:14px 16px}.sc-taps{margin:0;padding-left:18px;display:grid;gap:2px;font-size:13px;color:var(--text-muted)}.sc-taps li.is-done{color:inherit;font-weight:700}.sc-now{display:grid;gap:6px}.sc-now-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sc-now-head small{opacity:.75;font-weight:700}.sc-now-chord{display:flex;align-items:baseline;gap:12px}.sc-now-chord strong{font-size:40px;line-height:1;font-weight:800}.sc-now-chord em{font-style:normal;font-size:18px;font-weight:700;opacity:.75}.sc-beats{display:flex;gap:8px}.sc-beats i{width:14px;height:14px;border-radius:50%;background:#0000002e;transition:transform .05s}.sc-beats i.is-one{width:18px;height:18px}.sc-beats i.is-on{background:var(--accent-contrast, #1d1a16);transform:scale(1.15)}.sc-follow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sc-follow small{color:var(--text-muted)}.ed-beats{display:grid;gap:6px}.ed-beats ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.ed-beats li{display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.ed-beats li b{min-width:34px;font-size:16px}.ed-beats li button{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--bg);font-weight:800;cursor:pointer}.ed-beat-n{min-width:18px;text-align:center;font-weight:800;font-size:16px}.ed-beats small{color:var(--text-muted)}.sc-now-chord{align-items:center}.sc-box{display:inline-flex;flex-direction:column;align-items:center;gap:2px;opacity:.7}.sc-box b{font-size:18px;font-weight:800;line-height:1}.sc-box .sc-dia{width:58px;height:auto;color:inherit}.sc-box.is-big{opacity:1}.sc-box.is-big b{font-size:34px}.sc-box.is-big .sc-dia{width:104px}.sc-next-arrow{font-size:22px;font-weight:800;opacity:.6}.sc-speed{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.sc-speed>span{font-weight:700;font-size:13px}.sc-bpm{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.sc-wait{display:grid;gap:8px;padding:12px 14px;border-radius:14px;border:2px solid var(--accent, #f5b301);background:var(--surface)}.sc-wait-paused{margin:0;font-size:13px;font-weight:700;color:var(--text-muted)}.sc-wait-title{margin:0;font-size:17px;font-weight:800}.sc-wait-notes{display:flex;gap:6px}.sc-wait-notes span{min-width:34px;padding:4px 8px;text-align:center;border-radius:999px;border:1px solid var(--border);font-weight:800}.sc-wait-notes span.is-on{background:#1d9e75;border-color:#1d9e75;color:#fff}.sc-wait-ok{margin:0;font-weight:800;color:#0f6e56}.sc-wait-miss{margin:0;font-weight:700;color:#854f0b}.sc-wait-prefs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.sc-wait-prefs .hint{flex-basis:100%;margin:0}.sc-wait-prefs [role=group]{display:inline-flex;align-items:center;gap:4px}.sc-wait-prefs [role=group]>span{font-weight:700;font-size:13px}.sc-wait-prefs small{color:var(--text-muted)}.sc-wait-calib{flex-basis:100%;margin:0;font-weight:700}.rep-level-bar{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.rep-level-steps{display:inline-flex;gap:2px}.rep-level-steps i{width:6px;height:14px;border-radius:2px;background:var(--border)}.rep-level-bar.is-easy .rep-level-steps i.is-on{background:#1d9e75}.rep-level-bar.is-mid .rep-level-steps i.is-on{background:#ef9f27}.rep-level-bar.is-hard .rep-level-steps i.is-on{background:#d85a30}.rep-level-bar b{font-size:13px;font-weight:800;min-width:16px;font-variant-numeric:tabular-nums}.sc-hm-toggle{justify-self:start}.sc-hm-toggle.is-on{background:var(--accent, #f5b301);color:var(--accent-contrast, #1d1a16)}.hm{display:grid;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.hm-block{display:grid;gap:6px}.hm-block h4{margin:0;font-size:13px;font-weight:800;color:var(--text-muted);text-transform:none}.hm-block p{margin:0;line-height:1.55}.hm-scale span{color:var(--text-muted)}.hm-chips{display:flex;flex-wrap:wrap;gap:8px}.hm-chip{display:grid;min-width:70px;padding:6px 10px;border-radius:10px;text-align:center}.hm-chip b{font-size:18px}.hm-chip small{font-size:12px}.hm-chip.is-T,.hm-legend i.is-T{background:#e1f5ee;color:#085041}.hm-chip.is-S,.hm-legend i.is-S{background:#e6f1fb;color:#0c447c}.hm-chip.is-D,.hm-legend i.is-D{background:#fcebeb;color:#791f1f}.hm-chip.is-X,.hm-legend i.is-X{background:#eeedfe;color:#3c3489}.hm-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--text-muted)}.hm-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.hm-tag{display:inline-block;margin-right:6px;padding:2px 10px;border-radius:999px;background:#faeeda;color:#633806;font-size:13px;font-weight:700}.hm-link{margin-left:8px;border:none;background:none;color:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.hm-teach{padding-top:10px;border-top:1px dashed var(--border)}.hm-mode{display:flex;gap:6px}.hm-warn{margin:0}.cap-admin{align-items:center}.cap-badge{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#eeedfe;color:#3c3489}.cap{display:grid;gap:10px;padding:14px 16px;border:2px dashed #afa9ec;border-radius:14px;background:var(--surface)}.cap-head{display:flex;justify-content:space-between;align-items:center}.cap-head h3{margin:0;font-size:17px}.cap-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.cap-row input[type=number]{width:80px}.cap-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.cap-form label{display:grid;gap:4px;font-size:13px;font-weight:700}.cap-live{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.cap-heard{font-size:34px;font-weight:800;min-width:70px;opacity:.5}.cap-heard.is-steady{opacity:1}.cap-count{font-weight:700}.cap-last{color:var(--text-muted)}.cap-text{width:100%;font-family:var(--font-mono, monospace);font-size:15px}.cap-error{margin:0;color:#a32d2d;font-weight:700}.cap-result{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.cap-result h4,.cap-result p{margin:0}.cap-parts{margin:0;padding-left:18px}.cap-order{font-family:var(--font-mono, monospace);font-size:13px;color:var(--text-muted);overflow-wrap:anywhere}.cap-note{margin:0}.sc-main-prog{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.sc-mp-label{font-size:12px;font-weight:800;color:var(--text-muted);flex-basis:100%}.sc-mp-chips{display:flex;flex-wrap:wrap;gap:6px}.sc-mp-chip{display:inline-flex;flex-direction:column;align-items:center;min-width:54px;padding:6px 10px 5px;border-radius:10px;border:1px solid var(--border);background:var(--bg, transparent)}.sc-mp-chip b{font-size:22px;font-weight:800;line-height:1.1}.sc-mp-chip small{font-size:14px;font-weight:800;color:var(--text-muted)}.rep-chip small{opacity:.65;margin-left:4px}.rep-prog-desc{margin:0;font-weight:600}.rep-deg{font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}.hm-sec{display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--border)}.hm-sec:first-of-type{border-top:0;padding-top:0}.hm-sec h5{margin:0;font-size:15px;font-weight:800}.hm-sec-say{margin:0;padding-left:18px;display:grid;gap:3px}.hm-sec-imp{list-style:none;margin-left:-18px;font-weight:600}.hm-improv p{margin:0 0 4px}.sc-box{background:#fff;color:#16181d;padding:6px 8px 5px;border-radius:10px;box-shadow:0 1px 4px #00000047;opacity:.85}.sc-box.is-big{opacity:1;padding:10px 12px 7px}.sc-chords b{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}.sc-chords b small{font-size:12px;font-weight:800;color:var(--text-muted)}.sc-box-deg{font-size:12px;font-weight:800;color:#5b5f6a;line-height:1}.sc-box.is-big .sc-box-deg{font-size:16px}.hm-modes{display:grid;gap:6px;margin:4px 0 8px}.hm-modes p{margin:0}.hm-imp-line{display:grid;gap:4px;margin-bottom:8px}.hm-imp-line p{margin:0}.hm-sv-bar{display:flex;flex-wrap:wrap;gap:6px}.hm-sv-fig{margin:4px 0 0;display:grid;gap:6px;overflow-x:auto}.hm-sv-fig figcaption{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px}.hm-sv-fig .hint{margin:0}.hm-chip-btn{cursor:pointer;font:inherit;color:inherit}.hm-chip-btn.is-on{outline:2px solid var(--accent);outline-offset:1px}.hm-sv-what{display:inline-flex;flex-wrap:wrap;gap:4px;padding-left:6px;border-left:1px solid var(--border)}.hm-fix{display:grid;gap:10px;padding:12px 14px;border:2px dashed #afa9ec;border-radius:14px}.hm-fix>label,.hm-fix-modes label{display:grid;gap:4px;font-size:13px;font-weight:700}.hm-fix select,.hm-fix textarea{font:inherit;font-weight:500}.hm-fix-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin:0}.hm-fix-modes legend{font-size:13px;font-weight:800;padding:0 4px}.hm-fix-ok{font-weight:800;color:#1d7a45}.hm-note{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.jam,.ear-song{display:grid;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.jam h4,.ear-song h4{margin:0}.jam-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.jam-loop{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sc-mp-chip.is-now{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.sc-mp-chip.is-now small{color:inherit;opacity:.8}.jam-beats{margin-left:6px}.jam-heard{display:flex;flex-wrap:wrap;gap:4px;min-height:30px}.jam-n{min-width:30px;text-align:center;padding:4px 6px;border-radius:8px;font-weight:800;font-size:14px}.jam-n.is-chord,.jam-legend .is-chord{background:#f5c542;color:#3b2c00}.jam-n.is-scale,.jam-legend .is-scale{background:#37b26c;color:#fff}.jam-n.is-out,.jam-legend .is-out{background:#e8715f;color:#fff}.jam-legend{display:flex;flex-wrap:wrap;gap:12px;margin:0;font-size:13px;color:var(--text-muted)}.jam-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-1px}.jam-stats,.jam-tip{margin:0;font-weight:700}.ear-song-score{font-weight:800}.ear-song-opt.is-right{outline:3px solid #37b26c}.ear-song-opt.is-wrong{outline:3px solid #e8715f}.sc-part-loop.is-on{background:var(--accent);color:var(--accent-contrast)}.sc-looping{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-weight:600}.rep-row.is-locked{opacity:.6}.prog-song-list ul{margin:4px 0;padding-left:18px;display:grid;gap:2px}.prog-song-list small{color:var(--text-muted)}.mp-page{display:grid;gap:14px}.mp-intro p{margin:0 0 8px}.mp-progress{height:10px;border-radius:999px;background:var(--border);overflow:hidden}.mp-progress span{display:block;height:100%;background:var(--accent);border-radius:999px}.mp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mp-item-main{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer}.mp-item.is-locked .mp-item-main{opacity:.6}.mp-item.is-done .mp-item-main{border-color:var(--accent)}.mp-num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--accent);color:var(--accent-contrast)}.mp-num.is-big{width:48px;height:48px;font-size:22px}.mp-item-text{display:grid;gap:2px;flex:1;min-width:0}.mp-item-text small{color:var(--text-muted);font-weight:600}.mp-dots{display:flex;gap:4px}.mp-dots i{width:9px;height:9px;border-radius:50%;background:var(--border)}.mp-dots i.is-on{background:var(--accent)}.mp-step{display:grid;gap:12px}.mp-step-head{display:flex;align-items:center;gap:12px}.mp-step-head h2,.mp-step-head .hint{margin:0}.mp-block{display:grid;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.mp-block h3{margin:0;font-size:17px}.mp-block>p{margin:0}.mp-check{display:flex;align-items:center;gap:8px;font-weight:600}.mp-nav{justify-content:space-between}.prog-song-band{display:grid;gap:2px}.prog-song-band-title{margin:6px 0 0;font-weight:800;font-size:13px}.prog-song-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.board-rep,.board-rep-pick{display:grid;gap:10px}.board-rep-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.board-rep-ctl{display:inline-flex;align-items:center;gap:6px;font-weight:700}.board-rep-parts{align-items:center}.board-rep-focus{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:12px;border:2px solid var(--accent)}.songs-access{margin:0 0 8px}.songs-give{align-items:center}.starter{margin:0 0 12px;padding:10px 14px;border:2px dashed #afa9ec;border-radius:14px}.starter summary{cursor:pointer}.starter .rep-row.is-done{opacity:.6}.launch-head{display:grid;gap:8px}.launch-head p{margin:0}.launch-progress{height:8px}.launch-phase{display:grid;gap:6px}.launch-phase h3{margin:8px 0 0;font-size:16px}.launch-phase ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.launch-phase li{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.launch-phase li.is-done{opacity:.6}.launch-phase li.is-done .launch-text{text-decoration:line-through}.launch-phase input{margin-top:3px;width:18px;height:18px}.launch-auto{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:2px solid var(--border)}.launch-auto.is-ok{background:#37b26c;border-color:#37b26c;color:#fff}.launch-text small{display:block;color:var(--text-muted)}.lrecap-song{margin:0 0 6px}.mp-quiz .hint{margin:0}.song-req-open{margin:0 0 10px}.song-req{display:grid;gap:6px;margin:0 0 12px;padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.song-req .hint,.song-req p{margin:0}.song-req-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.song-req-row input{flex:1;min-width:140px}.ed-blocks{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.ed-prog-panel{display:grid;gap:8px;margin-top:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.ed-prog-panel .hint{margin:0}.ed-prog-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:320px;overflow-y:auto}.ed-prog-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;background:var(--bg, transparent);border:1px solid var(--border)}.ed-prog-what{display:grid;gap:1px}.ed-prog-what small{color:var(--text-muted);font-weight:700}.ed-prog-what em{font-style:normal;font-weight:800}.ed-prog-do{display:flex;gap:4px}.song-card>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.song-card>header .sc-as-student{margin-left:auto}.song-card.is-lite .sc-main-prog{display:grid;gap:8px}.song-card.is-lite .sc-mp-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px}.song-card.is-lite .sc-mp-chip{min-width:0;padding:12px 6px 8px;background:#fff;color:#1f1a17;border-radius:14px}.song-card.is-lite .sc-mp-chip b{font-size:28px}.song-card.is-lite .sc-mp-chip small{color:#8a6f58}.sc-big{width:100%;justify-self:stretch;min-height:56px;font-size:18px;border-radius:16px}.song-card.is-lite .sc-video{display:grid;gap:6px}.song-card.is-lite .sc-yt{justify-self:end;font-size:13px}.sc-more{display:grid;gap:12px;border-top:1.5px dashed var(--border);padding-top:10px}.sc-more-btn{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;font-weight:800;cursor:pointer}.sc-more-btn small{grid-column:1;font-weight:600;color:var(--text-muted)}.sc-more-btn b{grid-column:2;grid-row:1 / span 2;font-size:18px}.song-card.is-lite .sc-parts li{grid-template-columns:28px minmax(52px,auto) minmax(0,1fr) auto auto;gap:6px}.song-card.is-lite .sc-parts .sc-name{justify-self:start;text-align:left}.song-card.is-lite .sc-parts .sc-name{white-space:nowrap}.rep-search{width:100%;min-height:48px;padding:10px 14px;font-size:17px;border-radius:14px;border:1.5px solid var(--border);background:var(--bg, #fff);color:inherit;box-sizing:border-box}.rep-levels{margin:2px 0 4px}.rep-more{justify-self:center;margin:6px auto 0}.rep-row.has-fav{grid-template-columns:minmax(0,1fr) auto auto}.rep-fav{all:unset;cursor:pointer;font-size:22px;line-height:1;padding:4px 6px;color:var(--text-muted)}.rep-fav.is-on{color:#e0475b}.rep-fav:focus-visible{outline:2px solid var(--accent);border-radius:8px}.rep-shelf{display:grid;gap:6px;padding:10px 12px;border-radius:14px;border:1.5px solid var(--accent)}.rep-shelf-title{margin:0;font-weight:800}.rep-shelf-title small{color:var(--text-muted)}.rep-tabs{flex-wrap:wrap}.lroom-hw-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;font-weight:700;cursor:pointer}.lroom-hw{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:60;width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 120px);overflow-y:auto;display:grid;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface);box-shadow:0 12px 40px #00000059;color:var(--text)}.lroom-hw header{display:flex;justify-content:space-between;align-items:center}.lroom-hw label{display:grid;gap:4px;font-weight:700;font-size:14px}.lroom-hw input:not([type=checkbox]),.lroom-hw textarea{font:inherit;font-weight:400;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.lroom-hw-who{display:flex;flex-wrap:wrap;gap:6px 14px}.lroom-hw-who label{display:inline-flex;align-items:center;gap:6px;font-weight:600}.lroom-hw-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.lroom-hw-ok{margin:0;color:var(--ok, #2e9d5b);font-weight:700}.hw-pdf{display:grid;gap:6px}.hw-pdf-view{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.hw-pdf-nav{display:flex;justify-content:center;align-items:center;gap:10px;padding:6px;background:var(--surface)}.fo-hw .fo-recs li{display:grid;gap:4px}.sc-box,.sc-box b,.sc-mp-chip b,.sc-chords b{text-transform:none;letter-spacing:normal}.sc-now .sc-box{opacity:1;font-size:inherit}.sw{display:grid;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.sw-head{all:unset;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}.sw-head small{grid-column:1;color:var(--text-muted);font-weight:600}.sw-head span{grid-column:2;grid-row:1 / span 2;font-size:18px}.sw-head:focus-visible{outline:2px solid var(--accent);border-radius:8px}.sw-saved{display:flex;flex-wrap:wrap;gap:6px}.sw-chip{display:inline-flex;align-items:center;gap:2px}.sw-chip small{color:var(--text-muted);margin-left:4px}.sw-x{all:unset;cursor:pointer;padding:2px 6px;color:var(--text-muted)}.sw-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end}.sw-row label{display:grid;gap:4px;font-weight:700;font-size:13px}.sw-row select,.sw-row input{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.sw-row input{width:76px}.sw-grid{display:flex;flex-wrap:wrap;gap:8px 12px}.sw-group{display:inline-flex;gap:3px;padding:3px;border-radius:12px;background:var(--bg, transparent);border:1px solid var(--border)}.sw-slot{all:unset;cursor:pointer;display:grid;justify-items:center;gap:1px;width:34px;padding:6px 0 4px;border-radius:9px;border:1px solid transparent}.sw-slot:focus-visible{outline:2px solid var(--accent)}.sw-arrow{font-size:20px;font-weight:800;line-height:1;color:var(--text-muted)}.sw-slot em{font-style:normal;font-size:12px;font-weight:700;color:var(--text-muted)}.sw-slot.is-beat em{color:inherit;font-weight:900}.sw-slot.is-d .sw-arrow,.sw-slot.is-u .sw-arrow{color:inherit}.sw-slot.is-d,.sw-slot.is-u{background:var(--surface);border-color:var(--border)}.sw-slot.is-x .sw-arrow{color:#d9534f}.sw-slot.is-now{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.sw-slot.is-now .sw-arrow,.sw-slot.is-now em{color:inherit}.sw-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sw-save{display:inline-flex;flex-wrap:wrap;gap:6px}.sw-save input{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.adm-link{display:grid;gap:6px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--accent);background:var(--surface);margin:6px 0}.adm-link input{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.adm-link-do{display:flex;flex-wrap:wrap;gap:6px}.adm-check{display:flex;align-items:center;gap:8px;font-weight:600}.lroom-hw-board{display:grid;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--border)}.lroom-hw-items{display:grid;gap:4px;max-height:180px;overflow-y:auto}.lroom-hw-items label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.lroom-hw-all{display:flex;gap:6px}.hw-board{display:grid;gap:6px}.hw-board-title{margin:0;font-weight:800}.hw-board-items{display:flex;flex-wrap:wrap;gap:6px}.hw-board-view{position:static;width:auto;max-width:100%}@media print{body:not(.allow-print)>*{display:none!important}body:not(.allow-print):after{content:"Chris Guitar Tuto Method — l’impression n’est pas disponible / printing is not available";display:block;margin:40vh 24px 0;text-align:center;font:600 16px/1.5 system-ui,sans-serif;color:#000}}.guest-link{display:grid;gap:6px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--accent);background:var(--surface);margin-top:6px}.guest-link input{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.guest-link-do{display:flex;flex-wrap:wrap;gap:6px}.guest-join{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg, #111)}.guest-card{width:min(460px,100%);display:grid;gap:12px;padding:22px 20px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.guest-card h1{font-size:22px;margin:0}.guest-brand{margin:0;font-weight:900;letter-spacing:.02em}.guest-brand span,.guest-head b span{color:var(--accent)}.guest-lesson{margin:0;font-size:16px}.guest-name{display:grid;gap:6px;font-weight:700}.guest-name input{font:inherit;font-size:18px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--border);background:var(--bg, #fff);color:inherit}.guest-go{min-height:52px;font-size:18px}.guest-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;background:var(--bg);color:var(--text)}.guest-head{display:flex;align-items:baseline;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.guest-head small{color:var(--text-muted)}.guest-main{padding:12px;min-width:0}.guest-end{display:grid;gap:12px;max-width:480px;margin:10vh auto 0;text-align:center}.ed-guessed{margin:0 0 8px;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px dashed var(--accent);font-weight:600}.lrecap-moments{margin:0;padding-left:18px;display:grid;gap:4px}.lrecap-moments b{font-variant-numeric:tabular-nums;margin-right:6px}.guest-phone{display:grid;gap:4px;font-weight:700;font-size:14px}.share-prog{display:grid;gap:8px;margin-top:10px}.share-prog-img img{width:100%;max-width:360px;border-radius:14px;border:1px solid var(--border);display:block}.ed-sheet-bar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.ed-sheet{display:grid;gap:8px;padding:10px 12px;border-radius:12px;border:1px dashed var(--accent);margin-bottom:10px}.ed-sheet textarea{font:14px/1.4 ui-monospace,Consolas,monospace;padding:8px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.ed-sheet-do{display:flex;gap:6px;flex-wrap:wrap}.ed-sheet-list{margin:0;padding-left:18px;display:grid;gap:3px}.ed-sheet-list .is-weak{opacity:.6}.song-card>header .sc-ug{margin-left:auto}.song-card>header .sc-ug+.sc-as-student{margin-left:0}.rh-boxes{margin:4px 0}.sw-slot.is-static{cursor:default}.rh-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.rh-list li{display:grid;gap:4px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.rh-list-name small{color:var(--text-muted);margin-left:6px}.rh-list-do{display:flex;flex-wrap:wrap;gap:6px}.rh-edit-box{display:grid;gap:8px;padding:10px 12px;border-radius:12px;border:1.5px dashed var(--accent)}.rh-editor{display:grid;gap:8px}.rh-picker{display:grid;gap:6px;margin:6px 0}.rh-pick{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.rh-pick select{font:inherit;padding:5px 8px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.sc-rhythm{grid-column:1 / -1;display:grid;gap:4px;padding-top:6px;border-top:1px dashed var(--border)}.sc-rhythm-name small{color:var(--text-muted);margin-left:4px}.sc-rhythm .sw-slot{width:28px}.sw-slot.is-pick .sw-arrow{font-size:15px;font-family:ui-monospace,Consolas,monospace}.rh-rename{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rh-rename input{font:inherit;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit;min-width:0;flex:1 1 160px}.rh-rename-btn{justify-self:start}.sc-rhythm-name .icon,.rh-pick .icon{vertical-align:-2px}.sc-rhythm-do{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sc-rhythm-speed{display:inline-flex;gap:4px}.rh-default{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.rh-default select{font:inherit;padding:4px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.rh-practice{display:grid;gap:6px;padding:8px 10px;border-radius:12px;border:1.5px dashed var(--accent)}.rh-score{margin:0;font-size:15px}.rh-score b{font-size:20px}.rh-score.is-good b{color:var(--ok, #2e9d5b)}.kr{display:grid;gap:10px}.kr-count b{font-size:20px}.kr-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.kr-bar input{flex:1 1 200px;font:inherit;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.kr-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.kr-list li{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.kr-list li.is-done{border-color:var(--ok, #2e9d5b)}.kr-key{color:var(--text-muted);font-family:ui-monospace,Consolas,monospace;font-size:11px}.kr-ref{font-size:13px;color:var(--text-muted)}.kr-ref b{color:inherit;margin-right:4px}.kr-list textarea{font:inherit;font-weight:600;padding:7px 10px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg, #fff);color:inherit;resize:vertical}.kr-do{display:flex;gap:8px;align-items:center}.kr-ok{color:var(--ok, #2e9d5b);font-weight:700}.kr-pages{display:flex;justify-content:center;align-items:center;gap:10px}.rh-bars{display:grid;gap:6px}.rh-bars .rh-boxes{position:relative;padding-left:22px}.rh-barno{position:absolute;left:0;top:50%;transform:translateY(-50%);font-weight:800;font-size:12px;color:var(--text-muted)}.rh-barcount{display:inline-flex;align-items:center;gap:6px}.rh-barcount>span{font-size:13px}.rh-barcount b{min-width:1.4em;text-align:center;font-variant-numeric:tabular-nums}.sc-mp-chip .sc-mp-dia{width:50px;height:auto;color:inherit;margin-bottom:2px}.sc-mp-chip.is-other{opacity:.9}.ed-rebuilt{display:grid;gap:8px;padding:10px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.ed-rb-ok b,.ed-rebuilt .auth-error b{font-size:18px}.ed-rb-strip{display:flex;height:26px;border-radius:8px;overflow:hidden;gap:2px}.ed-rb-strip span{min-width:4px;display:grid;place-items:center;font-size:11px;font-weight:800;overflow:hidden;white-space:nowrap}.ed-rb-list{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px}.ed-rb-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.ed-rb-dot{width:10px;height:10px;border-radius:50%;display:inline-block;align-self:center}.ed-rb-ch{font-family:ui-monospace,Consolas,monospace;color:var(--text-muted)}.sc-video .sc-lyrics{justify-self:start;align-self:start;width:auto;display:inline-flex;flex-direction:row;align-items:center;gap:6px}.sc-video .sc-lyrics svg{display:inline-block;flex:none}.ed-meter-hint{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.35;font-weight:500}.rh-mismatch{margin:0;font-size:13px;color:var(--warn, #b86b00);font-weight:600}.sc-dia .ca-base,.sc-mp-dia .ca-base{font-size:8px;font-weight:700;fill:currentColor;text-anchor:middle}.sq-start{display:grid;gap:6px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--accent);background:var(--surface);margin-bottom:10px}.sq-start-do{display:flex;flex-wrap:wrap;gap:6px}.sq-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;margin:8px 0;border-radius:14px;background:var(--surface);border:1.5px solid var(--accent);box-shadow:0 6px 18px #0000001f}.sq-where{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sq-where b{font-size:18px}.sq-do{display:flex;flex-wrap:wrap;gap:6px}.asl{display:grid;gap:10px}.asl-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.asl-bar input{flex:1 1 200px;font:inherit;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.asl-list .rep-row{display:flex;align-items:center;gap:8px}.asl-list .rep-row-main{flex:1;min-width:0}.ed-tempo{display:flex;gap:6px;align-items:center}.ed-tempo input{flex:1 1 70px;min-width:60px}.ed-tap{min-width:84px;min-height:40px;font-weight:800;touch-action:manipulation;user-select:none}.ed-tap.is-on{border-color:var(--accent)}.ed-tap:active{transform:scale(.96)}.ed-tap-hint{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;font-weight:500}.ed-pickbar{margin:6px 0}.ed-chord{font:inherit;background:none;border:0;padding:2px 4px;border-radius:8px;cursor:pointer;color:inherit}.ed-chord b{font-size:16px}.ed-beats li.is-sel{outline:2px solid var(--accent);border-radius:10px}.ed-sel-do{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.cpk{display:grid;gap:8px;padding:10px 12px;margin:8px 0;border-radius:14px;border:1.5px solid var(--accent);background:var(--surface)}.cpk-head{display:flex;justify-content:space-between;align-items:center}.cpk-key,.cpk-roots,.cpk-kinds{display:flex;flex-wrap:wrap;gap:6px}.cpk-chip{display:inline-flex;flex-direction:column;align-items:center;min-width:52px;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;font:inherit}.cpk-chip b{font-size:18px;line-height:1.1}.cpk-chip small{color:var(--text-muted);font-weight:700;font-size:12px}.cpk-pill{min-width:40px;padding:6px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;font-weight:700;cursor:pointer}.cpk-pill.is-on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast, #1d1a16)}.cpk-bass{display:flex;align-items:center;gap:8px;font-size:14px}.cpk-built{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px}.cpk-dia{width:64px;height:auto;color:inherit}.cpk-dia .ca-base{font-size:8px;font-weight:700;fill:currentColor;text-anchor:middle}.cpk-name{font-size:26px}.cpk-do{display:flex;gap:6px;flex-wrap:wrap}.sv-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:var(--accent);color:var(--accent-contrast, #1d1a16)}.sv-bar span{flex:1;font-size:13px;font-weight:600}.sv-bar .btn{background:#1d1a16;color:#fff;border-color:#1d1a16}.rh-boxes.is-dense{gap:6px}.rh-boxes.is-dense .sw-group{gap:2px;padding:2px}.rh-boxes.is-dense .sw-slot{width:24px;padding:4px 0 3px}.rh-boxes.is-dense .sw-arrow{font-size:16px}.rh-boxes.is-dense .sw-slot em{font-size:10px}.sc-song-rhythm{margin:10px 0;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.sc-easy{display:grid;gap:6px;margin:8px 0}.sc-easy-go{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:14px;border:1.5px dashed var(--accent);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.sc-easy-go span{color:var(--text-muted);font-weight:700}.sc-easy-alt{margin:0;font-size:14px;color:var(--text-muted);font-weight:600}.cl{margin-top:8px;overflow:hidden;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.cl-track{position:relative;height:54px}.cl-chord{position:absolute;top:6px;bottom:14px;display:flex;align-items:center;padding-left:8px;border-left:3px solid var(--border);overflow:hidden;white-space:nowrap}.cl-chord b{font-size:18px}.cl-chord.is-now{background:var(--accent);color:var(--accent-contrast, #1d1a16);border-left-color:var(--accent);border-radius:8px}.cl-chord.is-now b{font-size:22px}.cl-chord.is-rest b{color:var(--text-muted)}.cl-tick{position:absolute;bottom:4px;width:3px;height:3px;border-radius:50%;background:var(--text-muted)}.cl-tick.is-bar{height:8px;width:2px;border-radius:1px;bottom:2px;background:currentColor}.sl{margin:10px 0;border-radius:16px;border:1.5px solid var(--accent);background:var(--surface);overflow:hidden}.sl-top{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.sl-count{font-weight:800;color:var(--text-muted)}.sl-bar{flex:1;height:6px;border-radius:6px;background:var(--border);overflow:hidden}.sl-bar i{display:block;height:100%;background:var(--accent);border-radius:6px}.sl-steps{list-style:none;margin:0;padding:0 10px 10px;display:grid;gap:6px}.sl-step{border-radius:12px;border:1px solid var(--border);background:var(--bg, transparent)}.sl-step.is-done{border-color:var(--ok, #2e9d5b)}.sl-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.sl-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--border);flex:none}.sl-step.is-done .sl-n{background:var(--ok, #2e9d5b);color:#fff}.sl-body{display:grid;gap:8px;padding:0 12px 12px}.sl-speeds{display:flex;gap:6px;flex-wrap:wrap}.sl-play{display:grid;gap:6px;padding-top:8px;border-top:1px dashed var(--border)}.sl-sent{margin:0 14px 12px;font-weight:700;color:var(--ok, #2e9d5b)}.song-editor.ne{display:grid;gap:10px;padding-bottom:90px}.ne-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ne-top h3{margin:0}.ne-paste-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.ne-paste{flex:1 1 240px;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:16px;border:0;cursor:pointer;font:inherit;color:#1d1a16;background:linear-gradient(180deg,#ffc862,#f7a92a);box-shadow:0 6px 16px #f59e0b40}.ne-paste small{display:block;font-weight:600;opacity:.8;font-size:12px}.ne-paste-ic{width:34px;height:34px;border-radius:10px;background:#ffffff8c;display:grid;place-items:center;flex:none}.ne-video{display:grid;gap:6px}.ne-listen{justify-content:center;padding:12px}.ne-now{display:flex;align-items:center;gap:10px;min-height:44px}.ne-now-chord{display:inline-grid;justify-items:center;padding:4px 12px;border-radius:12px;background:var(--accent);color:var(--accent-contrast, #1d1a16)}.ne-now-chord b{font-size:24px;line-height:1.1}.ne-now-chord small{font-size:11px;font-weight:800}.ne-next{font-size:18px;font-weight:800;color:var(--text-muted)}.ne-vbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ne-speeds{display:flex;gap:4px}.ne-strip{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;padding:3px 2px 6px}.ne-blk{min-width:46px;height:44px;padding:0 8px;border-radius:10px;border:0;font:inherit;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ne-blk.is-sel{outline:3px solid var(--text, #1d1a16);outline-offset:1px}.ne-add{flex:none;min-width:40px;background:transparent;border:1.5px dashed var(--text-muted);color:var(--text-muted);font-size:18px}.ne-addrow,.ne-stripdo,.ne-unused{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ne-part{display:grid;gap:10px;padding:12px;border-radius:18px;border:1px solid var(--border);border-left:8px solid var(--border);background:var(--surface)}.ne-part-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ne-times{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text-muted);font-size:13px}.ne-round{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--bg, #fff);color:inherit;font:inherit;font-weight:800;cursor:pointer}.ne-boxes{display:flex;flex-wrap:wrap;gap:6px}.ne-box{width:76px;display:grid;justify-items:center;gap:1px;padding:6px 2px;border-radius:14px;border:1.5px solid var(--border);background:#fff;color:#1d1a16;font:inherit;cursor:pointer}.ne-box b{font-size:18px;line-height:1.1}.ne-box small{font-size:11px;font-weight:800;color:#7a6f62;min-height:13px}.ne-box.is-sel{border:2.5px solid #f59e0b;box-shadow:0 0 0 4px #ffb43d40}.ne-box.is-now{background:#fff4dc}.ne-box.is-bad{border-color:#d9534f}.ne-dia{width:56px;height:auto;color:#1d1a16}.ne-dia .ca-base{font-size:8px;font-weight:700;fill:currentColor;text-anchor:middle}.ne-nodia{height:60px;display:grid;place-items:center;color:#7a6f62;font-size:22px}.ne-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:64px;min-height:8px}.ne-dots i{width:7px;height:7px;border-radius:50%;background:#1d1a16;display:block}.ne-dots em{font-style:normal;font-size:10px;font-weight:800}.ne-plus{justify-items:center;align-content:center;min-height:118px;width:48px;background:transparent;border-style:dashed;color:var(--text-muted);font-size:26px}.ne-sel{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ne-beat{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px}.ne-total{color:var(--text-muted)}.ne-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ne-copy{font:inherit;padding:6px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit}.ne-typing{display:grid;gap:6px}.ne-rhythm{display:grid;gap:6px;padding-top:10px;border-top:1px dashed var(--border)}.ne-info{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.ne-info small{display:block;color:var(--text-muted);font-weight:600}.ne-infobox{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--border)}.ne-bottom{position:sticky;bottom:0;z-index:25;display:flex;gap:8px;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--border)}.ne-bottom .btn{flex:1;justify-content:center}.ne-b-save{flex:1.3!important;font-size:15px}.sv-wrap{display:grid;gap:8px}.song-editor.ne{grid-template-columns:minmax(0,1fr)}.song-editor.ne>*{min-width:0}.ne-blk{min-width:76px;flex-shrink:0}.ne-paste-row .btn{flex:0 0 auto}.ne-part{grid-template-columns:minmax(0,1fr)}.ne-part>*{min-width:0}.ne-part .rh-pick{flex-wrap:wrap}.ne-part .rh-pick select{max-width:100%;min-width:0}.ne-infobox{grid-template-columns:minmax(0,1fr)}.ne-infobox>*{min-width:0}:root{--glow: radial-gradient(520px 320px at 12% -8%, rgba(255, 180, 61, .12), transparent 62%), radial-gradient(420px 280px at 100% 6%, rgba(167, 139, 250, .08), transparent 60%)}[data-theme=light] :root,:root[data-theme=light]{--glow: none}.shell-main{background-image:var(--glow);background-repeat:no-repeat}.page-head h1{font-size:28px;letter-spacing:-.03em;font-weight:700}.page-head p{font-size:14.5px}.row-head h2{font-size:11px;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint);font-weight:700}.pp-tile b,.sr-clock b,.sr-count b,.ca-tempo,.metro-bpm strong{font-variant-numeric:tabular-nums}.btn{border-radius:var(--radius);font-weight:600}.btn.primary{letter-spacing:-.01em}.btn.primary:not(.small){padding:11px 17px;font-size:14px}.chip{font-weight:700}.card,.tp-card,.today,.reward,.cs-row,.pa-card,.work{border-radius:var(--radius-xl)}.today{background:linear-gradient(160deg,#2a1d0a 0%,var(--surface) 60%);border-color:#ffb43d59;gap:10px}.today-label{font-size:11px;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-faint);font-weight:700}.today h2{font-size:24px;letter-spacing:var(--track-tight);line-height:1.06;font-weight:700}.today .btn.primary{align-self:flex-start;min-height:50px;padding:0 20px}.reward{gap:12px}.reward-streak{--pct: 0;position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--pct) * 1%),rgba(255,255,255,.1) 0);padding:0;border:0}.reward-streak:after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}.reward-streak b,.reward-streak span{position:relative;z-index:1}.reward-streak b{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1}.reward-streak span{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center;line-height:1.1;max-width:60px}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}.quick-item{font:inherit;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 4px 10px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:transform .15s var(--ease),border-color .15s var(--ease)}.quick-item:hover{transform:translateY(-2px);border-color:var(--border-strong)}.quick-item i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:18px;background:var(--tint, var(--accent-soft));color:var(--ink, var(--accent))}.quick-item span{font-size:11.5px;font-weight:700}.quick-item.is-amber{--tint: rgba(255, 180, 61, .14);--ink: var(--accent)}.quick-item.is-sky{--tint: rgba(55, 182, 255, .14);--ink: var(--sky)}.quick-item.is-violet{--tint: rgba(167, 139, 250, .14);--ink: var(--violet)}.quick-item.is-mint{--tint: rgba(95, 227, 179, .14);--ink: var(--ok)}.chord-listen:not(.is-compact) .chord-listen-name{font-size:64px;font-weight:800;letter-spacing:-.03em;color:var(--accent)}.chord-listen:not(.is-compact) .chord-listen-name.is-flash{color:var(--ok)}.chord-listen:not(.is-compact){box-shadow:0 0 0 6px #ffb43d0f}.chord-listen.is-good:not(.is-compact){box-shadow:0 0 0 6px #5fe3b31a}.fb-card{border-radius:var(--radius-xl)}.fb-card.is-3{background:linear-gradient(160deg,#10241c 0%,var(--surface) 60%)}.fb-card.is-2{background:linear-gradient(160deg,#2a1d0a 0%,var(--surface) 60%)}.fb-score{--score: 0;--ring: var(--accent);position:relative;min-width:0;width:96px;height:96px;border-radius:50%;padding:0;justify-content:center;background:conic-gradient(var(--ring) calc(var(--score) * 1%),rgba(255,255,255,.1) 0)}.fb-card.is-3 .fb-score{--ring: var(--ok)}.fb-score:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.fb-score b,.fb-score span,.fb-stars{position:relative;z-index:1}.fb-score b{font-size:30px;font-weight:800;letter-spacing:-.02em}.fb-score span{font-size:10px}.fb-stars{margin-top:0;font-size:12px;letter-spacing:1px}.fb-verdict{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.02em}.tabbar{display:none}@media (max-width: 820px){.tabbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:8px 4px 6px;border-radius:var(--radius-lg);background:#121214eb;border:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.tabbar button{font:inherit;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 1px;background:none;border:0;color:var(--text-faint);font-size:10px;font-weight:600;min-height:44px;cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.tabbar button.is-active{color:var(--accent);font-weight:700}.page-body{padding-bottom:92px}.quick{grid-template-columns:repeat(4,minmax(0,1fr))}.today h2{font-size:24px}}@media (prefers-reduced-motion: reduce){.quick-item,.card,.btn{transition:none}}@media (max-width: 820px){.buddy-fab,.buddy-chat{bottom:96px!important}}.btn .icon,.tm-inline .icon,.hint .icon,h2 .icon,h3 .icon,.segmented button .icon,.tp-modes button .icon,.pg-board h2 .icon,.cs-rights .icon{display:inline-block;vertical-align:-.15em}.tm-btn .icon{display:block}.pp-badges li span .icon{color:var(--text-faint)}.pp-badges li.is-earned span .icon{color:var(--accent)}.fb-stars{display:inline-flex;gap:3px;align-items:center}.fb-stars .icon.is-on{color:var(--accent)}.fb-stars .icon.is-off{color:var(--border-strong)}.card,.tp-card,.today,.reward,.cs-row,.work,.quick-item,.pp-tile,.ca-stage-card{box-shadow:0 1px 2px #00000040}.card:hover,.quick-item:hover{transform:none;border-color:var(--border-strong);background:var(--surface-3)}.today{background:var(--surface);border-color:var(--border-strong);border-left:2px solid var(--accent)}.fb-card.is-3,.fb-card.is-2{background:var(--surface)}.quick-item i{width:34px;height:34px;border-radius:10px;background:var(--surface-3);color:var(--text-muted)}.quick-item.is-amber i,.quick-item.is-sky i,.quick-item.is-violet i,.quick-item.is-mint i{background:var(--surface-3);color:var(--text-muted)}.quick-item:hover i{color:var(--accent)}.quick-item span{font-size:11px;font-weight:600;letter-spacing:.01em}.row-head{display:flex;align-items:baseline;gap:12px}.row-head h2{font-size:11px;letter-spacing:var(--track-caps)}.row-head:after{content:"";flex:1;height:1px;background:var(--border)}.tm-btn{min-width:36px;display:inline-flex;align-items:center;justify-content:center}.page-head h1{font-size:28px}.page-head{border-bottom:1px solid var(--border)}.rail-more{margin-top:2px}.rail-more>summary{list-style:none;cursor:pointer}.rail-more>summary::-webkit-details-marker{display:none}.rail-more[open]>summary{color:var(--text)}.rail-more .rail-group{margin-top:2px;padding-left:10px;border-left:1px solid var(--border)}.home-more{margin-top:6px}.home-more-summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--text-muted);padding:10px 0}.home-more-summary::-webkit-details-marker{display:none}.home-more-summary:after{content:"▾";font-size:10px}.home-more[open] .home-more-summary:after{content:"▴"}.home-more-summary:hover{color:var(--accent)}.today-next{font:inherit;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:none;border:0;padding:4px 0;color:var(--text-muted);font-size:13px;cursor:pointer}.today-next:hover{color:var(--accent)}.reminder{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}.reminder-icon{color:var(--accent);display:inline-flex}.reminder-body{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}.reminder-body b{font-size:13.5px}.reminder-time{width:104px}.pg-just{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;border-color:var(--accent)}.pg-just b{font-family:var(--font-display);font-size:17px;letter-spacing:-.01em}.ip-labels{flex-wrap:wrap}.ip-labels button{padding:4px 10px;font-size:12px}.ip-rainbow.is-on{background:linear-gradient(90deg,#e62b2b,#f0921b,#f2e71b,#25b449,#2a76d2,#9331c9);color:#fff;border-color:transparent;text-shadow:0 1px 2px rgba(0,0,0,.45)}.numbers .panel-head{display:flex;align-items:baseline;gap:12px}.numbers .panel-head h2{font-size:1.05rem;margin:0}.numbers .panel-head button{margin-left:auto}.num-grid{display:grid;gap:12px;margin:12px 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.num-grid-lead{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.num-stat{border-top:3px solid var(--line, #2a2a2e);padding-top:8px;display:grid;gap:2px}.num-stat b{font-family:var(--font-display, inherit);font-size:1.7rem;line-height:1.1;font-variant-numeric:tabular-nums}.num-grid-lead .num-stat b{font-size:2.1rem}.num-stat.is-met{border-top-color:#3fa46a}.num-stat.is-short{border-top-color:var(--accent, #E8971B)}.num-label{font-size:.82rem}.num-target,.num-why{font-size:.72rem;color:var(--muted, #8a8a92)}.num-why{line-height:1.4;margin-top:2px}.num-error{color:#e0704f}.cam{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:18px}@media (max-width: 760px){.cam{grid-template-columns:1fr}}.cam-stage{position:relative;background:#000;border-radius:14px;overflow:hidden;aspect-ratio:16 / 9;touch-action:manipulation;cursor:crosshair}.cam-video,.cam-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cam-overlay{pointer-events:none}.cam-guide{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 14px;background:#0a0a0bc7;border-radius:10px;display:grid;gap:2px;backdrop-filter:blur(6px)}.cam-guide b{font-family:var(--font-display, inherit)}.cam-guide span{font-size:.9rem;color:var(--muted, #b9b3a8)}.cam-side{display:grid;gap:14px;align-content:start}.cam-advice{padding:14px 16px;border-radius:12px;border:1px solid var(--line, #2a2a2e);font-family:var(--font-display, inherit);font-size:1.05rem;line-height:1.3}.cam-advice.is-on{border-color:var(--accent, #E8971B);background:#e8971b1a}.cam-fingers h3,.cam-strum h3{margin:0 0 6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.cam-finger{display:flex;align-items:center;gap:10px;padding:6px 0}.cam-finger b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent, #E8971B);color:#1a1206;font-family:var(--font-display, inherit);font-size:1.1rem}.cam-error{color:#e0704f}.cam-privacy{display:flex;gap:6px;align-items:center;opacity:.8}.cam-ex h3{margin:0 0 6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.cam-ex-pick{display:flex;flex-wrap:wrap;gap:6px}.cam-ex-pick .cam-chip{width:auto;white-space:nowrap;padding:6px 10px;border-radius:var(--radius-pill);border:1px solid var(--line, #2a2a2e);background:transparent;color:inherit;font-size:.82rem;cursor:pointer}.cam-ex-pick .cam-chip.is-on{border-color:var(--accent, #E8971B);background:#e8971b1f}.cam-ex-pick .cam-chip[disabled]{opacity:.45;cursor:default}.cam-ex-card{margin-top:10px;padding:12px 14px;border:1px solid var(--line, #2a2a2e);border-radius:12px;display:grid;gap:8px}.cam-ex-card.is-done{border-color:#3fa46a}.cam-ex-bar{height:6px;border-radius:3px;background:var(--line, #2a2a2e);overflow:hidden}.cam-ex-bar i{display:block;height:100%;background:var(--accent, #E8971B);transition:width .15s linear}.cam-ex-card.is-done .cam-ex-bar i{background:#3fa46a}.cam-ex-steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}.cam-ex-steps li{display:flex;gap:8px;align-items:baseline;font-size:.9rem}.cam-ex-steps li b{margin-left:auto;font-weight:600;font-size:.8rem;color:var(--muted, #8a8a92)}.cam-ex-steps li.is-done,.cam-ex-steps li.is-done b{color:#7bd39a}.cam-ex-steps li.is-wrong,.cam-ex-steps li.is-wrong b{color:#e0704f}.cam-ex-mark{width:1.1em;text-align:center;font-family:var(--font-display, inherit)}.cam-ex-done{display:flex;align-items:center;gap:10px;color:#7bd39a}.cam-ex-done button{margin-left:auto}.cam-note h3{margin:0 0 6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.cam-note-now{display:flex;align-items:baseline;gap:10px}.cam-note-now b{font-family:var(--font-display, inherit);font-size:2rem;line-height:1;color:var(--accent, #E8971B)}.cam-note-now.is-tuned b{color:#7bd39a}.cam-note-now span{font-size:.85rem;color:var(--muted, #8a8a92);font-variant-numeric:tabular-nums}.cam-stage.is-mirrored .cam-video,.cam-stage.is-mirrored .cam-overlay{transform:scaleX(-1)}.cam-stage.is-video{cursor:default}.cam-stage.is-video .cam-video{object-fit:contain;background:#000}.cam-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted, #8a8a92);font-size:.9rem;text-align:center;padding:20px;pointer-events:none}.cam-actions{display:flex;flex-wrap:wrap;gap:8px}.cam-status{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-size:.78rem;color:var(--muted, #8a8a92);font-variant-numeric:tabular-nums}.cam-status .is-on{color:#7bd39a}.cam-note-now em{font-style:normal;font-size:.8rem;color:var(--muted, #8a8a92)}.cam-actions .btn.is-on{border-color:var(--accent, #E8971B)}.tp .cam{margin-top:12px}.cam-reach{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cam-shape h3{margin:0 0 6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.cam-shape-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.cam-shape-row .role-select{min-width:5.5em}.cam-shape-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:.85rem}.cam-shape-progress b{font-variant-numeric:tabular-nums}.cam-shape-progress b.is-done{color:#7bd39a}.wip{display:grid;gap:14px;margin-top:12px}.wip-head{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.wip-head h2{margin:0 0 4px;font-size:1.1rem}.wip-head .btn,.wip-actions{margin-left:auto}.wip-actions{display:flex;gap:8px}.wip-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.wip-card{border:1px solid var(--line, #2a2a2e);border-radius:12px;padding:12px 14px;display:grid;gap:4px;align-content:start}.wip-card h3{margin:0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.wip-big{font-family:var(--font-display, inherit);font-size:1.6rem;line-height:1.1;color:var(--accent, #E8971B)}.wip-notes{display:flex;flex-wrap:wrap;gap:6px}.wip-notes span{padding:2px 8px;border-radius:var(--radius-pill);background:#ffffff14;font-variant-numeric:tabular-nums}.wip-notes span:last-child{background:#e8971b40}.wip-board{overflow-x:auto}.cam-seen h3{margin:0 0 6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.cam-seen-now{display:grid;gap:4px}.cam-seen-now b{font-family:var(--font-display, inherit);font-size:1.3rem;color:var(--accent, #E8971B)}.cam-seen-now .btn{justify-self:start}.cam-guide .cam-auto{pointer-events:auto;margin-bottom:6px}.cam-auto-why{display:block;font-size:.8rem;color:#e0704f;margin-bottom:6px;max-width:34ch}.cam-pluck h3{margin:0 0 6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.cam-pluck-pattern{font-family:var(--font-display, inherit);font-size:1.5rem;letter-spacing:.12em;color:var(--accent, #E8971B)}.cam-pluck-row{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;margin:4px 0;font-variant-numeric:tabular-nums}.cam-pluck-row b{color:inherit}.cam-pluck-row em{font-style:normal;color:var(--muted, #8a8a92)}.cam-anchor-count{font-family:var(--font-display, inherit);font-size:1.2rem;color:var(--accent, #E8971B)}.cam-lock{color:#7bd39a}.take-said{display:grid;gap:8px;margin:12px 0 0;padding:12px 14px;border:1px solid var(--line, #2a2a2e);border-radius:12px}.take-said-text{margin:0;font-size:.95rem;line-height:1.5}.take-said-wait{color:var(--muted, #8a8a92)}.take-said-row{display:flex;flex-wrap:wrap;gap:8px}.take-said-why{margin:0;font-size:.78rem}.letters .panel-head h2{font-size:1.05rem;margin:0}.letter-list{display:grid;gap:10px;margin-top:10px}.letter-row{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line, #2a2a2e);border-radius:12px}.letter-who{display:grid}.letter-who b{font-family:var(--font-display, inherit)}.letter-text{border-left:3px solid var(--accent, #E8971B);padding-left:12px;display:grid;gap:8px}.letter-text p{margin:0;line-height:1.55}.letter-actions{display:flex;gap:8px;flex-wrap:wrap}.tm-plan{margin:12px 0;padding:14px 16px;border:1px solid var(--line, #2a2a2e);border-left:3px solid var(--accent, #E8971B);border-radius:12px;display:grid;gap:8px}.tm-plan h3{margin:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted, #8a8a92)}.tm-plan p{margin:0;line-height:1.6}.tm-plan .btn{justify-self:start}.cam-advice{display:flex;align-items:center;gap:8px}.cam-say{background:none;border:0;color:inherit;cursor:pointer;opacity:.7;padding:2px}.cam-say:hover{opacity:1;color:var(--accent, #E8971B)}.rec-mark{display:grid;gap:8px;justify-items:start;margin:10px 0}.rec-out{display:grid;gap:8px;width:100%;padding:12px 14px;border:1px solid var(--border, #2a2a2e);border-left:3px solid var(--accent, #E8971B);border-radius:12px}.rec-file{margin:0;font-size:11.5px;color:var(--text-faint, #6c6c74);word-break:break-all}.rec-score{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.rec-score b{font-size:26px;font-variant-numeric:tabular-nums;line-height:1}.rec-stars{color:var(--accent, #E8971B);letter-spacing:2px}.rec-fault{margin:0;line-height:1.55}.rec-bad{margin:0}.rec-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0}.rec-facts dt{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #6c6c74)}.rec-facts dd{margin:2px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.send-take{display:grid;gap:8px;margin:4px 0 10px}.send-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.send-row .btn.is-rec{animation:send-pulse 1.4s ease-in-out infinite}@keyframes send-pulse{50%{opacity:.62}}@media (prefers-reduced-motion: reduce){.send-row .btn.is-rec{animation:none}}.send-meter{height:5px;border-radius:var(--radius-pill);background:var(--surface-3, #232327);overflow:hidden}.send-meter span{display:block;height:100%;background:var(--accent, #E8971B);transition:width .08s linear}.send-out{display:grid;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--border, #2a2a2e);border-left:3px solid var(--accent, #E8971B)}.send-bad{color:var(--danger, #d9534f)}.send-ok{display:flex;align-items:center;gap:6px}.take-player{display:grid;gap:6px;margin:8px 0}.take-player audio{width:100%;max-width:420px}.take-player-label{margin:0}.take-player-mark{margin:0;display:flex;align-items:baseline;gap:8px}.take-player-mark b{font-size:20px;font-variant-numeric:tabular-nums}.cam-hold{height:4px;width:160px;margin:8px auto 0;border-radius:99px;background:#ffffff29;overflow:hidden}.cam-hold span{display:block;height:100%;background:var(--accent, #E8971B);transition:width .12s linear}.cam-chord{display:grid;gap:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--border, #2a2a2e);border-left:3px solid var(--accent, #E8971B);margin-bottom:10px}.cam-chord-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.cam-chord-head b{font-size:26px;line-height:1;font-family:var(--font-display, inherit)}.cam-chord-score{display:flex;align-items:baseline;gap:8px;font-size:20px;font-variant-numeric:tabular-nums;color:var(--accent, #E8971B)}.cam-chord-score small{font-size:11.5px;color:var(--text-faint, #6c6c74)}.cam-chord p{margin:0;line-height:1.5}.strum{display:grid;gap:14px}.strum-head{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.strum-num{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted, #8a8a92)}.strum-num b{color:var(--text, #e9e9ee);font-variant-numeric:tabular-nums}.strum-grid{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.strum-slot{display:grid;justify-items:center;gap:2px;width:46px;padding:8px 0;border:1px solid var(--border, #2a2a2e);border-radius:9px;color:var(--text-faint, #6c6c74)}.strum-slot.is-hit{border-color:var(--accent, #E8971B);color:var(--accent, #E8971B);background:color-mix(in srgb,var(--accent, #E8971B) 14%,transparent);font-weight:700}.strum-mode{justify-self:start;margin-bottom:4px}.strum-mode-hint{margin:0 0 8px}.strum-slot.is-done:not(.is-now){border-color:#63c08a;color:#63c08a;background:#63c08a1f}.strum-slot.is-passed:not(.is-now){opacity:.55}.strum-slot.is-extra{border-color:#e0736b!important;color:#e0736b;background:#e0736b24}.strum-follow{font-variant-numeric:tabular-nums}.strum-slot.is-now{background:#3d5570;color:#dfe8f2;border-color:#4a6684;box-shadow:none;transform:translateY(-1px)}.strum-slot.is-now em,.strum-slot.is-now .strum-arrow{color:#dfe8f2}.strum-slot.is-now.is-hit{background:var(--accent, #E8971B);color:var(--accent-contrast, #1c1206);border-color:var(--accent, #E8971B);box-shadow:0 0 0 2px var(--accent-soft, rgba(232,151,27,.25)),0 0 14px var(--accent, #E8971B);transform:translateY(-2px)}.strum-slot.is-now.is-hit em,.strum-slot.is-now.is-hit .strum-arrow{color:var(--accent-contrast, #1c1206)}.strum-slot.is-now.is-hit:first-child{transform:translateY(-3px) scale(1.08);box-shadow:0 0 0 3px var(--accent-soft, rgba(232,151,27,.3)),0 0 18px var(--accent, #E8971B)}:root[data-theme=light] .strum-slot.is-now:not(.is-hit),.theme-light .strum-slot.is-now:not(.is-hit){background:#c9d6e3;color:#24364a;border-color:#a9bccf}:root[data-theme=light] .strum-slot.is-now:not(.is-hit) em,:root[data-theme=light] .strum-slot.is-now:not(.is-hit) .strum-arrow,.theme-light .strum-slot.is-now:not(.is-hit) em,.theme-light .strum-slot.is-now:not(.is-hit) .strum-arrow{color:#24364a}@media (prefers-reduced-motion: no-preference){.strum-slot{transition:background .06s,transform .06s,box-shadow .06s}}.strum-arrow{font-size:17px;line-height:1}.strum-slot em{font-style:normal;font-size:10.5px;font-variant-numeric:tabular-nums}.strum-grid.is-result .strum-slot.is-good{border-color:#63c08a;color:#63c08a;background:#63c08a1f}.strum-grid.is-result .strum-slot.is-wrong{border-color:#e0a35f;color:#e0a35f;background:#e0a35f1f}.strum-grid.is-result .strum-slot.is-missed{border-color:#e0736b;color:#e0736b;background:transparent}.strum-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.strum-video{display:none}.strum-out{display:grid;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--border, #2a2a2e);border-left:3px solid var(--accent, #E8971B)}.prog{display:grid;gap:14px}.prog-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.prog-list .chip{width:auto;height:auto;min-width:0;padding:7px 13px;border-radius:var(--radius-pill);white-space:nowrap;font-size:.82rem;line-height:1.25}.prog-list .chip.is-active{background:color-mix(in srgb,var(--accent, #E8971B) 16%,transparent);border-color:var(--accent, #E8971B);color:var(--accent, #E8971B)}.prog-note{margin:0}.prog-bars{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.prog-bar{flex:1 1 90px;display:grid;justify-items:center;gap:2px;padding:10px 6px;border:1px solid var(--border, #2a2a2e);border-radius:10px;min-width:78px}.prog-bar.is-now{border-color:var(--accent, #E8971B);background:color-mix(in srgb,var(--accent, #E8971B) 14%,transparent)}.prog-bar em{font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint, #6c6c74)}.prog-bar b{font-size:17px;font-family:var(--font-display, inherit)}.prog-heard{font-size:11.5px}.prog-heard.is-good{color:#63c08a}.prog-heard.is-wrong{color:#e0736b}[hidden]{display:none!important}.prog-bar .ca-dia{width:54px;height:auto;color:var(--text, #e9e9ee);margin-top:4px}.prog-bar .ca-mark,.prog-bar .ca-base{fill:currentColor;font-size:9px;text-anchor:middle}.take-drill{margin-top:8px;padding:8px 6px 4px;border-radius:10px;background:color-mix(in srgb,var(--surface, #151517) 70%,transparent)}.prog-lesson{display:grid;gap:6px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent, #E8971B) 9%,transparent)}.prog-lesson-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prog-lesson-nav b{font-size:13.5px}.prog-lesson-nav .btn{margin-left:auto}.prog-lesson-text{margin:0;font-size:13.5px;line-height:1.55}.prog-solo-board.is-out .fb-note.is-lit{fill:#e0736b;stroke:#e0736b}.prog-solo-board.is-in .fb-note.is-lit{fill:#63c08a;stroke:#63c08a}.prog-solo-you{margin:0;font-size:13px;font-weight:600;color:var(--text-muted, #8a8a92)}.prog-solo-you.is-in{color:#63c08a}.prog-solo-you.is-out{color:#e0736b}.prog-solo-you.is-target{color:var(--accent, #E8971B)}.prog-follow{margin-left:auto}.prog-solo{display:grid;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--border, #2a2a2e);border-left:3px solid var(--accent, #E8971B)}.prog-solo-head{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.prog-solo-head h3{margin:0;font-size:14px}.prog-solo-head .btn{margin-left:auto}.prog-solo-title{margin:0;font-size:13px;color:var(--accent, #E8971B)}.prog-solo-board{overflow-x:auto}.prog-solo-tips{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px;line-height:1.5;color:var(--text-muted, #8a8a92)}.prog-solo-tips li::marker{color:var(--accent, #E8971B)}.prog-solo-show{justify-self:start}.prog-strum{align-items:center}.prog-strum-grid{margin-left:auto}.prog-strum-grid .strum-slot{width:38px;padding:6px 0}.prog-mix{display:flex;flex-wrap:wrap;gap:6px 14px;width:100%;padding:6px 10px;border-radius:10px;border:1px solid var(--border, #2a2a2e)}.prog-fader input[type=range]{width:90px}.prog-fader b{min-width:2.2em;text-align:right}.credits{max-width:60ch;display:grid;gap:14px}.credits h3{margin:14px 0 0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #6c6c74)}.credits-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.credits-list li{display:grid;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--border, #2a2a2e)}.credits-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.credits-list a{font-size:11.5px;color:var(--accent, #E8971B);word-break:break-all}.credits-note{font-style:italic}.legal-credits{margin:10px 0 0}.legal-credits a{color:var(--accent, #E8971B)}.followband{display:grid;gap:8px;margin:16px 0;padding:14px;border:1px solid var(--border, #2a2a2e);border-radius:14px}.followband.is-waiting{border-color:color-mix(in srgb,var(--accent, #E8971B) 60%,transparent)}.followband-head{display:flex;align-items:baseline;gap:10px}.followband-head b{font-size:15px}.followband-bpm{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:800;color:var(--accent, #E8971B)}.followband-bars{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.followband-bars li{padding:6px 12px;border:1px solid var(--border, #2a2a2e);border-radius:9px;font-weight:700;font-size:13.5px}.followband-bars li.is-now{border-color:var(--accent, #E8971B);background:color-mix(in srgb,var(--accent, #E8971B) 16%,transparent)}.followband-says{font-size:13px;font-weight:700;color:var(--text-muted, #8a8a92)}.followband-says.is-waiting{color:var(--accent, #E8971B)}.reminder-ask{margin:14px 0 4px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,180,61,.45);background:#ffb43d14}.reminder-ask p{margin:0}.reminder-ask-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.reminder-ios{margin:6px 0 0}
