:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#efece5;--text:#1d1b18;--muted:#6d675e;--border:#dcd6cb;--accent:#b5482b;--accent-soft:#f6e2db;--accent-text:#fff;--warn:#8a5a00;--warn-soft:#fbefd4;--danger:#b42318;--paper:#fff;--ink:#111;--radius:10px;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14171c;--surface:#1c2027;--surface-2:#242a33;--text:#ece8e1;--muted:#9b958b;--border:#323a45;--accent:#e57a5a;--accent-soft:#3a2621;--accent-text:#1a0f0b;--warn:#f0c36a;--warn-soft:#3a3020;--danger:#ff7b6e;--paper:#f4f1ea;--ink:#111;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14171c;--surface:#1c2027;--surface-2:#242a33;--text:#ece8e1;--muted:#9b958b;--border:#323a45;--accent:#e57a5a;--accent-soft:#3a2621;--accent-text:#1a0f0b;--warn:#f0c36a;--warn-soft:#3a3020;--danger:#ff7b6e;--paper:#f4f1ea;--ink:#111;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}html{font-size:calc(15px * var(--font-scale,1))}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:1rem/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.6rem;line-height:1.2}h2{margin:0 0 .75rem;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.block{display:block}.error{color:var(--danger)}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]):not([type=range]),select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;padding:.55rem .7rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=range]{accent-color:var(--accent)}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .95rem;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.primary:hover{filter:brightness(1.05)}.btn.danger{color:var(--danger)}.btn.small{padding:.25rem .6rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:default}.linklike{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 16px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.5rem;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{color:var(--accent);display:inline-flex}.brand-logo{object-fit:contain;border-radius:6px;width:auto;max-width:120px;height:30px}.topbar nav{gap:1rem;display:flex}.topbar nav a{color:var(--muted)}.page{max-width:1080px;margin:0 auto;padding:1.5rem 16px 4rem}.page.narrow{max-width:460px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.back{color:var(--muted);margin-bottom:.75rem;display:inline-block}.section{margin-top:2rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.notes{white-space:pre-wrap;background:var(--surface);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:.75rem 1rem}.filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.filters input{flex:260px}.filters select{flex:0 220px}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:100%;color:var(--text);box-shadow:var(--shadow);flex-direction:column;gap:.3rem;padding:1rem;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.card-title{font-size:1.05rem;font-weight:650}.tags{flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.4rem;display:flex}.tag{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:99px;padding:.1rem .5rem;font-size:.75rem}.tag.accent{background:var(--accent-soft);color:var(--accent);font-weight:600}.tag.warn{background:var(--warn-soft);color:var(--warn)}.empty{text-align:center;padding:3rem 1rem}.empty-icon{color:var(--muted);font-size:3rem}.file-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.practice-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);align-items:center;gap:.85rem;padding:1rem;display:flex}.practice-card:hover{border-color:var(--accent);text-decoration:none}.play-icon{background:var(--accent);width:2.5rem;height:2.5rem;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;display:grid}.file-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.file-list li{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.file-list li>:first-child{flex:180px}.file-list audio{max-width:100%;height:32px}.pdf-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:.75rem;overflow:hidden}.pdf-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.5rem .75rem;display:flex}.pdf-frame iframe{background:#fff;border:0;width:100%;height:80vh;display:block}.form{flex-direction:column;gap:.9rem;display:flex}.form label{flex-direction:column;gap:.3rem;font-weight:500;display:flex}.grid-form{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.span-2{grid-column:span 2}.form label.check{flex-direction:row;align-self:end;align-items:center;gap:.5rem;padding-bottom:.6rem}.form-actions{align-items:center;gap:1rem;display:flex}@media (width<=640px){.grid-form{grid-template-columns:1fr}.span-2{grid-column:auto}}.settings{flex-direction:column;gap:1rem;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setting-row p{margin:.15rem 0 0}.setting-row .grow{flex-direction:column;flex:1;gap:.3rem;display:flex}.setting-row:has(.grow){align-items:flex-end}.switch{background:var(--border);cursor:pointer;border:0;border-radius:99px;flex:none;width:48px;height:28px;transition:background .15s;position:relative}.switch span{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.on{background:var(--accent)}.switch.on span{transform:translate(20px)}.inline-form{gap:.5rem;margin-bottom:1rem;display:flex}.admin-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.admin-list li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.admin-list li:first-child{border-top:0}.admin-list a{color:var(--text);flex-direction:column;display:flex}.admin-list .tags{margin:0;padding:0}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface);padding:2rem 1rem;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;margin-top:1rem;overflow:hidden}.table th,.table td{text-align:left;border-top:1px solid var(--border);vertical-align:middle;padding:.6rem .75rem}.table th{color:var(--muted);border-top:0;font-size:.8rem;font-weight:500}.row-actions{text-align:right;white-space:nowrap}.row-actions .btn+.btn{margin-left:.35rem}@media (width<=640px){.table thead{display:none}.table tr{border-top:1px solid var(--border);flex-wrap:wrap;padding:.5rem 0;display:flex}.table td{border:0;padding:.25rem .75rem}.table td:first-child{flex-basis:100%}}.danger-zone{border-top:1px solid var(--border);padding-top:1.5rem}.practice{flex-direction:column;min-height:100vh;padding-bottom:150px;display:flex}.practice-top{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 16px;display:flex;position:sticky;top:0}.practice-top .back{margin:0;padding:0 .25rem;font-size:1.3rem}.practice-title{flex-direction:column;flex:1;min-width:0;display:flex}.practice-title>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.practice-part select{min-width:180px;font-weight:600}.practice-modes{background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem;padding:.6rem 16px;display:flex}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:.35rem .75rem;font-size:.9rem}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--accent-text);font-weight:600}.score-wrap{flex:1;padding:12px 16px;position:relative}.score{background:var(--paper);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);max-width:1400px;min-height:60vh;margin:0 auto;padding:4px}.score svg{width:100%;height:auto;display:block}.score svg .note,.score svg .measure{cursor:pointer}.score svg g.note.eval-ok,.score svg g.note.eval-ok *{fill:#2b8a3e;stroke:#2b8a3e}.score svg g.note.eval-tuning,.score svg g.note.eval-tuning *{fill:#d9a400;stroke:#d9a400}.score svg g.note.eval-timing,.score svg g.note.eval-timing *{fill:#1c7ed6;stroke:#1c7ed6}.score svg g.note.eval-wrong,.score svg g.note.eval-wrong *{fill:#e03131;stroke:#e03131}.score svg g.note.eval-missing,.score svg g.note.eval-missing *{fill:#adb5bd;stroke:#adb5bd}.score svg g.note.playing,.score svg g.note.playing *{fill:#c2410c;stroke:#c2410c}.score svg g.note.playing .notehead{filter:drop-shadow(0 0 3px #c2410c99)}.loading-banner{z-index:5;background:var(--text);width:fit-content;max-width:100%;color:var(--bg);box-shadow:var(--shadow);border-radius:99px;margin:0 auto .75rem;padding:.5rem 1rem;font-size:.9rem;position:sticky;top:64px}.loading-banner.subtle{background:var(--surface-2);color:var(--muted)}.transport{z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:.5rem 16px calc(.6rem + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.progress{align-items:center;gap:.6rem;max-width:1400px;margin:0 auto;display:flex}.progress input{flex:1}.progress input.has-loop{background:linear-gradient(to right, transparent var(--loop-a), var(--accent-soft) var(--loop-a), var(--accent-soft) var(--loop-b), transparent var(--loop-b));border-radius:99px}.controls{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;max-width:1400px;margin:.35rem auto 0;display:flex}.controls .group{align-items:center;gap:.4rem;display:flex}.controls .tempo input{width:120px}.icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;font-size:.9rem;display:grid}.icon-btn.play{background:var(--accent);border-color:var(--accent);width:48px;height:48px;color:var(--accent-text);font-size:1.1rem}.icon-btn:disabled{opacity:.5;cursor:wait}.measure-badge{font-variant-numeric:tabular-nums;min-width:3.5rem;font-weight:600}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:99px;padding:.25rem .7rem;font-size:.85rem}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.chip:disabled{opacity:.5;cursor:default}.tool-panel{z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(420px,100vw - 32px);max-height:calc(100vh - 220px);box-shadow:var(--shadow);flex-direction:column;gap:.6rem;padding:.75rem;display:flex;position:fixed;bottom:140px;right:16px;overflow:auto}.tool-head{justify-content:space-between;align-items:center;display:flex}.tool-panel p{margin:0}.tool-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tool-row label{flex-direction:column;gap:.15rem;display:flex}.tool-row select{width:auto;padding:.2rem .4rem}.mixer-row{border-radius:6px;grid-template-columns:1fr 100px auto auto;align-items:center;gap:.4rem;padding:.3rem .25rem;display:grid}.mixer-row.mine{background:var(--accent-soft)}.mixer-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.mixer-row input{width:100%}@media (width<=640px){.practice-top{flex-wrap:wrap}.practice-part{flex-basis:100%}.practice-part select{width:100%}.controls{gap:.5rem .75rem}.controls .tempo input{width:90px}.practice{padding-bottom:210px}.tool-panel{max-height:calc(100vh - 280px);bottom:200px}}.grow{flex:1;min-width:0}.push-right{margin-left:auto}.section.first{margin-top:.5rem}.list-search{margin-bottom:.75rem}.chips-wrap{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.input-with-button{gap:.4rem;display:flex}.narrow-form{max-width:420px}.small-input{margin-top:.35rem;font-size:.85rem;padding:.3rem .5rem!important}.topbar nav a.active{color:var(--text);font-weight:600}.topbar .linklike{font-size:inherit}@media (width<=520px){.brand-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.topbar nav{gap:.7rem}}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex;overflow-x:auto}.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.5rem .85rem}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.setlist-card{border-left:3px solid var(--accent)}.setlist{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.setlist li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.85rem;padding:.7rem .9rem;display:flex}.setlist-num{background:var(--surface-2);width:2rem;height:2rem;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.setlist-title{color:var(--text);font-weight:600}.setlist-note{color:var(--accent);margin-top:.15rem}.setlist.editable li{align-items:flex-start}.picker{margin-top:.75rem;position:relative}.picker-results{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;left:0;right:0}.picker-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:.5rem .6rem}.picker-results button:hover{background:var(--surface-2)}.sticky-save{margin-top:1rem}.user-row{color:var(--text);flex-direction:column;display:flex}.credentials{border-color:var(--accent);flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.credentials pre{white-space:pre-wrap;background:var(--surface-2);border-radius:8px;margin:0;padding:.75rem;font-size:.9rem}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.kpi{flex-direction:column;gap:.15rem;padding:1rem;display:flex}.kpi-value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.kpi-value small{color:var(--muted);font-size:1rem;font-weight:500}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table tr.idle td:first-child strong{color:var(--muted)}.table tr.subrow td{background:var(--surface-2);border-top-color:#0000}.daily{margin:0}.daily-bars{align-items:flex-end;gap:2px;height:90px;display:flex}.daily-col{flex:1;align-items:flex-end;height:100%;display:flex}.daily-bar{background:var(--accent);opacity:.85;border-radius:3px 3px 0 0;width:100%;min-height:2px}.daily figcaption{justify-content:space-between;gap:.5rem;margin-top:.35rem;display:flex}.recording-list,.piece-stats{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.recording-list li{flex-direction:column;gap:.5rem;display:flex}.recording-list p{margin:0}.recording-list audio{width:100%;height:36px}.recording-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.people{margin:.5rem 0 0;padding:0;list-style:none}.people li{border-top:1px solid var(--border);gap:.75rem;padding:.3rem 0;display:flex}.score-stage{max-width:1400px;margin:0 auto;position:relative}.note-marker{z-index:4;color:#fff;cursor:pointer;background:#c2410c;border:0;border-radius:99px;padding:.05rem .45rem;font-size:.75rem;position:absolute;transform:translate(-30%,-110%);box-shadow:0 1px 4px #0000004d}.note-toast{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#c2410c;border-radius:8px;max-width:1400px;margin:0 auto .35rem;padding:.35rem .75rem;font-size:.9rem;overflow:hidden}.chip-select{font-size:.85rem;border-radius:99px!important;width:auto!important;padding:.2rem .5rem!important}.small-seg button{padding:.2rem .55rem;font-size:.8rem}.mixer-foot{border-top:1px solid var(--border);padding-top:.5rem}.tuner-display{text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem 0;display:flex}.tuner-note{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:.2rem;font-size:2.6rem;font-weight:700;line-height:1;display:flex}.tuner-note small{color:var(--muted);font-size:.85rem;font-weight:500}.tuner-meter{width:100%}.tuner-scale{color:var(--muted);justify-content:space-between;font-size:.7rem;display:flex}.tuner-track{background:linear-gradient(to right, var(--surface-2), var(--accent-soft) 45%, #2f9e44 50%, var(--accent-soft) 55%, var(--surface-2));border-radius:99px;height:10px;position:relative}.tuner-needle{background:var(--text);border-radius:2px;width:4px;height:18px;margin-left:-2px;transition:left 80ms linear;position:absolute;top:-4px}.tuner-cents{font-variant-numeric:tabular-nums;font-size:.9rem}.tuner-display.good .tuner-note{color:#2f9e44}.tuner-display.near .tuner-note{color:var(--warn)}.tuner-display.off .tuner-note{color:var(--danger)}.rec-btn{gap:.5rem}.rec-dot{background:currentColor;border-radius:50%;width:.7rem;height:.7rem}.level{background:var(--surface-2);border-radius:99px;width:80px;height:8px;overflow:hidden}.level div{background:#2f9e44;height:100%;transition:width 80ms}.takes{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.takes li{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem;display:flex}.annotations{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.annotations li{border-radius:8px;align-items:flex-start;gap:.5rem;padding:.45rem;display:flex}.annotations li.current{background:var(--accent-soft)}.measure-chip{border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border-radius:99px;flex:none;padding:.05rem .5rem;font-size:.8rem}.annotation-form{border-top:1px solid var(--border);flex-wrap:wrap;gap:.4rem;padding-top:.6rem;display:flex}.annotation-form .measure-input{width:4.5rem!important}.annotation-form select{width:auto}.practice.stand{padding-bottom:90px}.practice.stand .score-wrap{padding-top:8px}.practice.stand .controls .tempo label{display:none}.recording-list li>.btn,.recording-list .form-actions{align-self:flex-start}.recording-list .form-actions{align-self:stretch}@media (width<=640px){.controls .group:last-child{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;padding-bottom:2px;overflow-x:auto}.controls .group.loop{flex-wrap:wrap}.practice{padding-bottom:190px}}.eval-summary{border-top:1px dashed var(--border);flex-direction:column;flex-basis:100%;gap:.4rem;padding-top:.4rem;display:flex}.eval-score{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.eval-pct{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.eval-pct.good{color:#2f9e44}.eval-pct.near{color:var(--warn)}.eval-pct.off{color:var(--danger)}.eval-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.eval-dot{border-radius:50%;flex:none;width:.65rem;height:.65rem;margin-left:.3rem;display:inline-block}.eval-dot.ok{background:#2b8a3e}.eval-dot.tuning{background:#d9a400}.eval-dot.timing{background:#1c7ed6}.eval-dot.wrong{background:#e03131}.eval-dot.missing{background:#adb5bd}.eval-problems{flex-direction:column;gap:.25rem;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.eval-problems li{align-items:center;gap:.4rem;display:flex}.analysis-badge{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.wait-banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:1400px;margin:0 auto .4rem;padding:.45rem .75rem;display:flex}.wait-banner strong{color:var(--accent);font-size:1.15rem}.read-as{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.read-as select{width:auto;max-width:240px;padding:.3rem .5rem}.octave-ctl{align-items:center;gap:.35rem;display:inline-flex}.qr-box{background:#fff;border-radius:8px;place-items:center;min-height:180px;padding:.5rem;display:grid}.qr-box img{width:180px;height:180px;image-rendering:pixelated}.qr-url{word-break:break-all;background:var(--surface-2);border-radius:6px;padding:.35rem .5rem;font-size:.75rem}.warn-text{color:var(--warn)}a.chip{color:var(--text);align-items:center;text-decoration:none;display:inline-flex}a.chip.on{color:var(--accent)}.print-root{color:#111;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#e9e6df;min-height:100vh;padding-bottom:2rem}.print-toolbar{z-index:5;background:#fff;border-bottom:1px solid #d6d1c6;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.6rem 16px;display:flex;position:sticky;top:0}.print-toolbar label{flex-direction:column;gap:.15rem;display:flex}.print-toolbar select{color:#111;background:#fff;border-color:#ccc;width:auto;padding:.3rem .5rem}.print-toolbar .back{margin:0 .5rem .4rem 0}.print-toolbar .chip{color:#111;background:#fff}.print-loading{text-align:center;padding:3rem}.print-page{background:#fff;width:210mm;height:297mm;margin:16px auto;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000026}.print-page-inner{width:210mm;height:297mm;position:relative}.print-svg svg{width:210mm;height:297mm;display:block}.print-foot{color:#444;justify-content:space-between;align-items:flex-end;font:9pt/1.3 ui-sans-serif,system-ui,sans-serif;display:flex;position:absolute;bottom:7mm;left:10mm;right:10mm}.print-qr{text-align:right;color:#555;align-items:center;gap:2.5mm;font-size:7.5pt;display:flex}.print-qr img{width:21mm;height:21mm}.print-sheet{background:#fff;width:297mm;height:210mm;margin:16px auto;display:flex;overflow:hidden;box-shadow:0 2px 12px #00000026}.print-half{width:148.5mm;height:210mm;position:relative;overflow:hidden}.print-half+.print-half{border-left:.2mm dashed #ccc}.print-half .print-page-inner{transform-origin:0 0;transform:scale(.70711)}.print-copy.extra>.print-page,.print-copy.extra>.print-sheet{display:none}.print-copy-note{text-align:center;margin:.25rem 0 1rem}.print-setup{grid-template-columns:minmax(0,1fr) 280px;gap:1rem;max-width:1100px;margin:1rem auto;padding:0 16px;display:grid}.print-setup>section{background:#fff;border:1px solid #d6d1c6;border-radius:12px;padding:.9rem 1rem}.print-setup-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.print-setup .chip,.print-setup select,.print-setup input{color:#111;background:#fff;border-color:#ccc}.print-items{border-collapse:collapse;width:100%;font-size:.9rem}.print-items th{text-align:left;color:#666;border-bottom:1px solid #e3ded3;padding:.3rem .4rem;font-size:.75rem;font-weight:600}.print-items td{vertical-align:middle;border-bottom:1px solid #f0ece4;padding:.35rem .4rem}.print-items tr.off td:first-child{color:#999}.print-readas{flex-wrap:wrap;gap:.3rem;display:flex}.print-readas select{width:auto;max-width:12rem;padding:.25rem .4rem;font-size:.85rem}.stepper{align-items:center;gap:.25rem;display:inline-flex}.print-setup .stepper input{text-align:center;color:#111;background:#fff;border:1px solid #ccc;width:3.2rem;padding:.25rem}.print-options{flex-direction:column;align-self:start;gap:.6rem;font-size:.9rem;display:flex}.print-options label{flex-direction:column;gap:.2rem;display:flex}.print-options label.check{flex-direction:row;align-items:center;gap:.45rem}@media (width<=860px){.print-root{overflow-x:auto}.print-setup{grid-template-columns:1fr}}@page{size:A4;margin:0}@media print{body{background:#fff!important}.print-toolbar,.print-loading,.print-setup,.print-copy-note{display:none!important}.print-root{background:#fff;padding:0}.print-page,.print-sheet{box-shadow:none;page-break-after:always;break-after:page;margin:0}.print-copy.extra>.print-page,.print-copy.extra>.print-sheet{display:flex}.print-copy.extra>.print-page{display:block}.print-copy:last-child>:last-child{page-break-after:auto;break-after:auto}.print-half+.print-half{border-left:0}}.dialog-backdrop{z-index:50;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto}.dialog .form label{font-weight:500}.dialog .form label.check{flex-direction:row;align-self:flex-start;align-items:center;gap:.5rem;padding:0}.pick-banner{z-index:6;border-radius:var(--radius);background:var(--surface);border:2px solid var(--accent);max-width:1400px;box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 auto .6rem;padding:.6rem .85rem;display:flex;position:sticky;top:60px}.pick-step{background:var(--accent);width:1.8rem;height:1.8rem;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.pick-typed{align-items:center;gap:.35rem;display:flex}.pick-typed input{text-align:center;width:3.6rem!important;padding:.25rem .4rem!important}.score.picking{cursor:crosshair;outline:2px dashed var(--accent);outline-offset:2px}.score.picking svg g.note:hover,.score.picking svg g.note:hover *{fill:var(--accent);stroke:var(--accent)}.score.picking svg g.measure:hover>g.staff>path{stroke:var(--accent)}.loop-shade{pointer-events:none;z-index:1;background:#b5482b21;border-top:2px solid #b5482b8c;border-bottom:2px solid #b5482b8c;position:absolute}.loop-shade.first{border-left:3px solid #b5482b;border-radius:6px 0 0 6px}.loop-shade.last{border-right:3px solid #b5482b;border-radius:0 6px 6px 0}.loop-shade.first.last{border-radius:6px}.loop-flag{color:#fff;white-space:nowrap;background:#b5482b;border-radius:4px;padding:.2rem .4rem;font:600 .7rem/1 ui-sans-serif,system-ui,sans-serif;position:absolute;top:-1.35rem}.loop-flag.start{left:-3px}.loop-flag.end{right:-3px}@media (width<=640px){.pick-banner{font-size:.9rem;top:100px}.pick-typed{flex-basis:100%}}.measure-badge.counting{color:var(--accent);font-size:1.25rem}.measure-badge.counting small{color:var(--muted);font-size:.75rem}.hymnal-filter{margin:-.5rem 0 1rem}.hymn-badge{vertical-align:.1em;background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:6px;margin-right:.45rem;padding:.05rem .4rem;font-size:.78rem;font-weight:700;display:inline-block}.hymn-fields{gap:.6rem;display:flex}.hymn-fields label{flex-direction:column;gap:.3rem;display:flex}.hymn-number{width:5.5rem}.score svg text.note-name{letter-spacing:-.01em;fill:#1c4f8f;pointer-events:none;paint-order:stroke fill;stroke:#fff;stroke-linejoin:round;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:800}.score.paper-sepia svg text.note-name{stroke:#f3ead6;fill:#17437a}.score.paper-dark svg text.note-name{stroke:#fff}.score svg g.note.playing text.note-name{fill:#c2410c}.fingering-note{align-items:baseline;gap:.6rem;display:flex}.fingering-name{font-size:2rem;font-weight:800;line-height:1}.fingering-name small{color:var(--muted);font-size:1rem}.fingering-diagram{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.fingering-diagram svg{background:var(--paper);border-radius:10px;flex:none}.fingering-diagram .hole{fill:#fff;stroke:#333;stroke-width:2.5px}.fingering-diagram .hole.closed{fill:#222}.fingering-diagram .key{fill:#fff;stroke:#333;stroke-width:2px}.fingering-diagram .key.closed{fill:#222}.fingering-diagram .hole-label,.fingering-diagram .hand-label{fill:#666;font:600 11px ui-sans-serif,system-ui,sans-serif}.fingering-diagram .hand-sep{stroke:#bbb;stroke-dasharray:4 3}.fingering-diagram .valve{fill:#fff;stroke:#333;stroke-width:2.5px}.fingering-diagram .valve.pressed{fill:#222}.fingering-diagram .valve-label{fill:#444;font:700 13px ui-sans-serif,system-ui,sans-serif}.fingering-caption{font-weight:700}.fingering-keys{flex-direction:column;flex:1;gap:.3rem;min-width:150px;display:flex}.fingering-keys ul{margin:0;padding-left:1.1rem;font-size:.9rem}.fingering-tip{background:var(--surface-2);border-radius:6px;padding:.4rem .6rem}.tiny{font-size:.72rem}.fingering-panel.premium{width:min(600px,100vw - 32px)}.fingering-body{align-items:flex-start;gap:1rem;display:flex}.fingering-art{background:radial-gradient(circle at 50% 30%,#fffdf8,#ece7dc);border-radius:14px;flex:none;padding:6px;box-shadow:inset 0 0 0 1px #0000000f}.fingering-info{flex-direction:column;flex:1;gap:.55rem;min-width:0;display:flex}.instrument-art{max-width:100%;height:auto;display:block}.instrument-art .ikey{fill:#fbfbfa;stroke:#5c5f66;stroke-width:2px;transform-box:fill-box;transform-origin:50%;transition:fill .14s,transform .14s,stroke .14s}.instrument-art.sax .ikey{stroke:#6b5217}.instrument-art .ikey.on{fill:var(--fc);stroke:color-mix(in srgb, var(--fc) 60%, #000);transform:scale(.93)}.instrument-art .ikey.ring{stroke-width:3.5px}.instrument-art .ikey-hole{fill:#343a40;pointer-events:none;transition:fill .14s}.instrument-art .ikey-hole.on{fill:color-mix(in srgb, var(--fc) 55%, #000)}.instrument-art .behind .ikey{stroke-dasharray:4 3}.instrument-art .behind .ikey.on{stroke-dasharray:none}.instrument-art .hand-split line{stroke:#9a948a;stroke-dasharray:5 4}.instrument-art .hand-split text{fill:#7a746a;font:600 10px ui-sans-serif,system-ui,sans-serif}.instrument-art .valve-move{transition:transform .16s}.instrument-art .valve-stem{fill:#c9a227;stroke:#8a6d1f}.instrument-art .valve .ikey{stroke:#6b5217}.instrument-art .valve-num{fill:#5c5f66;font:700 13px ui-sans-serif,system-ui,sans-serif}.instrument-art .change-ring{fill:none;stroke-width:3px;stroke-dasharray:5 3;animation:1.1s ease-in-out infinite change-pulse}.instrument-art .change.press .change-ring{stroke:#2b8a3e}.instrument-art .change.lift .change-ring{stroke:#c92a2a}.instrument-art .change-arrow{paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font:800 15px ui-sans-serif,system-ui,sans-serif}.instrument-art .change.press .change-arrow{fill:#2b8a3e}.instrument-art .change.lift .change-arrow{fill:#c92a2a}@keyframes change-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.instrument-art .ikey,.instrument-art .valve-move{transition:none}.instrument-art .change-ring{animation:none}}.hand-group{flex-direction:column;gap:.2rem;display:flex}.hand-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:700}.hand-group ul{flex-direction:column;gap:.15rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.hand-group li{align-items:center;gap:.4rem;display:flex}.finger-dot{border-radius:50%;flex:none;width:.7rem;height:.7rem;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.change-box{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:.15rem;padding:.45rem .6rem;display:flex}.change-line.press{color:#2f9e44;font-weight:600}.change-line.lift{color:#e03131;font-weight:600}.finger-legend{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;gap:.25rem .7rem;padding-top:.45rem;font-size:.75rem;display:flex}.finger-legend>span{align-items:center;gap:.3rem;display:inline-flex}@media (width<=640px){.fingering-body{flex-direction:column;align-items:center}.fingering-art svg{width:120px;height:auto}.fingering-art .instrument-art.trumpet{width:240px}}.only-mobile{display:none!important}@media (width<=640px){.desktop-only{display:none!important}.only-mobile{display:inline-flex!important}.controls{flex-wrap:nowrap;justify-content:space-between;gap:.4rem}.controls .group{gap:.3rem}.controls .group.loop{scrollbar-width:none;flex-wrap:nowrap;max-width:42vw;overflow-x:auto}.controls .group.loop select{display:none}.icon-btn{width:36px;height:36px}.icon-btn.play{width:44px;height:44px}.measure-badge{min-width:2.6rem;font-size:.85rem}.practice{padding-bottom:130px}.practice-modes{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.practice-modes>*{flex:none}.tool-panel,.fingering-panel.premium{z-index:45;width:100%;max-height:72vh;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000040}}.sheet-backdrop{z-index:60;background:#0006;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-height:85vh;padding:.5rem 16px calc(1rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:.9rem;animation:.2s sheet-up;display:flex;overflow:auto}.sheet-grip{background:var(--border);border-radius:99px;width:42px;height:5px;margin:.25rem auto 0}.sheet-tempo{grid-template-columns:1fr auto;align-items:center;gap:.4rem .6rem;display:grid}.sheet-tempo label{grid-column:1/-1}.sheet-tempo input{width:100%}.sheet-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.sheet-btn{border:1px solid var(--border);background:var(--surface-2);min-height:76px;color:var(--text);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.5rem .25rem;font-size:.82rem;display:flex}.sheet-btn:hover{text-decoration:none}.sheet-btn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.sheet-btn:disabled{opacity:.45}.sheet-icon{font-size:1.35rem;font-weight:700;line-height:1}.sheet-close{align-self:stretch}@keyframes sheet-up{0%{opacity:.6;transform:translateY(40px)}}@keyframes fade-in{0%{opacity:0}}.diag-badge{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:99px;margin-top:.3rem;padding:.1rem .55rem;font-size:.78rem}.diag-badge.ok,.diag-badge.info{color:#2f9e44;border-color:#2f9e44}.diag-badge.warn{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.diag-badge.error{color:var(--danger);border-color:var(--danger)}.diag-row td{background:var(--surface-2)}.diag-report ul{flex-direction:column;gap:.4rem;margin:.4rem 0;padding:0;list-style:none;display:flex}.diag-item{align-items:flex-start;gap:.5rem;display:flex}.diag-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:1.3rem;height:1.3rem;font-size:.75rem;font-weight:800;display:grid}.diag-item.ok .diag-icon{background:#2f9e44}.diag-item.info .diag-icon{background:#1c7ed6}.diag-item.warn .diag-icon{background:#f08c00}.diag-item.error .diag-icon{background:#e03131}.form-actions.center{justify-content:center;margin-top:.75rem}.import-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.import-list>li.skipped{opacity:.5}.import-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.import-head input[type=checkbox]{width:1.1rem;height:1.1rem}.import-files{flex-direction:column;gap:.25rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.import-files li{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.import-progress{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.level.wide{width:100%;height:10px}.help{max-width:760px}.help-toc{flex-wrap:wrap;gap:.4rem;margin:1rem 0;display:flex}.help-toc a{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:99px;padding:.25rem .65rem;font-size:.85rem}.help-section{scroll-margin-top:70px}.help-section li{margin-bottom:.35rem}.ok-text{color:#2f9e44;font-weight:600}.err-text{color:#e03131;font-weight:600}.help-link{border:1px solid var(--border);width:1.9rem;height:1.9rem;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.help-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.tour{z-index:70;pointer-events:none;position:fixed;inset:0}.tour-spot{border:2px solid var(--accent);border-radius:12px;transition:all .25s;position:fixed;box-shadow:0 0 0 9999px #0000008c}.tour-card{pointer-events:auto;background:var(--surface);border-radius:var(--radius);width:min(360px,100vw - 32px);box-shadow:var(--shadow);flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tour-card p{margin:0}.offline-banner{z-index:80;color:#fff;text-align:center;background:#343a40;padding:.35rem 16px;font-size:.85rem;position:sticky;top:0}.topbar nav{align-items:center}.install-btn{border-color:var(--accent);color:var(--accent)}.save-offline{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.25rem 0 .5rem;display:flex}@media (width<=640px){.controls .group.loop{flex:none;max-width:none}.loop-label{display:none}.controls .group.loop .chip{padding:.25rem .55rem}.controls{gap:.3rem}.controls .chip{padding:.25rem .55rem}.more-btn{font-size:1.2rem;font-weight:800;line-height:1;padding:.15rem .7rem!important}}.site-footer{text-align:center;flex-wrap:wrap;justify-content:center;gap:1.25rem;padding:2rem 16px 2.5rem;font-size:.8rem;display:flex}.site-footer a{color:var(--muted)}.guest-tag{margin-left:.4rem}.measure-cursor{z-index:1;pointer-events:none;background:#1c7ed612;border-radius:6px;transition:top .18s,left .18s,width .18s;position:absolute;box-shadow:inset 3px 0 #1c7ed68c}.measure-cursor.resting{background:#f08c001a;box-shadow:inset 3px 0 #f08c00b3}.beat-ticks{justify-content:space-around;display:flex;position:absolute;bottom:-9px;left:6px;right:6px}.beat-ticks span{background:#1c7ed62e;border-radius:50%;width:8px;height:8px;transition:background 80ms,transform 80ms}.beat-ticks span.past{background:#1c7ed666}.beat-ticks span.on{background:#1c7ed6;transform:scale(1.35)}.measure-cursor.resting .beat-ticks span.on{background:#f08c00}.measure-cursor.resting .beat-ticks span.past{background:#f08c0073}.rest-counter{z-index:35;pointer-events:none;background:var(--surface);box-shadow:var(--shadow);border:2px solid #f08c00;border-radius:14px;align-items:center;gap:.8rem;min-width:230px;padding:.55rem 1rem;display:flex;position:fixed;bottom:150px;left:50%;transform:translate(-50%)}.rest-counter .rest-big{color:#f08c00;font-variant-numeric:tabular-nums;text-align:center;min-width:1.6rem;font-size:2.2rem;font-weight:800;line-height:1}.rest-counter.soon{border-color:#e8590c;animation:.6s ease-in-out infinite alternate rest-pulse}.rest-counter.soon .rest-big{color:#e8590c}.rest-dots{gap:.3rem;margin-left:auto;display:flex}.rest-dots span{background:var(--border);border-radius:50%;width:.6rem;height:.6rem}.rest-dots span.on{background:#f08c00}@keyframes rest-pulse{to{box-shadow:0 0 0 6px #e8590c2e, var(--shadow)}}@media (prefers-reduced-motion:reduce){.rest-counter.soon{animation:none}.measure-cursor{transition:none}}@media (width<=640px){.rest-counter{width:calc(100vw - 32px);min-width:0;bottom:108px}}.calibrate-card{background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;flex-direction:column;gap:.4rem;padding:.6rem .75rem;display:flex}.fine-tune summary{cursor:pointer;color:var(--muted)}.fine-tune input{width:100%}.subscribe-card{flex-direction:column;gap:.5rem;max-width:520px;display:flex}.subscribe-card .check{align-items:center;gap:.5rem;font-weight:400;flex-direction:row!important}.subscribe-card .consent{align-items:flex-start!important}.privacy-panel{flex-direction:column;gap:.5rem;max-width:520px;display:flex}.privacy-panel ul{margin:0;padding-left:1.1rem}.notice-test{border-color:var(--warn);background:var(--warn-soft);margin-bottom:1rem}.outbox{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.outbox li{flex-direction:column;gap:.35rem;display:flex}.outbox-msg{white-space:pre-wrap;background:var(--surface-2);border-radius:8px;max-height:160px;margin:0;padding:.5rem .65rem;font:.85rem/1.4 ui-sans-serif,system-ui,sans-serif;overflow:auto}.status-enviado{color:#2b8a3e;background:#d3f9d8}.status-erro{color:#c92a2a;background:#ffe3e3}.status-pendente{background:var(--surface-2)}.status-teste{background:var(--warn-soft);color:var(--warn)}.connection{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.connection.ok{border-color:#2f9e44}.connection.off{border-color:var(--warn);background:var(--warn-soft)}.setlist-study{flex-direction:column;gap:.75rem;display:flex}.study-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.study-head label{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.kpis.compact{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.kpis.compact .kpi{padding:.6rem .9rem}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.study-grid th.piece-col{white-space:nowrap;text-overflow:ellipsis;max-width:9rem;font-size:.8rem;overflow:hidden}.study-grid td.piece-cell{text-align:center;white-space:nowrap}.study-grid td.piece-cell.done{color:#2b8a3e}.study-grid td.piece-cell.missing{color:var(--muted)}.study-grid .section-row td{background:var(--surface-2);font-size:.85rem;font-weight:600}.reminder-status summary{cursor:pointer}.reminder-status pre{margin-top:.4rem}.rec-player{flex-direction:column;gap:.45rem;display:flex}.rec-player audio{width:100%}.rec-markers{background:var(--surface-2);border-radius:99px;height:14px;margin:-.15rem .6rem 0;position:relative}.rec-marker{border:2px solid var(--surface);background:var(--accent);cursor:pointer;z-index:1;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;padding:0;position:absolute;top:50%}.rec-marker.on{transform:scale(1.3)}.rec-playhead{background:var(--muted);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:2px;bottom:2px}.rec-comments{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.rec-comments li,.recording-list .rec-comments li{background:var(--surface-2);border-radius:8px;flex-direction:row;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.9rem;display:flex}.rec-comments li.on{outline:2px solid var(--accent)}.rec-comment-at{color:var(--accent);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:600}.rec-draft{flex-wrap:wrap}.rec-draft input{flex:14rem}.live-banner{color:#fff;background:#c92a2a;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem 16px;font-size:.9rem;display:flex}.live-banner .btn{color:#c92a2a;background:#fff;border-color:#fff}.live-dot{background:#fa5252;border-radius:50%;flex:none;width:.6rem;height:.6rem;animation:1.6s infinite live-pulse;box-shadow:0 0 #fa5252b3}.live-banner .live-dot{background:#fff}@keyframes live-pulse{70%{box-shadow:0 0 0 .45rem #fa525200}to{box-shadow:0 0 #fa525200}}.live-bar{top:calc(var(--top-h,54px) + 8px);z-index:15;background:var(--surface);border:1px solid #ffa8a8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.6rem;max-width:980px;margin:0 auto .6rem;padding:.5rem .75rem;font-size:.9rem;display:flex;position:sticky;box-shadow:0 4px 14px #0000001f}.live-bar.conducting,.live-bar.following{border-color:#fa5252}.practice.stand .live-bar{top:.5rem}.live-parts{flex-wrap:wrap;gap:.3rem;display:inline-flex}.inline-fields{flex-wrap:wrap;gap:.75rem;display:flex}.inline-fields label{flex-direction:column;gap:.25rem;display:flex}.live-measure{align-items:center;gap:.4rem;font-size:1.05rem;display:inline-flex}@media (width<=640px){.live-bar .hide-mobile{display:none}}.notify-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.field-chips{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:-.25rem;display:flex}.field-chips .chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.notify-when{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.notify-when input[type=datetime-local]{width:auto}.notify-preview summary{cursor:pointer}.template-item{align-items:flex-start}.template-snippet{white-space:nowrap;text-overflow:ellipsis;max-width:46ch;display:block;overflow:hidden}.agenda-month{margin-bottom:1rem;padding:.75rem}.agenda-month-head{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.agenda-month-head strong{text-align:center;min-width:11rem}.agenda-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.agenda-wd{color:var(--muted);text-align:center;text-transform:uppercase;padding-bottom:.2rem;font-size:.72rem}.agenda-cell{background:var(--surface-2);cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;min-height:84px;padding:3px;display:flex;overflow:hidden}.agenda-cell.out{opacity:.45}.agenda-cell.today{outline:2px solid var(--accent)}.agenda-day{color:var(--muted);pointer-events:none;padding:0 2px;font-size:.75rem}.agenda-chip{text-align:left;width:100%;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#1c7ed62e;border:0;border-radius:5px;padding:2px 4px;font-size:.72rem;line-height:1.25;display:block;overflow:hidden}.agenda-chip.kind-aula{background:#37b24d33}.agenda-chip.kind-concerto,.agenda-chip.kind-apresentacao{background:#f08c0038}.agenda-chip.kind-culto{background:#845ef733}.agenda-chip.cancelled{opacity:.6;text-decoration:line-through}.agenda-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.agenda-list li{align-items:center;gap:.9rem;display:flex}.agenda-list li.cancelled{opacity:.6}.agenda-list li.cancelled strong{text-decoration:line-through}.agenda-list li.is-today{border-color:var(--accent)}.agenda-date{text-transform:capitalize;flex-direction:column;min-width:6.5rem;display:flex}.agenda-date.big{text-transform:uppercase;align-items:center;min-width:3rem}.agenda-date.big strong{font-size:1.6rem;line-height:1}.check-group{flex-direction:column;gap:.3rem;display:flex}.home-top{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;margin-bottom:1.75rem;display:grid}.next-event{border-left:4px solid var(--accent);flex-direction:column;gap:.35rem;display:flex}.next-title{font-size:1.2rem}.next-when{text-transform:none}.next-event .rsvp{gap:.4rem;margin-top:.3rem;display:flex}.next-event .rsvp .chip{flex:1;justify-content:center;padding:.55rem}.next-links{flex-wrap:wrap;gap:1rem;margin-top:.2rem;display:flex}.continue ul{flex-direction:column;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.continue li a{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:.7rem;padding:.45rem 0;display:flex}.continue li:last-child a{border-bottom:0}.continue li a:hover{color:var(--accent);text-decoration:none}.continue-play{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:.8rem;display:inline-grid}@media (width<=640px){.cards.scroller{scroll-snap-type:x mandatory;gap:.75rem;margin:0 -16px;padding-bottom:.4rem;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}.cards.scroller>li{scroll-snap-align:start;flex:0 0 78%}.agenda-cell{min-height:54px}.agenda-chip strong{display:none}.agenda-list li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.6rem .9rem;display:grid}.agenda-list li>.agenda-actions,.agenda-list li>.row-actions{grid-column:1/-1;justify-content:stretch}.agenda-actions .rsvp{flex:100%}.agenda-actions .rsvp .chip{flex:1;justify-content:center;padding:.6rem;font-size:.95rem}.agenda-actions .btn{text-align:center;flex:1}.agenda-list .row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.agenda-list .row-actions>*{text-align:center;flex:auto}}.presence-page h1{margin-bottom:.25rem}.presence-when{text-transform:none;font-size:1.05rem}.presence-when strong{text-transform:capitalize}.presence-buttons{gap:.75rem;margin:1.25rem 0 .75rem;display:flex}.btn.big{flex:1;padding:.9rem 1rem;font-size:1.1rem}.btn.danger-solid{color:#fff;background:#c92a2a;border-color:#c92a2a}.agenda-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.rsvp{gap:.3rem;display:inline-flex}.rsvp .chip.on.no{color:#fff;background:#c92a2a;border-color:#c92a2a}.attendance-kpis{margin-bottom:.5rem}.attendance-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.attendance-actions h2{margin:0}.attendance-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.attendance-section{padding:.6rem .2rem .1rem;font-size:.85rem;font-weight:600}.attendance-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.6rem;padding:.5rem .65rem;display:flex}.attendance-row.presence-presente{border-color:#2b8a3e}.attendance-row.presence-falta{border-color:#c92a2a}.attendance-row.presence-justificada{border-color:#e67700}.presence-toggle{flex:none;gap:.3rem;display:inline-flex}.presence-toggle .chip{justify-content:center;min-width:2.6rem}.presence-toggle .chip.p-presente.on{color:#fff;background:#2b8a3e;border-color:#2b8a3e}.presence-toggle .chip.p-falta.on{color:#fff;background:#c92a2a;border-color:#c92a2a}.presence-toggle .chip.p-justificada.on{color:#fff;background:#e67700;border-color:#e67700}.show-mobile{display:none}.add-attendee{flex-wrap:wrap;margin-top:.75rem}.add-attendee input{flex:10rem}.my-freq{flex-direction:column;gap:.25rem;max-width:520px;display:flex}@media (width<=640px){.hide-mobile{display:none}.show-mobile{display:inline}.presence-toggle .chip{min-width:2.4rem;padding:.45rem .6rem;font-size:1rem}}.tab-badge{color:#fff;background:#e03131;border-radius:99px;place-items:center;min-width:1.15rem;height:1.15rem;margin-left:.35rem;padding:0 .3rem;font-size:.7rem;font-weight:700;display:inline-grid}.feedback-item.status-novo{border-color:var(--warn,#f08c00)}.feedback-item.status-resolvido{opacity:.7}.feedback-message{white-space:pre-wrap;margin:.2rem 0}.usage-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.75rem;display:grid}.usage-grid>.panel{flex-direction:column;gap:.6rem;display:flex}.usage-bars{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.usage-bars li{grid-template-columns:minmax(8rem,1.2fr) 2fr auto;align-items:center;gap:.5rem;font-size:.88rem;display:grid}.usage-track{background:var(--surface-2);border-radius:99px;height:.55rem;overflow:hidden}.usage-fill{background:var(--accent);border-radius:99px;height:100%;display:block}.usage-num{white-space:nowrap;text-align:right}.top-mobile{display:none}.icon-only{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:inline-grid}.icon-only:hover{color:var(--text)}.bottom-nav{display:none}@media (width<=640px){.top-nav{display:none!important}.top-mobile{display:flex}.topbar{padding:.6rem 16px}.brand-name{max-width:none;font-size:1rem}.bottom-nav{grid-template-columns:repeat(var(--cols,4), 1fr);z-index:40;background:var(--surface);border-top:1px solid var(--border);padding:.25rem 0 calc(.25rem + env(safe-area-inset-bottom));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000014}.bottom-nav a,.bottom-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem 0;font-size:.7rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav a.active,.bottom-nav button.active{color:var(--accent)}.bottom-nav a.active svg,.bottom-nav button.active svg{stroke-width:2.2px}.page{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.site-footer{display:none}}.more-sheet{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.more-list{flex-direction:column;display:flex}.more-list a,.more-list button{border:0;border-bottom:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.8rem;padding:.8rem .4rem;font-size:1rem;text-decoration:none;display:flex}.more-list svg{color:var(--muted)}.more-theme{flex-direction:column;gap:.4rem;margin-top:1rem;display:flex}.more-theme .segmented{display:flex}.more-theme .segmented button{flex:1;justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.brand-setting{align-items:center}.logo-preview{object-fit:contain;background:var(--surface-2);border-radius:8px;width:auto;max-width:140px;height:48px;padding:4px}.logo-preview.empty{place-items:center;width:90px;display:inline-grid}.color-presets{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.color-dot{border:2px solid var(--surface);width:1.6rem;height:1.6rem;box-shadow:0 0 0 1px var(--border);cursor:pointer;border-radius:50%;padding:0}.color-dot.on{box-shadow:0 0 0 2px var(--text)}.color-presets input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:2rem;height:1.8rem;padding:0}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;display:grid}.dash-card{flex-direction:column;gap:.5rem;display:flex}.dash-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dash-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-list li{border-top:1px solid var(--border)}.dash-list li:first-child{border-top:0}.dash-list li>a,.dash-list.compact li{color:var(--text);align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.dash-list li>a:hover{color:var(--accent);text-decoration:none}.dash-list.compact li>a{padding:0}.dash-date{text-transform:capitalize;min-width:5.5rem;font-size:.85rem;font-weight:600}.dash-big{flex-direction:column;display:flex}.dash-big>span:first-child{font-size:1.8rem;font-weight:700;line-height:1.1}.dash-meter{background:var(--surface-2);border-radius:99px;height:.6rem;overflow:hidden}.dash-meter>span{background:var(--accent);border-radius:99px;height:100%;display:block}.dash-alert{background:#e0313114;border-color:#e03131;margin-bottom:.9rem}.dash-alert.soft{border-color:var(--warn);background:var(--warn-soft)}.dash-ellipsis{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.skeleton-card{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 37%, var(--surface) 63%);background-size:400% 100%;min-height:140px;animation:1.3s infinite skeleton}@keyframes skeleton{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-card{animation:none}}.loading-skeleton{flex-direction:column;gap:.6rem;padding:.5rem 0;display:flex}.loading-skeleton>span{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 37%, var(--surface-2) 63%);background-size:400% 100%;border-radius:6px;height:.9rem;animation:1.3s infinite skeleton;display:block}@media (prefers-reduced-motion:reduce){.loading-skeleton>span{animation:none}}.toasts{z-index:90;pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);border-radius:99px;padding:.6rem 1rem;font-size:.9rem;font-weight:500;animation:.18s toast-in;box-shadow:0 6px 20px #00000040}.toast.error{color:#fff;background:#c92a2a}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.toasts{bottom:calc(5rem + env(safe-area-inset-bottom))}.btn{min-height:40px}.btn.small,.chip{min-height:34px}.segmented button{min-height:38px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px}}@media (width>=641px){.practice-sheet{background:#0000001f;justify-content:flex-end;align-items:flex-end}.practice-sheet .sheet{border:1px solid var(--border);border-radius:16px;width:460px;max-height:calc(100vh - 220px);margin:0 16px 128px 0;padding:1rem;box-shadow:0 12px 40px #0000004d}.practice-sheet .sheet-grip{display:none}.practice-sheet .sheet-grid{grid-template-columns:repeat(4,1fr)}.practice-sheet .sheet-btn{min-height:68px}.more-btn{font-weight:600}}.display-menu{display:inline-flex;position:relative}.display-backdrop{z-index:30;position:fixed;inset:0}.display-pop{z-index:31;flex-direction:column;gap:.45rem;width:300px;padding:.9rem;display:flex;position:absolute;top:calc(100% + 8px);right:0}.display-pop .segmented{display:flex}.display-pop .segmented button{flex:1;justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.segmented.font-size{display:flex}.segmented.font-size button{flex:1;font-weight:700}.admin-tab-select{display:none}@media (width<=640px){.tabs{display:none}.admin-tab-select{flex-direction:column;gap:.2rem;margin-bottom:1rem;display:flex}.admin-tab-select select{font-weight:600}.kpis{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.kpi{padding:.75rem}.kpi-value{font-size:1.4rem}.table{-webkit-overflow-scrolling:touch;white-space:nowrap;display:block;overflow-x:auto}.table td,.table th{white-space:nowrap}.page-head{gap:.6rem}.page-head .form-actions{width:100%}.grid-form{grid-template-columns:1fr!important}.grid-form .span-2{grid-column:auto!important}.setting-row{flex-wrap:wrap}.recording-head{flex-wrap:wrap;gap:.4rem}}.welcome-card{width:min(520px,100%)}.welcome-steps{gap:.35rem;margin-bottom:.9rem;display:flex}.welcome-steps span{background:var(--surface-2);border-radius:99px;flex:1;height:4px}.welcome-steps span.on{background:var(--accent)}.instrument-grid{flex-wrap:wrap;gap:.35rem;display:flex}.instrument-grid .chip{padding:.45rem .75rem}.inline-label{flex-direction:column;gap:.35rem;display:flex}.inline-label .segmented{display:flex}.inline-label .segmented button{flex:1}.welcome-install{background:var(--surface-2);border-radius:10px;padding:.6rem .75rem}@media (width<=640px){.dialog-backdrop.welcome{align-items:flex-end;padding:0}.welcome-card{max-height:92vh;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}}.part-picker{flex-direction:column;gap:.7rem;max-width:980px;margin:0 auto .9rem;display:flex}.part-picker-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.part-picker-head strong{font-size:1.15rem}.part-group{flex-direction:column;gap:.3rem;display:flex}.part-buttons{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem;display:grid}.part-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;padding:.75rem .8rem;font-weight:600}.part-btn:hover{border-color:var(--accent);color:var(--accent)}@media (width<=640px){.part-buttons{grid-template-columns:1fr 1fr}}.loading-banner.progress{flex-direction:column;gap:.35rem;min-width:min(320px,80vw);display:flex}.progress-track{background:var(--surface-2);border-radius:99px;height:5px;display:block;overflow:hidden}.progress-track>span{background:var(--accent);border-radius:99px;height:100%;transition:width .3s;display:block}.hymn-badge.big{margin-bottom:.4rem;padding:.2rem .6rem;font-size:.85rem;display:inline-block}.train-cta{background:var(--accent);color:var(--accent-text);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.2rem;text-decoration:none;display:flex}.train-cta:hover{filter:brightness(1.05);text-decoration:none}.train-cta strong{font-size:1.25rem}.train-cta .small{opacity:.9}.train-cta-play{background:#ffffff38;border-radius:50%;flex:none;place-items:center;width:3rem;height:3rem;font-size:1.2rem;display:inline-grid}.maestro-note{border-left:4px solid var(--accent);margin-bottom:1rem}.maestro-note p{white-space:pre-wrap;margin:.2rem 0 0}.pdf-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.pdf-cards li{align-items:center;gap:.7rem;padding:.8rem 1rem;display:flex}.pdf-cards li.on{border-color:var(--accent)}.pdf-icon{color:#fff;background:#c92a2a;border-radius:6px;flex:none;place-items:center;width:2.6rem;height:3.2rem;font-size:.7rem;font-weight:800;display:inline-grid}@media (width<=640px){.pdf-cards li{flex-wrap:wrap}.pdf-cards li .btn{text-align:center;flex:1}}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:.35rem;padding:2rem 1rem;display:flex}.empty-state-icon{margin-bottom:.2rem;font-size:2rem;line-height:1}.empty-state p{max-width:46ch;margin:0}.empty-state .form-actions{justify-content:center;margin-top:.4rem}.share-link{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.share-link code{background:var(--surface-2);border-radius:6px;padding:.3rem .55rem;font-size:.85rem}.score.paper-sepia{background:#f3ead6}.score.paper-dark{background:#1a1c21}.score.paper-dark svg{filter:invert(.9)hue-rotate(180deg)}.score.paper-dark svg svg{filter:none}.sheet-paper{flex-direction:column;gap:.35rem;display:flex}.sheet-paper .segmented{display:flex}.sheet-paper .segmented button{flex:1}.with-icon{align-items:center;gap:.4rem;display:inline-flex}.dash-alert.with-icon{align-items:flex-start;display:flex}.dash-alert.with-icon>svg{flex:none;margin-top:2px}.sheet-icon svg{width:24px;height:24px}.empty-state-icon{color:var(--muted)}.page{animation:.22s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dialog{animation:.18s both pop-in}.display-pop{transform-origin:100% 0;animation:.14s both pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.97)translateY(4px)}to{opacity:1;transform:none}}.dialog-backdrop{animation:.15s both fade-in}.btn,.chip,.part-btn,.sheet-btn,.bottom-nav a,.bottom-nav button{transition:background-color .15s,border-color .15s,color .15s,transform .1s}.btn:active,.chip:active,.part-btn:active,.sheet-btn:active{transform:scale(.97)}.bottom-nav a svg,.bottom-nav button svg{transition:transform .15s}.bottom-nav a.active svg,.bottom-nav button.active svg{transform:translateY(-1px)scale(1.06)}.card,.panel.next-event,.continue li a,.agenda-list li{transition:transform .15s,box-shadow .15s,border-color .15s}@media (hover:hover){.card:hover{transform:translateY(-2px)}}.skip-link{z-index:100;background:var(--accent);color:var(--accent-text);border-radius:8px;padding:.5rem .9rem;font-weight:600;position:absolute;top:-60px;left:8px}.skip-link:focus{text-decoration:none;top:8px}main:focus{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.loading-screen{z-index:55;background:var(--bg);background:radial-gradient(120% 90% at 50% 40%, color-mix(in srgb, var(--accent) 14%, var(--bg)) 0%, var(--bg) 62%);place-items:center;padding:24px;transition:opacity .6s,visibility .6s;display:grid;position:fixed;inset:0}.loading-screen.done{opacity:0;visibility:hidden}.loading-screen.done .loading-stage{transform:scale(1.04)}.loading-back{color:var(--muted);font-size:1.4rem;text-decoration:none;position:absolute;top:14px;left:16px}.loading-stage{text-align:center;flex-direction:column;align-items:center;gap:.8rem;width:min(560px,100%);transition:transform .6s;display:flex}.loading-staff{width:100%;height:auto;overflow:visible}.loading-staff line{stroke:var(--muted);stroke-width:1.1px;opacity:.55}.loading-clef{fill:var(--text);opacity:.85;font-family:Bravura,Noto Music,Segoe UI Symbol,serif;font-size:68px}.loading-note{opacity:0;transition:opacity .45s,transform .45s cubic-bezier(.2,.9,.3,1.3);transform:translateY(14px)}.loading-note.in{opacity:1;transform:none}.loading-note ellipse{fill:var(--text)}.loading-note line{stroke:var(--text);stroke-width:1.6px;opacity:1}.loading-bob{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite note-bob}.loading-note.in .loading-bob ellipse{animation:1.6s ease-in-out infinite note-glow;animation-delay:inherit}.loading-note.in .loading-bob,.loading-note.in .loading-bob ellipse{animation-delay:calc(var(--i) * .13s)}@keyframes note-bob{0%,to{transform:translateY(0)}25%{transform:translateY(-5px)}50%{transform:translateY(0)}}@keyframes note-glow{0%,to{fill:var(--text);filter:none}20%{fill:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}45%{fill:var(--text);filter:none}}.loading-title{max-width:100%;font-size:1.15rem;line-height:1.3}.loading-message{color:var(--muted);font-size:.92rem}.loading-pct{color:var(--text);font-variant-numeric:tabular-nums;margin-left:.25rem;font-weight:600}.loading-bar{background:var(--surface-2);border-radius:99px;width:min(300px,80%);height:4px;display:block;position:relative;overflow:hidden}.loading-bar>span{background:var(--accent);border-radius:99px;height:100%;transition:width .4s;display:block;position:relative;overflow:hidden}.loading-bar>span:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.4s ease-in-out infinite bar-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes bar-shine{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.loading-bob,.loading-note.in .loading-bob ellipse,.loading-bar>span:after{animation:none!important}}.ead-badge{letter-spacing:.08em;background:var(--accent-soft);color:var(--accent);border-radius:6px;margin-bottom:.4rem;padding:.15rem .5rem;font-size:.7rem;font-weight:800;display:inline-block}.ead-login-head{text-align:center;margin-bottom:1rem}.ead-login .panel{padding:1.4rem}.ead-login-links{justify-content:space-between;gap:.5rem;display:flex}.code-input{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;padding:.6rem!important;font-size:1.8rem!important}.ead-courses{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.ead-course-card{flex-direction:column;gap:.45rem;height:100%;display:flex}.ead-course-cover{background:linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 45%, #000) 100%);height:96px;color:var(--accent-text);border-radius:10px;place-items:center;margin:-.25rem -.25rem .2rem;display:grid}.ead-course-cover span{opacity:.9;font-size:2.6rem;font-weight:800}.ead-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.ead-progress{align-items:center;gap:.5rem;margin-top:auto;display:flex}.ead-progress-track{background:var(--surface-2);border-radius:99px;flex:1;height:6px;overflow:hidden}.ead-progress-track>span{background:var(--accent);border-radius:99px;height:100%;display:block}.ead-continue{margin-bottom:1.25rem}.ead-course-desc{white-space:pre-wrap;max-width:70ch}.ead-course-summary{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ead-course-summary .ead-progress{flex:200px;margin:0}.ead-lessons{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ead-lessons a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;align-items:center;gap:.8rem;padding:.7rem .9rem;display:flex}.ead-lessons a:hover{border-color:var(--accent);text-decoration:none}.ead-check{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:800;display:inline-grid}.ead-lessons a.done .ead-check{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.ead-lesson{max-width:820px}.ead-crumbs{color:var(--muted);margin-bottom:.5rem}.ead-lesson-head{margin-bottom:1rem}.lesson-video{aspect-ratio:16/9;box-shadow:var(--shadow);background:#000;border-radius:14px;margin-bottom:1.25rem;position:relative;overflow:hidden}.lesson-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.lesson-content{font-size:1.05rem;line-height:1.7}.lesson-content h1,.lesson-content h2,.lesson-content h3{margin:1.6rem 0 .6rem;line-height:1.25}.lesson-content img{border-radius:10px;max-width:100%}.lesson-content blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0;margin:1rem 0;padding:.6rem 1rem}.lesson-content code{background:var(--surface-2);border-radius:5px;padding:.1rem .35rem;font-size:.9em}.lesson-content pre{background:var(--surface-2);border-radius:10px;padding:.8rem;overflow-x:auto}.lesson-content table{border-collapse:collapse;width:100%}.lesson-content th,.lesson-content td{border:1px solid var(--border);padding:.4rem .6rem}.abc-block{background:var(--paper);box-shadow:var(--shadow);border-radius:12px;min-height:60px;margin:1rem 0;padding:.5rem}.abc-block svg{width:100%;height:auto;display:block}.abc-loading,.abc-error{color:#666;padding:.8rem;font-size:.85rem;display:block}.abc-error{color:#c92a2a}.ead-attachment{flex-wrap:wrap;align-items:center;gap:.8rem;margin:1.25rem 0;display:flex}.ead-quiz{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.ead-quiz h2{margin:0}.ead-question{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.4rem;margin:0;padding:.8rem 1rem;display:flex}.ead-question legend{padding:0 .3rem;font-weight:600}.ead-question.ok{border-color:#2b8a3e}.ead-question.wrong{border-color:#e03131}.ead-option{cursor:pointer;border-radius:8px;align-items:flex-start;gap:.55rem;padding:.45rem .6rem;display:flex}.ead-option:hover{background:var(--surface-2)}.ead-option input{margin-top:.3rem}.ead-option.right{background:#2b8a3e24}.ead-option.chosen-wrong{background:#e031311f}.ead-lesson-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn.done{color:#2b8a3e;border-color:#2b8a3e}.ead-account{flex-direction:column;gap:.7rem;display:flex}.ead-editor-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.8rem;display:flex}.ead-title-input{flex:320px;font-weight:700;font-size:1.4rem!important}.ead-editor-meta{grid-template-columns:1fr 140px auto;align-items:end;gap:.75rem;margin-bottom:.8rem;display:grid}.ead-editor-meta label{flex-direction:column;gap:.25rem;display:flex}.ead-editor-meta label.check{flex-direction:row;align-items:center}.ead-editor-tools{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;display:flex}.ead-editor-body{gap:.75rem;display:grid}.ead-editor-body.view-split{grid-template-columns:1fr 1fr}.ead-textarea{resize:vertical;min-height:460px;font:.95rem/1.6 ui-monospace,SFMono-Regular,Menlo,monospace!important}.ead-preview{max-height:75vh;overflow:auto}.ead-editor-attachment{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.ead-q-edit{margin-bottom:.6rem}.ead-q-option{align-items:center;gap:.5rem;display:flex}.ead-q-option input[type=radio]{flex:none;width:1.1rem;height:1.1rem}.ead-q-option input:not([type=radio]){flex:1}@media (width<=860px){.ead-editor-body.view-split,.ead-editor-meta{grid-template-columns:1fr}}.ead-option input[type=radio],.ead-q-option input[type=radio]{accent-color:var(--accent);flex:none;margin-top:.25rem;width:auto!important;padding:0!important}.ead-option{text-align:left;justify-content:flex-start}.ead-option span{flex:1}.ead-course-card .tag{align-self:flex-start}.abc-block{position:relative}.abc-play{margin-top:.4rem}.abc-block>.abc-play{box-shadow:var(--shadow);margin:0;position:absolute;bottom:.5rem;right:.5rem}.abc-block .abc-on,.abc-block .abc-on *{stroke:var(--accent);fill:var(--accent)!important}.abc-snippet{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.abc-snippet .abc-block{width:100%;margin:.3rem 0}.abc-snippet.mode-ouvir{padding:.6rem 0}.abc-play.listen{border-color:var(--accent);color:var(--accent);border-radius:99px;padding:.55rem 1.1rem;font-size:1rem}.ead-short-answer{max-width:360px}.ead-vf{flex-wrap:wrap;gap:.5rem;display:flex}.ead-vf .ead-option{border:1px solid var(--border);min-width:140px}.ead-q-abc{border:1px dashed var(--border);border-radius:10px;flex-direction:column;gap:.4rem;padding:.6rem;display:flex}.ead-q-abc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ead-q-abc-body{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:.6rem;display:grid}.ead-q-abc-body .abc-block{margin:0}.ead-q-edit select{width:auto}@media (width<=700px){.ead-q-abc-body{grid-template-columns:1fr}}.ead-tasks{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ead-task-row{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem .9rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.ead-task-row:hover{border-color:var(--accent);transform:translateY(-1px)}.ead-task-row.done{opacity:.8}.ead-task-icon{font-size:1.3rem}.tag.danger{color:var(--danger);background:#e031311f;font-weight:600}.ead-task-status{border-left:4px solid var(--border);flex-direction:column;gap:.4rem;margin:1rem 0;display:flex}.ead-task-status.status-corrigida{border-left-color:#2b8a3e}.ead-task-status.status-refazer{border-left-color:var(--warn)}.ead-task-status.status-entregue{border-left-color:var(--accent)}.ead-task-status strong{font-size:1.15rem}.ead-feedback{background:var(--surface-2);white-space:pre-wrap;border-radius:10px;margin:.2rem 0 0;padding:.6rem .8rem}.ead-task-field{flex-direction:column;gap:.4rem;display:flex}.ead-task-field textarea{min-height:120px}.audio-recorder{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.audio-recorder audio{max-width:100%;height:40px}.audio-recorder .btn.danger .rec-dot{animation:1s infinite rec-pulse}@keyframes rec-pulse{50%{opacity:.25}}.grade-list{margin:0 0 .8rem;padding:0;list-style:none}.grade-list li{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.45rem 0;display:flex}.grade-list li:last-child{border-bottom:0}.grade-list h3{margin:.6rem 0 .2rem}.ead-announce{border:1px solid var(--accent);background:var(--accent-soft);flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.ead-accepts{border:0;flex-wrap:wrap;gap:1rem;margin:0;padding:0;display:flex}.ead-accepts legend{margin-bottom:.3rem}.ead-textarea.short{min-height:220px}.ead-sticky-actions{background:var(--bg);z-index:2;flex-wrap:wrap;padding:.6rem 0;position:sticky;bottom:0}.ead-submission{margin-bottom:.6rem;padding:0;overflow:hidden}.ead-submission.status-entregue{border-left:4px solid var(--accent)}.ead-submission-head{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.ead-submission-body{flex-direction:column;gap:.7rem;padding:0 1rem 1rem;display:flex}.ead-submission-text{white-space:pre-wrap;background:var(--surface-2);border-radius:10px;padding:.7rem .9rem}.ead-submission-img{border:1px solid var(--border);border-radius:10px;max-width:100%;max-height:420px}.ead-submission audio{width:100%;max-width:480px}.ead-answers{flex-direction:column;gap:.35rem;margin:0;padding-left:1.2rem;display:flex}.ead-answers li{flex-direction:column;display:flex}.ead-answers li.ok>span:last-child{color:#2b8a3e}.ead-answers li.wrong>span:last-child{color:#e03131}.ead-grade-form{flex-wrap:wrap;align-items:flex-start;gap:.6rem;display:flex}.ead-grade-form label{flex-direction:column;gap:.25rem;display:flex}.ead-grade-form label:first-child input{width:6rem}.ead-grade-form .grow{flex:280px}.turma-input{width:8rem;font-size:.85rem;padding:.3rem .5rem!important}.gradebook-filters select{width:auto;max-width:100%}.gradebook-wrap{overflow-x:auto}.gradebook{min-width:100%;font-size:.9rem}.gradebook th,.gradebook td{text-align:center;white-space:nowrap}.gradebook th.sticky-col,.gradebook td.sticky-col{text-align:left;background:var(--surface);z-index:1;white-space:normal;min-width:150px;position:sticky;left:0}.gradebook .gb-task a{color:inherit}.gb-cell.full{color:#2b8a3e;background:#2b8a3e1f;font-weight:600}.gb-cell.part{background:var(--warn-soft);color:var(--warn)}.gb-cell.late{color:var(--danger);background:#e0313114}.gb-cell.none{color:var(--muted)}.gb-avg{background:var(--surface-2)}.gradebook-legend{columns:2;padding-left:1rem}@media (width<=600px){.gradebook-legend{columns:1}}.form .ead-q-option,.ead-q-option{flex-direction:row!important;align-items:center!important}.abc-input{resize:vertical;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace!important}.ead-task-status .btn{align-self:flex-start}.ead>.section+.ead-courses{margin-top:1.25rem}.signature{letter-spacing:.02em;color:var(--text);white-space:nowrap;font-weight:700}.signature span{color:var(--muted);font-style:italic;font-weight:400}.site-footer .signature{opacity:.85;flex-basis:100%;margin-top:.4rem;font-size:.78rem}.loading-signature{bottom:max(1.25rem, env(safe-area-inset-bottom));text-align:center;opacity:.8;font-size:.8rem;position:absolute;left:0;right:0}.loading-signature span{color:inherit}.login-signature{color:var(--accent);margin-bottom:.2rem;font-size:.85rem;display:block}.admin-page{max-width:1320px}.admin-shell{grid-template-columns:228px minmax(0,1fr);align-items:start;gap:2rem;display:grid}.admin-side{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:1rem;max-height:calc(100vh - 96px);padding:.75rem;display:flex;position:sticky;top:76px;overflow-y:auto}.admin-side-group{flex-direction:column;gap:2px;display:flex}.admin-side-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 .7rem .3rem;font-size:.7rem;font-weight:700}.admin-side a{color:var(--muted);border-radius:9px;align-items:center;gap:.65rem;padding:.5rem .7rem;font-size:.92rem;transition:background .15s,color .15s;display:flex}.admin-side a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.admin-side a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-side a svg{opacity:.9;flex:none}.admin-main{min-width:0}.admin-main>.page-head:first-child,.admin-main>:first-child{margin-top:0}@media (width<=900px){.admin-shell{display:block}.admin-side{display:none}.admin-tab-select{flex-direction:column;gap:.2rem;margin-bottom:1rem;display:flex!important}}@media (width>=901px){.admin-tab-select{display:none!important}}.rest-counter.on-score{z-index:3;gap:.6rem;min-width:0;padding:.45rem .8rem;transition:top .18s,left .18s;position:absolute;bottom:auto;transform:none;box-shadow:0 6px 20px #0000002e}.rest-counter.on-score .rest-big{font-size:1.9rem}.rest-counter.on-score:after{content:"";border:8px solid #0000;border-left-color:#f08c00;border-right:0;margin-top:-8px;position:absolute;top:50%;right:-9px}.rest-counter.on-score.soon:after{border-left-color:#e8590c}.rest-counter.on-score.above:after{border:8px solid #0000;border-top-color:#f08c00;border-bottom:0;margin-top:0;inset:auto auto -9px 18px}.rest-counter.on-score.above.soon:after{border-top-color:#e8590c}@media (width<=640px){.rest-counter.on-score{width:auto;bottom:auto}}.rest-counter.on-score.side{transform:translateY(-50%)}.rest-counter.on-score.above{transform:translateY(calc(-100% - 10px))}.rest-counter.on-score.compact{border-width:2px;border-radius:10px;gap:.4rem;padding:.3rem .55rem;line-height:1.15}.rest-counter.on-score.compact .rest-big{min-width:1.1rem;font-size:1.45rem}.rest-counter.on-score.compact strong{font-size:.82rem}.rest-counter.on-score.compact .small{font-size:.7rem}@media (width<=640px){.rest-counter.on-score{bottom:auto}}.score svg g.note .notehead{transform-box:fill-box;transform-origin:50%;transition:transform .18s}.score svg g.note.playing .notehead{filter:drop-shadow(0 0 4px #c2410cbf);animation:.28s cubic-bezier(.34,1.56,.64,1) note-pop;transform:scale(1.28)}@keyframes note-pop{0%{transform:scale(1)}60%{transform:scale(1.42)}to{transform:scale(1.28)}}.beat-ticks span.on{animation:.38s ease-out beat-breath}@keyframes beat-breath{0%{transform:scale(.8);box-shadow:0 0 #1c7ed68c}50%{transform:scale(1.7)}to{transform:scale(1.35);box-shadow:0 0 0 7px #1c7ed600}}.measure-cursor.resting .beat-ticks span.on{animation-name:beat-breath-rest}@keyframes beat-breath-rest{0%{transform:scale(.8);box-shadow:0 0 #f08c008c}50%{transform:scale(1.7)}to{transform:scale(1.35);box-shadow:0 0 0 7px #f08c0000}}.count-in{z-index:30;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.count-in span{color:var(--accent);font-variant-numeric:tabular-nums;text-shadow:0 10px 40px color-mix(in srgb, var(--accent) 35%, transparent);font-size:min(38vw,15rem);font-weight:900;line-height:1;animation:.7s cubic-bezier(.2,.9,.3,1.2) both count-pop}.count-in span.last{color:#e8590c}@keyframes count-pop{0%{opacity:0;transform:scale(.4)}25%{opacity:.95;transform:scale(1.08)}55%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.finish-backdrop{z-index:80;background:#00000059;place-items:center;padding:16px;animation:.25s both fade-in;display:grid;position:fixed;inset:0}.finish-card{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:.35rem;width:100%;max-width:360px;animation:.55s cubic-bezier(.34,1.56,.64,1) both finish-in;display:flex;position:relative}.finish-card h2{margin:.2rem 0 0}.finish-card .form-actions{justify-content:center;margin-top:.6rem}.finish-emoji{font-size:3rem;line-height:1;animation:1.2s ease-in-out .4s infinite finish-bounce}.finish-time{margin:.3rem 0 0;font-size:1.1rem}@keyframes finish-in{0%{opacity:0;transform:scale(.7)translateY(20px)}to{opacity:1;transform:none}}@keyframes finish-bounce{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-8px)rotate(-8deg)}60%{transform:translateY(0)rotate(6deg)}}.confetti{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.confetti-note{opacity:0;font-weight:700;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.4,1);animation-fill-mode:forwards;position:absolute;top:-2.5rem}.confetti-note.c0{color:#1c7ed6}.confetti-note.c1{color:#e8590c}.confetti-note.c2{color:#2f9e44}.confetti-note.c3{color:#ae3ec9}.confetti-note.c4{color:#f59f00}.confetti-note.c5{color:#e64980}@keyframes confetti-fall{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(var(--drift), 105vh) rotate(var(--spin))}}.tuner-needle{transition:left .42s cubic-bezier(.34,1.56,.64,1),background-color .2s}.tuner-display.good .tuner-needle{background:#2f9e44;animation:1s ease-out infinite tuned-pulse}.tuner-display.good .tuner-note{animation:1s ease-in-out infinite tuned-note}@keyframes tuned-pulse{0%{box-shadow:0 0 #2f9e4499}to{box-shadow:0 0 0 10px #2f9e4400}}@keyframes tuned-note{50%{transform:scale(1.06)}}.ead-progress-track>span{transform-origin:0;animation:1s cubic-bezier(.2,.8,.2,1) .15s both fill-x}@keyframes fill-x{0%{transform:scaleX(0)}}.check-pop{animation:.5s cubic-bezier(.34,1.56,.64,1) both check-pop;display:inline-block}@keyframes check-pop{0%{transform:scale(0)rotate(-45deg)}70%{transform:scale(1.5)rotate(8deg)}to{transform:none}}.btn.done{animation:.8s ease-out done-glow}@keyframes done-glow{0%{box-shadow:0 0 #2b8a3e80}to{box-shadow:0 0 0 12px #2b8a3e00}}.ead-seal{color:#5c3c00;background:linear-gradient(135deg,#ffe066,#fab005);border-radius:99px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.9rem;font-weight:800;animation:.7s cubic-bezier(.34,1.56,.64,1) both seal-in;display:inline-flex;position:relative;overflow:hidden}.ead-seal:after{content:"";background:linear-gradient(110deg,#0000 35%,#ffffffbf 50%,#0000 65%);animation:2.6s ease-in-out .8s infinite seal-shine;position:absolute;inset:0;transform:translate(-120%)}@keyframes seal-in{0%{opacity:0;transform:scale(.3)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes seal-shine{0%,60%{transform:translate(-120%)}to{transform:translate(120%)}}.count-up{font-variant-numeric:tabular-nums}.cards>li,.ead-courses>li,.ead-tasks>li,.ead-lessons>li,.admin-list>li{animation:.4s cubic-bezier(.2,.8,.2,1) both page-in}.cards>li:nth-child(2),.ead-courses>li:nth-child(2),.ead-tasks>li:nth-child(2),.ead-lessons>li:nth-child(2),.admin-list>li:nth-child(2){animation-delay:40ms}.cards>li:nth-child(3),.ead-courses>li:nth-child(3),.ead-tasks>li:nth-child(3),.ead-lessons>li:nth-child(3),.admin-list>li:nth-child(3){animation-delay:80ms}.cards>li:nth-child(4),.ead-courses>li:nth-child(4),.ead-tasks>li:nth-child(4),.ead-lessons>li:nth-child(4),.admin-list>li:nth-child(4){animation-delay:.12s}.cards>li:nth-child(5),.ead-courses>li:nth-child(5),.ead-tasks>li:nth-child(5),.ead-lessons>li:nth-child(5),.admin-list>li:nth-child(5){animation-delay:.16s}.cards>li:nth-child(6),.ead-courses>li:nth-child(6),.ead-tasks>li:nth-child(6),.ead-lessons>li:nth-child(6),.admin-list>li:nth-child(6){animation-delay:.2s}.cards>li:nth-child(7),.ead-courses>li:nth-child(7),.ead-tasks>li:nth-child(7),.ead-lessons>li:nth-child(7),.admin-list>li:nth-child(7){animation-delay:.24s}.cards>li:nth-child(n+8),.ead-courses>li:nth-child(n+8),.ead-tasks>li:nth-child(n+8),.ead-lessons>li:nth-child(n+8),.admin-list>li:nth-child(n+8){animation-delay:.28s}.icon-btn{transition:transform .1s,background-color .15s}.icon-btn:active,.bottom-nav a:active,.bottom-nav button:active{transform:scale(.94)}.pp-icon{fill:currentColor;margin:auto;display:block;overflow:visible}.pp-icon .pp-play,.pp-icon .pp-pause{transform-box:fill-box;transform-origin:50%;transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .2s}.pp-icon .pp-pause{opacity:0;transform:scale(.3)rotate(-90deg)}.icon-btn.play.is-playing .pp-play{opacity:0;transform:scale(.3)rotate(90deg)}.icon-btn.play.is-playing .pp-pause{opacity:1;transform:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:.55s cubic-bezier(.4,0,.2,1) theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x,90%) var(--vt-y,30px))}to{clip-path:circle(var(--vt-r,150vmax) at var(--vt-x,90%) var(--vt-y,30px))}}.bottom-nav-indicator{display:none}@media (width<=640px){.bottom-nav-indicator{top:0;left:calc((var(--active) + .5) * 100% / var(--cols,4) - 18px);background:var(--accent);border-radius:0 0 3px 3px;width:36px;height:3px;transition:left .35s cubic-bezier(.34,1.56,.64,1),opacity .2s;display:block;position:absolute}.bottom-nav.no-active .bottom-nav-indicator{opacity:0}.bottom-nav a.active svg,.bottom-nav button.active svg{animation:.45s cubic-bezier(.34,1.56,.64,1) nav-hop}}@keyframes nav-hop{0%{transform:none}40%{transform:translateY(-5px)scale(1.15)}to{transform:translateY(-1px)scale(1.06)}}.daily-bar{transform-origin:bottom;animation:.7s cubic-bezier(.2,.8,.2,1) both bar-grow}.daily-col:nth-child(3n+1) .daily-bar{animation-delay:50ms}.daily-col:nth-child(3n+2) .daily-bar{animation-delay:.1s}.daily-col:nth-child(3n) .daily-bar{animation-delay:.15s}@keyframes bar-grow{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.count-in,.confetti{display:none}::view-transition-new(root){animation:none}}.xp-chip{color:#8a5a00;white-space:nowrap;background:#fff3bf;border-radius:99px;align-items:center;padding:.12rem .5rem;font-size:.75rem;font-weight:800;display:inline-flex}:root[data-theme=dark] .xp-chip{color:#ffd43b;background:#ffd43b24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .xp-chip{color:#ffd43b;background:#ffd43b24}}.medal{border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.medal svg{width:100%;height:100%;position:absolute;inset:0}.medal-track{fill:none;stroke:var(--border);stroke-width:5px}.medal-progress{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .8s}.medal-face{background:radial-gradient(circle at 35% 30%, #fff 0%, transparent 42%), var(--medal-bg,linear-gradient(145deg, #e9b07a, #b06a2c));border-radius:50%;place-items:center;width:80%;height:80%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -4px 8px #00000038,inset 0 3px 6px #ffffff8c,0 4px 12px #0000002e}.medal-icon{filter:drop-shadow(0 2px 2px #00000040);font-size:2.4em;line-height:1}.medal.tier-bronze{--medal-bg:linear-gradient(145deg, #f0b98a, #b5651d 70%, #8a4b14)}.medal.tier-prata{--medal-bg:linear-gradient(145deg, #f8f9fa, #adb5bd 65%, #868e96)}.medal.tier-ouro{--medal-bg:linear-gradient(145deg, #fff3bf, #fcc419 55%, #e67700)}.medal.tier-especial{--medal-bg:linear-gradient(145deg, #f3d9fa, #be4bdb 55%, #5f3dc4)}.medal.tier-bronze .medal-track{stroke:#c9844a}.medal.tier-prata .medal-track{stroke:#adb5bd}.medal.tier-ouro .medal-track{stroke:#fab005}.medal.tier-especial .medal-track{stroke:#be4bdb}.medal.locked .medal-face{--medal-bg:linear-gradient(145deg, #e9ecef, #ced4da);filter:grayscale();opacity:.55;box-shadow:inset 0 -3px 6px #0000001f}.medal.locked .medal-track{stroke:var(--border)}.medal-shine{pointer-events:none;border-radius:50%;position:absolute;inset:10%;overflow:hidden}.medal-shine:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:40%;height:140%;animation:4.5s ease-in-out infinite medal-shine;position:absolute;top:-20%;left:-60%;transform:rotate(25deg)}@keyframes medal-shine{0%,70%{left:-60%}to{left:130%}}.flame{flex:none;display:inline-block}.flame svg{width:100%;height:100%;overflow:visible}.flame.on .flame-outer{transform-origin:50% 90%;animation:1.6s ease-in-out infinite flame-flicker}.flame.on .flame-inner{transform-origin:50% 90%;animation:1.1s ease-in-out infinite reverse flame-flicker}.flame.on svg{filter:drop-shadow(0 0 6px #fd7e148c)}@keyframes flame-flicker{0%,to{transform:scale(1)skew(0)}25%{transform:scale(.96,1.05)skew(-2deg)}50%{transform:scale(1.03,.97)skew(2deg)}75%{transform:scale(.98,1.03)skew(-1deg)}}.level-ring{flex:none;place-items:center;display:inline-grid;position:relative}.level-ring svg{width:100%;height:100%;position:absolute;inset:0}.level-ring-track{fill:none;stroke:#ffffff40;stroke-width:7px}.level-ring-fill{fill:none;stroke:#ffd43b;stroke-width:7px;stroke-linecap:round;animation:1.1s cubic-bezier(.22,1,.36,1) both ring-in}@keyframes ring-in{0%{stroke-dasharray:0 999}}.level-ring-initials{color:#fff;background:#ffffff2e;border-radius:50%;place-items:center;width:76%;height:76%;font-size:1.5em;font-weight:800;display:grid}.level-ring-badge{color:#5c3c00;background:linear-gradient(145deg,#fff3bf,#fcc419);border-radius:99px;place-items:center;min-width:1.8em;height:1.8em;padding:0 .3em;font-size:.85em;font-weight:800;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #00000040}.gam-hero{color:#fff;background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--accent) 75%, #fff) 0%, var(--accent) 45%, color-mix(in srgb, var(--accent) 60%, #000) 100%);box-shadow:0 12px 30px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.4rem 1.5rem;display:grid;position:relative;overflow:hidden}.gam-hero:after{content:"♪ ♫ ♩ ♬";opacity:.08;letter-spacing:.2em;pointer-events:none;font-size:5.5rem;position:absolute;top:-18px;right:-10px}.gam-hero h1{color:#fff;margin:0;font-size:1.9rem}.gam-hero-kicker{letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-size:.75rem;font-weight:700}.gam-hero-xp{margin:.15rem 0 .5rem;font-size:1.05rem;display:block}.gam-hero-xp strong{font-size:1.5rem}.gam-hero .xp-bar .muted,.gam-hero .xp-bar .small{color:#ffffffd9}.gam-hero-stats{flex-direction:column;gap:.5rem;display:flex}.gam-stat{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff24;border-radius:12px;align-items:center;gap:.55rem;padding:.4rem .75rem;display:flex}.gam-stat strong{font-size:1.2rem;line-height:1.1;display:block}.gam-stat .small{opacity:.85;display:block}.gam-stat-icon{text-align:center;width:2rem;font-size:1.5rem}.gam-stat.streak .flame{width:2rem!important;height:2rem!important}.gam-tip{background:var(--warn-soft);color:var(--warn);border-radius:12px;margin:.6rem 0 0;padding:.6rem .9rem;font-size:.9rem}@media (width<=760px){.gam-hero{grid-template-columns:auto 1fr;padding:1.1rem}.gam-hero-stats{flex-flow:wrap;grid-column:1/-1}.gam-stat{flex:30%;min-width:0;padding:.35rem .5rem}.gam-stat-icon{width:1.5rem;font-size:1.2rem}.gam-hero h1{font-size:1.5rem}}.xp-bar{flex-direction:column;gap:.3rem;display:flex}.xp-bar-track{background:#ffffff40;border-radius:99px;height:10px;overflow:hidden}.xp-bar-fill{transform-origin:0;background:linear-gradient(90deg,#ffe066,#fcc419);border-radius:99px;height:100%;animation:1.1s cubic-bezier(.22,1,.36,1) both bar-grow;display:block;position:relative;overflow:hidden;box-shadow:0 0 10px #fcc419b3}.xp-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:2.8s ease-in-out 1.2s infinite bar-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes bar-sweep{60%,to{transform:translate(100%)}}.gam-progress{background:var(--surface-2);border-radius:99px;height:7px;margin:.35rem 0 .2rem;display:block;overflow:hidden}.gam-progress>span{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #fcc419));transform-origin:0;border-radius:99px;height:100%;animation:.9s cubic-bezier(.22,1,.36,1) both bar-grow;display:block}.gam-progress.big{width:100%;height:10px}.gam-challenges{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.gam-challenge{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:.85rem;padding:.8rem 1rem;display:flex}.gam-challenge.done{background:color-mix(in srgb, #2b8a3e 7%, var(--surface));border-color:#2b8a3e}.gam-challenge-icon{font-size:1.9rem}.gam-filter{margin-bottom:.8rem}.gam-badges{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.gam-badges>li{animation:.4s cubic-bezier(.34,1.56,.64,1) both pop-in}.gam-badge{text-align:center;border:1px solid var(--border);background:var(--surface);width:100%;height:100%;color:inherit;cursor:pointer;font:inherit;border-radius:14px;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .4rem;transition:transform .15s,box-shadow .15s;display:flex}.gam-badge:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.gam-badge strong{font-size:.85rem;line-height:1.2}.gam-badge.locked strong{color:var(--muted)}.gam-badge.secret{cursor:default;border-style:dashed}.gam-badge-detail{text-align:center;flex-direction:column;align-items:center;gap:.5rem;max-width:360px;display:flex}.gam-badge-detail h2{margin:0}.tier-tag.tier-bronze{color:#8a4b14;background:#f4dcc6}.tier-tag.tier-prata{color:#495057;background:#e9ecef}.tier-tag.tier-ouro{color:#8a5a00;background:#fff3bf}.tier-tag.tier-especial{color:#862e9c;background:#f3d9fa}.gam-ranking{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.gam-ranking li{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.7rem;padding:.55rem .8rem;animation:.4s both fade-in;display:flex}.gam-ranking li.me{border-color:var(--accent);background:var(--accent-soft)}.gam-ranking li.pos-1{background:linear-gradient(90deg, color-mix(in srgb, #fcc419 18%, var(--surface)), var(--surface))}.gam-ranking.compact li{padding:.4rem .6rem}.gam-rank-pos{text-align:center;width:1.8rem;font-size:1.05rem;font-weight:800}.gam-rank-xp{font-variant-numeric:tabular-nums;font-weight:700}.gam-rewards{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.gam-rewards li{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.gam-rewards li.ok{border-color:var(--accent)}.gam-reward-icon{font-size:1.8rem}.gam-reward-icon.big{text-align:center;width:64px;font-size:2.6rem}.gam-how ul{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.4rem 1rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.gam-how li{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.gam-how .xp-chip{justify-content:center;min-width:4.2rem}.gam-empty{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding-top:3rem;display:flex}.gam-empty-art .medal{animation:3s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-8px)}}.gam-card{color:inherit;border-radius:16px;align-items:center;gap:.9rem;margin-bottom:1rem;padding:.8rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.gam-card:hover{text-decoration:none;transform:translateY(-1px)}.gam-card .level-ring{font-size:.7rem}.gam-card .level-ring-track{stroke:var(--border)}.gam-card .level-ring-fill{stroke:var(--accent)}.gam-card .level-ring-initials{color:var(--accent);background:var(--accent-soft)}.gam-card .gam-progress{max-width:360px}.gam-card-streak{align-items:center;gap:.2rem;font-size:1.2rem;display:flex}.celebration{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c12b8}.celebration .confetti{z-index:91}.celebration-card{z-index:92;text-align:center;background:var(--surface);border-radius:24px;flex-direction:column;align-items:center;gap:.5rem;width:min(380px,100vw - 32px);padding:1.8rem 1.4rem 1.4rem;animation:.55s cubic-bezier(.34,1.56,.64,1) both celebrate-in;display:flex;position:relative;box-shadow:0 30px 60px #0006}.celebration-card h2{margin:.2rem 0 0}.celebration-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:800}.celebration-medal{place-items:center;margin:.4rem 0;display:grid;position:relative}.celebration-medal:before{content:"";background:conic-gradient(#0000,#fcc41959,#0000 30%,#fcc41959,#0000 60%,#fcc41959,#0000);border-radius:50%;width:190px;height:190px;animation:6s linear infinite rays;position:absolute}.celebration-medal .medal{animation:.8s cubic-bezier(.34,1.56,.64,1) .15s both medal-drop}.celebration-level{background:linear-gradient(145deg,#fff3bf,#fcc419 55%,#e67700);border-radius:50%;place-items:center;width:130px;height:130px;margin:.4rem 0;animation:.8s cubic-bezier(.34,1.56,.64,1) .15s both medal-drop;display:grid;box-shadow:0 0 0 8px #fcc41940,0 10px 30px #e6770066}.celebration-level span{color:#5c3c00;font-size:3.6rem;font-weight:900}.challenge-burst{font-size:5rem;animation:.8s cubic-bezier(.34,1.56,.64,1) .15s both medal-drop;position:relative}@keyframes celebrate-in{0%{opacity:0;transform:scale(.7)translateY(30px)}}@keyframes medal-drop{0%{opacity:0;transform:scale(.2)rotate(-200deg)}70%{transform:scale(1.12)rotate(8deg)}}@keyframes rays{to{transform:rotate(360deg)}}.gam-tabs{flex-wrap:wrap}.tab-tag{margin-left:.35rem;padding:0 .35rem;font-size:.62rem}.gam-admin-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.gam-admin-grid h2{margin-top:0;font-size:1.05rem}.gam-feed{flex-direction:column;gap:.4rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.gam-feed li{align-items:center;gap:.6rem;display:flex}.gam-feed-icon{text-align:center;width:1.8rem;font-size:1.3rem}.gam-admin-badges{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:.6rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}@media (width<=520px){.gam-admin-badges{grid-template-columns:1fr}}.gam-admin-badges li{align-items:center;gap:.9rem;display:flex}.gam-admin-badges li.idle{opacity:.6}.gam-admin-badges .row-actions{flex-direction:column}.gam-editor{width:min(560px,100vw - 24px);max-height:calc(100vh - 40px);overflow-y:auto}.gam-editor-preview{background:var(--surface-2);border-radius:14px;align-items:center;gap:1rem;padding:.8rem;display:flex}.gam-icon-grid{flex-wrap:wrap;gap:.3rem;display:flex}.gam-icon-grid .chip{padding:.2rem .45rem;font-size:1.15rem}.gam-icon-input{text-align:center;width:4rem!important}.gam-icon-field input{text-align:center;width:4rem;font-size:1.2rem}.gam-colors{flex-wrap:wrap;gap:.35rem;padding-top:.3rem;display:flex}.gam-color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.gam-color.on{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}.gam-holders{flex-direction:column;gap:.6rem;width:min(520px,100vw - 24px);max-height:calc(100vh - 40px);display:flex;overflow-y:auto}.gam-holders.wide{width:min(680px,100vw - 24px)}.gam-holders h3{margin:.6rem 0 0;font-size:.95rem}.gam-pick{flex-direction:column;gap:.2rem;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.gam-pick li{border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .4rem;display:flex}.gam-pick li:hover{background:var(--surface-2)}.gam-pick .gam-progress{max-width:260px}.gam-table tr.clickable{cursor:pointer}.gam-table tr.clickable:hover td{background:var(--surface-2)}.gam-detail-head{align-items:center;gap:.9rem;display:flex}.gam-detail-head h2{margin:0}.gam-detail-head .level-ring-track{stroke:var(--border)}.gam-detail-head .level-ring-fill{stroke:var(--accent)}.gam-detail-head .level-ring-initials{color:var(--accent);background:var(--accent-soft)}.gam-metrics{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem;display:grid}.gam-metrics span{background:var(--surface-2);border-radius:10px;flex-direction:column;padding:.45rem .6rem;display:flex}.gam-metrics strong{font-size:1.15rem}.gam-mini-badges{flex-wrap:wrap;gap:.3rem;margin:0;font-size:1.6rem;display:flex}.gam-private{border:1px dashed var(--warn);background:var(--warn-soft);flex-direction:column;gap:.2rem;display:flex}.gam-weights{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.5rem 1rem;margin:.6rem 0 1rem;display:grid}.gam-weights label{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.gam-weights input{width:5rem}@media (prefers-reduced-motion:reduce){.medal-shine:after,.flame.on .flame-outer,.flame.on .flame-inner,.xp-bar-fill,.xp-bar-fill:after,.level-ring-fill,.gam-progress>span,.celebration-card,.celebration-medal:before,.celebration-medal .medal,.celebration-level,.challenge-burst,.gam-badges>li,.gam-empty-art .medal,.gam-ranking li{animation:none!important}}.celebration-medal{width:190px;height:190px;margin:0}.gam-more{margin:.8rem auto 0;display:block}@media (width<=520px){.gam-badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.gam-badge{padding:.6rem .25rem}.gam-badge .medal{width:58px!important;height:58px!important;font-size:8.7px!important}.gam-badge strong{font-size:.75rem}}.card-credits{flex-wrap:wrap;gap:0 .5rem;display:flex}.card-arranger strong{color:var(--text);font-weight:600}.arrangement-credits a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:2px}.arrangement-credits a:hover{color:var(--accent)}.part-select{position:relative}.part-select-trigger{border:1px solid var(--border);background:var(--surface);width:100%;min-width:220px;max-width:340px;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;padding:.5rem .7rem .5rem .55rem;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0000000a}.part-select-trigger:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.part-select-trigger.open,.part-select-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.part-select-icon{background:var(--accent-soft);border-radius:8px;flex:none;place-items:center;width:1.9rem;height:1.9rem;font-size:1.05rem;display:grid}.part-select-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.part-select-chevron{color:var(--muted);flex:none;transition:transform .2s}.part-select-trigger.open .part-select-chevron{transform:rotate(180deg)}.part-select-backdrop{display:none}.part-select-menu{z-index:60;border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;width:max(100%,320px);max-height:min(70vh,560px);animation:.16s ease-out menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 18px 40px #0000002e,0 2px 6px #00000014}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.part-select-grip{display:none}.part-select-head{justify-content:space-between;align-items:baseline;padding:.7rem .9rem .4rem;display:flex}.part-select-search{margin:0 .7rem .4rem;width:calc(100% - 1.4rem)!important}.part-select-list{overscroll-behavior:contain;padding:.2rem .4rem .5rem;overflow-y:auto}.part-option-group{flex-direction:column;margin-top:.35rem;display:flex}.part-option-group-title{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface);padding:.35rem .5rem;font-size:.72rem;font-weight:700;position:sticky;top:0}.part-option{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.5rem;padding:.55rem .6rem;display:flex}.part-option:hover,.part-option:focus-visible{background:var(--surface-2);outline:none}.part-option.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.part-option-name{flex:1}.part-option.all-parts{border-bottom:1px solid var(--border);border-radius:9px 9px 0 0;flex-wrap:wrap;margin-bottom:.1rem}.part-option.all-parts .muted{flex-basis:100%;order:3;margin-top:-.15rem}.part-option-check{flex:none}.part-option-empty{padding:.8rem}@media (width<=640px){.part-select-trigger{min-width:0;max-width:none}.part-select-backdrop{z-index:59;background:#00000059;animation:.2s fade-in;display:block;position:fixed;inset:0}.part-select-menu{width:100%;max-height:78vh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:18px 18px 0 0;animation:.25s cubic-bezier(.22,1,.36,1) sheet-up;position:fixed;inset:auto 0 0}.part-select-grip{margin:.5rem auto 0;display:block}.part-option{padding:.75rem .7rem;font-size:1rem}}@media (prefers-reduced-motion:reduce){.part-select-menu,.part-select-backdrop{animation:none}}.other-device{flex-direction:column;gap:.7rem;display:flex}.other-device-code{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.other-device-code img{border:1px solid var(--border);background:#fff;border-radius:12px;padding:6px}.other-device-code>div{flex-direction:column;gap:.3rem;max-width:340px;display:flex}.link-code{letter-spacing:.12em;color:var(--accent);font:800 2rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace}.link-code-input{letter-spacing:.15em;text-transform:uppercase;text-align:center;font:700 1.6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace!important}.link-who{background:var(--accent-soft);border-radius:12px;flex-direction:column;gap:.15rem;padding:.8rem 1rem;display:flex}.link-who strong{font-size:1.25rem}.similar-names{border:1px solid var(--warn);background:var(--warn-soft);border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.similar-name{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:.55rem .7rem}.similar-name:hover{border-color:var(--accent)}.welcome-link{margin:.3rem 0 0}.dup-panel{border-color:var(--warn);flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.dup-panel ul{flex-direction:column;gap:.35rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.dup-panel li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.concert-loading{z-index:55;color:#f6ecd6;background:radial-gradient(70% 55% at 50% 38%, color-mix(in srgb, var(--accent) 26%, #141a2a) 0%, #0b0f1a 62%, #06080e 100%);place-items:center;padding:24px;transition:opacity .85s cubic-bezier(.4,0,.2,1),visibility .85s;display:grid;position:fixed;inset:0;overflow:hidden}.concert-loading.done{opacity:0;visibility:hidden}.concert-loading.done .cl-stage{filter:blur(6px);opacity:0;transform:scale(1.08)}.cl-spot{pointer-events:none;filter:blur(18px);background:conic-gradient(from 180deg at 50% 0,#0000 168deg,#ffecbe1a 180deg,#0000 192deg);width:70vmax;height:120vh;animation:7s ease-in-out infinite alternate cl-spot;position:absolute;top:-20%;left:50%;transform:translate(-50%)}@keyframes cl-spot{0%{opacity:.65;transform:translate(-50%)rotate(-2deg)}to{opacity:1;transform:translate(-50%)rotate(2deg)}}.cl-dust{pointer-events:none;position:absolute;inset:0}.cl-dust span{opacity:0;background:#ffe7b0;border-radius:50%;animation-name:cl-dust;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-10px;box-shadow:0 0 6px #ffd98a}@keyframes cl-dust{0%{opacity:0;transform:translate(0)}15%{opacity:.55}85%{opacity:.35}to{opacity:0;transform:translate(var(--drift), -105vh)}}.cl-back{color:#f6ecd6b3;z-index:2;font-size:1.4rem;text-decoration:none;position:absolute;top:14px;left:16px}.cl-stage{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.7rem;width:min(620px,100%);transition:transform .85s cubic-bezier(.4,0,.2,1),filter .85s,opacity .85s;animation:.9s cubic-bezier(.22,1,.36,1) both cl-rise;display:flex;position:relative}@keyframes cl-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}}.cl-staff{width:100%;height:auto;overflow:visible}.cl-line{stroke:url(#cl-gold);stroke-width:1.15px;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s cubic-bezier(.65,0,.35,1) forwards cl-draw}@keyframes cl-draw{to{stroke-dashoffset:0}}.cl-clef{fill:#f3e2b8;opacity:0;filter:drop-shadow(0 0 6px #e8c4778c);transform-box:fill-box;transform-origin:50%;font-family:Bravura,Noto Music,Segoe UI Symbol,serif;font-size:74px;animation:1.2s cubic-bezier(.22,1,.36,1) .45s forwards cl-clef}@keyframes cl-clef{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:.95;transform:none}}.cl-sweep{mix-blend-mode:screen;animation:.9s linear infinite cl-sweep}@keyframes cl-sweep{0%{transform:translate(0)}to{transform:translate(460px)}}.cl-note{opacity:0}.cl-note.in{opacity:1}.cl-note.in .cl-head{transform-box:fill-box;transform-origin:50%;animation:cl-drop .75s var(--drop,0s) cubic-bezier(.34, 1.56, .64, 1) both, cl-lit var(--sweep) calc(.9s + var(--at)) ease-out infinite}.cl-head line{stroke:#efe2c4;stroke-width:1.7px}@keyframes cl-drop{0%{opacity:0;transform:translateY(-26px)scale(.6)}60%{opacity:1}}@keyframes cl-lit{0%{filter:brightness(2.1)drop-shadow(0 0 8px #ffd98a);transform:scale(1.18)}18%{filter:none;transform:scale(1)}to{filter:none;transform:scale(1)}}.cl-ripple{fill:none;stroke:#ffe2a0;stroke-width:1.1px;opacity:0;transform-box:fill-box;transform-origin:50%}.cl-note.in .cl-ripple{animation:cl-ripple var(--sweep) calc(.9s + var(--at)) ease-out infinite}@keyframes cl-ripple{0%{opacity:.8;transform:scale(.6)}25%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}.cl-title{letter-spacing:.01em;color:#fbf3e2;text-shadow:0 2px 18px #e8c47740;max-width:100%;margin:.2rem 0 0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Times New Roman,serif;font-size:clamp(1.25rem,3.4vw,1.75rem);font-weight:500;line-height:1.25;animation:1s cubic-bezier(.22,1,.36,1) .25s both cl-rise}.cl-message{letter-spacing:.06em;text-transform:uppercase;color:#f6ecd69e;font-size:.86rem;animation:.5s both cl-msg}@keyframes cl-msg{0%{opacity:0;filter:blur(2px);transform:translateY(4px)}}.cl-progress{align-items:center;gap:.75rem;width:min(340px,82%);margin-top:.2rem;display:flex}.cl-progress-track{background:#f6ecd624;border-radius:2px;flex:1;height:2px;position:relative;overflow:visible}.cl-progress-fill{background:linear-gradient(90deg,#b8862f,#f3d48a);border-radius:2px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block;position:relative}.cl-progress-fill:after{content:"";background:#fff3cf;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;right:-3px;box-shadow:0 0 10px 3px #ffd98ab3}.cl-pct{text-align:right;font-variant-numeric:tabular-nums;color:#f3d48a;min-width:2.8rem;font-size:.85rem;font-weight:600}.cl-signature{bottom:max(1.25rem, env(safe-area-inset-bottom));text-align:center;letter-spacing:.08em;color:#f6ecd68c;font-size:.78rem;font-weight:600;position:absolute;left:0;right:0}.cl-signature em{color:#f6ecd66b;font-weight:400}@media (prefers-reduced-motion:reduce){.cl-spot,.cl-dust,.cl-sweep{display:none}.cl-line{stroke-dashoffset:0;animation:none}.cl-clef{opacity:.95;animation:none}.cl-note.in .cl-head,.cl-note.in .cl-ripple,.cl-stage,.cl-title,.cl-message{animation:none!important}}.cl-canvas{width:100%;height:100%;transition:transform 1s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.concert-loading.done .cl-canvas{transform:scale(1.12)}.concert-loading .cl-stage{width:min(640px,100% - 32px);margin:0 auto;position:absolute;top:52%;left:0;right:0}@media (width<=640px){.concert-loading .cl-stage{top:50%}}.cl-title{animation:none}.cl-word{white-space:nowrap;display:inline-block}.cl-char{opacity:0;filter:blur(8px);animation:.75s cubic-bezier(.22,1,.36,1) forwards cl-char;display:inline-block;transform:translateY(.45em)rotateX(55deg)}@keyframes cl-char{to{opacity:1;filter:blur();transform:none}}@media (prefers-reduced-motion:reduce){.cl-char{opacity:1;filter:none;animation:none;transform:none}}.cl-spot{will-change:transform}.concert-loading.cl-lite .cl-spot{filter:none;opacity:.5;animation:none}.concert-loading.cl-lite .cl-char{filter:none;animation-name:cl-char-lite}@keyframes cl-char-lite{to{opacity:1;transform:none}}.concert-loading.cl-lite .cl-progress-fill:after{box-shadow:none}.ios-install{z-index:95}.ios-install-card{text-align:center;flex-direction:column;align-items:center;gap:.6rem;width:min(380px,100vw - 32px);animation:.3s both pop-in;display:flex}.ios-install-card h2{margin:0}.ios-install-icon{box-shadow:var(--shadow);border-radius:16px}.ios-steps{text-align:left;flex-direction:column;gap:.65rem;margin:.3rem 0 .4rem;padding:0;list-style:none;display:flex}.ios-steps li{align-items:center;gap:.75rem;display:flex}.ios-step-icon{background:var(--accent-soft);width:2.6rem;height:2.6rem;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.ios-step-icon.add{width:auto;padding:0 .6rem;font-size:.8rem;font-weight:700}.ios-install-arrow{color:#fff;text-shadow:0 2px 10px #00000080;pointer-events:none;font-size:2.4rem;animation:1s ease-in-out infinite alternate ios-arrow;position:fixed;left:50%;transform:translate(-50%)}.ios-install-arrow.bottom{bottom:calc(6px + env(safe-area-inset-bottom))}.ios-install-arrow.top{top:6px;left:auto;right:22px;transform:none}@keyframes ios-arrow{to{translate:0 10px}}.ios-install-arrow.top{animation-name:ios-arrow-up}@keyframes ios-arrow-up{to{translate:0 -8px}}@media (prefers-reduced-motion:reduce){.ios-install-arrow{animation:none}}.concert-loading{color:var(--text);background:radial-gradient(80% 60% at 50% 34%, color-mix(in srgb, var(--accent) 9%, var(--bg)) 0%, var(--bg) 70%), var(--bg)}.concert-loading .cl-spot{background:conic-gradient(from 180deg at 50% 0%, transparent 168deg, color-mix(in srgb, var(--accent) 10%, transparent) 180deg, transparent 192deg);opacity:.8}.concert-loading .cl-back{color:var(--muted)}.concert-loading .cl-title{letter-spacing:-.01em;color:var(--text);text-shadow:none;font-family:inherit;font-weight:700}.concert-loading .cl-message{color:var(--muted)}.concert-loading .cl-progress-track{background:var(--surface-2)}.concert-loading .cl-progress-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 70%, var(--bg)), var(--accent))}.concert-loading .cl-progress-fill:after{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent), 0 0 12px color-mix(in srgb, var(--accent) 45%, transparent)}.concert-loading .cl-pct{color:var(--accent)}.concert-loading .cl-signature{color:var(--muted)}.concert-loading .cl-signature em{color:var(--muted);opacity:.8}
