@charset "UTF-8";@font-face{font-family:AHMono;src:url(/acordia/assets/atkinson-mono-regular-ST0J4L3U.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:AHMono;src:url(/acordia/assets/atkinson-mono-bold-Bo0-DIX7.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:AHSans;src:url(/acordia/assets/atkinson-regular-ycu_OfBo.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:AHSans;src:url(/acordia/assets/atkinson-bold-DND0wAMM.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Lexend;src:url(/acordia/assets/lexend-regular-jxeK1Ufo.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Lexend;src:url(/acordia/assets/lexend-bold-BKbvVdeD.ttf) format("truetype");font-weight:700;font-display:swap}:root{--bg: #f5f7fc;--seg-bg: #d7ddec;--seg-ink: #4a5674;--surface: #ffffff;--surface-2: #eef1f9;--surface-3: #e4e9f5;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--accent: #2f6bf0;--accent-hover: #2457d6;--accent-ink: #ffffff;--accent-soft: #e6edfe;--accent-soft-ink: #1f4fc4;--accent-grad: linear-gradient(135deg, #2f6bf0, #6a3bf2);--accent-grad-hover: linear-gradient(135deg, #2457d6, #5a2be0);--brand-grad: linear-gradient(90deg, #1593d6, #2f6bf0 50%, #7b2ff5);--grad-1: #22c2f5;--grad-2: #2f6bf0;--grad-3: #7b2ff5;--range-grad: linear-gradient( 90deg, var(--grad-1), var(--grad-2) 55%, var(--grad-3) );--ok-vivid: #16a34a;--sd-vivid: #facc15;--bad-vivid: #ef4444;--nav-active: var(--seg-bg);--nav-active-ink: var(--ink);--sd: #eab308;--sd-soft: #fef3c7;--sd-ink: #92400e;--lh: #7b2ff5;--chord: #b0201a;--ok: #15803d;--ok-soft: #dcfce7;--bad: #b91c1c;--bad-soft: #fee2e2;--warn: #9a3412;--warn-soft: #fff1e8;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .05);--shadow-lg: 0 24px 48px rgba(15, 23, 42, .18), 0 8px 16px rgba(15, 23, 42, .08);--paper-shadow: 0 1px 2px rgba(15, 23, 42, .08), 0 8px 24px rgba(15, 23, 42, .1);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-full: 999px;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .15s;--t: .25s;--t-slow: .4s;--rail: 248px;--topbar: 56px;--tabbar: 64px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: Lexend, var(--font-ui);--font-mono: AHMono, ui-monospace, "Courier New", monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0b0f1c;--seg-bg: #182036;--seg-ink: #8f9cb8;--surface: #121829;--surface-2: #182036;--surface-3: #1f2942;--ink: #e8ecf7;--ink-2: #c4cce0;--muted: #8f9cb8;--line: #232d45;--line-strong: #323e5e;--accent: #6e9bff;--accent-hover: #8db2ff;--accent-ink: #0b0f1c;--accent-soft: #1b2852;--accent-soft-ink: #b4c8ff;--accent-grad: linear-gradient(135deg, #6e9bff, #a57bff);--accent-grad-hover: linear-gradient(135deg, #8db2ff, #b994ff);--brand-grad: linear-gradient(90deg, #3bd5fa, #4c82f5 50%, #9a5cf8);--grad-1: #3bd5fa;--grad-2: #4c82f5;--grad-3: #9a5cf8;--range-grad: linear-gradient( 90deg, var(--grad-1), var(--grad-2) 55%, var(--grad-3) );--sd: #facc15;--sd-soft: #33260c;--sd-ink: #fcd34d;--ok-vivid: #4ade80;--sd-vivid: #fde047;--bad-vivid: #f87171;--nav-active: var(--surface-3);--nav-active-ink: #fff;--lh: #b48cff;--chord: #ff8a80;--ok: #4ade80;--ok-soft: #12321f;--bad: #f87171;--bad-soft: #3a1717;--warn: #fdba74;--warn-soft: #2a1c12;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6);--paper-shadow: 0 2px 6px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .45);color-scheme:dark}:root:not([data-theme=light]) .brand .logo-on-light{display:none}:root:not([data-theme=light]) .brand .logo-on-dark{display:block}}:root[data-theme=dark]{--sd: #facc15;--sd-soft: #33260c;--sd-ink: #fcd34d;--ok-vivid: #4ade80;--sd-vivid: #fde047;--bad-vivid: #f87171;--nav-active: var(--surface-3);--nav-active-ink: #fff;--bg: #0b0f1c;--seg-bg: #182036;--seg-ink: #8f9cb8;--surface: #121829;--surface-2: #182036;--surface-3: #1f2942;--ink: #e8ecf7;--ink-2: #c4cce0;--muted: #8f9cb8;--line: #232d45;--line-strong: #323e5e;--accent: #6e9bff;--accent-hover: #8db2ff;--accent-ink: #0b0f1c;--accent-soft: #1b2852;--accent-soft-ink: #b4c8ff;--accent-grad: linear-gradient(135deg, #6e9bff, #a57bff);--accent-grad-hover: linear-gradient(135deg, #8db2ff, #b994ff);--brand-grad: linear-gradient(90deg, #3bd5fa, #4c82f5 50%, #9a5cf8);--grad-1: #3bd5fa;--grad-2: #4c82f5;--grad-3: #9a5cf8;--range-grad: linear-gradient( 90deg, var(--grad-1), var(--grad-2) 55%, var(--grad-3) );--lh: #b48cff;--chord: #ff8a80;--ok: #4ade80;--ok-soft: #12321f;--bad: #f87171;--bad-soft: #3a1717;--warn: #fdba74;--warn-soft: #2a1c12;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .6);--paper-shadow: 0 2px 6px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .45);color-scheme:dark}:root[data-theme=dark] .brand .logo-on-light{display:none}:root[data-theme=dark] .brand .logo-on-dark{display:block}:is(.lib-card,.chord-card,.root-btn,.note-chip,.kind,.answer,.btn.ghost,.timbres button,.voice-step){position:relative}.note-chip{--bw: 0px;--ring: 1px}:is(.lib-card,.chord-card,.root-btn,.note-chip,.kind,.answer,.btn.ghost,.timbres button,.voice-step):before{content:"";position:absolute;inset:calc(-1 * var(--bw, 1px));border-radius:inherit;padding:var(--ring, var(--bw, 1px));background:var(--range-grad);pointer-events:none;opacity:0;transition:opacity var(--t) var(--ease);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}:is(.lib-card,.chord-card,.root-btn,.note-chip,.kind,.answer,.btn.ghost,.timbres button):hover:not(:disabled,[aria-pressed=true]):before{opacity:1}input[type=range]{--f: .5;--thumb: 18px;-webkit-appearance:none;appearance:none;height:24px;background:transparent;cursor:pointer;margin:0}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(var(--line-strong),var(--line-strong)) right/calc(100% - var(--thumb) / 2 - var(--f) * (100% - var(--thumb))) 100% no-repeat,var(--range-grad)}input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:linear-gradient(var(--line-strong),var(--line-strong)) right/calc(100% - var(--thumb) / 2 - var(--f) * (100% - var(--thumb))) 100% no-repeat,var(--range-grad)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--thumb);height:var(--thumb);margin-top:calc(3px - var(--thumb) / 2);border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:var(--shadow-sm);transition:transform var(--t-fast) var(--ease)}input[type=range]::-moz-range-thumb{width:var(--thumb);height:var(--thumb);box-sizing:border-box;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:var(--shadow-sm)}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 35%,transparent)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 35%,transparent)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;transition:background-color var(--t) var(--ease),color var(--t) var(--ease)}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;margin:0}h1{font-size:1.6rem;line-height:1.2}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}.i{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.i.sm{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:6px}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}:root{--scroll-thumb: color-mix(in srgb, var(--muted) 45%, transparent);--scroll-thumb-hover: color-mix(in srgb, var(--accent) 70%, transparent)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:var(--r-full);border:2px solid transparent;background-clip:padding-box;min-height:40px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box;border:2px solid transparent}::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box;border:2px solid transparent}::-webkit-scrollbar-corner{background:transparent}html{scrollbar-gutter:stable}textarea::-webkit-scrollbar{width:8px;height:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--r-full);border:1px solid transparent;background:var(--surface-2);color:var(--ink);font-weight:600;font-size:.92rem;cursor:pointer;white-space:nowrap;transition:background-color var(--t-fast) var(--ease),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--ease),box-shadow var(--t-fast),filter var(--t-fast)}.btn:hover:where(:not(:disabled)){background:var(--surface-3)}.btn:active:where(:not(:disabled)){transform:scale(.97)}.btn.primary{background:var(--accent-grad);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.btn.primary:hover:where(:not(:disabled)){background:var(--accent-grad-hover)}.btn:is(.running,.armed,.danger-solid):hover:not(:disabled){filter:brightness(.92)}.btn.ghost{background:transparent;border-color:var(--line-strong)}.btn.ghost:hover:where(:not(:disabled)){background:var(--surface-2)}.btn.soft{background:var(--accent-soft);color:var(--accent-soft-ink)}.btn.soft:hover:where(:not(:disabled)){filter:brightness(.92)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .btn.soft:hover:where(:not(:disabled)){filter:brightness(1.25)}}:root[data-theme=dark] .btn.soft:hover:where(:not(:disabled)){filter:brightness(1.25)}.btn.danger{color:var(--bad)}.btn.danger.armed{background:var(--bad);color:#fff}.btn.sm{min-height:34px;padding:0 12px;font-size:.85rem}.btn:disabled{opacity:.45;cursor:default;transform:none}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-full);border:none;background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease)}.icon-btn:hover:where(:not(:disabled)){background:var(--surface-2);color:var(--ink)}.icon-btn:active:where(:not(:disabled)){transform:scale(.92)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.sm{width:34px;height:34px}.icon-btn.danger:hover{color:var(--bad);background:var(--bad-soft)}.icon-btn.line{border:1px solid var(--line-strong);transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--ease)}.icon-btn.line.danger:hover:where(:not(:disabled)){border-color:color-mix(in srgb,var(--bad) 55%,var(--line-strong))}@media (max-width: 899px){.btn .label-lg{display:none}}.input,select.input,textarea.input{width:100%;min-height:40px;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}select.input{appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;color:var(--muted);min-width:0}.field .input{font-size:.9rem;font-weight:400;color:var(--ink)}.field{position:relative}.field .input{transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}.field[data-saved] .input:not(:focus),.title-field[data-saved] .title-input:not(:focus){animation:saved-border 1.8s var(--ease) forwards}@keyframes saved-border{0%,75%{border-color:var(--ok)}}.field[data-saved]:after{content:"✓ " attr(data-saved);position:absolute;top:0;right:0;font-size:.75rem;font-weight:700;color:var(--ok);pointer-events:none;animation:saved-flash 1.8s var(--ease) forwards}@keyframes saved-flash{0%{opacity:0;transform:translateY(2px)}12%,75%{opacity:1;transform:none}to{opacity:0}}.search{position:relative}.search .i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search .input{padding-left:40px;border-radius:var(--r-full)}.switch.boxed.people-admin{min-height:34px;height:34px;padding:0 12px 0 10px;border-radius:var(--r-full)}.people-actions .icon-btn.sm{width:34px;height:34px}.switch.people-admin input{width:30px;height:18px}.switch.people-admin input:after{top:2px;left:2px;width:14px;height:14px}.switch.people-admin input:checked:after{transform:translate(12px)}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;cursor:pointer;padding:6px 0}.switch input{appearance:none;width:40px;height:24px;border-radius:var(--r-full);background:var(--line-strong);position:relative;cursor:pointer;flex-shrink:0;transition:background-color var(--t) var(--ease)}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--t) var(--ease-out)}.switch{transition:color var(--t-fast)}.switch input{background-image:var(--range-grad);background-size:0 100%;background-repeat:no-repeat;transition:background-size var(--t) var(--ease),background-color var(--t) var(--ease),box-shadow var(--t-fast)}.switch input:checked{background-size:100% 100%}.switch input:checked:after{transform:translate(16px)}.switch:not(.boxed):has(input:not(:disabled)):hover{color:var(--accent)}.switch:not(.boxed):has(input:not(:disabled)):hover input{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.switch:has(input:disabled){cursor:default;opacity:.55}.switch input:disabled{cursor:default}.switch.lead{flex-direction:row-reverse;justify-content:flex-end;gap:8px}.switch.lead input{width:32px;height:18px}.switch.lead input:after{top:2px;left:2px;width:14px;height:14px}.switch.lead input:checked:after{transform:translate(14px)}.switch.boxed{min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);transition:color var(--t-fast),border-color var(--t-fast)}.switch.boxed:has(input:not(:disabled)):hover{border-color:var(--accent)}.switch.boxed:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line-strong))}.switch.boxed+.switch.boxed{margin-top:6px}.seg{position:relative;display:inline-flex;padding:4px;border-radius:var(--r-full);background:var(--seg-bg);gap:2px;isolation:isolate;max-width:100%}.seg:before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:0;width:var(--w, 0);transform:translate(var(--x, 0));border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--t) var(--ease-out),width var(--t) var(--ease-out)}.still:before{transition:none!important}.seg button{border:none;background:none;padding:7px 14px;border-radius:var(--r-full);font-weight:600;font-size:.88rem;color:var(--seg-ink);cursor:pointer;white-space:nowrap;transition:color var(--t-fast)}.seg button[aria-pressed=true]{color:var(--ink)}.seg.sm button{padding:5px 11px;font-size:.8rem}.seg.block{display:flex;width:100%}.seg.block button{flex:1}.shell{min-height:100dvh}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);display:flex;flex-direction:column;gap:4px;padding:20px 14px;background:var(--surface);border-right:1px solid var(--line);z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--ink);text-decoration:none}.brand .logo-on-dark{display:none}.brand img{width:34px;height:34px;border-radius:10px;box-shadow:var(--shadow-sm)}.brand small{display:block;font-family:var(--font-ui);font-weight:500;font-size:.72rem;color:var(--ink-2);letter-spacing:.02em}.brand-name{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);border:none;background:none;color:var(--ink-2);font-weight:600;cursor:pointer;text-align:left;width:100%;transition:background-color var(--t-fast),color var(--t-fast)}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-list{position:relative;display:flex;flex-direction:column;gap:4px;isolation:isolate}.nav-list:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:var(--h, 0);transform:translateY(var(--y, 0));border-radius:var(--r-sm);background:var(--nav-active);transition:transform var(--t) var(--ease-out),height var(--t) var(--ease-out),opacity var(--t-fast)}.nav-list[data-empty]:before{opacity:0}.nav-item[aria-current=page]{background:transparent;color:var(--nav-active-ink)}.nav-item[aria-current=page] .i{stroke:url(#g-logo)}.rail-foot .nav-item[aria-current=page]{background:var(--nav-active)}.nav-item .count{margin-left:auto;font-size:.75rem;color:var(--muted);font-weight:600}.nav-item[aria-current=page] .count{color:inherit}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px}.topbar,.tabbar{display:none}main{margin-left:var(--rail);padding:28px 32px 48px;max-width:calc(1480px + var(--rail));min-width:0}.view{animation:view-in var(--t-slow) var(--ease-out)}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width: 899px){.rail{display:none}.topbar{display:flex;position:sticky;top:0;z-index:20;height:calc(var(--topbar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 14px;align-items:center;gap:4px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}.topbar .brand{padding:0;margin-right:auto;font-size:1rem}.topbar .brand img{width:30px;height:30px}.tabbar{display:flex;padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right));position:fixed;inset:auto 0 0;z-index:20;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--line)}.tab{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0;padding:0;border:none;border-radius:0;background:none;color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;position:relative;transition:color var(--t) var(--ease)}.tabbar:before{content:"";position:absolute;top:0;left:0;width:var(--w, 0);height:3px;background:var(--range-grad);transform:translate(var(--x, 0));transition:transform var(--t) var(--ease-out),width var(--t) var(--ease-out)}.tabbar[data-empty]:before{opacity:0}.tab .pill{display:grid;place-items:center;height:26px;transition:transform var(--t) var(--ease-out)}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] .pill{color:var(--accent);transform:translateY(-1px)}.tab[aria-current=page] .pill .i{stroke:url(#g-logo)}main{margin-left:0;padding:16px 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 24px)}h1{font-size:1.35rem}}.view-head{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:20px}.view-head .actions{display:flex;gap:8px;flex-wrap:wrap}.title-wrap{min-width:0;flex:1 1 260px}.title-input{display:block;width:100%;resize:none;overflow:hidden;field-sizing:content;border:1px solid transparent;background:transparent;font-family:var(--font-display);font-weight:700;font-size:1.6rem;letter-spacing:-.01em;line-height:1.2;padding:2px 8px;margin-left:-9px;border-radius:var(--r-sm);color:var(--ink);transition:border-color var(--t-fast),background-color var(--t-fast)}.title-input:hover{background:var(--surface-2)}.title-field[data-saved]:after{top:0;bottom:0;right:21px;display:flex;align-items:center}.title-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.sub{font-size:.85rem;color:var(--muted)}@media (max-width: 899px){.title-input{font-size:1.35rem}.view-head .actions .btn{padding:0 12px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 20px;color:var(--muted)}.empty-state .i{width:40px;height:40px;stroke-width:1.5;color:var(--line-strong)}.empty-state strong{color:var(--ink);font-size:1rem}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--r-full);font-size:.74rem;font-weight:600;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.chip.accent{background:var(--accent-soft);color:var(--accent-soft-ink)}.chip.current{background:var(--accent-grad);color:var(--accent-ink)}.note{font-size:.88rem;padding:10px 14px;border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn)}.note.info{background:var(--accent-soft);color:var(--accent-soft-ink)}.medley-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.pane-sheet{position:sticky;top:20px;min-width:0;container-type:inline-size}@media (min-width: 900px){.pane-sheet{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.pane-sheet .sheet-toolbar{margin-bottom:12px;flex-shrink:0}.pane-sheet{display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}.sheet-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 4px;margin:-2px -4px -4px}}.seg.pane-toggle{display:none;margin-bottom:16px}@media (max-width: 1099px){.medley-grid{gap:20px}}@media (max-width: 899px){.seg.pane-toggle{display:flex}.medley-grid{grid-template-columns:1fr}.medley-grid[data-pane=edit] .pane-sheet,.medley-grid[data-pane=sheet] .pane-edit{display:none}.pane-sheet{position:static}.medley-grid .pane{animation:view-in var(--t) var(--ease-out)}}.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--t) var(--ease),border-color var(--t),opacity var(--t) var(--ease),transform var(--t) var(--ease-out)}@starting-style{.item{opacity:0;transform:translateY(10px) scale(.98)}}.item.leaving{opacity:0;transform:scale(.96)}.drag-handle{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;margin-top:3px;padding:0;border:none;background:none;color:var(--muted);border-radius:var(--r-full);cursor:grab;touch-action:none;user-select:none}.drag-handle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.drag-handle .num{transition:filter var(--t-fast),transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast)}.drag-handle .grip-hover{display:none;width:14px;height:14px}@media (hover: hover){.item-head:hover .drag-handle .num-n,.drag-handle:focus-visible .num-n{display:none}.item-head:hover .drag-handle .grip-hover,.drag-handle:focus-visible .grip-hover{display:block}.drag-handle:hover .num{filter:brightness(.92)}}@media (hover: hover) and (prefers-color-scheme: dark){:root:not([data-theme=light]) .drag-handle:hover .num{filter:brightness(1.25)}}@media (hover: hover){:root[data-theme=dark] .drag-handle:hover .num{filter:brightness(1.25)}}.drag-hint{display:flex;align-items:center;gap:6px;margin:14px 0 0;padding-left:14px;font-size:.82rem;color:var(--muted)}.drag-hint.top{display:none}@media (max-width: 899px){.drag-hint.top{display:flex;margin:0 0 10px}.drag-hint.bottom{display:none}}.items>.item>.item-head{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.items.sorting{user-select:none}.items.sorting,.items.sorting *{cursor:grabbing!important}.items.sorting>.item:not(.dragging){transition:transform .18s var(--ease-out)}.item.armed,.item.armed:focus-within{border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--range-grad) border-box}.item:is(.armed,.dragging)>.item-head .drag-handle .num{background:var(--range-grad);color:var(--accent-ink);transform:scale(1.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--grad-2) 25%,transparent)}.item:is(.armed,.dragging)>.item-head .drag-handle .num-n{display:none}.item:is(.armed,.dragging)>.item-head .drag-handle .grip-hover{display:block}.item.dragging,.item.dragging:focus-within{position:relative;z-index:5;box-shadow:var(--shadow-lg);border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--range-grad) border-box}.item.moved{animation:pulse .5s var(--ease-out)}@keyframes pulse{40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}}.item:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.item-head{display:flex;align-items:flex-start;gap:6px;padding:8px 8px 8px 14px}.num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent-soft-ink);font-size:.78rem;font-weight:700;flex-shrink:0}.item:not(.collapsed)>.item-head .num{background:var(--accent-grad);color:var(--accent-ink)}.item-toggle{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:none;background:none;text-align:left;cursor:pointer;padding:4px 6px;border-radius:var(--r-sm)}.item-title{font-weight:700;line-height:24px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.key-chip{min-width:46px;justify-content:center;font-variant-numeric:tabular-nums}.item-chips .chip:not(.accent){background:color-mix(in srgb,var(--ink) 8%,var(--surface));border:1px solid var(--line-strong);padding:1px 8px}.item-chips{display:flex;gap:4px;flex-wrap:wrap}@media (max-width: 599px){.item-toggle .item-chips{margin-right:-84px;margin-top:4px}}.item-actions{display:flex;gap:0;flex-shrink:0;margin-top:-1px}.item-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t) var(--ease-out)}.item.collapsed .item-body{grid-template-rows:0fr}.item-body>div{overflow:hidden;min-height:0}.item-inner{padding:2px 14px 14px;display:flex;flex-direction:column;gap:12px}.item .chev{transition:transform var(--t) var(--ease-out)}.item.collapsed .chev{transform:rotate(-90deg)}textarea.song-text{field-sizing:content;max-height:65vh;min-height:200px;resize:vertical;font:13px/1.4 var(--font-mono);white-space:pre;overflow-x:auto;background:var(--surface-2);border-color:transparent}.song-text:focus{background:var(--surface)}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fields .wide{grid-column:1/-1}.fields .half{grid-column:span 1}@media (max-width: 420px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.item-fields{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 84px}@media (max-width: 420px){.item-fields{grid-template-columns:minmax(0,1fr) 84px}.item-fields>[data-key-field]{grid-column:1/-1}}.add-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:sticky;bottom:0;z-index:5;padding:14px 0 16px;margin-bottom:-16px;background:linear-gradient(to bottom,transparent,var(--bg) 14px)}@media (max-width: 899px){.add-bar{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}}.add-bar:has(#add-medley[hidden]){grid-template-columns:repeat(3,1fr)}@media (max-width: 420px){.add-bar{grid-template-columns:repeat(2,1fr)}}.pane-edit{container-type:inline-size;min-width:0}@media (min-width: 500px){@container (max-width:560px){.add-bar,.add-bar:has(#add-medley[hidden]){grid-template-columns:repeat(2,1fr)}}}.add-bar .btn{border-radius:var(--r-md);min-height:46px;flex-direction:column;gap:2px;font-size:.8rem;padding:6px}@media (min-width: 500px){.add-bar .btn{flex-direction:row;gap:8px;font-size:.86rem}}.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;max-width:780px;margin:0 auto 14px}.sheet-toolbar .tools{display:flex;gap:8px;align-items:center}.pages{display:flex;flex-direction:column;align-items:center;gap:20px}.paper{background:#fff;border-radius:4px;box-shadow:var(--paper-shadow);width:100%;max-width:780px;aspect-ratio:595.28/841.89;overflow:hidden;animation:paper-in var(--t-slow) var(--ease-out)}@keyframes paper-in{0%{opacity:.4;transform:scale(.99)}}.paper svg{display:block;width:100%;height:100%}.page-label{font-size:.78rem;color:var(--ink-2);align-self:center;margin:0 0 -12px}.sheet-empty{border:2px dashed var(--line-strong);border-radius:var(--r-md);width:100%;max-width:780px;min-height:280px;justify-content:center}.popover{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);padding:16px;width:min(320px,100vw - 32px);margin:0;inset:auto;position:fixed;opacity:1;transform:none;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease-out),display var(--t) allow-discrete,overlay var(--t) allow-discrete}.popover:not(:popover-open){opacity:0;transform:translateY(-6px) scale(.98)}@starting-style{.popover:popover-open{opacity:0;transform:translateY(-6px) scale(.98)}}#sheet-options{max-height:calc(100dvh - var(--pop-top, 0px) - 12px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.popover h3{margin-bottom:8px}.popover .row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:6px 0;font-size:.9rem}.popover hr{border:none;border-top:1px solid var(--line);margin:8px 0}.lib-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.lib-toolbar .search{flex:1 1 240px}.lib-toolbar .select-btn{border-radius:var(--r-full);padding-left:16px;padding-right:14px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}@media (min-width: 600px){.cards.rows{grid-template-columns:minmax(0,1fr);gap:8px}.cards.rows .lib-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title foot" "meta foot";align-items:center;gap:4px 16px;padding:10px 12px 10px 16px;border-radius:var(--r-md)}.cards.rows .lib-card h3{grid-area:title}.cards.rows .lib-card .meta{grid-area:meta}.cards.rows .lib-card .excerpt{display:none}.cards.rows .lib-card .foot{grid-area:foot;margin-top:0}.cards.rows .lib-card .foot .btn{margin-right:8px}.cards.rows .lib-card .meta .when{display:none}.cards.rows .lib-card .foot .foot-when{display:inline;margin-right:12px}}.lib-card .foot .foot-when{display:none}.lib-tabs-row{display:flex;align-items:stretch;justify-content:space-between;gap:10px}.lib-tabs-row>#lib-tabs{min-width:0}.lib-tabs-row>.view-seg{flex-shrink:0}@media (max-width: 599px){.lib-tabs-row>.view-seg{display:none}.lib-tabs-row>#lib-tabs{flex:1 1 100%}#lib-tabs button{flex:1;padding-inline:6px}}.lib-tabs-row>.view-seg button{display:inline-flex;align-items:center}.lib-card{cursor:pointer;display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-sm);transition:transform var(--t) var(--ease-out),box-shadow var(--t) var(--ease),border-color var(--t);animation:card-in var(--t-slow) var(--ease-out) backwards}.lib-card:hover{box-shadow:var(--shadow-md)}.lib-card.off{background:transparent;border-style:dashed;box-shadow:none}.lib-card.off :is(h3,.excerpt,.meta .chip:not(.off-chip)){opacity:.55}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}}.lib-card h3{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.owner-chip{min-width:0;max-width:100%}.owner-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-chip>b,.owner-chip>.i{flex-shrink:0}.lib-card .meta .when{margin-left:auto}.lib-card .excerpt{font-size:.84rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.lib-card .foot{display:flex;align-items:center;gap:4px;margin-top:auto}.lib-card .foot .btn{margin-right:auto}.lib-card .foot .chip-btn{margin-right:auto;min-width:0;max-width:60%;border:none;font:inherit;font-size:.78rem;cursor:pointer;min-height:34px}.lib-card .foot .chip-btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card .foot .chip-btn:hover{filter:brightness(.92)}.lib-card .foot :is(.btn,.chip.current):has(+.btn){margin-right:4px}.lib-card .when{font-size:.75rem;color:var(--muted)}.study-controls{display:flex;flex-direction:column;gap:22px;margin:16px 0}.roots{display:flex;gap:6px;flex-wrap:wrap}.roots-field{gap:6px}.root-btn{min-width:44px;height:40px;padding:0 10px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);font-weight:700;cursor:pointer;transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--ease)}.root-btn:active{transform:scale(.94)}.root-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.study-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.study-row .input{width:auto;min-width:200px}.scale-card{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.scale-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.scale-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.oct-step{display:inline-flex;align-self:flex-start;align-items:center;color:var(--ink);gap:2px;box-sizing:border-box;height:40px;padding:3px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.oct-step:has(:focus-visible){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.oct-step :focus-visible{outline:none}.oct-btn{display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;opacity:.7;transition:background var(--t-fast),color var(--t-fast),opacity var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast) var(--ease)}.oct-btn.dn .i{transform:rotate(90deg)}.oct-btn.up .i{transform:rotate(-90deg)}.oct-btn:not(:disabled) .i{stroke:url(#g-logo)}.oct-btn:hover:not(:disabled){opacity:1;background:var(--surface-2)}.oct-btn:active:not(:disabled){transform:scale(.9)}.oct-btn:disabled{color:var(--muted);opacity:.3;cursor:default}.oct-val{position:relative;display:flex;align-items:center;justify-content:center;height:32px;min-width:72px;padding:0 4px}.oct-val b{display:block;white-space:nowrap;font-size:.85rem;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.01em}.oct-txt{display:block;overflow:hidden}.oct-val b.slide-up{animation:oct-in-r var(--t) var(--ease-out) both}.oct-val b.slide-dn{animation:oct-in-l var(--t) var(--ease-out) both}@keyframes oct-in-r{0%{transform:translate(70%);opacity:0}to{transform:none;opacity:1}}@keyframes oct-in-l{0%{transform:translate(-70%);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.oct-val b.slide-up,.oct-val b.slide-dn{animation:none}}.oct-dots{position:absolute;left:50%;top:calc(50% + 9px);transform:translate(-50%);display:flex;gap:3px}.oct-dots i{width:4px;height:4px;border-radius:50%;background:var(--line-strong);transition:background var(--t-fast),width var(--t-fast) var(--ease)}.oct-dots i.on{width:12px;border-radius:2px;background:var(--accent-grad)}.scale-notes{display:flex;gap:8px;flex-wrap:wrap}.note-chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:8px 6px;border-radius:var(--r-md);background:var(--surface-2);border:none;cursor:pointer;transition:transform var(--t-fast) var(--ease),background-color var(--t-fast)}.note-chip:hover{background:var(--surface-3)}.note-chip.lit{animation:lit .5s var(--ease-out)}@keyframes lit{30%{transform:translateY(-4px);background:var(--accent-soft)}}.note-chip b{font-size:1.1rem;font-family:var(--font-display)}.note-chip small{font-size:.72rem;color:var(--muted);font-weight:600}.keyboard{width:100%;max-width:640px;height:auto;display:block;user-select:none;touch-action:pan-y;cursor:pointer}.keyboard{--kb-pad: 8px;padding:calc(var(--kb-pad) + 8px) var(--kb-pad) var(--kb-pad);border-radius:calc(var(--kb-pad) + 6px);background:var(--range-grad) var(--kb-pad) calc(var(--kb-pad) + 2px)/calc(100% - 2 * var(--kb-pad)) 3px no-repeat,linear-gradient(#ffffff12,#fff0 45%),linear-gradient(#1e293b,#0f172a);box-shadow:0 0 0 1px var(--kb-edge),inset 0 1px #fff3,inset 0 0 0 1px #ffffff0a}.keyboard{--kb-edge: #d5ddea}.keyboard.mini{--kb-pad: 5px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .keyboard{--kb-edge: rgba(255, 255, 255, .14)}}:root[data-theme=dark] .keyboard{--kb-edge: rgba(255, 255, 255, .14)}.keyboard.has-panel{padding:var(--kb-pad);background:linear-gradient(#ffffff12,#fff0 45%),linear-gradient(#1e293b,#0f172a)}.kb-panel{pointer-events:none}.kb-panel .wheel-slot{fill:#070b14;stroke:#334155;stroke-width:.6}.kb-panel .wheel{fill:#475569}.kb-panel .knob{fill:#2a3648;stroke:#0b1220;stroke-width:1.2}.kb-panel .knob-tick{stroke:#e2e8f0;stroke-width:1.3;stroke-linecap:round}.kb-panel .kb-screen{fill:#06121c;stroke:#334155;stroke-width:.6}.keyboard .kb-panel .kb-screen-text{font:700 8px var(--font-mono);letter-spacing:.18em;fill:#3bd5fa}.kb-panel .kb-btn{fill:#334155}.kb-panel .kb-btn.lit{fill:url(#kb-grad)}.keyboard .kb-panel .kb-label{font:700 4.5px var(--font-ui);letter-spacing:.08em;fill:#64748b}.kb-panel .kb-led{fill:#ef4444}.kb-panel .kb-led-glow{fill:#ef4444;opacity:.55;filter:blur(1.5px);animation:kb-led 2.4s ease-in-out infinite}@keyframes kb-led{50%{opacity:.25}}.keyboard rect{transition:fill var(--t-fast)}.keyboard .w{fill:#fff;stroke:#cbd5e1}.keyboard .b{fill:#1e293b}.keyboard .w.in{fill:#dce6fe}.keyboard .b.in{fill:#2f6bf0}.keyboard .w.root{fill:#2f6bf0;stroke:#2f6bf0}.keyboard .b.root{fill:#1f4fc4}.keyboard .w:not(.root):hover{fill:#eef3ff}.keyboard .w.in:not(.root):hover{fill:#c7d6fd}.keyboard .b:not(.in,.root):hover{fill:#334155}.keyboard.mini :is(.w,.b):is(.in,.root){fill:#2f6bf0;stroke:#2f6bf0}.keyboard.mini :is(.w,.b):is(.in,.root):hover{fill:#2457d6;stroke:#2457d6}.keyboard.mini .root-dot{fill:#fff;pointer-events:none}.keyboard.scale .w.in,.keyboard.scale .w.root{fill:#fff;stroke:#cbd5e1}.keyboard.scale .b.in,.keyboard.scale .b.root{fill:#1e293b}.keyboard.scale .w:not(.on):hover{fill:#eef3ff}.keyboard.scale .b:not(.on):hover{fill:#334155}.keyboard.scale text.tonic{font-family:var(--font-display);font-size:11px;font-weight:700}.keyboard.scale text.tonic.sm{font-size:9px}.kb-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;container-type:inline-size}.kb-row .keyboard{flex:1 1 420px;min-width:0}.key-box{flex:0 0 auto;width:min((100cqw - 44px) * .2808 + 11.5px,259.7px);aspect-ratio:1;container-type:size;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 14px;border-radius:var(--r-lg);background:var(--surface-2);text-align:center}.key-box-h{align-self:stretch;margin:-2px -14px auto;padding:0 14px 10px;border-bottom:1px solid var(--line-strong);font-family:var(--font-display);font-size:max(.95rem,8.5cqw);font-weight:700;letter-spacing:-.01em;color:var(--muted)}.key-box-note{font-family:var(--font-display);font-weight:700;font-size:32cqw;line-height:1.1;color:var(--ink)}.key-box-sub{font-size:max(.82rem,7.5cqw);font-weight:700;color:var(--ok-vivid)}.key-box.out .key-box-sub{color:var(--bad)}.key-box-fn{margin-top:auto;min-height:18px;line-height:16px}.key-box-fn.fn{font-size:max(.68rem,6cqw);line-height:1.4}.key-box:not(.pop) .key-box-sub{color:var(--muted);font-weight:400}.key-box.pop .key-box-note{animation:key-pop .25s var(--ease-out)}@keyframes key-pop{0%{transform:scale(.85);opacity:.4}}@media (max-width: 640px){.key-box{flex:1 1 100%;width:auto;aspect-ratio:auto;container-type:normal;flex-direction:row;justify-content:flex-start;gap:12px;padding:16px 18px}.key-box-note{font-size:3.5rem;line-height:1}.key-box-h{font-size:.95rem}.key-box-sub{font-size:.82rem}.key-box-fn.fn{font-size:.68rem}.key-box-h,.key-box-fn{margin:0}.key-box{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"h h" "n s" "n f";align-items:center;justify-items:center;gap:12px 16px;padding:12px 18px 14px}.key-box-h{grid-area:h;justify-self:stretch;margin:0 -18px;padding:0 18px 10px;text-align:center}.key-box-note{grid-area:n}.key-box-sub{grid-area:s;align-self:end;white-space:nowrap}.key-box-fn{grid-area:f;align-self:start;white-space:nowrap}}.keyboard .w.on{fill:#f59e0b!important;stroke:#f59e0b!important;opacity:1!important}.keyboard .b.on{fill:#b45309!important;opacity:1!important}.keyboard rect.w.down:not(.on,.hit,.bad,.rh,.lh,.marked){fill:#d2defd!important;stroke:#b9cbfb!important}.keyboard rect.b.down:not(.on,.hit,.bad,.rh,.lh,.marked){fill:#2a3648!important}.keyboard.mini rect.down:is(.in,.root):not(.on){fill:#1d47b8!important;stroke:#1d47b8!important}.keyboard.scale .w.on{fill:#c7d6fd!important;stroke:#9db8fa!important}.keyboard.scale .b.on{fill:#5b8cff!important}.key-mark{pointer-events:none;animation:key-mark-in 80ms var(--ease) both}.key-mark.out{animation:key-mark-out .3s var(--ease) both}.key-mark .ring{stroke:none;fill-opacity:.45}.key-mark.ok .ring{fill:#16a34a}.key-mark.no .ring{fill:#dc2626}@keyframes key-mark-in{0%{opacity:0}}@keyframes key-mark-out{to{opacity:0}}.keyboard text{font-size:10px;font-weight:700;pointer-events:none}.keyboard text.in{fill:#1f4fc4}.keyboard text.root{fill:#fff}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.chord-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);transition:transform var(--t) var(--ease-out),box-shadow var(--t),border-color var(--t);animation:card-in var(--t-slow) var(--ease-out) backwards}.chord-card:hover{box-shadow:var(--shadow-md)}.chord-card:active{transform:scale(.97)}.chord-card .deg{font-family:var(--font-display);font-weight:700;color:var(--accent);font-size:.95rem}.chord-card{min-width:0;container-type:inline-size}.chord-card .name{font-family:var(--font-display);font-weight:700;font-size:min(1.5rem,100cqi / (var(--len, 4) * .64));line-height:1.1;white-space:nowrap}.chord-card .tones{font-size:.8rem;color:var(--muted)}.fn{font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:var(--r-full)}.fn.T{background:var(--ok-soft);color:var(--ok)}.fn.SD{background:var(--sd-soft);color:var(--sd-ink)}.fn.D{background:var(--bad-soft);color:var(--bad)}.fn-legend{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.fn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.fn-item{padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);display:flex;flex-direction:column;gap:6px;border:1px solid var(--fn-c, var(--line-strong));border-left-width:4px;font-size:.88rem}.fn-item.T{--fn-c: var(--ok-vivid)}.fn-item.SD{--fn-c: var(--sd-vivid)}.fn-item.D{--fn-c: var(--bad-vivid)}.fn-name{font-weight:700;display:flex;align-items:center;gap:8px}.fn-here{font-size:.8rem;color:var(--muted);font-weight:600}.train-setup{display:flex;flex-direction:column;gap:14px;max-width:720px}.kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.kind{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--t-fast),background-color var(--t-fast),transform var(--t-fast) var(--ease)}.kind:active{transform:scale(.98)}.kind[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.kind b{font-size:.95rem}.kind span{font-size:.8rem;color:var(--muted)}.quiz{max-width:720px;display:flex;flex-direction:column;gap:18px;margin-top:16px}.quiz-top{display:flex;align-items:center;gap:14px;font-size:.85rem;color:var(--muted);font-weight:600}.progress{flex:1;height:8px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--accent-grad);border-radius:inherit;transition:width var(--t-slow) var(--ease-out)}.streak{display:inline-flex;align-items:center;gap:4px;color:#d97706}.streak.bump{animation:pop .4s var(--ease-out)}.prompt{font-family:var(--font-display);font-size:1.45rem;font-weight:700;line-height:1.3;animation:view-in var(--t) var(--ease-out)}.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.answer{min-height:64px;border-radius:var(--r-lg);border:1px solid var(--line-strong);background:var(--surface);font-family:var(--font-display);font-weight:700;font-size:1.25rem;cursor:pointer;transition:border-color var(--t-fast),background-color var(--t-fast),transform var(--t-fast) var(--ease),color var(--t-fast);animation:card-in var(--t) var(--ease-out) backwards}.answer:hover:not(:disabled,[aria-pressed=true]){background:var(--accent-soft)}.answer:disabled{cursor:default}.answer.right{border-color:var(--ok);background:var(--ok-soft);color:var(--ok);animation:pop .4s var(--ease-out)}.answer.wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad);animation:shake .4s var(--ease)}.answer.dim{opacity:.5}@keyframes pop{50%{transform:scale(1.06)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.feedback{min-height:1.5em;font-weight:600}.feedback.ok{color:var(--ok)}.feedback.bad{color:var(--bad)}.tr-foot{justify-content:flex-end;min-height:40px}.tr-foot .feedback{flex:1 1 200px;margin:0}.tr-foot .feedback.sr-only{flex:none}.tr-score{display:inline-flex;margin-right:auto;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);overflow:hidden}.tr-score>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:4px 12px;line-height:1.15}.tr-score>span+span{border-left:1px solid var(--line)}.tr-score b{font-family:var(--font-display);font-size:1.1rem;font-variant-numeric:tabular-nums}.tr-score small{font-size:.7rem;font-weight:600;color:var(--muted)}.tr-score .ok b{color:var(--ok)}.tr-score .bad b{color:var(--bad)}.tr-score b.bump{animation:score-pop .45s var(--ease-out)}@keyframes score-pop{35%{transform:scale(1.35)}}.summary{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px}.summary .big{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--accent);animation:pop .6s var(--ease-out)}.best{font-size:.85rem;color:var(--muted)}.back{margin:16px 0 12px;padding-left:10px}.setup-row{display:flex;gap:16px 32px;flex-wrap:wrap}.setup-row>div{display:flex;flex-direction:column;gap:8px;min-width:240px}.quiz .back{margin:0}.back.tr-quit{margin:12px 0 0}.note-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.answer-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cell, 68px),1fr));gap:6px}.answer.cell{min-height:46px;font-size:1rem;border-radius:var(--r-md);padding:0 10px;white-space:nowrap}.note-grid.pick .answer[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.right-btn{background:var(--ok)!important;border-color:var(--ok)!important;color:#fff!important;animation:pop .4s var(--ease-out)}.wrong-btn{background:var(--bad)!important;border-color:var(--bad)!important;color:#fff!important;animation:shake .4s var(--ease)}@media (max-width: 420px){.note-grid{gap:4px}.answer.cell{min-height:42px;font-size:.9rem}}.metro{max-width:560px;margin-top:16px;display:flex;flex-direction:column;gap:18px;align-items:stretch}.metro-top{display:flex;align-items:center;justify-content:center;gap:18px}.metro-step{width:52px;height:52px;border:1px solid var(--line-strong)}.metro-step .i{width:24px;height:24px}.metro-read{display:flex;flex-direction:column;align-items:center;min-width:150px}.metro-read b{font-family:var(--font-display);font-size:4rem;line-height:1;font-variant-numeric:tabular-nums}.metro-read small{color:var(--muted);font-weight:600;font-size:.9rem}.metro input[type=range]{width:100%}.beat-dots{display:flex;gap:8px;justify-content:center;align-items:center}.beat-dots i{width:12px;height:12px;border-radius:50%;background:var(--line-strong);transition:transform 80ms var(--ease),background-color 80ms}.beat-dots.big i{width:22px;height:22px}.beat-dots i.on{background:var(--accent);transform:scale(1.25)}.beat-dots i.on.first{background:#f59e0b}.metro-opts{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:center}.metro-opts>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.metro-opts .lbl{font-size:.8rem;font-weight:600;color:var(--muted)}.metro-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}@media (max-width: 360px){.metro-top{gap:10px}}.metro-go{min-width:160px;min-height:48px;font-size:1rem}.metro-go.running,.metro-mini .running,:is(.metro-go.running,.metro-mini .running):hover{background:var(--bad);color:#fff}.metro .sub{text-align:center}@media (pointer: coarse){.metro .sub{display:none}}.pad .pad-read{align-self:center;gap:10px}.pad-playing{display:inline-flex;align-items:center;gap:6px}.pad-playing .i{stroke:url(#g-logo)}.pad-playing span{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.pad .pad-keys{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.pad .pad-keys .root-btn{min-width:0;padding:0}.pad input[type=range]{margin-top:6px}.pad-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.pad-styles .root-btn{height:auto;min-height:56px;padding:8px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left}.pad-styles .root-btn small{font-size:.74rem;font-weight:400;line-height:1.3;color:var(--muted)}.pad-styles .root-btn[aria-pressed=true] small{color:inherit;opacity:.85}@media (max-width: 640px){.pad-styles{grid-template-columns:repeat(2,minmax(0,1fr))}}.metro.pad .card-head{display:flex;flex-direction:column;gap:2px}.metro.pad .card-head .sub{text-align:left;display:block}.pad-filter-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pad-filter-h small{font-weight:400}.pad-swell{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.btn.busy{border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--range-grad) border-box}.metro-mini{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.mini-bpm{font-variant-numeric:tabular-nums;min-width:68px;text-align:center}.mini-bpm b{font-size:1.1rem}.stage-metro{padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface);animation:view-in var(--t) var(--ease-out)}#stage-metro[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-ink)}.stage-song-head .stage-ref{width:max-content;display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-full);background:none;color:var(--muted);font:600 .78rem var(--font-ui);cursor:pointer;transition:color var(--t-fast),background-color var(--t-fast)}.stage-song-head .stage-ref:hover{color:var(--ink);background:var(--surface-2)}dialog.player{--dlg-w: 860px}.player-box{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--r-md);overflow:hidden}.player-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}a.btn{text-decoration:none}#study-tabs,#lib-tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}#study-tabs::-webkit-scrollbar,#lib-tabs::-webkit-scrollbar{display:none}.inst-field .input{width:auto;min-width:170px}.study-row:has(.inst-field){align-items:flex-end}.study-row:has(.inst-field)>.switch:not(.boxed){min-height:40px;padding:0}.study-row .inst-field .input,.study-row .inst-field .oct-step{width:190px;min-width:0}.study-row .inst-field .oct-step{display:flex;justify-content:space-between}@media (max-width: 640px){.study-row:has(.inst-field)>.inst-field{flex:1 1 calc(50% - 5px);min-width:0}.study-row .inst-field .input{width:100%;min-width:0}.study-row .inst-field .oct-step{width:100%}}.board-wrap{overflow-x:auto;padding-bottom:4px}.fretboard{min-width:560px;width:100%;max-width:760px;height:auto;display:block;touch-action:pan-y;cursor:pointer;user-select:none}.fretboard .wood{fill:#e9dcc6}:root[data-theme=dark] .fretboard .wood{fill:#3a3026}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .fretboard .wood{fill:#3a3026}}.fretboard .fret{stroke:#b8a58a;stroke-width:2}.fretboard .nut{stroke:#5b4b39;stroke-width:5}.fretboard .str{stroke:#8c8c8c}.fretboard .inlay{fill:#cdbea5}.fretboard .fnum{font-size:10px;fill:var(--muted);text-anchor:middle}.fretboard .pos circle{fill:#dce6fe;stroke:#2f6bf0;stroke-width:1.5;transition:fill var(--t-fast)}.fretboard .pos text{font-size:9px;font-weight:700;fill:#1f4fc4;text-anchor:middle;pointer-events:none}.fretboard .pos.root circle{fill:#2f6bf0}.fretboard .pos.root text{fill:#fff}.fretboard .pos.on circle{fill:#f59e0b;stroke:#f59e0b}.fretboard .pos.in-scale circle{fill:#22c55e;stroke:#22c55e}.diagram{width:150px;height:auto;display:block}.diagram.sm{width:74px;margin-top:4px}.diagram .fret{stroke:var(--line-strong);stroke-width:1.5}.diagram .fret.nut{stroke:var(--ink);stroke-width:5}.diagram .str{stroke:var(--muted);stroke-width:1.2}.diagram .dot{fill:var(--accent)}.diagram .open{fill:none;stroke:var(--ink);stroke-width:1.6}.diagram .mark{font-size:13px;text-anchor:middle;fill:var(--muted);font-weight:700}.diagram.sm .mark{font-size:10px}.diagram .base{font-size:11px;fill:var(--muted);font-weight:700}.diagram .sname{font-size:10px;text-anchor:middle;fill:var(--muted)}.keyboard.mini{max-width:340px}.chord-dlg{--dlg-w: 520px}.chord-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chord-notes{display:flex;gap:6px;margin-left:auto}.chord-notes span{display:flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:var(--r-sm);background:var(--surface-2);min-width:36px}.chord-notes small{font-size:.7rem;color:var(--muted);font-weight:600}.chord-visual{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;overflow-x:auto}.voicing-nav{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}.chord-actions{justify-content:space-between}.paper rect.hit{cursor:pointer}.paper rect.hit:hover{fill:#2f6bf01f}.stage:not(.clean) .stage-line .chd{cursor:pointer;border-radius:4px;padding:0 1px;margin:0 -1px;transition:background-color var(--t-fast)}.stage:not(.clean) .stage-line .chd:hover,.stage:not(.clean) .stage-line .chd:active{background:color-mix(in srgb,var(--chord) 18%,transparent)}.tuner{max-width:560px;margin-top:16px;display:flex;flex-direction:column;gap:18px;align-items:stretch}.tuner-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.tuner-top .a4 .input{width:auto}.tuner-dial{display:flex;flex-direction:column;align-items:center;gap:12px;transition:opacity var(--t)}.tuner-dial.quiet{opacity:.55}.tuner-note{display:flex;align-items:baseline;gap:2px}.tuner-note b{font-family:var(--font-display);font-size:4.2rem;line-height:1;transition:color var(--t-fast)}.tuner-note small{font-size:1.2rem;color:var(--muted);font-weight:700}.tuner-dial.ok .tuner-note b{color:var(--ok)}.tuner-meter{position:relative;width:100%;height:56px;border-radius:var(--r-md);background:var(--surface-2);overflow:hidden}.tuner-zone{position:absolute;left:45.5%;width:9%;top:0;bottom:0;background:color-mix(in srgb,var(--ok) 18%,transparent)}.tuner-needle{position:absolute;left:50%;top:6px;bottom:18px;width:4px;margin-left:-2px;border-radius:2px;background:var(--accent);transition:left .12s var(--ease-out)}.tuner-dial.ok .tuner-needle{background:var(--ok)}.tuner-scale span{position:absolute;bottom:2px;transform:translate(-50%);font-size:.7rem;color:var(--muted)}.tuner-cents{font-weight:600;color:var(--muted);min-height:1.4em}.voice-card{max-width:720px;margin-top:16px;display:flex;flex-direction:column;gap:12px}.voice-card h2{margin:0}.voice-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.voice-step{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--t)}.voice-step.measuring:before{opacity:1}.voice-step .lbl{font-size:.8rem;font-weight:600;color:var(--muted)}.voice-val{font-family:var(--font-display);font-size:1.8rem;line-height:1.1}.voice-live{display:block;min-height:1.5em;font-size:.85rem;font-weight:600;color:var(--accent)}.voice-live.idle{visibility:hidden}.voice-step-actions{display:flex;align-items:center;gap:6px}.voice-step .sub{margin:0}.voice-result{font-weight:700;margin:0}.voice-keys{display:flex;flex-direction:column}.voice-key-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 110px auto;align-items:end;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.voice-key-row:first-child{border-top:none}.vk-title{display:flex;flex-direction:column;min-width:0;align-self:center}.vk-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vk-title .sub{font-size:.8rem}.vk-sug{display:flex;flex-direction:column;justify-content:flex-end;min-height:40px}.vk-sug .lbl{font-size:.8rem;font-weight:600;color:var(--muted)}.vk-sug b{font-size:1.1rem;color:var(--accent)}.vk-sug .sub{font-size:.8rem}@media (max-width: 599px){.voice-key-row{grid-template-columns:1fr 1fr}.vk-title{grid-column:1/-1}}.tuner-dial.ok .tuner-cents{color:var(--ok)}.tuner-strings{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.tstring{display:flex;align-items:baseline;gap:1px;padding:8px 12px;border-radius:var(--r-md);border:1.5px solid var(--line-strong);font-family:var(--font-display);transition:all var(--t-fast)}.tstring small{font-size:.7rem;color:var(--muted)}.tstring.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-ink);transform:translateY(-2px)}.tuner .sub{text-align:center}.ctx{display:flex;align-items:center;gap:8px;margin:0 0 6px -10px}.ctx .back{margin:0}.type-row>.moment-seg{margin-left:auto}.moment-chip{background:var(--warn-soft);color:var(--warn)}.moment-chip.louvor{background:var(--ok-soft);color:var(--ok)}.stage-song-head h2>.moment-chip,.stage-group>.moment-chip{font-size:.78rem;letter-spacing:normal;text-transform:none;align-self:center}.stage-song-head h2>.moment-chip{margin-left:.6em;vertical-align:middle;font-weight:600}.medley-songs{padding:0 14px 14px 52px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.medley-songs li .chip{margin-left:8px;min-width:0;padding:0 7px;vertical-align:1px}.medley-songs ol{margin:0;padding-left:18px;color:var(--ink-2);font-size:.9rem;display:flex;flex-direction:column;gap:2px}.sheet-pick-quick{display:flex;gap:8px;margin:4px 0 8px}.pick-list li.in-medley{padding-left:20px}.pick-list .pick-h .i{vertical-align:-2px}.sheet-pick-note .link-btn{margin-left:6px}.pick-list .pick-h{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:12px 4px 4px;border-top:none}.stage-group{font-size:max(.6em,.78rem);font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.7em;display:flex;align-items:center;gap:6px}.player-loading{position:absolute;inset:0;display:grid;place-items:center;color:#cbd5e1;font-size:.9rem}.player-tools{display:flex;flex-direction:column;gap:6px}.pl-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pl-row #pl-a,.pl-row #pl-b{font-variant-numeric:tabular-nums;min-width:84px}#pl-loop[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.pl-speed-wrap{display:flex;align-items:center;gap:6px;margin-left:auto}.link-btn{border:none;background:none;padding:0;color:var(--accent);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color var(--t-fast),text-decoration-color var(--t-fast)}.link-btn:hover:where(:not(:disabled)){color:var(--accent-hover);text-decoration-thickness:2px}.link-btn:disabled{opacity:.55;cursor:default;text-decoration:none}.tr-ctl{display:flex;align-items:center;gap:4px}.tr-ctl b{min-width:26px;text-align:center;font-variant-numeric:tabular-nums}.vol-pop{width:280px}.vol-row{display:flex;align-items:center;gap:10px}.vol-row input{flex:1}.vol-row b{min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.vol-pop h3+.timbres{margin-top:0}.vol-pop .sub+h3{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.vol-pop hr{margin:14px 0}.timbres{display:grid;grid-template-columns:1fr 1fr;gap:6px}.timbres button{padding:8px 10px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-align:left;transition:border-color var(--t-fast),background var(--t-fast)}.timbres button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-ink)}.btn.danger-solid{background:var(--bad);color:#fff}.btn.danger-solid:hover:where(:not(:disabled)){filter:brightness(1.08)}.tuner-top .a4 span{font-size:.8rem;font-weight:600;color:var(--muted)}.lang-item{position:relative;cursor:pointer}.lang-select{appearance:none;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;flex:1;padding:0;outline:none}.lang-select option{color:var(--ink);background:var(--surface)}.lang-item:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-2px}.lang-item .chev-down{margin-left:auto}.lang-icon{position:relative;overflow:hidden}.lang-overlay{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.item-inner>.seg,.dlg-body>.seg{align-self:flex-start}.sub-seg{margin:16px 0 4px}.menu-pop{width:220px;padding:6px}.menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;background:none;border-radius:var(--r-sm);font-weight:600;color:var(--ink);cursor:pointer;text-align:left;transition:background-color var(--t-fast)}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2)}.menu-item[aria-checked=true],.menu-item[aria-selected=true]{color:var(--accent-soft-ink);background:var(--accent-soft)}.menu-item .i{stroke:url(#g-logo)}.lang-item [data-lang-name]{flex:1}.help-btn{color:var(--muted)}.help-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;line-height:1.5}.help-steps li::marker{color:var(--accent);font-weight:700}dialog.nudge{animation:shake .35s var(--ease)}.tooltip{position:fixed;inset:auto;margin:0;border:1px solid transparent;padding:6px 11px;border-radius:9px;background:linear-gradient(135deg,var(--tip-a),var(--tip-b)) padding-box,var(--range-grad) border-box;color:var(--ink);font-size:.8rem;font-weight:600;line-height:1.35;max-width:260px;box-shadow:var(--shadow-lg);pointer-events:none;opacity:1;transform:none;transition:opacity .12s var(--ease),transform .12s var(--ease-out),display .12s allow-discrete,overlay .12s allow-discrete}.tooltip{overflow:visible;--from: translateY(3px);--tip-a: color-mix(in srgb, var(--accent) 22%, var(--surface-3));--tip-b: color-mix(in srgb, var(--lh) 22%, var(--surface-3));--tip-bg: color-mix(in srgb, var(--tip-a), var(--tip-b));--tip-line: color-mix( in srgb, var(--grad-3) calc(clamp(0, (var(--arrow-p, 50) - 55) / 45, 1)*100%) , color-mix( in srgb, var(--grad-2) calc(clamp(0, var(--arrow-p, 50) / 55, 1)*100%) , var(--grad-1) ) )}.tooltip[data-side=left]{--tip-line: var(--grad-3)}.tooltip[data-side=right]{--tip-line: var(--grad-1)}.tooltip[data-side=bottom]{--from: translateY(-3px)}.tooltip[data-side=left]{--from: translateX(3px)}.tooltip[data-side=right]{--from: translateX(-3px)}.tooltip:not(:popover-open){opacity:0;transform:var(--from)}@starting-style{.tooltip:popover-open{opacity:0;transform:var(--from)}}.tooltip:after{content:"";position:absolute;width:9px;height:9px;background:var(--tip-bg);border:0 solid var(--tip-line);border-radius:1px;transform:rotate(45deg)}.tooltip[data-side=top]:after{bottom:-5.5px;left:calc(var(--arrow, 50%) - 4.5px);border-right-width:1px;border-bottom-width:1px}@media (any-pointer: coarse){[data-tip-key],[data-tip],[title],.icon-btn[aria-label]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.tooltip[data-side=bottom]:after{top:-5.5px;left:calc(var(--arrow, 50%) - 4.5px);border-top-width:1px;border-left-width:1px}.tooltip[data-side=left]:after{right:-5.5px;top:calc(var(--arrow, 50%) - 4.5px);border-top-width:1px;border-right-width:1px}.tooltip[data-side=right]:after{left:-5.5px;top:calc(var(--arrow, 50%) - 4.5px);border-bottom-width:1px;border-left-width:1px}.native-hidden{display:none!important}.select-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;font-weight:400;padding-right:10px;min-width:0}.select-btn .select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-btn .chev-down{flex-shrink:0;transition:transform var(--t-fast) var(--ease)}.select-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.select-btn[aria-expanded=true] .chev-down{transform:rotate(180deg)}.chev-down{stroke:url(#g-logo)}.select-btn:disabled{opacity:.5;cursor:default}.select-pop{overflow-y:auto;max-width:min(340px,100vw - 16px)}.date-field{position:relative;display:block;min-width:0}.date-field .date-input{width:100%;padding-right:44px}.date-field .date-cal{position:absolute;top:50%;right:3px;transform:translateY(-50%);color:var(--muted)}.date-field .date-cal:active:where(:not(:disabled)){transform:translateY(-50%) scale(.92)}.date-field:has(.date-cal[aria-expanded=true]) .date-input{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.date-pop{width:296px;padding:12px}.dp-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.dp-sel{flex:1;min-width:0;height:32px;padding:0 6px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:600 .85rem var(--font-ui);text-transform:capitalize;cursor:pointer}.dp-sel:last-of-type{flex:0 0 76px}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-wd{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;padding:4px 0}.dp-day{aspect-ratio:1;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--ink);font:600 .85rem var(--font-ui);cursor:pointer;transition:background-color var(--t-fast)}.dp-day:hover:not(:disabled){background:var(--surface-2)}.dp-day.today{border-color:var(--accent)}.dp-day.on{background:var(--accent-grad);color:var(--accent-ink)}.dp-day:disabled{opacity:.35;cursor:default}.dp-day:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.dp-foot{display:flex;justify-content:space-between;margin-top:8px}.menu-group{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 12px 4px}.menu-item:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-2px}.toast .toast-x{background:none;padding:4px 8px;font-size:1.1rem;line-height:1;opacity:.7}dialog{border:none;padding:0;border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);width:min(var(--dlg-w, 560px),100vw - 24px);max-height:min(86dvh,760px);opacity:1;transform:none;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease-out),display var(--t) allow-discrete,overlay var(--t) allow-discrete}dialog:not([open]){opacity:0;transform:translateY(12px) scale(.97)}@starting-style{dialog[open]{opacity:0;transform:translateY(12px) scale(.97)}}dialog::backdrop{background:#080c1480;backdrop-filter:blur(3px);opacity:1;transition:opacity var(--t) var(--ease),display var(--t) allow-discrete,overlay var(--t) allow-discrete}dialog:not([open])::backdrop{opacity:0}@starting-style{dialog[open]::backdrop{opacity:0}}.dlg{display:flex;flex-direction:column;max-height:inherit}.dlg-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 12px 8px 20px}.dlg-body{padding:8px 20px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.dlg-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--line)}dialog.unsaved .dlg-foot:before{content:var(--unsaved);margin-right:auto;align-self:center;font-size:.82rem;font-weight:600;color:var(--warn)}.dlg-body textarea.song-text{min-height:260px}.pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.pick-list li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line)}.pick-list li:first-child{border-top:none}.pick-list label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer}.pick-list input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.pick-list .t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-box{display:flex;gap:8px}.link-box .input{font-size:.85rem;color:var(--muted)}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}@media (max-width: 899px){dialog{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom)}dialog:not([open]){transform:translateY(40px)}@starting-style{dialog[open]{transform:translateY(40px)}}}.help-fab{position:fixed;right:calc(32px - (100vw - 100%));bottom:32px;z-index:15;isolation:isolate;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid transparent;opacity:.6;background:color-mix(in srgb,var(--surface) 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);box-shadow:var(--shadow-md);cursor:pointer;transition:color var(--t) var(--ease),box-shadow var(--t) var(--ease),opacity var(--t) var(--ease)}.help-fab:after{content:"";position:absolute;inset:-2px;border-radius:50%;padding:2px;background:currentColor;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.help-fab .i{width:20px;height:20px;stroke-width:2.4;transition:transform var(--t) var(--ease-out)}.help-fab:hover,.help-fab:focus-visible{opacity:1}.help-fab:hover{background:var(--surface-2);box-shadow:var(--shadow-lg)}.help-fab:hover .i{transform:scale(1.08)}@media (max-width: 899px){.help-fab{display:none}}.toasts{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:100;pointer-events:none;width:max-content;max-width:calc(100vw - 24px)}.toasts[popover]{top:auto;right:auto;margin:0;padding:0;border:none;background:transparent;color:inherit;overflow:visible;height:auto}.toasts[popover]:not(:popover-open){display:none}@media (max-width: 899px){.toasts{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 12px)}}.toast{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:var(--r-full);background:var(--ink);color:var(--bg);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-lg);pointer-events:auto;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease-out)}@starting-style{.toast{opacity:0;transform:translateY(16px) scale(.96)}}.toast.out{opacity:0;transform:translateY(8px) scale(.96)}.toast .btn.primary{min-height:32px;white-space:nowrap}.toast button{border:none;background:color-mix(in srgb,var(--bg) 18%,transparent);color:inherit;font-weight:700;padding:6px 12px;border-radius:var(--r-full);cursor:pointer}.stage{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;animation:view-in var(--t) var(--ease-out)}.stage-bar{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.stage-bar .grow{flex:1}.stage-scroll{flex:1;overflow-y:auto;scroll-behavior:smooth;overflow-x:hidden;padding:24px max(66px,env(safe-area-inset-left)) 40vh;outline:none}@media (max-width: 599px){.stage-scroll{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}.stage-scroll.fit{padding-bottom:16px}.stage-scroll.fit .stage-content>:last-child>.stage-song{margin-bottom:0}.stage-content{width:fit-content;max-width:min(100%,1100px);margin:0 auto;font-size:var(--stage-fs, 22px)}.stage-song{margin-bottom:2.2em}.stage-song h2{font-size:1.25em;color:var(--nav-active-ink)}.stage-num{margin-right:.45em;color:var(--nav-active-ink);font-variant-numeric:tabular-nums}.stage-num:after{content:"."}.stage-song .meta{font-size:max(.62em,.82rem);color:var(--muted);margin:.6em 0 0}.stage-song :is(.stage-song-head,.meta)+.stage-block{margin-top:1.3em}.stage-block{margin-bottom:1.4em}.stage-block{min-width:0}.stage-song h2,.stage-song .meta,.stage-group,.stage-trans{overflow-wrap:anywhere}.stage-line{font-family:var(--font-mono);white-space:pre;line-height:1.3;margin:0}.stage-line.ch{color:var(--chord);font-weight:700}.stage-line:not(.ch){margin-bottom:.5em}.stage-block>:last-child>:last-child>.stage-line:last-child{margin-bottom:0}.stage.letra .stage-line{font-family:Lexend,var(--font-ui);line-height:1.45;white-space:pre-wrap}.stage.letra .stage-line:not(.ch){margin-bottom:.4em}.stage-trans{font-size:max(.62em,.82rem);font-weight:700;color:var(--accent);margin:-1em 0 2em}.stage-hint{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 14px);left:50%;transform:translate(-50%);font-size:.8rem;color:var(--muted);background:var(--surface);padding:6px 14px;border-radius:var(--r-full);box-shadow:var(--shadow-md);animation:hint-out 4s var(--ease) forwards;pointer-events:none}@keyframes hint-out{0%,70%{opacity:1}to{opacity:0}}.stage-nav{display:flex;align-items:center;gap:0;padding:0;border-bottom:1px solid var(--line);background:var(--surface-2);transition:background-color var(--t-fast)}.stage-nav:has(#stage-now[aria-expanded=true]){background:var(--accent-soft)}@media (max-width: 999px){.stage:not(.clean) .stage-nav:has(#stage-now[aria-expanded=true]) :is(#stage-prev,#stage-next){display:none}}@media (min-width: 1000px){.stage:not(.clean) .stage-nav:has(#stage-now[aria-expanded=true]) #stage-prev{left:286px}}.stage-nav #stage-prev,.stage-nav #stage-next{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;border-radius:var(--r-full);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:color-mix(in srgb,var(--surface) 25%,transparent);box-shadow:none;color:color-mix(in srgb,var(--ink) 75%,transparent);opacity:.35;transition:opacity var(--t) var(--ease),background-color var(--t-fast)}.stage.scrolling .stage-nav :is(#stage-prev,#stage-next),.stage-nav :is(#stage-prev,#stage-next):hover,.stage-nav :is(#stage-prev,#stage-next):focus-visible{opacity:1}.stage-nav #stage-prev{left:max(6px,env(safe-area-inset-left))}.stage-nav #stage-next{right:max(6px,env(safe-area-inset-right))}.stage-nav #stage-prev:hover:where(:not(:disabled)),.stage-nav #stage-next:hover:where(:not(:disabled)){background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--ink)}.stage-nav #stage-prev:disabled,.stage-nav #stage-next:disabled,.stage.scrolling .stage-nav :is(#stage-prev,#stage-next):disabled{opacity:.12}.stage-nav #stage-prev .i,.stage-nav #stage-next .i{width:22px;height:22px;stroke-width:2.5}@media (max-width: 599px){.stage-nav{padding:4px max(4px,env(safe-area-inset-right)) 4px max(4px,env(safe-area-inset-left))}.stage-nav #stage-prev,.stage-nav #stage-next{width:40px;height:40px;margin-top:-20px}.stage-nav #stage-prev .i,.stage-nav #stage-next .i{width:20px;height:20px}.stage-nav .stage-now{height:44px;gap:8px;padding:0 12px;border-radius:var(--r-full)}.stage-nav .stage-now-cta{gap:2px;padding-right:8px}.stage-now-cta-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stage-bar{gap:2px 0}.stage-bar #stage-mode{order:1;flex-basis:100%;display:flex}.stage-bar #stage-mode button{flex:1}}.stage-nav .i.flip{transform:scaleX(-1)}.stage-now{flex:1;min-width:0;height:52px;display:flex;align-items:center;gap:10px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));border:none;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;text-align:left;transition:background-color var(--t-fast)}.stage-now:hover:not([aria-expanded=true]){background:var(--surface-3)}.stage-now[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-soft-ink)}.stage-now[aria-expanded=true]:hover{filter:brightness(.95)}.stage-pos{flex-shrink:0;font-size:.8rem;color:var(--muted)}.stage-now[aria-expanded=true] .stage-pos{color:inherit}.stage-now-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-now-title{flex:1;min-width:0}.stage-now-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding-right:12px;border-right:1px solid var(--line-strong);color:var(--accent);font-size:.85rem;font-weight:700}.stage-now-cta{line-height:1}.stage-now-cta-txt{display:grid}.stage-now-cta-txt>span{grid-area:1/1}.stage-now-cta-txt>span.off{visibility:hidden}.stage-now-chev{display:block;transition:transform var(--t) var(--ease-out)}.stage-now[aria-expanded=true] .stage-now-chev{transform:rotate(180deg)}@media (min-width: 1000px){.stage-now-chev{transform:rotate(-90deg)}.stage-now[aria-expanded=true] .stage-now-chev{transform:rotate(90deg)}}.stage-now[aria-expanded=true] .stage-now-cta{color:inherit}.stage-body{flex:1;min-height:0;display:flex;position:relative}.stage-body .stage-scroll{min-width:0}.stage-list{width:280px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--line);background:var(--surface);padding:8px}.stage-list ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.stage-list button{width:100%;min-height:52px;display:flex;align-items:center;gap:12px;padding:8px 12px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--t-fast)}.stage-list button:hover{background:var(--surface-2)}.stage-list button.on{background:var(--nav-active);color:var(--nav-active-ink);font-weight:600}.stage-list button{position:relative}.stage-list button.on:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:var(--r-full);background:linear-gradient(180deg,var(--grad-1),var(--grad-2) 55%,var(--grad-3))}.stage-nav:has(+.stage-progress){border-bottom:none}.stage.clean :is(.stage-bar,.stage-progress,.stage-metro,.stage-focus,.stage-list,.stage-hint,.stage-key,.stage-ref){display:none}.stage.clean .stage-nav{display:contents}.stage.clean .stage-nav .stage-now{display:none}.stage.clean .stage-song-head h2{padding-right:84px}.stage-clean-bar{position:absolute;top:calc(6px + env(safe-area-inset-top));right:10px;z-index:3;display:flex;gap:4px;opacity:.55;transition:opacity var(--t-fast)}.stage-clean-bar:hover,.stage-clean-bar:focus-within{opacity:1}.stage-clean-bar .icon-btn{background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--line)}.stage-progress{height:3px;background:var(--line);flex-shrink:0}.stage-progress span{display:block;height:100%;background:var(--range-grad);transition:clip-path var(--t) var(--ease-out)}.stage-list .n{width:24px;flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.stage-list button.on .n{color:inherit}.stage-list button.on small{color:inherit;font-weight:700}.stage-list .tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-list small{flex-shrink:0;font-size:.78rem;color:var(--muted)}.stage-list-mh{display:flex;align-items:center;gap:8px;padding:10px 12px 4px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stage-list-mh .tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-list .stage-list-medley>ol{margin-left:20px;padding-left:8px;border-left:2px solid var(--line)}@media (max-width: 999px){.stage-list{position:absolute;inset:0 0 auto;z-index:2;width:auto;max-height:70%;border-right:none;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);animation:view-in var(--t) var(--ease-out)}}.stage-focus{padding:12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--surface);font-size:.92rem;display:flex;flex-direction:column;gap:10px;max-height:45dvh;overflow-y:auto;animation:view-in var(--t) var(--ease-out)}.stage-focus-os{font-weight:700;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}::view-transition-old(root){animation:vt-out .18s var(--ease) both}::view-transition-new(root){animation:vt-fade .25s var(--ease-out) both}html[data-vt=slide]::view-transition-new(root){animation:vt-in .3s var(--ease-out) both}.rail{view-transition-name:rail}.tabbar{view-transition-name:tabbar}html[data-vt=slide]::view-transition-old(rail),html[data-vt=slide]::view-transition-old(tabbar){display:none}html[data-vt=slide]::view-transition-new(rail),html[data-vt=slide]::view-transition-new(tabbar){animation:none}html[data-vt=theme]::view-transition-old(root){animation:none}html[data-vt=move]::view-transition-old(root),html[data-vt=move]::view-transition-new(root){animation:none}@keyframes vt-out{to{opacity:0}}@keyframes vt-fade{0%{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{@page{size:A4;margin:0}*,*:before,*:after{animation:none!important;transition:none!important}html,body{margin:0;padding:0;background:#fff}.rail,.topbar,.tabbar,.help-fab,.view-head,.pane-toggle,.pane-edit,.sheet-toolbar,.note,.page-label,.toasts,#view-library,#view-study{display:none!important}.shell{min-height:0}main{margin:0!important;padding:0!important;max-width:none}.view,.medley-grid{display:block;margin:0;padding:0;opacity:1;transform:none}.pane-sheet{display:block!important;position:static;margin:0;padding:0;background:none;border:0;box-shadow:none;max-height:none}.sheet-scroll{overflow:visible;padding:0;margin:0}.pages{gap:0;display:block}.paper{box-shadow:none;border-radius:0;max-width:none;width:210mm;height:296.5mm;margin:0;aspect-ratio:auto}.paper~.paper{break-before:page}}.type-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}dialog.ear-dlg{--dlg-w: 760px}.ear-hint{margin:0;font-size:.85rem}.ear-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.ear-key{width:110px}.ear-field{position:sticky;top:-8px;z-index:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;padding:8px 0;margin:-4px 0;background:var(--surface)}.ear-chip{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:6px 2px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);cursor:pointer;font:inherit;flex-shrink:0}.ear-chip b{font-size:.75rem;color:var(--muted)}.ear-chip span{font-weight:700;color:var(--chord)}.ear-chip:hover{background:var(--surface-3)}.ear-lines{overflow-x:auto;font:15px/1.35 var(--font-mono);padding-bottom:4px}.ear-row{width:max-content;min-width:100%;margin-bottom:8px}.ear-cells{display:flex;white-space:nowrap}.ear-cell{width:4ch;flex-shrink:0;position:relative;font:700 15px/1.35 var(--font-mono);color:var(--chord);padding:2px 0;border:none;border-radius:0;background:var(--surface-2);box-shadow:inset -1px 0 var(--surface),inset 0 -2px var(--line-strong);outline:none;-webkit-tap-highlight-color:transparent}.ear-cell.on{background:var(--surface);z-index:1}.ear-cell:focus{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);z-index:2}.ear-cell.bad{background:var(--bad-soft);color:var(--bad);box-shadow:inset 0 -2px var(--bad)}.ear-lyric{white-space:pre;padding:2px 0;color:var(--ink)}.ear-tag{font-weight:700;color:var(--muted);font-size:.9em;margin:2px 0 6px}.ear-gap{height:10px}.stage-song-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.stage-song-head h2{margin:0;min-width:0;line-height:1.15;text-box:trim-both cap alphabetic}.stage-song-head .stage-ref,.stage-key{line-height:1}.stage-key{display:inline-flex;align-items:center;gap:2px;height:34px;padding:0 2px;border:1px solid var(--line);border-radius:var(--r-full);font-size:1rem}.stage-key-cap{padding:0 4px 0 10px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stage-key-now{min-width:3ch;text-align:center;font-family:var(--font-display);font-size:1rem;color:var(--nav-active-ink)}.stage-key-btn{min-width:36px;height:28px;padding:0 8px;border:none;border-radius:var(--r-full);background:none;color:var(--muted);font:700 .8rem var(--font-ui);cursor:pointer;transition:color var(--t-fast),background-color var(--t-fast)}.stage-key-btn:hover{background:var(--surface-2);color:var(--ink)}.stage-key-btn:active{transform:scale(.94)}.stage-song.medley-next{margin-top:-1.2em;padding-top:1em;border-top:1px solid var(--line)}.ear-add{display:flex;font-size:.78rem;padding:3px 8px;margin:-2px 0 6px;color:var(--muted);font-family:var(--font-ui)}.ear-row.inst .ear-cells{align-items:center}.ear-rm{margin-right:4px;flex-shrink:0}.rotate-hint{display:flex;align-items:center;gap:8px;margin:0;font-size:.82rem;color:var(--muted)}.rotate-hint .i{flex-shrink:0;color:var(--accent)}.auth-screen{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:calc(env(safe-area-inset-top) + 64px) 16px 32px;background:var(--bg)}.auth-notes{position:absolute;inset:0;z-index:-1;pointer-events:none}.auth-notes span{position:absolute;line-height:1;opacity:0;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;animation:auth-note 9s var(--ease) both}@keyframes auth-note{0%{opacity:0;transform:translateY(10px) scale(.9)}35%,60%{opacity:.26}to{opacity:0;transform:translateY(-14px) scale(1)}}@media (prefers-reduced-motion: reduce){.auth-notes{display:none}}@property --auth-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.auth-card{width:min(400px,100%);display:flex;flex-direction:column;gap:14px;padding:28px 24px;border:2px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--auth-angle),#22c2f5,#2f6bf0,#7b2ff5,#2f6bf0,#22c2f5) border-box;animation:auth-border 6s linear infinite}@keyframes auth-border{to{--auth-angle: 360deg}}@media (prefers-reduced-motion: reduce){.auth-card{animation:none}}.auth-corner{position:absolute;top:calc(env(safe-area-inset-top) + 10px);right:12px;z-index:5;display:flex;gap:6px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:1.35rem}.auth-card .sub{margin:-6px 0 0}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:4px;font:700 2.1rem/1.1 var(--font-display)}.auth-logo img{width:76px;height:auto}.auth-logo small{margin-top:-2px;font:500 .85rem var(--font-ui);color:var(--ink-2);letter-spacing:.02em}.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent-grad);color:#fff;font:700 .72rem var(--font-ui);flex-shrink:0}.avatar.big{width:72px;height:72px;font-size:1.45rem}.nav-item .avatar{width:24px;height:24px;margin:-2px;font-size:.58rem}.avatar{overflow:hidden}.avatar img{box-sizing:border-box;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.avatar.photo{padding:1px;background:var(--range-grad)}.avatar.big.photo{padding:1px}.avatar.big.photo img{border:2px solid var(--surface)}.avatar-edit{position:relative;padding:0;border:none;background:none;border-radius:50%;cursor:pointer;flex-shrink:0}.avatar-edit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.avatar-edit .cam{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line),var(--shadow-sm);transition:background-color .15s,transform .15s}.avatar-edit{--cam-hover: var(--surface-2)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .avatar-edit{--cam-hover: color-mix(in srgb, var(--surface), #fff 30%)}}:root[data-theme=dark] .avatar-edit{--cam-hover: color-mix(in srgb, var(--surface), #fff 30%)}@media (hover: hover){.avatar-edit:hover .cam{background:var(--cam-hover)}}.avatar-edit:focus-visible .cam{background:var(--cam-hover)}.avatar-edit:active .cam{transform:scale(.94)}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:4px 12px}.photo-dlg{--dlg-w: 420px}.photo-stage{position:relative;width:min(100%,360px);aspect-ratio:1;margin:0 auto;overflow:hidden;border-radius:var(--r-md);background:var(--surface-2);touch-action:none;user-select:none;cursor:grab}.photo-stage:active{cursor:grabbing}.photo-stage:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-stage.loading{display:grid;place-items:center}.photo-stage:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 100vmax #0000008c;outline:2px solid rgba(255,255,255,.85);outline-offset:-1px;pointer-events:none}.photo-stage.square:after{border-radius:21%}.photo-stage img,.photo-pv img{position:absolute;max-width:none;max-height:none;pointer-events:none;-webkit-user-drag:none}.photo-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:min(100%,360px);margin:0 auto}.photo-zoom{display:flex;align-items:center;gap:6px;flex:1 1 180px;min-width:0}.photo-zoom input[type=range]{flex:1;min-width:0}.photo-previews{display:flex;align-items:center;gap:10px}.photo-bgs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:min(100%,360px);margin:0 auto}.photo-bgs>.sub{margin-right:2px}.photo-bg{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:50%;box-shadow:inset 0 0 0 1px #7f7f7f73;cursor:pointer;flex-shrink:0}.photo-bg.on{outline:2px solid var(--accent);outline-offset:2px}.photo-bg:focus-visible,.photo-bg:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.photo-bg.custom .i{color:#fff;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.8));pointer-events:none}.photo-bg.custom input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-pv{display:block;width:32px;height:32px;padding:1px;border-radius:50%;background:var(--range-grad);flex-shrink:0}.photo-pv.big{width:75px;height:75px}.photo-pv>span{display:block;position:relative;box-sizing:border-box;width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--surface)}.photo-pv.big>span{border:2px solid var(--surface)}.photo-pv.group{position:relative;padding:0;overflow:hidden;border-radius:21%;background:var(--surface-2)}.photo-pv.group.big{width:56px;height:56px}.photo-pv.group.round{border-radius:50%}.photo-shape{align-self:center;width:max-content;max-width:100%}.group-mark{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;overflow:hidden;border-radius:21%;background:var(--accent-grad);color:#fff;font:700 .72rem var(--font-display)}.group-mark.round{border-radius:50%}.avatar-edit.group-edit{border-radius:21%}.avatar-edit.group-edit.round{border-radius:50%}.group-mark img{width:100%;height:100%;object-fit:cover;display:block}.group-photo-row{display:flex;align-items:center;gap:14px}.group-photo-row .group-mark{width:56px;height:56px;font-size:1.15rem}.group-photo-row .photo-shape{width:auto;margin:0}.group-title{display:flex;align-items:center;gap:12px;min-width:0}.group-title>div{min-width:0}.group-title .group-mark{width:52px;height:52px;font-size:1.1rem}.profile-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:stretch;container-type:inline-size}.fold-head{display:none}@container (max-width: 735.98px){.profile-grid>.card.foldable:has(>.card-top){display:flex;flex-direction:column;gap:22px;grid-row:auto}.profile-grid>.card.foldable>.fold-head{display:block;margin:0}.fold-head>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.fold-chev{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;color:var(--muted);transition:background var(--t) var(--ease)}.fold-head>button:hover .fold-chev{background:var(--surface-2);color:var(--ink)}.profile-grid>.card.foldable>h2:not(.fold-head),.profile-grid>.card.foldable>.card-top>h2,.profile-grid>.card.folded>.card-top,.profile-grid>.card.folded>.card-body{display:none}}.profile-card,.people-card{display:flex;flex-direction:column;gap:14px}.profile-card{gap:22px;justify-content:space-between}.profile-grid>.card:has(>.card-top){display:grid;grid-template-columns:minmax(0,1fr);grid-row:span 2;grid-template-rows:subgrid;row-gap:22px}.profile-grid .card-top,.profile-grid .card-body{display:flex;flex-direction:column;gap:14px}.profile-grid .profile-card>.card-body{gap:22px;justify-content:space-between}.people-sub-h,.profile-roles>span:first-child,.profile-att>span:first-child,.profile-next>span:first-child,.member-dlg .field>span:first-child{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:.95rem;font-weight:700;color:var(--ink)}.people-sub-h:before,.profile-roles>span:first-child:before,.profile-att>span:first-child:before,.profile-next>span:first-child:before,.member-dlg .field>span:first-child:before{content:"";width:4px;height:1.05em;border-radius:2px;background:var(--accent-grad);flex-shrink:0}.profile-card .field>small.sub{margin-top:2px;font-size:.76rem;font-weight:400;line-height:1.4;color:var(--muted);opacity:.85}.profile-group-note{margin:0;font-size:.85rem}.profile-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.profile-foot .sync-status{margin-left:auto;justify-content:flex-end}.profile-who{display:flex;align-items:center;gap:14px}.profile-who>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.profile-who b{font-size:1.1rem}.people-add{--label-h: calc(.96rem + 4px) ;display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.people-add>.field{flex:1;min-width:200px}.people-add>.field.birthday,.people-add>.field.phone{flex:1 1 170px;min-width:150px}.people-add:has(>.field)>:not(.field){margin-top:var(--label-h)}.people-add>.input{flex:1;min-width:200px}.people-list{list-style:none;margin:0;padding:0}.people-list li{display:flex;align-items:center;gap:8px;padding:10px 0;min-height:65px;border-top:1px solid var(--line);flex-wrap:wrap}.people-list li:first-child{border-top:none}.people-list-head{display:flex;justify-content:space-between;gap:8px;padding:4px 0 8px;border-bottom:2px solid transparent;border-image:var(--accent-grad) 1;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.people-list-head+.people-list{margin-top:-6px}.people-missing{font-style:italic;font-weight:400;color:var(--muted);opacity:.7}.phone-link.people-missing .i{color:var(--muted)}.profile-who .avatar.big{width:75px;height:75px;font-size:1.5rem}.people-who .avatar{flex-shrink:0;width:60px;height:60px;font-size:1.15rem}.phone-link.people-missing:hover{color:var(--muted)}.people-add-box{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.people-sub-h{display:flex;align-items:center;gap:8px;margin:6px 0 -4px}.people-search{margin:4px 0 8px}.people-add-box .people-sub-h{margin:0}.people-card>.people-sub-h,.people-card>.card-body>.people-sub-h{margin-top:auto}.people-who{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:10px}.people-actions{margin-left:auto}@container (max-width: 735.98px){.people-actions{margin-left:0}.people-list li{row-gap:12px}}.people-email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.people-who .chip{flex-shrink:0}.people-actions{display:flex;align-items:center;gap:8px}.google-btn{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);gap:10px}.google-btn:hover:where(:not(:disabled)){background:var(--surface-2)}.g-logo{width:18px;height:18px;flex-shrink:0}.auth-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-forgot{align-self:flex-end;margin:-6px 0 -4px;font-size:.85rem}.auth-switch{margin:0;text-align:center;font-size:.88rem;color:var(--muted)}.auth-invite{display:flex;align-items:flex-start;gap:8px;margin:2px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.auth-invite .i{flex-shrink:0;margin-top:2px}.pw-wrap{position:relative}.pw-wrap .input{padding-right:46px}.pw-eye{position:absolute;right:6px;top:0;bottom:0;margin:auto 0}.pw-caps{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--warn)}.pw-rules{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:.8rem;color:var(--muted)}.pw-rules li{display:flex;align-items:center;gap:6px;transition:color var(--t-fast)}.pw-rules li.ok{color:var(--ok)}.spinner{width:20px;height:17px;flex-shrink:0;background:linear-gradient(90deg,#22c2f5,#2f6bf0,#7b2ff5,#2f6bf0,#22c2f5) 0 0/40px 100%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='412 140 406 346'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M440 342V458M508 270V446M646 340V383'/%3E%3Cpath d='M578 396V214C578 188 598 168 624 168C642 168 656 178 665 194L790 445'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='412 140 406 346'%3E%3Cg fill='none' stroke='%23000' stroke-width='44' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M440 342V458M508 270V446M646 340V383'/%3E%3Cpath d='M578 396V214C578 188 598 168 624 168C642 168 656 178 665 194L790 445'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;animation:spin-flow 1.6s linear infinite}@keyframes spin-flow{to{background-position:40px 0}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:4s}}.confirm-box{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-soft-ink)}.confirm-box>.i{flex-shrink:0;width:22px;height:22px;margin-top:1px}.confirm-box b{display:block;font-size:.95rem;margin-bottom:2px}.confirm-box p{margin:0 0 6px;font-size:.86rem;line-height:1.45}.confirm-box .link-btn{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:700}.confirm-box small{display:block;margin-top:4px;font-size:.78rem;opacity:.85}.input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.field-error{font-size:.8rem;font-weight:600;color:var(--bad)}.auth-notices{display:flex;flex-direction:column;gap:10px;scroll-margin:16px}.note[role=alert]{margin:0}.note-detail{display:block;margin-top:4px;font-size:.74rem;opacity:.75;word-break:break-word}.sync-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.sync-status.idle .i{color:var(--ok)}.sync-status.offline,.sync-status.error{color:var(--warn)}#group-tabs{margin-bottom:16px}.group-new{width:min(100%,460px);margin-top:6px}.agenda{display:flex;flex-direction:column;gap:16px}.agenda-grid{display:grid;gap:16px;grid-template-columns:minmax(280px,360px) 1fr;align-items:start}@media (max-width: 899px){.agenda-grid{grid-template-columns:1fr}}.agenda-list{display:flex;flex-direction:column;gap:12px;min-width:0}.my-next{display:flex;flex-direction:column;gap:10px}.my-next h2{margin:0;font-size:1rem}.my-next>.btn{align-self:flex-start}.my-next-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.my-next-list li{display:flex;align-items:center;gap:12px}.my-next-what{flex:1;min-width:0;display:flex;flex-direction:column}.my-next-what b,.event-what b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;flex-shrink:0;padding:4px 0;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-soft-ink);line-height:1.1}.date-badge b{font-size:1.25rem;font-family:var(--font-display)}.date-badge small{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.event.rehearsal .date-badge{background:var(--ok-soft);color:var(--ok)}.cal{padding:14px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-head b,.day-bar b{display:inline-block}.cal-head b:first-letter,.day-bar b:first-letter{text-transform:uppercase}.chev-left{transform:rotate(90deg)}.chev-right{transform:rotate(-90deg)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-wd{text-align:center;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;padding:2px 0}.cal-day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;padding:0;transition:background-color var(--t-fast),border-color var(--t-fast)}.cal-day:hover{background:var(--surface-2)}.cal-day.today{border-color:var(--accent)}.cal-day.mine{background:var(--accent-soft);color:var(--accent-soft-ink)}.cal-day.off{background:repeating-linear-gradient(135deg,var(--bad-soft) 0 4px,transparent 4px 8px);color:var(--bad)}.cal-day[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cal-dots{display:flex;gap:2px;height:5px}.cal-dots i,.cal-legend i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.cal-dots i.rehearsal,.cal-legend i.rehearsal{background:var(--ok-vivid)}.cal-day[aria-pressed=true] .cal-dots i{background:var(--accent-ink)}.cal-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.75rem;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend i{width:8px;height:8px}.cal-legend i.off{border-radius:2px;background:repeating-linear-gradient(135deg,var(--bad) 0 2px,transparent 2px 4px)}.day-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:12px 14px}.day-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.event{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.event.declined{border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}.event-top{display:flex;align-items:center;gap:12px;cursor:pointer}.event-top .date-badge{align-self:center;width:64px;height:64px;padding:0}.event-top .date-badge b{font-size:1.5rem}.event-top .date-badge small{font-size:.72rem}.event-what{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.event-what .sub{font-size:.84rem}.event-chips{display:flex;flex-wrap:wrap;gap:4px}.event-chev{transition:transform var(--t) var(--ease-out)}.event-chev.up{transform:rotate(180deg)}.chip.kind-rehearsal{background:var(--ok-soft);color:var(--ok)}.chip.kind-service{background:var(--accent-soft);color:var(--accent-soft-ink)}.chip.st-yes{background:var(--ok-soft);color:var(--ok)}.chip.st-no{background:var(--bad-soft);color:var(--bad)}.chip.st-pending{background:var(--warn-soft);color:var(--warn)}.event-actions{display:flex;flex-wrap:wrap;gap:8px}.decline{display:flex;gap:8px;flex-wrap:wrap}.decline .input{flex:1 1 220px}.event-more{display:flex;flex-direction:column;gap:12px;padding-top:10px;border-top:1px solid var(--line)}.event-notes{margin:0;white-space:pre-wrap;font-size:.88rem;color:var(--ink-2)}.event-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.roster li{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:.9rem}.roster-role{min-width:96px;font-weight:700;color:var(--ink-2);font-size:.82rem}.roster-who{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px}.roster-reason{flex-basis:100%;padding-left:106px;font-size:.8rem;color:var(--muted);font-style:italic}@media (max-width: 520px){.roster-role{min-width:0;flex-basis:100%}.roster-reason{padding-left:0}}.attendance h3{margin:0 0 8px;font-size:.92rem;display:flex;gap:8px;align-items:baseline}.attendance ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attendance li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.attendance ul,.roster{gap:0}.attendance li,.roster li{padding:6px 0}.attendance li+li,.roster li+li{border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.att-pending{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin:0 0 8px}.att-pending .sub{flex:1 1 200px}.attendance .seg button{min-width:38px}.attendance .seg:before{transition:transform var(--t) var(--ease-out),width var(--t) var(--ease-out),background-color var(--t-fast)}.attendance .seg:has([data-v=present][aria-pressed=true]):before{background:var(--ok-soft)}.attendance .seg:has([data-v=absent][aria-pressed=true]):before{background:var(--warn-soft)}.attendance .seg [data-v=present][aria-pressed=true]{color:var(--ok)}.attendance .seg [data-v=absent][aria-pressed=true]{color:var(--warn)}dialog.event-dlg{--dlg-w: 640px}.event-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}@media (max-width: 520px){.event-row{grid-template-columns:1fr 1fr}.event-row .field:first-child{grid-column:1/-1}}.roster-h{margin:4px 0 0;font-size:.95rem;display:flex;gap:8px;align-items:baseline}.roster-edit{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.roster-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.roster-roles{margin-top:6px}.roster-roles .role-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.roster-warn{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:.8rem;font-weight:600;color:var(--warn)}.roster-warn.unavailable,.roster-warn.declined{color:var(--bad)}.roster-add{display:flex;gap:8px;flex-wrap:wrap}.members .people-who{flex:1 1 180px}.member-open{cursor:pointer}.member-open-btn{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.member-open:hover .member-open-btn{text-decoration:underline;text-underline-offset:3px}.member-dlg-who{display:flex;align-items:center;gap:14px}.member-dlg-who .avatar.big{flex-shrink:0;width:75px;height:75px;font-size:1.5rem}.member-dlg-who .member-chips{margin-top:4px}.member-dlg .dlg-body{display:flex;flex-direction:column;gap:18px}.member-dlg .field>span:first-child{margin-bottom:0}.member-dlg-next{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.member-dlg-next li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.member-chips{display:flex;flex-wrap:wrap;gap:4px}.role-input{max-width:200px}.role-input.sm{min-height:34px;padding:4px 10px;font-size:.85rem;max-width:160px}.member-add .member-pick{width:100%;margin-bottom:10px}.group-setlists>.note{margin:0 0 16px}.lib-card .foot.group-set-foot .btn{margin-right:0}#tools-tabs{overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}#tools-tabs::-webkit-scrollbar{display:none}#tools-tabs button{flex-shrink:0}#view-home{display:flex;flex-direction:column;gap:14px;max-width:960px}#view-home .view-head{margin-bottom:6px}#view-home h2{margin:0;font-size:1rem}.home-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.home-group-card{position:relative;display:flex;align-items:center;gap:14px;flex:1 1 320px;max-width:520px;min-width:0;background:var(--accent-soft);border-color:transparent;transition:filter var(--t-fast)}.home-group-card:has(.home-group-open:hover){filter:brightness(.97)}.home-group-open{flex:1;min-width:0;display:flex;align-items:center;gap:14px;padding:0;border:none;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.home-group-open:after{content:"";position:absolute;inset:0;border-radius:inherit}.home-group-open:focus-visible{outline:none}.home-group-card:has(.home-group-open:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.home-group-card .avatar-edit{position:relative;z-index:1}.home-group-card .group-mark{width:56px;height:56px;font-size:1.15rem}.home-group-what{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.home-group-what b{font-family:var(--font-display);font-size:1.15rem;color:var(--accent-soft-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-group-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85rem;color:var(--ink-2)}.home-group-stats>span{display:inline-flex;align-items:center;gap:5px}.home-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.home-sec-head h2{display:flex;align-items:center;gap:8px}.home-sec-head .link-btn{display:inline-flex;align-items:center;gap:2px;text-decoration:none}.count-chip{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:var(--r-full);background:var(--surface-2);color:var(--ink-2);font-size:.78rem;font-weight:700}.home-empty{padding:24px 20px}.home-scroll{list-style:none;margin:0 -16px;padding:2px 16px 8px;display:grid;grid-auto-flow:column;grid-auto-columns:min(320px,82%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain}.home-scroll>li{scroll-snap-align:start;display:flex}.scale-card{flex:1;display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.scale-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md, var(--shadow-sm))}.scale-card.rehearsal{border-top:3px solid var(--ok)}.scale-card.service{border-top:3px solid var(--accent)}.scale-when{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink-2)}.scale-when>span:first-child:first-letter{text-transform:uppercase}.scale-title{font-family:var(--font-display);font-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scale-rel{font-size:.85rem}.scale-people{display:flex;padding:6px 0 4px 6px}.scale-people .avatar{width:30px;height:30px;margin-left:-6px;border:2px solid var(--surface);font-size:.68rem}.scale-people .avatar.more{background:var(--surface-3, var(--surface-2));color:var(--ink-2)}.scale-stats{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding-top:10px;border-top:1px solid var(--line);font-size:.88rem;color:var(--ink-2)}.scale-stats>span:not(.chip){display:inline-flex;align-items:center;gap:4px}.scale-stats .ok{color:var(--ok)}.scale-stats .bad{color:var(--bad)}.scale-stats .chip{margin-left:auto}.home-needs,.home-agenda,.home-birthdays{display:flex;flex-direction:column;gap:10px}.home-needs{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.home-row{display:flex;align-items:center;gap:12px;width:100%;padding:4px;margin:-4px;border:none;border-radius:var(--r-md);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--t-fast)}.home-row:hover{background:var(--surface-2)}.home-continue{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:8px}.home-continue>div:first-child{display:flex;flex-direction:column;min-width:0}.home-continue b{font-family:var(--font-display);font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-continue-actions{display:flex;gap:8px}#group-back{margin:0 0 16px -8px}.member-add{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.role-picker{display:flex;flex-direction:column;gap:8px}.role-picker .lbl{font-size:.8rem;font-weight:600;color:var(--muted)}.role-chips{display:flex;flex-wrap:wrap;gap:6px}.role-chip{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:4px 12px;border-radius:var(--r-full);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font:600 .82rem var(--font-ui);cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.role-chip:hover{border-color:var(--accent)}.role-chip[aria-pressed=true]{background:var(--accent-soft);border-color:transparent;color:var(--accent-soft-ink)}.role-other{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.role-other .input{flex:0 1 220px;min-height:34px;padding:4px 10px;font-size:.85rem}.member-roles{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.member-roles .sub{font-size:.82rem}.member-role-actions{display:flex;align-items:center;gap:8px}.member-role-actions .icon-btn.sm{width:34px;height:34px}.members .member-roles:not(.editing){flex:1 1 100%}.members .member-role-actions{margin-left:auto}@container (max-width: 735.98px){.members .member-role-actions{margin-left:0}}.member-roles.editing{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--surface-2)}.member-roles-foot{display:flex;justify-content:flex-end;gap:8px}.people-id{display:flex;flex-direction:column;min-width:0}.people-edit{flex-basis:100%;display:flex;flex-direction:column;gap:6px;padding:4px 0 2px}.people-edit-hint{margin:0;font-size:.78rem}.home-birthdays h2{display:flex;align-items:center;gap:8px}.home-birthdays h2 .i{color:var(--accent)}.birthday-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.birthday-list li{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:var(--r-md)}.birthday-list li.today{background:var(--accent-soft)}.birthday-who{flex:1;min-width:0;display:flex;flex-direction:column}.birthday-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-roles .member-roles:not(.editing){gap:6px;font-weight:400}.profile-roles .member-roles.editing{font-weight:400}.people-name{display:flex;align-items:center;gap:8px;min-width:0}.people-name .chip{flex-shrink:0}.phone-link{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:3px;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color var(--t-fast)}.phone-link .i{width:14px;height:14px;color:var(--accent)}.phone-link>span{line-height:1;text-box:trim-both cap alphabetic}.phone-link:hover,.phone-link:focus-visible{color:var(--accent)}@media (any-pointer: coarse),(max-width: 599px){.btn.sm{min-height:40px}.icon-btn.sm{width:40px;height:40px}.seg button{min-height:38px}.seg.sm button{min-height:34px}.seg button{min-width:40px}.stage-key-btn{height:36px;min-width:40px}.oct-btn{width:40px;height:40px}.link-btn{min-height:36px}}.profile-stat{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-weight:400}.profile-stat>b{font-size:1.5rem;line-height:1}.profile-stat .meter{flex-basis:100%;height:6px;border-radius:99px;background:var(--line);overflow:hidden}.profile-stat .meter>i{display:block;height:100%;border-radius:inherit;background:var(--ok)}.profile-next-box{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);font-weight:400}.profile-next-what{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-next-chips,.profile-next-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.profile-next-actions .link-btn{margin-left:auto}.profile-pair{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.profile-pair>.field{flex:1 1 150px;min-width:0}.out-edit-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.9rem}.out-edit-row .grow{flex:1}
