.chips-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex:none;align-self:center;padding-right:2px;font-size:12px;font-weight:700}.chip-n{opacity:.7;font-size:11px}.filter-note{color:var(--muted);margin:0 0 8px;font-size:13px}.chips.wrap{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.check-row{align-items:center;gap:10px;font-weight:600;display:flex}.check-row input{width:20px;height:20px;accent-color:var(--brand)}.link.inline{width:auto;padding:0 0 0 8px}.tabs-row{margin:18px 0 12px}.small-title{margin:16px 0 8px;font-size:15px}.annotate-bar{background:var(--note-bg);color:var(--note-tx);border-radius:10px;align-items:center;gap:6px;margin-top:10px;padding:8px 12px;font-size:13px;display:flex}.song.annotating .ann-line{cursor:pointer;border-radius:6px;outline:1px dashed #0000}.song.annotating .ann-line:hover,.song.annotating .ann-line:active{outline-color:var(--border)}.ann-line{border-radius:6px;margin:0 -6px;padding:0 6px}.hl-amarillo{background:#fad65059}.hl-verde{background:#50c87847}.hl-azul{background:#5096f042}.hl-rosa{background:#f064a042}.ann-note{color:var(--note-tx);background:var(--note-bg);border-radius:8px;margin:2px 0 4px;padding:2px 8px;font-size:.68em;font-style:italic;display:inline-block}.ann-shared{opacity:.7;font-style:normal}.ann-quote{border-left:3px solid var(--chord);background:var(--surface);border-radius:0 8px 8px 0;margin-bottom:14px;padding:6px 10px}.color-row{gap:10px;display:flex}.color-dot{border:2px solid var(--border);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.color-dot.on{border-color:var(--text);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text)}.voices-info{margin:4px 0 10px}.voice-me{background:var(--brand);color:var(--cream);border-radius:999px;margin-bottom:6px;padding:4px 12px;font-size:13px;display:inline-block}.voice-chips{flex-wrap:wrap;gap:6px;display:flex}.voice-chip{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px}.voice-chip.me{border-color:var(--brand-2);color:var(--text);font-weight:700}.voices-editor{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.voice-row{align-items:center;gap:10px;padding:8px 12px;display:flex}.voice-row+.voice-row{border-top:1px solid var(--border)}.voices-editor .voice-row select{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex:none;width:140px;padding:7px 6px;font-size:14px}.pill-btn{border:1px solid var(--border);cursor:pointer}.pill-btn.on{background:var(--brand);color:var(--cream);border-color:var(--brand)}.arr-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:8px 0 0;padding:0;list-style:none;overflow:hidden}.arr-item{align-items:center;gap:6px;padding:6px 4px 6px 10px;display:flex}.arr-item+.arr-item{border-top:1px solid var(--border)}.arr-item .num{width:20px;color:var(--muted);font-size:13px;font-weight:700}.chat-list{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.msg-row{display:flex}.msg-row.mine{justify-content:flex-end}.bubble{background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 16px 4px;max-width:82%;padding:7px 11px 5px}.msg-row.mine .bubble{background:var(--brand);border-color:var(--brand);color:var(--cream);border-radius:16px 16px 4px}.msg-author{color:var(--brand-2);margin-bottom:1px;font-size:12px;font-weight:700}.msg-song{opacity:.85;align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:underline;display:inline-flex}.msg-body{white-space:pre-wrap;word-break:break-word}.msg-meta{opacity:.65;justify-content:flex-end;align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.msg-del{color:inherit;background:0 0;border:0;padding:0;display:inline-flex}.chat-form{bottom:calc(64px + var(--safe-bottom));background:var(--bg);flex-direction:column;gap:6px;padding:8px 0;display:flex;position:sticky}.chat-form select{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-self:flex-start;padding:5px 10px;font-size:13px}.chat-input{align-items:flex-end;gap:8px;display:flex}.chat-input textarea{resize:none;border:1px solid var(--border);background:var(--surface);border-radius:20px;outline:none;flex:1;max-height:120px;padding:10px 14px;font-size:16px}.send-btn{border-radius:50%;flex:none;width:46px;padding:0}.notify-prefs{flex-direction:column;gap:4px;margin-top:14px;display:flex}.ok-text{color:var(--ok);font-weight:600}.notify-banner{left:12px;right:12px;bottom:calc(72px + var(--safe-bottom));z-index:25;background:var(--surface);border:1px solid var(--border);max-width:600px;color:var(--text);border-radius:16px;align-items:center;gap:10px;margin:0 auto;padding:10px 10px 10px 14px;display:flex;position:fixed;box-shadow:0 8px 30px #0000002e}.notify-banner .row-main{flex:1;min-width:0}.notify-prefs .check-row{font-size:15px;font-weight:400}.live-dot{background:#e5484d;border-radius:50%;flex:none;width:9px;height:9px;animation:1.6s infinite live-pulse;display:inline-block;box-shadow:0 0 #e5484d99}@keyframes live-pulse{70%{box-shadow:0 0 0 7px #e5484d00}to{box-shadow:0 0 #e5484d00}}.icon-btn.live-on{color:#ff8a8d}.icon-btn.live-follow{color:var(--chord)}.live-panel .live-line{align-items:center;gap:8px;font-weight:600;display:flex}.live-help{color:var(--muted);margin:0;font-size:13px}.live-panel .btn{background:var(--surface2);color:var(--text);border-color:var(--border)}.live-panel .btn.primary{background:#1d6a5f;border-color:#1d6a5f}.live-strip{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--chord);background:#10302a;justify-content:center;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.live-strip.lead{color:#ffb3b5;background:#2a1517}.cue-bar{border-top:1px solid var(--border);scrollbar-width:none;background:#0b221e;gap:6px;padding:6px 8px;display:flex;overflow-x:auto}.cue-bar::-webkit-scrollbar{display:none}.cue-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:999px;flex:none;padding:8px 14px;font-size:14px;font-weight:600}.cue-btn:active{background:#1d6a5f}.cue-pop{left:50%;top:calc(96px + var(--safe-top));z-index:40;color:#1a1204;text-align:center;background:#f7b955;border-radius:18px;padding:12px 28px 10px;animation:.25s ease-out cue-in;position:fixed;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.cue-text{font-size:34px;font-weight:800;line-height:1.1}.cue-from{opacity:.7;font-size:12px;font-weight:600}@keyframes cue-in{0%{opacity:0;transform:translate(-50%)scale(.8)}}.live-notice{left:50%;bottom:calc(130px + var(--safe-bottom));z-index:40;color:var(--text);border:1px solid var(--border);white-space:nowrap;background:#173a35;border-radius:999px;padding:8px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.live-banner{background:var(--surface);color:var(--text);border:1px solid #e5484d;border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 12px 12px 14px;text-decoration:none;display:flex}.live-banner .row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-btns+.row-btns{margin-top:10px}.gcal-note{background:var(--surface2);color:var(--muted);border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;display:flex}.gcal-note .icon{flex:none;margin-top:1px}.gcal-when{padding:10px 0 2px;font-weight:600}.field input:disabled{opacity:.6}.setlist-item .remove-btn{background:var(--danger);color:#fff;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:flex}.setlist-item .grip{width:36px;height:44px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;display:flex}.setlist-item .grip .icon{stroke-width:3.2px}.setlist.dragging{-webkit-user-select:none;user-select:none}.setlist.dragging .grip{cursor:grabbing}.setlist-item.lifted{background:var(--surface2);box-shadow:var(--shadow);z-index:2;position:relative}.color-dot.hl-amarillo{background:#f5c842}.color-dot.hl-verde{background:#4cc27a}.color-dot.hl-azul{background:#4f8fea}.color-dot.hl-rosa{background:#ec6aa6}.key-note{background:var(--note-bg);color:var(--note-tx);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 12px;font-size:14px;display:flex}.key-note .link.inline{color:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.editor-tools{align-items:center;gap:10px;margin-bottom:6px;display:flex}.editor-tools .btn{flex:none}.att-form{flex-direction:column;gap:12px;display:flex}.att-form h3{text-align:center;margin:0;font-size:1.15rem}.att-gate-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 0;padding:20px 16px}.att-insts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.att-mine{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;margin:10px 0;padding:10px 12px;display:flex}.att-mine.yes{border-color:var(--ok);color:var(--ok)}.att-mine.pending{border-style:dashed}.att-mine .row-main{color:var(--text);font-weight:600}.att-team h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px;font-size:.85rem}.att-summary{margin:4px 0 0;font-weight:600}.att-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none}.att-list li{justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.att-list li+li{border-top:1px solid var(--border)}.att-list.pending li span:first-child{color:var(--muted)}.ref-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:10px 0;padding:8px 10px}.ref-head{align-items:center;gap:8px;display:flex}.ref-head .row-main{min-width:0;font-size:.9rem;font-weight:600}.ref-embed{aspect-ratio:16/9;border:0;border-radius:10px;width:100%;margin-top:8px;display:block}.ref-embed.spotify{aspect-ratio:auto;height:152px}.att-pend{color:var(--chord)}.lead-bar{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 4px;display:flex}.lead-scope{color:var(--muted);font-size:12px}.song .sec{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sec-lead{font:inherit;letter-spacing:0;text-transform:none;color:var(--muted);border:1px dashed var(--border);background:0 0;border-radius:999px;max-width:60vw;padding:2px 6px;font-size:12px;font-weight:600}.sec-lead.own{color:var(--chord);border-style:solid;border-color:var(--chord)}.sec-lead.ro{border:0;padding:0;font-size:.95em}.sec-lead.ro:before{content:"· "}.team-key b{color:var(--text);border:1px solid var(--border);background:var(--surface2);border-radius:10px;padding:6px 10px;font-size:15px}:root{--bg:#f7f5e8;--surface:#fffef7;--surface2:#efecd9;--text:#10302b;--muted:#5b716c;--border:#dcd7bd;--brand:#134f47;--brand-2:#1c6b60;--cream:#f5f3da;--chord:#b0501a;--note-bg:#f3e8c4;--note-tx:#5f4a17;--danger:#b3261e;--ok:#2e7d4f;--shadow:0 1px 2px #10302b14, 0 4px 16px #10302b0f;--radius:14px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b211e;--surface:#102b27;--surface2:#173a35;--text:#f5f3da;--muted:#a3b5ad;--border:#25463f;--brand:#1d6a5f;--brand-2:#27897b;--chord:#f3b35a;--note-bg:#2b2d1b;--note-tx:#e9d9a4;--danger:#ff8a80;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b211e;--surface:#102b27;--surface2:#173a35;--text:#f5f3da;--muted:#a3b5ad;--border:#25463f;--brand:#1d6a5f;--brand-2:#27897b;--chord:#f3b35a;--note-bg:#2b2d1b;--note-tx:#e9d9a4;--danger:#ff8a80;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{margin:0;font-family:Georgia,Iowan Old Style,Palatino Linotype,serif;font-weight:600}.app{min-height:100dvh;padding-bottom:calc(64px + var(--safe-bottom))}.screen{max-width:820px;margin:0 auto}.content{padding:12px 16px 24px}.topbar{z-index:20;background:var(--brand);color:var(--cream);padding-top:var(--safe-top);position:sticky;top:0}.topbar-row{align-items:center;gap:8px;max-width:820px;min-height:56px;margin:0 auto;padding:0 8px 0 12px;display:flex}.topbar-logo{width:34px;height:34px}.topbar-title{flex:1;min-width:0}.topbar-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.topbar-sub{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.topbar-right{align-items:center;gap:4px;display:flex}.tabbar{z-index:30;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;display:flex}.tabbar a.on{color:var(--brand-2);font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tabbar a.on{color:var(--chord)}}:root[data-theme=dark] .tabbar a.on{color:var(--chord)}.offline{padding:calc(4px + var(--safe-top)) 8px 4px;color:#fff;background:#7a5a12;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.offline+main .topbar{padding-top:0}.icon-btn{width:42px;height:42px;color:inherit;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active,.icon-btn.on{background:#ffffff24}.icon-btn.sm{width:34px;height:34px}.icon-btn:disabled{opacity:.3}.btn{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.btn.small{min-height:36px;padding:0 14px;font-size:14px}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--cream)}.topbar .btn.primary{background:var(--cream);color:var(--brand);border-color:var(--cream)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.block{width:100%;margin-top:12px;display:flex}.btn:disabled,.btn.disabled{opacity:.45;pointer-events:none}.btn:active{transform:scale(.98)}.link{color:var(--brand-2);background:0 0;border:0;width:100%;padding:12px;font-weight:600}.row-btns{gap:10px;display:flex}.row-btns>*{white-space:nowrap;flex:1}.segmented{background:var(--surface2);border-radius:12px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:1;padding:9px 6px;font-size:14px;font-weight:500}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:650}.segmented.small button{padding:6px 8px;font-size:13px}.search{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin-bottom:10px;padding:0 12px;display:flex}.search input{color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:12px 0;font-size:16px}.chips{scrollbar-width:none;gap:6px;margin:0 -16px 4px;padding-bottom:8px;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.chip.on{background:var(--brand);color:var(--cream);border-color:var(--brand)}.form .field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.field input,.field select,.field textarea,.song-input{border:1px solid var(--border);background:var(--surface);border-radius:10px;outline:none;width:100%;padding:11px 12px;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus,.song-input:focus{border-color:var(--brand-2)}.grid3{grid-template-columns:1.3fr 1fr 1fr;gap:10px;display:grid}.field-inline{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.field-inline select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:7px 8px;font-size:15px;font-weight:700}.song-input{white-space:pre;min-height:55vh;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.45;overflow-x:auto}.editor-tabs{margin:6px 0 10px}.preview{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:30vh;padding:12px 14px}.small-preview{min-height:0;margin-bottom:14px}.help pre{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:14px;overflow-x:auto}.help li{margin-bottom:6px}.list{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin:0;padding:0;list-style:none;overflow:hidden}.list li+li{border-top:1px solid var(--border)}.row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:13px 14px;display:flex}.row:active,.row.selected{background:var(--surface2)}.row:disabled{opacity:1;cursor:default}.row-main{flex:1;min-width:0}.row-title{align-items:center;gap:8px;font-weight:600;display:flex}.row-sub{color:var(--muted);margin-top:2px;font-size:13px}.row-sub.warn{color:#a06a00}.key-chip{text-align:center;min-width:38px;color:var(--chord);background:var(--surface2);border-radius:8px;flex:none;padding:5px 8px;font-size:14px;font-weight:700}.btn-chip{border:1px solid var(--border)}.status-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.st-lista{background:#2e9d5b}.st-poca{background:#e3b62b}.st-regular{background:#e8792b}.st-no{background:#d23c32}.badge{background:var(--brand);color:var(--cream);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.avatar{background:var(--brand);width:40px;height:40px;color:var(--cream);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.pick{border:2px solid var(--border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex}.row.selected .pick{background:var(--brand);border-color:var(--brand);color:var(--cream)}.cards{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:14px;padding:12px 14px;display:flex}.event-date{background:var(--brand);width:52px;height:56px;color:var(--cream);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.event-date .d{font-size:22px;font-weight:700}.event-date .m{text-transform:uppercase;margin-top:3px;font-size:12px}.event-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px 14px}.event-notes{white-space:pre-wrap;margin-top:6px}.list-title{margin:20px 0 10px;font-size:18px}.setlist{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.setlist-item{align-items:center;gap:10px;padding:8px 6px 8px 12px;display:flex}.setlist-item+.setlist-item{border-top:1px solid var(--border)}.setlist-item .num{width:24px;color:var(--muted);text-align:center;flex:none;font-weight:700}.setlist-item .row-main{padding:6px 0}.updown{flex-direction:column;display:flex}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty h3{color:var(--text);margin:10px 0 6px;font-size:18px}.empty p{margin:0}.loading{text-align:center;color:var(--muted);padding:40px}.muted{color:var(--muted);font-weight:400}.small{font-size:13px}.center{text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:16px}.card h3{margin-bottom:12px;font-size:17px}.song-content{padding-top:0}.keybar{top:calc(56px + var(--safe-top));z-index:10;background:var(--bg);border-bottom:1px solid var(--border);margin:0 -16px;padding:10px 16px 8px;position:sticky}.keybar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.keybar-row .segmented{margin-left:auto}.keybar-hint{color:var(--muted);margin-top:6px;font-size:13px}.song-meta{flex-wrap:wrap;gap:6px;margin:12px 0 8px;display:flex}.meta-pill{background:var(--surface2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.song-notes{background:var(--note-bg);color:var(--note-tx);border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:14px}.song-foot{flex-direction:column;align-items:center;gap:10px;margin-top:28px;display:flex}.song{padding-bottom:12px;line-height:1.35}.song .sec{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-2);margin:1.1em 0 .35em;font-size:.72em;font-weight:800}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .song .sec{color:#8fd1c3}}:root[data-theme=dark] .song .sec,.stage .song .sec{color:#8fd1c3}.song .note{background:var(--note-bg);color:var(--note-tx);border-radius:8px;margin:.35em 0;padding:3px 9px;font-size:.72em;font-style:italic;display:inline-block}.song .sep{border:0;border-top:1px dashed var(--border);margin:.7em 0}.song .gap{height:.6em}.song .lyric{margin:.15em 0}.song .chordrow{flex-wrap:wrap;gap:.25em .9em;margin:.3em 0 .15em;display:flex}.song .ch{color:var(--chord);white-space:nowrap;font-size:.9em;font-weight:700}.song .lbl{color:var(--muted);align-self:center;font-size:.8em}.song .pair{flex-wrap:wrap;align-items:flex-end;margin:.15em 0;display:flex}.song .seg{flex-direction:column;display:inline-flex}.song .seg .ch{padding-right:.45em;line-height:1.2}.song .seg .tx{white-space:pre}.song.view-chords .chordrow{margin:.25em 0}.sheet-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:620px;max-height:88dvh;animation:.2s ease-out up;display:flex}@media (width>=700px){.sheet-backdrop{align-items:center}.sheet{border-radius:20px}}.sheet-head{justify-content:space-between;align-items:center;padding:14px 10px 8px 18px;display:flex}.sheet-head h2{font-size:19px}.sheet-body{-webkit-overflow-scrolling:touch;padding:4px 16px 16px;overflow-y:auto}.sheet-foot{padding:10px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--border)}.sheet-foot .btn.block{margin-top:0}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.toast{left:50%;bottom:calc(80px + var(--safe-bottom));z-index:60;color:#f5f3da;background:#10302b;border-radius:12px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;animation:.2s fade;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.toast.err{background:#8c1d18}.splash,.login{background:var(--brand);min-height:100dvh;color:var(--cream)}.splash{justify-content:center;align-items:center;display:flex}.splash img{opacity:.9;width:110px}.login{padding:calc(40px + var(--safe-top)) 16px 40px}.login-hero{text-align:center;margin-bottom:24px}.login-hero img{width:120px;height:120px}.login-hero h1{margin-top:8px;font-size:34px}.login-hero p{opacity:.8;letter-spacing:.12em;text-transform:uppercase;margin:4px 0 0;font-size:13px}.login-card{background:var(--bg);max-width:420px;color:var(--text);border-radius:20px;margin:0 auto;padding:18px}.login-card .segmented{margin-bottom:16px}.login-card h3{margin-bottom:14px}.msg{border-radius:10px;margin-bottom:10px;padding:10px 12px;font-size:14px}.msg.ok{color:#1c5a35;background:#dff1e5}.msg.err{color:#8c1d18;background:#fbe3e1}.install-banner{left:12px;right:12px;bottom:calc(72px + var(--safe-bottom));z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:600px;margin:0 auto;padding:10px 10px 10px 12px;position:fixed;box-shadow:0 8px 30px #0000002e}.install-row{align-items:center;gap:10px;display:flex}.install-row img{border-radius:10px;width:40px;height:40px}.install-help h4{margin:12px 0 4px;font-size:15px}.install-help ol{margin:0;padding-left:20px;font-size:14px}.install-help li{margin:3px 0}.stage{--text:#f5f3da;--muted:#9fb3aa;--chord:#f7b955;--note-bg:#2b2d1b;--note-tx:#ecdca6;--border:#25463f;--surface:#102b27;--surface2:#173a35;--bg:#071815;background:var(--bg);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-direction:column;display:flex;position:fixed;inset:0}.stage-top{padding:calc(4px + var(--safe-top)) 6px 4px;border-bottom:1px solid var(--border);background:#0b221e;align-items:center;gap:4px;display:flex}.stage-title{flex:1;min-width:0;padding:0 4px}.stage-title .t{white-space:nowrap;text-overflow:ellipsis;font-family:Georgia,serif;font-size:18px;font-weight:600;overflow:hidden}.stage-title .s{color:var(--chord);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.stage-controls{border-bottom:1px solid var(--border);background:#0f2a25;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.ctrl-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ctrl-label{color:var(--muted);font-size:13px;font-weight:600}.ctrl-val{text-align:center;min-width:26px;font-weight:700}.stage-scroll{-webkit-overflow-scrolling:touch;flex:1;padding:14px 18px 40vh;overflow-y:auto}.stage .song{max-width:1100px;margin:0 auto}.stage-end{text-align:center;color:var(--muted);margin-top:30px;font-size:15px}.stage-nav{padding:6px 8px calc(6px + var(--safe-bottom));border-top:1px solid var(--border);background:#0b221e;gap:8px;display:flex}.nav-btn{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:46px;font-weight:600;display:flex}.nav-btn.next{flex:1.6}.nav-btn:disabled{opacity:.35}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stage-empty{text-align:center;margin:auto}.topbar-logo,.login-hero img,.splash img{object-fit:contain}
