:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--series-tunebook:#2f7a4a;--series-folkfriend:#eb6834;--series-jigripper:#2a78d6;--series-tunepal:#8c4fb8;--background:#fafaf8;--foreground:#171717;--card:#fff;--muted:#f2f2ef;--muted-foreground:#666761;--text-3:#6f6f6a;--text-4:#9a9a94;--border:#deded9;--input:#d4d4ce;--line-strong:#bdbcb5;--accent:#eaeae6;--danger:#a33328;--danger-strong:#8c2c23;--danger-bg:#fdf0ee;--success:#376342;--success-bg:#e9f1e9;--star:var(--brand-dot);--brand-dot:#c8642a;--brand-ink:#1f3a2e;--brand-dot-text:#a9501c;--brand-dot-soft:#f7e7dc;--brand-ink-soft:#e4ece6;--learned:#5e7e68;--on-brand-ink:#fff;--on-brand-dot:#fff;--focus-ring:var(--brand-ink);--radius:6px;--radius-row:10px;--radius-group:12px;--radius-sheet:16px;--radius-pill:999px;--shadow-raised:0 1px 3px #0000001f;--shadow-popover:0 8px 30px #0002;--shadow-dialog:0 20px 80px #00000021;--ease:cubic-bezier(.2,.8,.2,1);--duration:.22s;--font-ui:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Inter,sans-serif;--font-music:Georgia,"Times New Roman",serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){--series-tunebook:#45a06a;--series-folkfriend:#e0662c;--series-jigripper:#3f8de8;--series-tunepal:#b083e0;--background:#111110;--foreground:#ecece8;--card:#1c1c1b;--muted:#232322;--muted-foreground:#a3a39d;--text-3:#8a8a84;--text-4:#6c6c67;--border:#30302e;--input:#3d3d3a;--line-strong:#4d4d49;--accent:#2a2a28;--danger:#ec6f62;--danger-strong:#f58c80;--danger-bg:#3a1f1b;--success:#7cc290;--success-bg:#1d3324;--star:var(--brand-dot);--brand-dot:#e8894f;--brand-ink:#f6f1e7;--brand-dot-text:#e8894f;--brand-dot-soft:#3a2618;--brand-ink-soft:#22302a;--learned:#8fb39a;--on-brand-ink:#111110;--on-brand-dot:#111110}}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--series-tunebook:#45a06a;--series-folkfriend:#e0662c;--series-jigripper:#3f8de8;--series-tunepal:#b083e0;--background:#111110;--foreground:#ecece8;--card:#1c1c1b;--muted:#232322;--muted-foreground:#a3a39d;--text-3:#8a8a84;--text-4:#6c6c67;--border:#30302e;--input:#3d3d3a;--line-strong:#4d4d49;--accent:#2a2a28;--danger:#ec6f62;--danger-strong:#f58c80;--danger-bg:#3a1f1b;--success:#7cc290;--success-bg:#1d3324;--star:var(--brand-dot);--brand-dot:#e8894f;--brand-ink:#f6f1e7;--brand-dot-text:#e8894f;--brand-dot-soft:#3a2618;--brand-ink-soft:#22302a;--learned:#8fb39a;--on-brand-ink:#111110;--on-brand-dot:#111110}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--background);color:var(--foreground);font:14px/1.5 var(--font-ui);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:560;transition:background .15s,border-color .15s;display:inline-flex}.button:hover{text-decoration:none}.button-default{min-height:38px;padding:0 14px}.button-sm{min-height:32px;padding:0 10px;font-size:12px}.button-icon{width:36px;height:36px}.button-primary{background:var(--brand-ink);color:var(--on-brand-ink)}.button-primary:hover{opacity:.88}.button-outline{background:var(--card);border-color:var(--border);color:var(--foreground)}.button-outline:hover,.button-ghost:hover{background:var(--accent)}.button-ghost{color:var(--muted-foreground);background:0 0}.button-danger{background:var(--danger);color:var(--card)}.button-danger:hover{background:var(--danger-strong)}.input{border:1px solid var(--input);background:var(--card);border-radius:var(--radius);width:100%;min-height:38px;color:var(--foreground);padding:8px 10px;display:block}.input::placeholder{color:var(--text-4)}.field-label{color:var(--muted-foreground);gap:7px;font-size:12px;font-weight:600;display:grid}.field-label .input{font-weight:400}.form-error,.inline-error{color:var(--danger);font-size:12px}.form-success{color:var(--success);font-size:12px}.muted{color:var(--muted-foreground);font-size:12px}.button-lg{min-height:44px;padding:0 20px;font-size:15px}.button-icon-sm{width:28px;height:28px;color:var(--text-3);padding:0}.button-icon-sm:hover{color:var(--foreground)}.button-link{min-height:0;color:var(--text-3);text-underline-offset:3px;background:0 0;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:underline}.button-link:hover{color:var(--foreground);text-decoration:underline}.segmented{border-radius:var(--radius-row);background:var(--accent);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;padding:3px;display:inline-grid}.segmented[data-block]{width:100%;display:grid}.segmented-option{border-radius:calc(var(--radius-row) - 3px);min-height:32px;color:var(--muted-foreground);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:flex}.segmented-option:hover{color:var(--foreground)}.segmented-option[aria-checked=true]{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-raised)}.segmented-option:focus-visible{outline-offset:-2px}.segmented[data-size=lg] .segmented-option{min-height:36px}.chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);min-height:30px;color:var(--foreground);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--line-strong)}.chip[aria-pressed=true]{background:var(--brand-ink);border-color:var(--brand-ink);color:var(--on-brand-ink)}.card{border:1px solid var(--border);border-radius:var(--radius-group);background:var(--card)}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--background);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:23px 12px 12px;display:flex;position:sticky;top:0;overflow:auto}.sidebar-head{padding:0 11px 31px}.brand{letter-spacing:-.045em;align-items:center;gap:10px;font-size:18px;font-weight:670;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{flex:none;width:30px;height:30px}.nav-section{border-bottom:1px solid var(--border);padding-bottom:18px}.nav-link{border-radius:var(--radius);width:100%;min-height:35px;color:var(--muted-foreground);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex}.nav-link:hover{background:var(--accent);color:var(--foreground);text-decoration:none}.nav-link.active{background:var(--brand-ink-soft);color:var(--foreground);font-weight:650}.nav-link span:not(.nav-count){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-count{color:var(--text-3);margin-left:auto;font:11px ui-monospace,monospace}.nav-label-row{letter-spacing:.12em;color:var(--text-3);justify-content:space-between;align-items:center;padding:24px 10px 9px;font-size:11px;font-weight:700;display:flex}.nav-row{align-items:center;min-width:0;display:flex}.nav-row .nav-link{flex:1;min-width:0}.nav-row .subtle{visibility:hidden}.nav-row:hover .subtle,.nav-row:focus-within .subtle{visibility:visible}.nav-folder{gap:6px}.nav-folder span{flex:1}.nav-book{padding-left:24px}.nav-children{padding-left:12px}.nav-add{width:100%;color:var(--text-3);text-align:left;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:flex}.nav-add:hover{background:var(--accent);color:var(--foreground)}.nav-add.nested{padding-left:24px}.sidebar-bottom{border-top:1px solid var(--border);align-items:center;gap:9px;margin-top:auto;padding:15px 7px 3px;font-size:12px;display:flex}.user-initial{background:var(--border);border-radius:50%;place-items:center;width:27px;height:27px;font-weight:700;display:grid}.user-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mobile-menu-button,.mobile-close,.mobile-scrim{display:none}.main-content{min-width:0}.page-wrap{max-width:1120px;margin:0 auto;padding:61px clamp(25px,5vw,72px) 100px}.page-head{justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:38px;display:flex}.page-head h1{letter-spacing:-.065em;margin:10px 0;font-size:clamp(36px,5vw,56px);font-weight:570;line-height:1.06}.eyebrow{letter-spacing:.15em;color:var(--text-3);text-transform:uppercase;margin:0;font-size:11px;font-weight:730}.page-subtitle{color:var(--muted-foreground);margin:0;font-size:14px}.heading-count{vertical-align:middle;color:var(--text-4);letter-spacing:0;margin-left:14px;font:13px ui-monospace,monospace;display:inline-block}.tune-list{border-top:1px solid var(--border)}.tune-list-row{border-bottom:1px solid var(--border);align-items:center;gap:17px;min-height:76px;padding:14px 7px;display:flex}.tune-list-icon{background:var(--accent);border-radius:var(--radius);width:37px;height:37px;color:var(--muted-foreground);flex:none;place-items:center;display:grid}.tune-list-main{flex:1;gap:2px;min-width:0;display:grid}.tune-list-title{font:22px/1.25 var(--font-music);letter-spacing:-.025em}.tune-list-meta{color:var(--text-3);font-size:11px}.tune-actions{align-items:center;gap:7px;display:flex}.add-book{color:var(--text-3);align-items:center;gap:5px;font-size:12px;display:flex}.add-book select{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;max-width:130px}.inline-error{max-width:200px}.empty-state{border-radius:var(--radius-group);border:1px solid var(--border);background:var(--card);text-align:center;padding:55px 25px}.empty-state h2{font:28px var(--font-music);margin:15px 0 6px}.empty-state p{color:var(--muted-foreground);max-width:350px;margin:0 auto 24px}.empty-icon{border:1px solid var(--border);width:54px;height:54px;color:var(--muted-foreground);border-radius:50%;place-items:center;display:inline-grid}.back-link{color:var(--muted-foreground);align-items:center;gap:6px;margin-bottom:35px;font-size:12px;display:inline-flex}.hint-panel{border-radius:var(--radius-group);border:1px solid var(--border);background:var(--card);color:var(--text-3);padding:20px;font-size:12px}.search-form{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--text-3);align-items:center;gap:10px;margin:38px 0 30px;padding:8px 9px 8px 15px;display:flex}.search-form .input{box-shadow:none;border:0;font-size:14px}.search-form .input:focus{outline:0}.results-heading{justify-content:space-between;align-items:center;gap:12px;margin:20px 0 13px;display:flex}.results-heading h2{margin:0;font-size:15px}.results-heading span{color:var(--text-3);font-size:11px}.results-heading a{text-decoration:underline}.book-add{border-radius:var(--radius-group);border:1px solid var(--border);background:var(--card);max-width:440px;margin-bottom:32px;padding:16px 19px}.book-scores{border-top:1px solid var(--border)}.book-score{border-bottom:1px solid var(--border);grid-template-columns:46px minmax(0,1fr);gap:15px;padding:40px 0;display:grid}.score-order{color:var(--text-4);flex-direction:column;align-items:center;gap:11px;font:12px ui-monospace,monospace;display:flex}.score-order>div{display:grid}.book-score-content{min-width:0}.book-score-content>.tune-actions{justify-content:flex-end;margin-top:10px}.tune-page{max-width:950px}.score-sheet{background:var(--card);border:1px solid var(--accent);break-inside:avoid;padding:clamp(20px,4vw,38px)}.score-header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.score-header h2{font:normal clamp(30px,4vw,42px)/1.1 var(--font-music);letter-spacing:-.04em;margin:9px 0 7px}.score-meta{color:var(--text-3);margin:0;font-size:11px}.source-link{color:var(--text-3);white-space:nowrap;border-bottom:1px solid var(--line-strong);font-size:11px}.notation-frame{min-width:0;margin:28px 0 19px;overflow-x:auto}.notation{min-width:650px}.notation svg{max-width:none!important}.notation .playing-note path,.notation .playing-note ellipse,.session-notation .playing-note path,.session-notation .playing-note ellipse{fill:var(--brand-dot)!important;stroke:var(--brand-dot)!important}.player{border-top:1px solid var(--border);padding-top:17px}.player-primary{align-items:center;gap:7px;display:flex}.note-display{align-items:baseline;gap:9px;margin-left:auto;display:flex}.note-display span{letter-spacing:.13em;color:var(--text-3);font-size:11px;font-weight:700}.note-display strong{text-align:right;min-width:43px;font:18px ui-monospace,monospace}.player-progress{padding:15px 0 12px}.player input[type=range]{width:100%;accent-color:var(--brand-ink);cursor:pointer}.player-options{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:21px;font-size:11px;display:flex}.player-options label{align-items:center;gap:7px;display:flex}.player-options select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);padding:5px 7px;font-size:11px}.player-options input[type=range]{width:95px}.player-status{color:var(--text-3);font-size:11px}.playalong-other{color:var(--text-4);font-size:11px}.chip[aria-pressed=true] .playalong-other{color:var(--line-strong)}.abc-details{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:19px;padding-top:13px;font-size:12px}.abc-details summary{cursor:pointer}.abc-details pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--background);padding:16px;font:12px/1.6 ui-monospace,monospace}.dialog-overlay{z-index:30;background:#1414124d;position:fixed;inset:0}.dialog-content{z-index:31;background:var(--card);border-radius:var(--radius-group);border:1px solid var(--border);width:min(420px,100vw - 30px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);padding:26px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-title{letter-spacing:-.04em;margin-bottom:20px;font-size:21px;font-weight:590}.dialog-actions,.manage-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.manage-actions{border-top:1px solid var(--border);justify-content:flex-start;padding-top:17px}.auth-screen{place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{border-radius:var(--radius-group);border:1px solid var(--border);background:var(--card);width:min(400px,100%);padding:36px 36px 32px}.auth-brand{margin-bottom:50px}.auth-card h1{letter-spacing:-.06em;margin:10px 0 6px;font-size:39px;font-weight:570}.auth-form{gap:16px;margin-top:30px;display:grid}.auth-submit{width:100%;margin-top:6px}.auth-divider{color:var(--text-4);align-items:center;gap:11px;margin:25px 0 13px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-links{color:var(--muted-foreground);justify-content:space-between;gap:12px;margin-top:24px;font-size:11px;display:flex}.auth-links a{text-decoration:underline}@media (max-width:760px){.app-shell{display:block}.mobile-menu-button{z-index:20;border:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--background) 90%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);width:100%;color:var(--foreground);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:10px 16px;font-size:15px;font-weight:650;display:flex;position:sticky;top:0}.mobile-menu-icon{border-radius:var(--radius);background:var(--muted);width:34px;height:34px;color:var(--foreground);place-items:center;display:grid}.mobile-menu-button:hover .mobile-menu-icon{background:var(--accent)}.mobile-menu-button .brand-mark{width:22px;height:22px}.sidebar{z-index:21;width:min(280px,85vw);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.mobile-close{display:flex;position:absolute;top:24px;right:15px}.mobile-scrim{z-index:20;background:#00000040;border:0;display:block;position:fixed;inset:0}.page-wrap{padding:38px 20px 75px}.page-head{flex-wrap:wrap;margin-bottom:28px}.page-head h1{font-size:39px}.tune-list-row{flex-wrap:wrap;gap:10px}.tune-list-main{flex-basis:calc(100% - 60px)}.tune-actions{margin-left:46px}.search-form{flex-wrap:wrap}.search-form .input{flex:1;min-width:160px}.book-score{display:block}.score-order{flex-direction:row;justify-content:space-between;margin-bottom:12px}.score-order>div{display:flex}.score-sheet{padding:18px}.score-header{display:block}.source-link{margin-top:10px;display:inline-block}.player-options{gap:13px}.notation{min-width:620px}.auth-card{padding:25px}}@media print{body{background:#fff}.app-shell{display:block}.sidebar,.mobile-menu-button,.page-head .print-button,.page-subtitle,.book-add,.score-order,.player,.abc-details,.book-score-content>.tune-actions,.back-link{display:none!important}.page-wrap{max-width:none;padding:0}.page-head{margin:0 0 14px}.page-head h1{font-size:25px}.book-score{break-inside:avoid;border:0;margin:0 0 24px;padding:0;display:block}.score-sheet{break-inside:avoid;border:0;padding:0}.score-header h2{font-size:26px}.notation-frame{margin:12px 0;overflow:visible}.notation{min-width:0}.notation svg{max-width:100%!important}@page{margin:14mm}}.book-emoji{flex:none;justify-content:center;align-items:center;width:15px;font-size:16px;line-height:1;display:inline-flex}.book-icon{border-radius:var(--radius);color:var(--text-3);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.book-icon:hover,.book-icon[data-state=open]{background:var(--border);color:var(--foreground)}.book-icon-nav{width:30px;height:30px;font-size:18px}.book-icon-nav svg{width:16px;height:16px}.book-icon-page{width:60px;height:60px;margin:0 0 18px -5px;font-size:42px}.book-icon-page svg{width:36px;height:36px}.book-icon-draft{border:1px solid var(--border);width:42px;height:42px;font-size:26px}.book-icon-draft svg{width:22px;height:22px}.nav-book-row{border-radius:var(--radius);padding-left:6px}.nav-book-row.active{background:var(--accent);color:var(--foreground);font-weight:650}.nav-book-row .nav-book{padding-left:6px}.nav-book-row.active .nav-book{color:var(--foreground)}.emoji-popover{z-index:60;width:min(340px,100vw - 24px);max-height:var(--radix-popover-content-available-height);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-row);box-shadow:var(--shadow-popover);outline:none;overflow-y:auto}.emoji-popover-head{justify-content:space-between;align-items:center;padding:10px 12px 4px;font-size:12px;font-weight:600;display:flex}.emoji-popover-picker{min-width:0}.emoji-popover-picker .EmojiPickerReact{--epr-emoji-size:25px;--epr-emoji-padding:6px;--epr-header-padding:10px 12px;--epr-category-label-height:28px;--epr-category-label-text-color:var(--muted-foreground);border:0;border-radius:0}.emoji-popover-footer{border-top:1px solid var(--border);color:var(--text-3);justify-content:space-between;align-items:center;padding:7px 9px;font-size:11px;display:flex}.emoji-popover>.form-error{margin:6px 12px 10px}.emoji-loading{color:var(--text-3);padding:30px 12px;font-size:12px}@media print{.book-icon-page{pointer-events:none;margin-bottom:8px}}.nav-new-button{border-radius:var(--radius);color:var(--muted-foreground);letter-spacing:0;background:0 0;border:0;align-items:center;gap:3px;padding:4px 6px;font-size:11px;font-weight:500;display:inline-flex}.nav-new-button:hover,.nav-new-button[data-state=open]{background:var(--accent);color:var(--foreground)}.nav-create-menu{min-width:190px}.dropdown-item{border-radius:var(--radius);cursor:pointer;outline:none;align-items:center;gap:10px;padding:9px 10px;font-size:12px;display:flex}.dropdown-item[data-highlighted]{background:var(--accent)}.dropdown-item svg{color:var(--text-3);flex:none}.nav-create-menu .dropdown-label{overflow-wrap:anywhere}.nav-row .subtle[data-state=open]{visibility:visible}@media (hover:none),(max-width:760px){.nav-row .subtle{visibility:visible}.nav-new-button{min-height:32px}.nav-row>.button-icon-sm{min-width:30px;min-height:32px}}.profile-button{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.profile-button:hover .user-name{text-decoration:underline}.inline-import{padding:18px 0 0}.inline-import-form{align-items:center;gap:10px;display:flex}.inline-import-form>.input{flex:1;min-width:0}.inline-import-form>svg{color:var(--muted-foreground);flex:none}.setting-dialog{flex-direction:column;width:min(660px,100vw - 32px);max-height:85vh;display:flex}.setting-dialog-head{justify-content:space-between;align-items:center;display:flex}.setting-dialog-head .dialog-title{margin:0}.setting-results{margin-top:16px;overflow-y:auto}.setting-result{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.setting-result h3{margin:0 0 5px;font-size:16px}.setting-result p{margin:3px 0}.setting-source{margin-top:7px;font-size:11px;text-decoration:underline;display:inline-block}@media (max-width:760px){.inline-import-form{flex-wrap:wrap}.inline-import-form>.input{min-width:calc(100% - 35px)}.inline-import-form>.button{margin-left:28px}}.dropdown-content{z-index:50;min-width:240px;max-width:min(340px,100vw - 24px);max-height:var(--radix-dropdown-menu-content-available-height);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-row);box-shadow:var(--shadow-popover);padding:5px;overflow-y:auto}.dropdown-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;padding:7px 9px;font-size:11px}.dropdown-checkbox{cursor:pointer;border-radius:4px;outline:none;align-items:center;gap:8px;padding:9px 10px 9px 30px;font-size:12px;display:flex;position:relative}.dropdown-checkbox[data-highlighted]{background:var(--muted)}.dropdown-checkbox[data-disabled]{opacity:.5;pointer-events:none}.dropdown-indicator{align-items:center;display:flex;position:absolute;left:9px}.dropdown-message{max-width:260px;padding:7px 10px;font-size:12px;line-height:1.5}.book-contents{border:1px solid var(--border);border-radius:var(--radius-group);background:var(--card);margin-bottom:30px;padding:14px 18px}.book-contents-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.book-contents h2{margin:0;font-size:12px;font-weight:650}.book-contents h2 span{color:var(--muted-foreground);margin-left:7px;font:11px ui-monospace,monospace}.book-expand-actions{gap:3px;display:flex}.book-expand-actions .button{color:var(--muted-foreground);font-weight:400}.book-contents ol{margin:10px 0 0;padding:0;list-style:none}.book-contents a{border-radius:var(--radius);align-items:baseline;gap:12px;margin:0 -6px;padding:5px 6px;font-size:12px;display:flex}.book-contents a:hover{background:var(--muted);text-decoration:none}.contents-number{color:var(--muted-foreground);flex:none;font:11px ui-monospace,monospace}.contents-title{overflow-wrap:anywhere;min-width:0}.contents-meta{color:var(--muted-foreground);text-align:right;flex:none;margin-left:auto;font-size:11px}.book-tune{border-bottom:1px solid var(--border);padding:16px 0 24px;scroll-margin-top:20px}.book-tune-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.book-tune-head h2{flex:1;min-width:0;margin:0}.book-tune-toggle{border-radius:var(--radius);text-align:left;width:100%;min-height:40px;color:var(--foreground);background:0 0;border:0;align-items:center;gap:10px;padding:5px 8px;display:flex}.book-tune-toggle:hover{background:var(--muted)}.book-tune-toggle>svg{color:var(--text-3);flex:none}.book-tune-title{min-width:0;font:24px/1.25 var(--font-music);letter-spacing:-.02em;overflow-wrap:anywhere}.book-tune-tools{flex-wrap:wrap;flex:none;align-items:center;display:flex}.book-tune-tools>.button{width:28px;height:30px}.book-tune-panel{min-width:0}.book-tune:has(.book-tune-panel[hidden]){padding-bottom:4px}.book-tune-panel .score-sheet{padding:24px}.book-tune-panel .notation-frame{margin-top:16px}@media (max-width:760px){.book-contents{margin-bottom:22px;padding:12px}.book-contents-head{gap:4px}.book-expand-actions .button{padding:0 7px}.contents-meta{max-width:90px;font-size:11px}.book-tune-head{flex-wrap:wrap;align-items:flex-start;gap:5px}.book-tune-head h2{flex-basis:100%}.book-tune-tools{margin-left:auto}.book-tune-title{font-size:23px}.book-tune-panel .score-sheet{padding:16px}.book-tune-tools .tune-actions{margin-left:0}}@media print{.book-contents,.book-tune-tools,.book-tune-toggle>svg{display:none!important}.book-tune{break-inside:avoid;border:0;margin-bottom:24px;padding:0}.book-tune-toggle{pointer-events:none;padding:0}.book-tune-panel[hidden]{display:block!important}.book-tune-panel .score-sheet{padding:0}.book-tune-title{font-size:26px}.book-tune-head{margin-bottom:8px}}.nav-action-menu{min-width:190px}.nav-action-menu .dropdown-label{text-transform:none;letter-spacing:0;overflow-wrap:anywhere;max-width:260px;font-size:12px}.dropdown-separator{background:var(--border);height:1px;margin:5px -5px}.dropdown-danger,.dropdown-danger svg{color:var(--danger)}.dropdown-danger[data-highlighted]{background:var(--danger-bg)}.library-dialog{border-radius:var(--radius-group);padding:0;overflow:hidden}.library-dialog form{max-height:inherit;flex-direction:column;display:flex}.library-dialog-head{align-items:flex-start;gap:12px;padding:24px 24px 20px;display:flex}.library-dialog-head>div{flex:1;min-width:0}.library-dialog-head .dialog-title{letter-spacing:-.035em;margin:0;font-size:22px;line-height:1.25}.library-dialog-head>.button-icon-sm{flex:none;margin:-5px -6px 0 0}.library-dialog-description{color:var(--muted-foreground);overflow-wrap:anywhere;margin:9px 0 0;font-size:12px;line-height:1.6}.library-dialog-body{min-height:0;padding:0 24px 24px;overflow-y:auto}.library-dialog-body:empty{display:none}.library-dialog-footer{background:var(--background);border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:9px;padding:15px 24px;display:flex}.library-dialog-footer .button{font-size:12px}.library-create-icon{color:var(--text-3);align-items:center;gap:10px;margin-top:18px;font-size:12px;display:flex}.move-current{color:var(--text-3);overflow-wrap:anywhere;margin:0 0 12px;font-size:11px}.move-current strong{color:var(--muted-foreground);font-weight:500}.folder-search{border:1px solid var(--input);border-radius:var(--radius);color:var(--text-4);align-items:center;gap:8px;padding:0 10px;display:flex}.folder-search .input{border:0;min-width:0;padding-left:0}.folder-search:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.folder-search .input:focus-visible{outline:0}.folder-destinations{border:0;max-height:240px;margin:12px 0 0;padding:0;overflow-y:auto}.folder-destination{border-radius:var(--radius);cursor:pointer;min-height:42px;color:var(--muted-foreground);align-items:center;gap:9px;padding:9px;font-size:12px;display:flex}.folder-destination:hover{background:var(--muted)}.folder-destination.selected{background:var(--accent);color:var(--foreground)}.folder-destination input{accent-color:var(--brand-ink);flex:none;margin:0}.folder-destination svg{color:var(--text-3);flex:none}.folder-destination>span{overflow-wrap:anywhere;min-width:0}.folder-destination small{color:var(--text-4);flex:none;margin-left:auto;font-size:11px}.folder-destination:has(input:disabled){cursor:wait;opacity:.65}@media (max-width:760px){.library-dialog{width:calc(100vw - 24px)}.library-dialog-head{padding:20px}.library-dialog-body{padding:0 20px 20px}.library-dialog-footer{padding:14px 20px}.folder-destination{min-height:44px}}.book-page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-login{color:var(--muted-foreground);text-underline-offset:3px;margin:2px 10px 12px;font-size:12px;text-decoration:underline;display:block}.nav-shared-label{margin-top:24px}.nav-empty{color:var(--muted-foreground);margin:4px 10px;font-size:11px;line-height:1.6}.nav-shared-book{min-width:0}.nav-shared-book>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-shared-book .book-icon{background:0 0;flex:none;width:20px;height:24px;padding:0}.share-dialog{border-radius:var(--radius-group);width:min(520px,100vw - 30px);padding:0}.share-dialog .dialog-title{overflow-wrap:anywhere}.share-dialog-body{padding:0 24px 22px}.share-invite-form{align-items:flex-end;gap:10px;display:flex}.share-invite-form>.field-label{flex:1;min-width:0}.share-people{margin-top:24px}.share-dialog h2{margin:0 0 12px;font-size:13px;font-weight:600}.share-person{align-items:center;gap:12px;padding:8px 0;display:flex}.share-avatar{background:var(--muted);width:36px;height:36px;color:var(--text-3);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.share-person>div{flex:1;min-width:0}.share-person strong{overflow-wrap:anywhere;font-size:12px;font-weight:500;display:block}.share-person>div>span{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:11px;display:block}.share-role{color:var(--muted-foreground);flex:none;margin-left:auto;font-size:11px}.share-general{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.share-access-row{align-items:flex-start;gap:12px;display:flex}.share-access-row>div{flex:1;min-width:0}.share-access-row .input{min-height:32px;padding:5px 7px;font-size:12px}.share-access-row p{color:var(--muted-foreground);margin:8px 0 0;font-size:11px;line-height:1.6}.share-access-row>.share-role{padding-top:9px}.share-public{background:var(--success-bg);color:var(--success)}.share-dialog-footer{justify-content:space-between}.share-dialog-body>.form-error,.share-dialog-body>.muted{margin:16px 0 0}@media (max-width:760px){.share-dialog .library-dialog-head{padding:20px}.share-dialog-body{padding:0 20px 20px}.share-person{gap:8px}.share-avatar{width:30px;height:30px}.share-person .button{padding:0 6px}}@media print{.book-page-actions,.share-dialog,.dialog-overlay{display:none!important}}.shared-save{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shared-save .inline-error{max-width:220px}.book-icon[role=img]{cursor:inherit}.book-icon[role=img]:hover{color:var(--text-3);background:0 0}.book-add-items{flex-wrap:wrap;align-items:flex-end;gap:16px;max-width:none;display:flex}.book-add-items>.field-label{flex:1;min-width:200px}.contents-set{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.book-contents .contents-set>ol{margin:4px 0 0;padding-left:18px}.contents-set-link{font-weight:600}.repeat-mark{vertical-align:-2px;flex:none;width:10px;height:16px;display:inline-block}.repeat-mark .dot{fill:var(--brand-dot)}.repeat-mark .bar{fill:var(--brand-ink)}.book-set{border:1px solid var(--border);border-radius:var(--radius-group);margin:26px 0;scroll-margin-top:20px;overflow:hidden}.book-set-head{background:var(--muted);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.book-set-head h2{font:26px/1.2 var(--font-music);overflow-wrap:anywhere;margin:4px 0 0}.book-set-tools,.entry-controls{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.entry-controls>.button{width:28px;height:30px}.entry-controls>.button-sm{width:auto}.book-set>.book-tune{margin:0 18px}.book-set>.book-tune:last-child{border-bottom:0}.book-tune-tools{gap:5px}.set-dialog{width:min(560px,100vw - 30px)}.set-order-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:22px 0 9px;display:flex}.set-order-head h2{margin:0;font-size:13px}.set-order-head>span{color:var(--muted-foreground);font-size:11px}.set-order{margin:0 0 18px;padding:0;list-style:none}.set-order li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:5px 0;display:flex}.set-order li>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.set-order .button{flex:none;width:28px;height:30px}.set-choices{border:0;max-height:210px;margin:12px 0 0;padding:0;overflow:auto}.set-choices label{align-items:center;gap:10px;padding:8px 3px;font-size:12px;display:flex}.set-choices input{accent-color:var(--brand-ink)}@media (max-width:760px){.book-expand-actions{flex-wrap:wrap}.book-set-head{padding:14px}.book-set>.book-tune{margin:0 10px}.book-tune-head h3{flex-basis:100%}.book-add-items{gap:12px}.book-add-items>.field-label{flex-basis:100%;min-width:0}}@media print{.book-set-tools,.entry-controls{display:none!important}.book-set{border:0;border-radius:0;margin:20px 0;overflow:visible}.book-set-head{break-after:avoid;background:#fff;border:0;padding:0 0 12px}.book-set>.book-tune{margin:0 0 24px}.book-set-head h2{font-size:24px}}.set-order .contents-number{color:var(--muted-foreground)}.book-popularity-filter{flex-wrap:wrap;align-items:center;gap:6px;margin:20px 0 14px;display:flex}.book-popularity-filter>.muted{margin-left:8px}.book-popularity-filter .button>span{color:var(--muted-foreground);font:11px ui-monospace,monospace}.contents-tune{align-items:center;gap:4px;display:flex}.contents-tune>a{flex:1;min-width:0}.often-played-button,.often-played-mark{width:32px;height:32px;color:var(--star);flex:none;justify-content:center;align-items:center;display:inline-flex}.often-played-button{border-radius:var(--radius);color:var(--text-4);cursor:pointer;background:0 0;border:0}.often-played-button[aria-pressed=true]{color:var(--star)}.often-played-button:hover{background:var(--accent)}.often-played-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.often-played-button:disabled{opacity:.5;cursor:wait}@media (max-width:760px){.book-popularity-filter>.muted{flex-basis:100%;margin:4px 0 0}.contents-tune>.often-played-button{width:36px;height:36px}}@media print{.book-popularity-filter,.often-played-button{display:none!important}.often-played-mark{width:20px;height:20px}}.tune-icon{border-radius:var(--radius);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.tune-icon:hover,.tune-icon[data-state=open]{background:var(--accent)}.tune-icon-list{background:var(--accent);width:37px;height:37px;font-size:23px}.tune-icon-book{width:32px;height:36px;font-size:23px}.tune-icon-page{width:48px;height:56px;font-size:36px}.tune-icon[role=img]{cursor:inherit;background:0 0}.tune-emoji-hint{color:var(--muted-foreground);margin:2px 12px 8px;font-size:11px}.contents-emoji{flex:none;font-size:16px;line-height:1.3}.score-title{flex:1;min-width:0}.book-tune-head h3{flex:1;min-width:0;margin:0}@media (max-width:760px){.book-tune-head h2,.book-tune-head h3{flex-basis:calc(100% - 42px)}.score-header{flex-wrap:wrap}.score-header .source-link{margin-left:auto}}@media print{.tune-icon{pointer-events:none;background:0 0}}.emoji-popover-picker .EmojiPickerReact{--epr-text-color:var(--muted-foreground);--epr-search-input-text-color:var(--muted-foreground);--epr-search-input-placeholder-color:var(--muted-foreground);--epr-search-input-bg-color:var(--card)}.ability-mark{white-space:nowrap;color:var(--muted-foreground);vertical-align:middle;align-items:center;gap:6px;font-size:11px;display:inline-flex}.ability-bars{flex:none;align-items:flex-end;gap:2px;height:12px;display:inline-flex}.ability-bars i{background:var(--accent);border-radius:1px;width:3px;height:4px;display:block}.ability-bars i:nth-child(2){height:6px}.ability-bars i:nth-child(3){height:9px}.ability-bars i:nth-child(4){height:12px}.ability-bars .filled{background:var(--line-strong)}.ability-mark[data-level=wanted] .filled,.ability-mark[data-level=learning] .filled{background:var(--brand-dot)}.ability-mark[data-level=learned] .filled{background:var(--learned)}.ability-mark[data-level=mastered] .filled{background:var(--brand-ink)}.ability-button{border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:5px 6px}.ability-button:hover{background:var(--muted)}.ability-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ability-popover{z-index:50;border:1px solid var(--border);border-radius:var(--radius-row);background:var(--card);width:min(320px,100vw - 24px);box-shadow:var(--shadow-popover);color:var(--muted-foreground);padding:16px;font-size:12px}.ability-popover header{justify-content:space-between;align-items:center;display:flex}.ability-popover p{line-height:1.5}.ability-popover select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);margin-top:6px;padding:8px;font-size:12px}.ability-help{color:var(--muted-foreground);font-size:11px}.ability-status{color:var(--muted-foreground);margin-left:8px;font-size:11px}.ability-summary{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 16px;font-size:11px;display:flex}.ability-percent{color:var(--muted-foreground);margin-left:6px}.ability-summary-track{background:var(--accent);border-radius:2px;width:64px;height:3px;overflow:hidden}.ability-summary-track>span{background:var(--learned);height:100%;display:block}.book-set-head .ability-summary{margin:8px 0 0}.score-title>.ability-button{margin:3px 0 5px;padding-left:0}.tune-list-row>.ability-button{margin-left:auto}.book-contents .ability-mark{margin-left:2px}@media (max-width:760px){.tune-list-row>.ability-button{margin-left:46px}.tune-list-row>.tune-actions,.book-contents .ability-mark{margin-left:0}.book-contents a{gap:8px}}@media print{.ability-button,.ability-mark,.ability-summary,.practice-bar{display:none!important}}.consent-list{gap:8px;margin:20px 0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.consent-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.table-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.table-search{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);min-width:240px;color:var(--muted-foreground);flex:1;align-items:center;gap:8px;padding:0 6px 0 11px;display:flex}.table-search:focus-within{border-color:var(--text-4)}.table-search .input{min-width:0;min-height:36px;box-shadow:none;border:0;padding-left:0}.table-search .input:focus{outline:0}.table-search .input::-webkit-search-cancel-button{display:none}.table-filter{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);min-height:38px;color:var(--foreground);padding:0 9px;font-size:13px}.table-count{color:var(--text-3);font:12px ui-monospace,monospace}.table-container{border-top:1px solid var(--border);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table-head{text-align:left;letter-spacing:.12em;text-transform:uppercase;height:38px;color:var(--text-3);white-space:nowrap;border-bottom:1px solid var(--border);padding:0 10px;font-size:11px;font-weight:700}.table-cell{vertical-align:middle;border-bottom:1px solid var(--border);padding:10px}.table-body .table-row:hover{background:var(--muted)}.table-head:first-child,.table-cell:first-child{padding-left:4px}.table-sort{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.table-sort:hover{color:var(--foreground)}.table-sort svg{opacity:.6}.table-head[aria-sort=ascending],.table-head[aria-sort=descending]{color:var(--foreground)}.table-tune{align-items:center;gap:13px;min-width:0;display:flex}.table-tune>div{gap:1px;min-width:0;display:grid}.table-title{font:20px/1.25 var(--font-music);letter-spacing:-.02em}.table-meta{color:var(--text-3);font-size:11px}.table-narrow{display:none}.table-kind{text-transform:capitalize}.table-muted{color:var(--text-3);white-space:nowrap}.table-actions{white-space:nowrap;width:1%}.table-actions .tune-actions{justify-content:flex-end}.table-cell .ability-button{margin:0;padding-left:0}.table-empty{text-align:center;color:var(--text-3);padding:40px 10px}.table-empty button{color:var(--foreground);background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:760px){.table-wide{display:none}.table-narrow{display:inline}.table-search{min-width:100%}.table-filter{flex:1}.table-title{font-size:18px}.table-tune{gap:10px}.tunes-table .table-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.tunes-table .table-header .table-row{gap:18px;display:flex}.tunes-table .table-head,.tunes-table .table-cell{border:0;padding:4px}.tunes-table .table-cell:first-child{grid-column:1/-1;padding-top:12px}.tunes-table .table-cell:nth-child(4){padding:0 0 10px 30px}.tunes-table .table-actions{width:auto;padding-bottom:10px}.tunes-table .table-empty{grid-column:1/-1}}.nav-sub svg{color:var(--text-3)}.tune-finder{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.finder-stage{place-items:center;width:100%;max-width:560px;min-height:132px;display:grid}.finder-prompt{max-width:340px;color:var(--muted-foreground);margin:0;font-size:15px;line-height:1.5}.finder-answer{animation:finder-in var(--duration) var(--ease);justify-items:center;gap:4px;display:grid}.finder-answer.is-match{opacity:1}.finder-answer h2{font:clamp(30px,6vw,44px)/1.1 var(--font-music);letter-spacing:-.03em;text-wrap:balance;margin:0}.finder-meta{color:var(--text-3);text-transform:capitalize;margin:0;font-size:13px;display:block}.finder-actions{flex:none;justify-content:center;align-items:center;gap:2px;margin-top:6px;display:flex}.finder-button{background:var(--brand-ink);width:104px;height:104px;color:var(--on-brand-ink);cursor:pointer;transition:transform var(--duration) var(--ease),background var(--duration) var(--ease);border:0;border-radius:50%;place-items:center;display:grid;position:relative}.finder-button:active{transform:scale(.96)}.finder-button:disabled{opacity:1;cursor:wait}.finder-button[data-phase=loading]{background:conic-gradient(var(--brand-ink) calc(var(--loaded)*360deg),var(--line-strong) 0)}.finder-button[data-phase=starting]{animation:finder-breathe 1.2s var(--ease) infinite alternate}.finder-others,.finder-heard{text-align:left;width:100%;max-width:560px}.finder-others ul,.finder-heard ul{margin:0;padding:0;list-style:none}.finder-others{justify-items:center;gap:6px;display:grid}.finder-heard{margin-top:28px}.finder-heard h3{color:var(--text-3);margin:0 0 4px;font-size:13px;font-weight:600}.finder-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 0;display:flex}.finder-row>div{min-width:0}.finder-row-title{font:18px/1.3 var(--font-music);overflow-wrap:anywhere;display:block}.finder-row .finder-actions{margin:0}.finder-page{padding-top:clamp(24px,8vh,96px)}.finder-footnote{text-align:center;color:var(--text-3);margin:56px 0 0;font-size:12px}.finder-footnote a{text-underline-offset:3px;text-decoration:underline}@keyframes finder-in{0%{opacity:0;transform:translateY(6px)}}@keyframes finder-breathe{to{transform:scale(.94)}}@media (max-width:760px){.finder-button{width:96px;height:96px}}.guest-ability{border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);color:var(--foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:8px 0 18px;padding:12px 14px;font-size:12px;display:flex}.landing{background:var(--background);min-height:100vh}.public-header{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:22px clamp(16px,5vw,72px);display:flex}.public-nav{align-items:center;gap:18px;font-size:13px;display:flex}.public-nav>a:not(.button){color:var(--muted-foreground)}.landing-footer{border-top:1px solid var(--border);max-width:1120px;color:var(--text-3);margin:0 auto;padding:28px clamp(16px,5vw,72px) 48px;font-size:12px}.landing-footer a{text-decoration:underline}.public-nav>a{white-space:nowrap}@media (max-width:760px){.public-nav{gap:16px}.public-nav>.button{display:none}}.benchmark-page{max-width:1040px}.benchmark-page .eyebrow a{color:inherit}.page-subtitle a{text-decoration:underline}.benchmark-section{margin-bottom:48px}.benchmark-section h2{font:24px var(--font-music);letter-spacing:-.02em;margin:0 0 14px}.benchmark-note{max-width:680px;color:var(--muted-foreground);margin:12px 0 0;font-size:12px;line-height:1.5}.benchmark-method{max-width:720px;color:var(--foreground);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.benchmark-method li+li{margin-top:6px}.benchmark-method a{text-decoration:underline}.benchmark-clips .table-title{font-size:17px}.benchmark-clips .table-meta{margin-top:2px;display:block}.benchmark-right{color:var(--success);align-items:center;gap:4px;font-weight:600;display:inline-flex}.benchmark-wrong{color:var(--danger-strong)}.bench-dot{vertical-align:-1px;border-radius:3px;flex:none;width:10px;height:10px;margin-right:7px;display:inline-block}.bench-dot.is-tie{background:repeating-linear-gradient(45deg,var(--line-strong) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--line-strong)}.bench-legend{color:var(--foreground);flex-wrap:wrap;gap:18px;margin:-12px 0 18px;font-size:13px;display:flex}.bench-wins{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:40px;display:grid}.bench-wins>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-wrap:wrap;align-items:baseline;gap:0 8px;padding:14px 16px;display:flex}.bench-wins strong{font:34px/1 var(--font-music);color:var(--foreground)}.bench-wins span:last-child{color:var(--muted-foreground);flex-basis:100%;margin-top:6px;font-size:12px}.bench-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.bench-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);flex-direction:column;padding:18px 20px 16px;display:flex}.bench-card.is-wide{grid-column:1/-1}.bench-card header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bench-card h3{font:21px var(--font-music);letter-spacing:-.01em;margin:0}.bench-n{color:var(--text-3);font:11px ui-monospace,monospace}.bench-about{color:var(--muted-foreground);margin:4px 0 0;font-size:12px;line-height:1.45}.bench-bars{gap:9px;margin:16px 0 14px;display:grid}.bench-card footer{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.bench-bar{outline-offset:3px;border-radius:4px;grid-template-columns:86px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid;position:relative}.bench-engine{color:var(--muted-foreground);font-size:12px}.bench-bar.is-lead .bench-engine{color:var(--foreground);font-weight:650}.bench-track{background:var(--muted);border-radius:4px;height:18px;position:relative}.bench-fill{border-radius:4px;min-width:4px;position:absolute;inset:0 auto 0 0}.bench-whisker{background:color-mix(in srgb,var(--foreground) 50%,transparent);height:2px;margin-top:-1px;position:absolute;top:50%}.bench-whisker:before,.bench-whisker:after{content:"";background:color-mix(in srgb,var(--foreground) 50%,transparent);width:2px;height:8px;position:absolute;top:-3px}.bench-whisker:before{left:0}.bench-whisker:after{right:0}.bench-value{font-variant-numeric:tabular-nums;text-align:right;color:var(--muted-foreground);font-size:14px}.bench-bar.is-lead .bench-value{color:var(--foreground);font-weight:700}.bench-tip{z-index:3;border-radius:var(--radius);background:var(--foreground);color:var(--muted);white-space:nowrap;pointer-events:none;padding:7px 9px;font-size:11px;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 6px);left:96px}.bench-bar:hover .bench-tip,.bench-bar:focus-visible .bench-tip{display:block}.bench-verdict{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:0 8px;font-size:12px;display:inline-flex}.bench-verdict.is-decided{color:var(--foreground);font-weight:650}.bench-verdict .bench-dot{margin-right:0}.bench-p{color:var(--text-3);font:400 11px ui-monospace,monospace}.bench-matrix .table-cell{vertical-align:middle}.bench-matrix .table-head .bench-dot{width:8px;height:8px}.bench-row-label{font:18px var(--font-music);display:block}.bench-cell{min-width:96px}.bench-cell-value{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-size:15px;display:block}.bench-cell.is-lead .bench-cell-value{color:var(--foreground);font-weight:700}.bench-cell.is-best{background:var(--success-bg)}.bench-cell.is-best .bench-cell-value{color:var(--foreground);font-weight:700}.bench-mini{background:var(--accent);border-radius:2px;width:72px;height:4px;margin-top:5px;display:block;overflow:hidden}.bench-mini span{border-radius:2px;height:100%;display:block}@media (max-width:760px){.bench-grid{grid-template-columns:1fr}.bench-bar{grid-template-columns:76px minmax(0,1fr) 40px;gap:8px}.bench-tip{left:0}.bench-wins strong{font-size:28px}.benchmark-clips .table-title{font-size:15px}.benchmark-clips .table-cell{padding:8px 6px}.bench-cell{min-width:64px}.bench-mini{width:48px}}.bench-locks{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:16px;display:grid}.bench-locks>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;padding:14px 16px;display:grid}.bench-lock-name{color:var(--foreground);grid-column:1/-1;margin-bottom:4px;font-size:12px;font-weight:650}.bench-locks strong{font:30px/1 var(--font-music);color:var(--foreground);font-variant-numeric:tabular-nums}.bench-locks strong.bench-lock-small{font-size:20px}.bench-locks span:not(.bench-lock-name):not(.bench-dot){color:var(--muted-foreground);font-size:12px}.bench-chart{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:14px 10px 6px;position:relative;overflow:hidden}.bench-chart svg{touch-action:pan-y;max-width:100%;display:block}.bench-grid-line{stroke:var(--accent);stroke-width:1px}.bench-axis{fill:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.bench-end-label{fill:var(--foreground);font-size:12px;font-weight:600}.bench-crosshair{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}.bench-chart-tip{border-radius:var(--radius);background:var(--foreground);min-width:150px;color:var(--muted);pointer-events:none;gap:3px;padding:8px 10px;font-size:12px;display:grid;position:absolute}.bench-chart-tip span{align-items:center;display:flex}.bench-chart-tip b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.bench-empty{color:var(--text-4);font-size:13px;font-style:italic}.benchmark-page .table-container{position:relative}@media (pointer:coarse){body{font-size:15px}.button-icon-sm,.button-icon,.often-played-button,.book-tune-tools>.button,.entry-controls>.button,.set-order .button{min-width:44px;min-height:44px}.button-sm{min-height:40px}.nav-link{min-height:44px;font-size:15px}.input,select{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}.player-row{align-items:center;gap:14px;display:flex}.player-play{border-radius:50%;flex:none;width:40px;height:40px}.player-seek{min-width:80px;accent-color:var(--brand-ink);cursor:pointer;flex:1}.player-tempo{color:var(--text-3);flex:none;align-items:center;gap:8px;font-size:12px;display:flex}.player-tempo input{width:90px;accent-color:var(--brand-ink);cursor:pointer}.player-tempo output{min-width:38px;color:var(--muted-foreground);font:12px ui-monospace,monospace}.score-meta{font-size:12px}.score-header>.button-icon{flex:none}.abc-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--background);color:var(--muted-foreground);border-radius:var(--radius);margin:16px 0 0;padding:16px;font:12px/1.6 ui-monospace,monospace}@media (max-width:760px){.player-row{flex-wrap:wrap;gap:10px}.player-seek{flex-basis:calc(100% - 54px)}.player-tempo{flex:1}.player-tempo input{flex:1;width:auto}}@media print{.abc-text,.score-header>.button-icon{display:none!important}}.page-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-bar .back-link{margin:0}@media print{.page-bar{display:none!important}}.session-shell{background:var(--background);min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.session-screen{max-width:640px;margin:0 auto;padding:20px 16px 32px}.session-title{letter-spacing:-.03em;margin:12px 4px 16px;font-size:34px;font-weight:700;line-height:1.1}.session-empty{color:var(--muted-foreground);margin:24px 4px;font-size:15px}.session-tabs{z-index:20;padding:6px 16px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--background) 82%,transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--border);justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.session-tab{min-width:88px;color:var(--text-3);justify-items:center;gap:2px;padding:4px 12px;font-size:11px;font-weight:500;display:grid}.session-tab:hover{text-decoration:none}.session-tab[aria-current=page]{color:var(--brand-ink)}.session-group-title{color:var(--text-3);text-transform:none;margin:24px 16px 6px;font-size:13px;font-weight:600}.session-group{border-radius:var(--radius-group);background:var(--card);margin:0 0 12px;padding:0;list-style:none;overflow:hidden}.session-group>li+li .session-row{border-top:.5px solid var(--border);box-shadow:none}.session-row{width:100%;min-height:56px;color:var(--foreground);text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--duration) var(--ease);background:0 0;border:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.session-row:hover{text-decoration:none}.session-row:active{background:var(--accent)}.session-row-emoji{width:28px;color:var(--text-3);flex:none;place-items:center;font-size:22px;display:grid}.session-row-text{flex:1;min-width:0;display:grid}.session-row-title{font:19px/1.25 var(--font-music);overflow-wrap:anywhere}.session-row-meta{color:var(--text-3);text-transform:capitalize;margin:0;font-size:13px;display:block}.session-star{color:var(--star);flex:none}.session-chevron{color:var(--text-4);flex:none}.session-reader{z-index:40;background:var(--card);animation:session-up var(--duration) var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.session-reader-bar{padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex}.session-back{min-width:0;max-width:70%;color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:2px;padding:8px 4px;font-size:16px;display:inline-flex;overflow:hidden}.session-reader-count{color:var(--text-3);font:13px ui-monospace,monospace}.session-pager{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;flex:1;display:flex;overflow:auto hidden}.session-pager::-webkit-scrollbar{display:none}.session-page{scroll-snap-align:start;scroll-snap-stop:always;padding:20px 16px calc(24px + env(safe-area-inset-bottom));flex:0 0 100%;overflow-y:auto}.session-page h2{font:28px/1.15 var(--font-music);letter-spacing:-.02em;margin:0}.session-page-set{color:var(--text-3);margin:0 0 4px;font-size:13px;font-weight:600}.session-notation{color:var(--foreground);margin-top:16px}.session-screen>.session-notation-frame>.session-notation{margin-top:20px}.session-listen{min-height:calc(100dvh - 72px - env(safe-area-inset-bottom) - env(safe-area-inset-top));align-content:center;display:grid}.finder-session .finder-stage{min-height:180px}.finder-session .finder-button{width:132px;height:132px}.finder-heard-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}@keyframes session-up{0%{opacity:0;transform:translateY(24px)}}@media print{.session-tabs,.session-account{display:none!important}}.finder-rec-dot{background:var(--brand-dot);border-radius:50%;width:9px;height:9px;animation:1.6s ease-in-out infinite finder-blink}.finder-upload{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;font-size:13px;display:flex}.finder-pocket{z-index:60;padding:0 24px calc(48px + env(safe-area-inset-bottom));color:#5a5a56;font-variant-numeric:tabular-nums;background:#000;border:0;place-items:end center;font-size:13px;display:grid;position:fixed;inset:0}@keyframes finder-blink{50%{opacity:.25}}.session-reader-tune{display:none}.session-back span{text-overflow:ellipsis;overflow:hidden}.session-tabs{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.session-reader-bar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.session-page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.finder-pocket{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}@media (orientation:landscape) and (max-height:500px){.session-main{padding-bottom:calc(50px + env(safe-area-inset-bottom))}.session-tabs{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom));gap:4px}.session-tab{align-items:center;gap:6px;min-width:0;padding:6px 14px;font-size:13px;display:flex}.session-tab svg{width:19px;height:19px}.session-screen{padding-top:8px}.session-title{margin:6px 4px 10px;font-size:26px}.session-screen .session-title-row{margin:6px 4px 10px}.session-reader-bar{padding-top:max(4px,env(safe-area-inset-top));gap:12px;padding-bottom:4px}.session-back{max-width:30%;padding:6px 2px;font-size:14px}.session-reader-tune{white-space:nowrap;text-overflow:ellipsis;text-align:center;min-width:0;font:17px var(--font-music);flex:1;display:block;overflow:hidden}.session-page{padding-top:6px}.session-page-set,.session-page-head{display:none}.session-notation{margin-top:4px}.session-listen{min-height:calc(100dvh - 50px - env(safe-area-inset-bottom) - env(safe-area-inset-top))}.tune-finder:not(.finder-hero){text-align:left;flex-flow:wrap;justify-content:center;gap:16px 40px;max-width:760px;margin:0 auto}.tune-finder:not(.finder-hero)>.finder-dial{order:0}.tune-finder:not(.finder-hero) .finder-button{width:104px;height:104px}.tune-finder:not(.finder-hero) .finder-main{flex:1;justify-items:start;gap:10px;min-width:0;display:grid}.tune-finder:not(.finder-hero) .finder-main>*{order:0}.tune-finder:not(.finder-hero) .finder-stage{place-items:center start;min-height:0}.tune-finder:not(.finder-hero) .finder-answer{justify-items:start}.tune-finder:not(.finder-hero) .finder-actions,.tune-finder:not(.finder-hero) .finder-upload{justify-content:flex-start}.tune-finder:not(.finder-hero) .finder-answer h2{font-size:32px}.tune-finder:not(.finder-hero)>.finder-heard{flex-basis:100%}.finder-page{padding-top:12px}.finder-footnote{margin-top:24px}.public-header{padding-top:10px;padding-bottom:10px}}.finder-main{display:contents}.finder-main>*{order:2}.finder-main>.finder-stage{order:0}.tune-finder>.finder-dial{order:1}.tune-finder>.finder-heard{order:3}.dialog-content>.field-label{margin-bottom:18px}.preferences-form{display:grid}.session-account{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0}.session-account .user-initial{background:var(--accent);width:34px;height:34px;color:var(--foreground);font-size:14px}.session-sheet{z-index:31;max-height:85dvh;padding:8px max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--background);animation:session-up var(--duration) var(--ease);position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.session-sheet:focus{outline:none}.session-sheet-grip{background:var(--line-strong);border-radius:3px;width:36px;height:5px;margin:0 auto 12px}.session-sheet-title{margin:4px 4px 8px;font-size:20px;font-weight:650}.session-sheet .session-group-title{margin:16px 4px 6px}.session-sheet-actions{margin-top:20px}.session-danger,.session-danger .session-row-emoji{color:var(--danger)}@media (min-width:600px){.session-sheet{border-radius:var(--radius-sheet);width:420px;bottom:16px;left:50%;right:auto;transform:translate(-50%)}}.tune-finder[data-mode=record] .finder-button{background:var(--brand-dot);color:var(--on-brand-dot)}.recording{gap:18px;max-width:720px;display:grid}.recording-head .session-title,.recording-title{margin:0}.recording-title{letter-spacing:-.05em;font-size:clamp(30px,4vw,44px);font-weight:570;line-height:1.1}.recording-sub{color:var(--text-3);margin:6px 0 0;font-size:13px}.recordings-list{border:1px solid var(--border);max-width:720px}.recording-share{border-radius:var(--radius-group);background:var(--card);border:1px solid var(--border);gap:6px;padding:18px 18px 16px;display:grid}.recording-share-figure{color:var(--muted-foreground);margin:0;font-size:15px;line-height:1.35}.recording-share-figure strong{letter-spacing:-.04em;color:var(--brand-ink);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:48px;font-weight:650;line-height:1;display:block}.recording-share-detail{color:var(--foreground);margin:0;font-size:14px}.recording-legend{color:var(--text-3);flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;font-size:12px;display:flex}.recording-legend span{align-items:center;gap:6px;display:inline-flex}.recording-legend span:before{content:"";background:var(--standing);border-radius:3px;width:10px;height:10px}[data-standing=join]{--standing:var(--brand-ink)}[data-standing=learning]{--standing:var(--brand-dot)}[data-standing=new]{--standing:var(--line-strong)}.recording-deck{gap:4px;display:grid}.recording-now{min-height:1.4em;font:18px/1.3 var(--font-music);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.recording-track{--track:22px;height:40px;position:relative}.recording-track:before{content:"";height:var(--track);margin-top:calc(var(--track)/-2);background:var(--muted);border-radius:4px;position:absolute;top:50%;left:0;right:0}.recording-segment{height:var(--track);margin-top:calc(var(--track)/-2);background:var(--standing);box-shadow:-1px 0 0 var(--background),1px 0 0 var(--background);--segment-text:var(--background);border-radius:3px;align-items:center;display:flex;position:absolute;top:50%;overflow:hidden}.recording-segment[data-standing=new]{--segment-text:var(--foreground)}.recording-segment>span{white-space:nowrap;text-overflow:clip;min-width:0;font:500 11px/1 var(--font-ui);color:var(--segment-text);opacity:.6;pointer-events:none;padding:0 6px;overflow:hidden}.recording-segment[data-selected]{height:calc(var(--track) + 8px);margin-top:calc(var(--track)/-2 - 4px)}.recording-playhead{background:var(--foreground);pointer-events:none;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:0;bottom:0}.recording-track input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.recording-track:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:4px}.recording-transport{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.recording-clock{color:var(--text-3);font:12px ui-monospace,monospace}.recording-transport .player-tempo{margin-left:auto}.recording-setlist{border-radius:var(--radius-group);background:var(--card);border:1px solid var(--border);margin:0;padding:0;list-style:none;overflow:hidden}.recording-setlist>li+li{border-top:1px solid var(--border)}.recording-tune{width:100%;min-height:60px;color:var(--foreground);text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;grid-template-columns:3.2em 10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.recording-tune:active{background:var(--muted)}.recording-tune:focus-visible{outline-offset:-2px}.recording-at{color:var(--text-3);font:12px ui-monospace,monospace}.recording-dot{background:var(--standing);border-radius:50%;width:10px;height:10px}.recording-entry[data-playing] .recording-dot{box-shadow:0 0 0 4px var(--brand-dot-soft);background:var(--brand-dot)}.recording-entry[data-playing] .recording-at{color:var(--brand-dot-text)}.recording-tune-name{gap:1px;min-width:0;display:grid}.recording-tune .finder-meta{text-transform:none}.recording-tune .finder-meta:first-letter{text-transform:uppercase}.recording-entry[data-standing=new] .finder-row-title{color:var(--muted-foreground)}.recording-standing{color:var(--standing);white-space:nowrap;font-size:12px;font-weight:600}.recording-entry[data-standing=new] .recording-standing{color:var(--text-3);font-weight:500}.recording-entry[data-open]{background:var(--muted)}.recording-detail{z-index:1;background:var(--muted);gap:12px;padding:2px 14px 16px calc(48px + 3.2em);display:grid;position:relative}.recording-detail .opening-phrase{margin:0}.recording-detail-actions{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.recording-detail .ability-button{padding:3px 4px}.recording-reject{color:var(--danger);margin-left:auto}.recording-reject:hover{background:var(--danger-bg);color:var(--danger-strong)}.recording-gap{color:var(--text-3);background:repeating-linear-gradient(-45deg,transparent 0 6px,var(--muted) 6px 7px);grid-template-columns:3.2em minmax(0,1fr);gap:12px;padding:8px 14px;font-size:12px;display:grid}.recording-setlist>.recording-gap:only-child{padding:18px;display:block}.recording-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.recording-delete{color:var(--text-3);margin-left:auto}.recording-books{border:1px dashed var(--line-strong);border-radius:var(--radius-pill);max-width:220px;min-height:26px;color:var(--text-3);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:3px 10px;font-size:12px;display:inline-flex}.recording-books span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recording-books.is-in{border-style:solid;border-color:var(--border);background:var(--card);color:var(--foreground)}.recording-books:hover{border-color:var(--text-4);color:var(--foreground)}.dropdown-hint{color:var(--text-3);margin-left:auto;padding-left:10px;font-size:11px}.recording-set-head{color:var(--text-3);align-items:center;gap:8px;padding:12px 14px 2px;font-size:12px;font-weight:600;display:flex}.recording-setlist>.recording-set-head+li,.recording-setlist>.recording-entry[data-in-set]+.recording-entry[data-in-set]{border-top:0}.recording-entry[data-in-set]{position:relative}.recording-entry[data-in-set]:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:calc(30px + 3.2em)}.recording-set-head+.recording-entry:before{top:30px}.recording-entry[data-in-set]:last-child:before{height:30px;bottom:auto}.recording-entry[data-in-set]:has(+:not([data-in-set])):before{height:30px;bottom:auto}.recording-dot{position:relative}@media (max-width:560px){.recording-detail{padding-left:14px}.recording-entry[data-in-set]:before{left:calc(26px + 2.9em)}.recording-set-head{padding:12px 12px 2px}.recording-tune{grid-template-columns:2.9em 10px minmax(0,1fr) auto;gap:10px;padding:10px 12px}.recording-transport .player-tempo{flex-basis:100%;margin-left:0}}::selection{background:var(--brand-dot-soft)}.session-group-title,.session-page-set,.book-set-count{align-items:center;gap:8px;display:flex}.book-set-count{color:var(--text-3);margin:0;font-size:12px}.contents-set-link .repeat-mark{align-self:center}.session-group-title,.session-page-set{align-items:flex-start}.session-group-title .repeat-mark,.session-page-set .repeat-mark{margin-top:2px}.finder-dial{--level:0;--loaded:0;--halo:.54;flex:none;place-items:center;display:grid;position:relative}.finder-dial:before{content:"";background:var(--brand-dot-soft);transform:scale(calc(1 + var(--level) * var(--halo)));pointer-events:none;border-radius:50%;transition:transform .12s linear;position:absolute;inset:0}.finder-dial[data-phase=listening] .finder-button{animation:finder-bloom .55s var(--ease)}.finder-ripple{border:2px solid var(--brand-dot);opacity:0;pointer-events:none;border-radius:50%;animation:2.4s cubic-bezier(.15,.6,.3,1) infinite finder-ripple;position:absolute;inset:0}.finder-ripple+.finder-ripple{animation-delay:1.2s}.finder-arc{z-index:1;pointer-events:none;width:calc(100% + 18px);height:calc(100% + 18px);position:absolute;inset:-9px;overflow:visible;transform:rotate(-90deg)}.finder-arc-track{fill:none;stroke:var(--brand-dot);stroke-width:2.5px;opacity:0;transition:opacity var(--duration) var(--ease)}.tune-finder[data-mode=name] .finder-dial:not([data-phase=listening]) .finder-arc-track{stroke:var(--brand-ink)}.finder-dial[data-phase=listening] .finder-arc-track{opacity:.25}.finder-arc-fill{fill:none;stroke:var(--brand-dot);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .5s var(--ease),stroke var(--duration) var(--ease)}.finder-dial[data-matched] .finder-arc-fill{stroke:var(--brand-ink)}.finder-icon{animation:finder-icon-in .32s var(--ease);place-items:center;display:grid}.finder-tick{background:var(--brand-ink);color:var(--on-brand-ink);pointer-events:none;animation:finder-tick 1.6s var(--ease) forwards;border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.finder-dots{vertical-align:middle;gap:4px;margin-left:6px;display:inline-flex}.finder-dots i{background:var(--brand-dot);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite finder-hop}.finder-dots i+i{animation-delay:.18s}.finder-answer.is-match h2{animation:finder-settle .45s var(--ease)}@keyframes finder-bloom{0%{transform:scale(.92)}55%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes finder-ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes finder-icon-in{0%{opacity:0;transform:scale(.5)rotate(-60deg)}}@keyframes finder-tick{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1.08)}30%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes finder-hop{0%,60%,to{opacity:.55;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes finder-settle{0%{transform:scale(1.04)}to{transform:scale(1)}}@media (hover:hover){.finder-button:not(:disabled):hover{background:color-mix(in srgb,var(--brand-ink) 86%,var(--background));transform:scale(1.04)}.tune-finder[data-mode=record] .finder-button:not(:disabled):hover{background:color-mix(in srgb,var(--brand-dot) 86%,var(--background))}.finder-dial:has(.finder-button:not(:disabled):hover) .finder-arc-track{opacity:.25}.finder-button:not(:disabled):hover:active{transform:scale(.97)}}.finder-arc-fill[data-empty]{opacity:0}.admin-page{max-width:1040px}.admin-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:40px;display:grid}.admin-tiles>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:6px;padding:14px 16px;display:grid}.admin-tiles strong{font:30px/1 var(--font-music);font-variant-numeric:tabular-nums}.admin-tiles span{color:var(--muted-foreground);font-size:12px}.admin-table .table-cell{font-variant-numeric:tabular-nums}.admin-bar{background:var(--muted);border-radius:2px;width:96px;height:4px;margin-top:5px;display:block;overflow:hidden}.admin-bar span{background:var(--brand-ink,#2f7a4a);border-radius:2px;height:100%;display:block}.admin-good{color:#2f6b45;font-weight:600}.admin-bad{color:#a33a2b;font-weight:700}.ability-summary{color:var(--muted-foreground);margin:8px 0 16px;font-size:13px}.book-set-head .ability-summary{margin:6px 0 0;font-size:12px}.opening-phrase{width:100%;max-width:420px;color:var(--foreground)}.opening-phrase svg{display:block}.score-sheet-overlay .session-reader-bar{justify-content:space-between}.score-sheet-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font:17px var(--font-music);text-align:left;flex:1;display:block;overflow:hidden}.score-sheet-page{width:100%;max-width:900px;margin:0 auto;overflow-y:auto}.score-sheet-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.score-sheet-note{color:var(--text-3);margin:16px 0 0;font-size:12px}@media (orientation:landscape) and (max-height:500px){.score-sheet-page h2,.score-sheet-page>.session-row-meta{display:none}}.finder-state{color:var(--brand-dot-text);margin:0 0 2px;font-size:13px;font-weight:600}.finder-standing{color:var(--muted-foreground);margin:4px 0 0;font-size:13px}.finder-standing.is-known{color:var(--brand-ink);font-weight:600}.finder-answer .opening-phrase{margin:14px auto 0}.finder-phrase-note{color:var(--text-3);margin:2px 0 0;font-size:12px}.finder-answer .finder-actions{flex-wrap:wrap;gap:6px;margin-top:12px}.finder-kept{color:var(--brand-ink);align-items:center;gap:5px;padding:0 8px;font-size:13px;display:inline-flex}.tune-finder[data-compact] .finder-button{width:64px;height:64px}.tune-finder[data-compact] .finder-icon svg{width:22px;height:22px}.finder-again{color:var(--text-3);order:1;margin-top:-10px;font-size:12px}.finder-row{border-top:1px solid var(--border);gap:6px;padding:10px 0;display:grid}.finder-row-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.finder-row-head>div{min-width:0}.finder-row .finder-actions{flex:none;margin:0}.opening-phrase.is-small{max-width:300px;margin:0}.finder-others-title{color:var(--text-3);margin:0 0 4px;font-size:13px;font-weight:600}.finder-search{text-align:left;order:3;width:100%;max-width:560px}.finder-search-field{border:1px solid var(--input);border-radius:var(--radius-row);background:var(--card);color:var(--text-3);align-items:center;gap:8px;padding:0 12px;display:flex}.finder-search-field:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.finder-search-field input{min-width:0;min-height:44px;color:var(--foreground);font:inherit;background:0 0;border:0;outline:0;flex:1}.finder-search ul{margin:8px 0 0;padding:0;list-style:none}.finder-recap{color:var(--muted-foreground);margin:0 0 6px;font-size:13px}@media (orientation:landscape) and (max-height:500px){.tune-finder:not(.finder-hero)[data-compact]>.finder-dial{order:0}.tune-finder:not(.finder-hero) .finder-answer .opening-phrase{margin-left:0}}.finder-answer h2{transition:opacity var(--duration) var(--ease)}.finder-answer:not(.is-match) h2{opacity:.72}.finder-dial{margin:14px 0}.page-wrap{padding-top:32px}.page-head{margin-bottom:24px}.page-head h1{margin:0;font-size:clamp(30px,3.6vw,44px)}.book-contents-toggle{color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.finder-warning{color:var(--danger);font-size:13px;font-weight:600}.labeller{z-index:40;background:var(--background);color:var(--foreground);grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset:0}.label-bar{border-bottom:1px solid var(--border);background:var(--card);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px;display:flex}.label-nav{align-items:center;gap:8px;margin-left:auto;display:flex}.label-main{min-height:0;overflow:auto}.label-item{grid-template-rows:auto auto auto 1fr auto;gap:14px;min-height:100%;padding:16px 18px 0;display:grid}.label-empty{text-align:center;place-items:center;padding:48px 22px;display:grid}.label-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.label-head h2{font:26px/1.2 var(--font-music);letter-spacing:-.02em;margin:0 0 4px}.label-meta{color:var(--text-3);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12px;display:flex}.label-links{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.label-timeline{position:relative}.label-timeline canvas{touch-action:none;cursor:pointer;border:1px solid var(--border);background:var(--card);border-radius:4px;display:block}.label-hover{z-index:3;pointer-events:none;background:var(--foreground);max-width:260px;color:var(--background);border-radius:var(--radius);padding:5px 8px;font-size:12px;line-height:1.35;position:absolute}.label-key{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;font-size:11px;display:flex}.label-swatch{border:1px dashed var(--line-strong);border-radius:2px;width:14px;height:9px;margin-left:10px;display:inline-block}.label-swatch.is-match{background:var(--success);border:1px solid var(--success);margin-left:0}.label-swatch.is-other{background:linear-gradient(90deg,#3488b2 50%,#b27334 50%);border:0}.label-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.label-clock{min-width:62px;color:var(--muted-foreground);font:13px ui-monospace,monospace}.label-edges{color:var(--text-3);align-items:center;gap:4px;margin-left:auto;font:12px ui-monospace,monospace;display:inline-flex}.label-edges>span{margin-left:8px}.label-edges .button-sm{min-width:30px;padding:0 8px}.label-columns{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);align-items:start;gap:22px;display:grid}.label-side{gap:14px;display:grid}.label-tunes{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.label-tunes li{border-bottom:1px solid var(--border);grid-template-columns:22px 36px 128px minmax(0,1fr) 36px;align-items:center;gap:8px;padding:8px 0;display:grid}.label-tunes li.is-current{background:var(--brand-ink-soft)}.label-number{color:var(--text-3);text-align:center;font:12px ui-monospace,monospace}.label-times{color:var(--muted-foreground);font:12px ui-monospace,monospace}.label-hints{color:var(--text-3);flex-wrap:wrap;grid-column:3/-1;align-items:center;gap:6px;font-size:12px;display:flex}.label-picker{min-width:0;position:relative}.label-options{z-index:5;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-popover);max-height:280px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.label-options button{border-radius:var(--radius);text-align:left;width:100%;color:var(--foreground);background:0 0;border:0;justify-content:space-between;gap:10px;padding:8px 10px;font-size:13px;display:flex}.label-options button span{color:var(--text-3);text-transform:capitalize;font-size:11px}.label-options [aria-selected=true] button,.label-options button:hover{background:var(--accent)}.label-chips{flex-wrap:wrap;gap:6px;display:flex}.label-chips .chip span{color:inherit;opacity:.7;margin-left:3px}.label-tags{gap:12px;display:grid}.label-tag-group{border:0;min-width:0;margin:0;padding:0}.label-tag-group legend{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px;padding:0;font-size:11px;font-weight:700}.label-notes{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);gap:6px;font-size:11px;font-weight:700;display:grid}.label-notes textarea{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);font:14px var(--font-ui);letter-spacing:0;text-transform:none;resize:vertical;padding:8px 10px}.label-verdicts{z-index:2;border-top:1px solid var(--border);background:var(--card);flex-wrap:wrap;align-items:center;gap:8px;margin:0 -18px;padding:12px 18px;display:flex;position:sticky;bottom:0}.label-verdicts .button{min-height:42px;padding:0 16px}.label-verdicts kbd,.label-shortcuts kbd{opacity:.7;border:1px solid;border-radius:3px;padding:1px 5px;font:11px ui-monospace,monospace}.label-status{color:var(--muted-foreground);font-size:12px}.label-shortcuts{color:var(--muted-foreground);font-size:12px;position:relative}.label-shortcuts summary{cursor:pointer;border-radius:var(--radius);align-items:center;gap:6px;padding:6px 8px;list-style:none;display:inline-flex}.label-shortcuts summary:hover{background:var(--accent)}.label-shortcuts dl{z-index:6;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:min(560px,100vw - 36px);box-shadow:var(--shadow-popover);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 18px;margin:0;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.label-shortcuts div{gap:10px;display:flex}.label-shortcuts dt{min-width:96px}.label-shortcuts dd{margin:0}.labeller :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width:760px){.label-bar{padding:10px 12px}.label-item{padding:12px 12px 0}.label-nav{justify-content:space-between;width:100%;margin-left:0}.label-switch{width:100%}.label-columns{grid-template-columns:1fr}.label-tunes li{grid-template-columns:22px 36px minmax(0,1fr) 36px}.label-times{display:none}.label-hints{grid-column:2/-1}.label-edges{margin-left:0}.label-verdicts{margin:0 -12px;padding:10px 12px}.label-verdicts .button{flex:1}}.admin-table a{text-underline-offset:2px;text-decoration:underline}:root{--deck-peek:136px;--deck-tabs:54px}.session-main{padding-bottom:calc(var(--deck-peek) + 16px + env(safe-area-inset-bottom))}.deck{z-index:24;left:0;right:0;bottom:calc(var(--deck-tabs) + env(safe-area-inset-bottom));max-height:calc(90dvh - var(--deck-tabs));padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--card);box-shadow:0 -8px 32px #0000001a,0 -1px 0 var(--border);will-change:transform;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed}.deck:after{content:"";background:var(--card);pointer-events:none;height:100vh;position:absolute;top:100%;left:0;right:0}.deck.is-recording{max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);bottom:0}.deck-head{touch-action:none;cursor:grab;flex:none;padding:6px 4px 8px}.deck-head-layers{min-height:58px;display:grid}.deck-head-layers>*{grid-area:1/1}.deck-mic-slot{flex:none;width:50px;height:50px}.deck-grip{background:var(--line-strong);border-radius:3px;width:36px;height:5px;margin:0 auto 6px;display:block}.deck-listen{align-items:center;gap:12px;display:flex}.finder-dial.is-mini{flex:none;margin:0}.finder-dial.is-mini .finder-button{width:50px;height:50px}.finder-dial.is-mini{--halo:.4}.finder-dial.is-mini .finder-arc{width:calc(100% + 10px);height:calc(100% + 10px);inset:-5px}.deck.is-recording .finder-dial.is-mini .finder-button{background:var(--brand-dot);color:var(--on-brand-dot)}.deck-status{min-width:0;color:var(--foreground);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;gap:1px;padding:4px 0;display:grid}.deck-status-text{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:16px;font-weight:650;display:flex;overflow:hidden}.deck-status .finder-dots{margin-left:0}.deck-status-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.deck-status-text.is-tune{font:400 20px/1.2 var(--font-music);letter-spacing:-.02em}.deck-hint{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.deck-close{background:var(--muted);border-radius:50%;flex:none;width:36px;height:36px}.deck-scroll{overscroll-behavior:contain;-webkit-user-select:text;user-select:text;flex:auto;min-height:0;overflow:hidden}.deck[data-open] .deck-scroll{overflow-y:auto}.deck-more{align-content:start;gap:14px;min-height:min(64dvh,560px);padding:0 4px 16px;display:grid}.deck-result{text-align:center;animation:deck-fade .3s var(--ease);padding:4px 4px 14px}.deck-result .finder-answer h2{font-size:30px}.deck-result .finder-others{text-align:left;margin-top:10px}.deck-title{letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:700}.deck-more .finder-search{max-width:none}.deck-more .finder-search-field{background:var(--muted);border-color:#0000}.deck-more .finder-heard{margin:0}.deck-tabs{z-index:25;height:calc(var(--deck-tabs) + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);border-top:.5px solid var(--border);background:var(--card);justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.deck-tab{min-width:96px;color:var(--text-3);justify-items:center;gap:2px;padding:4px 12px;font-size:11px;font-weight:500;display:grid}.deck-tab:hover{text-decoration:none}.deck-tab[aria-current=page]{color:var(--brand-ink)}.deck-scrim{z-index:23;opacity:0;pointer-events:none;background:#14141247;position:fixed;inset:0}.deck-scrim[data-open]{pointer-events:auto}@keyframes deck-grow{0%{opacity:0;transform:translateY(12px)}}@keyframes deck-fade{0%{opacity:0}}@media (min-width:640px){.deck,.deck-tabs{max-width:600px;margin:0 auto}}@media (orientation:landscape) and (max-height:500px){:root{--deck-peek:38px;--deck-tabs:38px}.deck-tab{align-items:center;gap:6px;font-size:13px;display:flex}.deck-tab svg{width:19px;height:19px}.deck-more{min-height:calc(100dvh - 150px)}.deck,.deck-tabs{max-width:620px;margin:0 auto}}@media print{.deck,.deck-tabs,.deck-scrim{display:none!important}}.deck-full-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.deck-full-head .deck-title{margin:0}.deck-record-start{text-align:center;justify-items:center;gap:12px;padding:14px 8px 6px;display:grid}.finder-dial.is-deck{z-index:2;will-change:transform;width:50px;height:50px;position:absolute;top:0;left:0}.finder-dial.is-deck[data-hidden]{pointer-events:none}.deck-record-slot{width:88px;height:88px;margin:10px 0 14px;display:block}.deck-dial-record{background:var(--brand-dot);transform:scale(var(--record));pointer-events:none;border-radius:50%;position:absolute;inset:0}.finder-dial.is-deck .finder-icon{place-items:center;display:grid;position:relative}.finder-dial.is-deck .finder-button{color:var(--on-brand-ink)}.deck.is-recording .finder-dial.is-deck .finder-button{color:var(--on-brand-dot)}.deck-copy{max-width:340px;color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.45}.deck-record-start.is-live{text-align:left;grid-template-columns:auto 1fr;place-items:center start;gap:18px;padding:6px 8px 2px}.deck-record-start.is-live .deck-record-slot{margin:0}.deck-live-info{justify-items:start;gap:2px;display:grid}.deck-live-info .button{margin:4px 0 0 -10px}.deck-live-clock{font:600 28px var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:0}.deck-now-label{color:var(--brand-dot-text);font-size:12px;font-weight:650}.deck-now-more{color:var(--text-3);font-size:12px}.deck-waiting{text-align:center;color:var(--muted-foreground);margin:0;padding:22px 0;font-size:15px}.deck-section{color:var(--text-3);margin:0 0 4px;font-size:13px;font-weight:600}.deck-setlist{margin:0;padding:0;list-style:none;display:grid}.deck-setlist>.deck-section{margin:14px 2px 2px}.deck-setlist-item{touch-action:pan-y;border-radius:var(--radius-group);transition:background var(--duration) var(--ease);position:relative}.deck-setlist-item+.deck-setlist-item:not([data-open]){border-top:1px solid var(--border);border-radius:0}.deck-setlist-item[data-open]{background:var(--brand-dot-soft)}.deck-setlist-item[data-open]+.deck-setlist-item{border-top:0}.deck-setlist-item>button{width:100%;min-height:56px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;gap:1px;padding:9px 4px;display:grid}.deck-setlist-item[data-open]>button{padding:14px 14px 12px}.deck-setlist-item:not([data-open])>button:active{background:var(--muted)}.deck-setlist-music{display:grid;overflow:hidden}.deck-setlist-music .opening-phrase{margin:10px 0 4px}.deck-countdown{pointer-events:none;width:calc(100% + 4px);height:calc(100% + 4px);position:absolute;inset:-2px;transform:rotate(-90deg)}.deck-countdown circle{fill:none;stroke:var(--brand-dot);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:100;animation:linear forwards deck-countdown;animation-duration:inherit}@keyframes deck-countdown{to{stroke-dashoffset:100px}}.deck-close{position:relative}.deck-tune-title{font:21px/1.25 var(--font-music);letter-spacing:-.01em}.deck-tune-meta{color:var(--text-3);font-size:12px}.deck.is-recording{box-shadow:0 -8px 32px #0000001a,0 -2px 0 var(--brand-dot)}.deck-tune-meta:first-letter{text-transform:uppercase}.session-search{min-height:40px;margin:0 0 12px}.session-search input{min-width:0;height:38px;color:var(--foreground);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.session-row .ability-mark{flex:none}.tunes-table{container-type:inline-size}.tunes-table .table-head,.tunes-table .table-cell:not(:first-child){white-space:nowrap}.table-title-line{align-items:center;gap:6px;min-width:0;display:flex}.tune-icon-inline{width:26px;height:28px;margin-left:-3px;font-size:19px}.tunes-table .table-meta{padding-left:29px}@container (max-width:860px){.tunes-table .table-added{display:none}}@container (max-width:720px){.tunes-table .table-wide{display:none}.tunes-table .table-narrow{display:inline}}.book-pick{width:18px;height:18px;accent-color:var(--brand-ink);cursor:pointer;flex:none;margin:0 2px 0 0}.group-bar{z-index:20;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--card);max-width:720px;box-shadow:var(--shadow-popover);flex-wrap:wrap;align-items:center;gap:8px;margin:16px auto 0;padding:10px 10px 10px 16px;display:flex;position:sticky;bottom:16px}.group-bar>p{min-width:0;font:17px/1.3 var(--font-music);overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;margin:0;display:flex}@media print{.book-pick,.group-bar{display:none!important}}.deck-frame{z-index:24;filter:drop-shadow(0 8px 24px #00000024)drop-shadow(0 0 .5px #0000004d);width:min(320px,100vw - 32px);height:0;position:fixed;bottom:16px;right:20px}.deck.is-dock{border-radius:var(--radius-sheet);width:auto;max-width:none;max-height:min(100dvh - 60px,680px);box-shadow:none;margin:0;padding:0 12px;position:absolute;bottom:0;left:0;right:0}.deck.is-dock:after{display:none}.deck.is-dock.is-recording{max-height:min(100dvh - 60px,680px);box-shadow:inset 0 3px 0 var(--brand-dot)}.deck.is-dock .deck-more{min-height:0}.deck.is-dock .deck-grip{display:none}.deck.is-dock{padding:0 10px}.deck.is-dock .deck-head{padding:6px 0}.deck.is-dock .deck-head-layers{min-height:48px}.deck.is-dock .deck-listen{gap:10px}.deck.is-dock .deck-mic-slot,.deck.is-dock .finder-dial.is-deck,.deck.is-dock .finder-dial.is-mini .finder-button{width:40px;height:40px}.deck.is-dock .finder-dial.is-mini .finder-arc{width:calc(100% + 8px);height:calc(100% + 8px);inset:-4px}.deck.is-dock .deck-status-text{font-size:14px}.deck.is-dock .deck-status-text.is-tune{font-size:17px}.deck.is-dock .deck-hint{font-size:11px}.deck.is-dock .deck-title{font-size:20px}.deck.is-dock .deck-record-slot{width:68px;height:68px;margin:6px 0 10px}.deck.is-dock .deck-copy{font-size:13px}.deck.is-dock .deck-result .finder-answer h2{font-size:26px}.deck-open{width:32px;height:32px;color:var(--text-3);border-radius:50%;flex:none}.deck-open:hover{background:var(--muted);color:var(--foreground)}.deck-listen:hover .deck-open{color:var(--foreground)}body:has(.deck.is-dock){padding-bottom:80px}body:has(.deck.is-dock) .group-bar{bottom:92px}@media print{.deck-frame{display:none!important}}.pending-row{cursor:default;position:relative;overflow:hidden}.pending-row .session-row-meta{text-transform:none;font-variant-numeric:tabular-nums}.pending-actions{flex:none;gap:4px;display:flex}.pending-row[data-status=failed] .pending-meta{color:var(--brand-dot-text)}.upload-mark{color:var(--text-3);place-items:center;display:grid}.upload-mark.is-working svg{width:26px;height:26px;transform:rotate(-90deg)}.upload-track{fill:none;stroke:var(--border);stroke-width:3px}.upload-fill{fill:none;stroke:var(--brand-dot);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .3s var(--ease)}.upload-mark.is-working[data-status=preparing] svg{animation:1s linear infinite upload-spin}.upload-mark[data-status=preparing] .upload-fill{stroke-dashoffset:75px}.upload-mark[data-status=saving] .upload-fill{stroke:var(--brand-ink);animation:1s ease-in-out infinite alternate upload-breathe}.upload-mark.is-done{background:var(--brand-ink);width:26px;height:26px;color:var(--on-brand-ink);border-radius:50%;margin:0 auto;animation:.45s cubic-bezier(.3,1.6,.5,1) upload-pop}.pending-bar{background:0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.pending-bar>span{background:var(--brand-dot);transform-origin:0;height:100%;transition:transform .3s var(--ease),background-color .3s;display:block}.pending-row[data-status=saving] .pending-bar>span,.pending-row[data-status=done] .pending-bar>span{background:var(--brand-ink)}.pending-row[data-status=done]{animation:1.6s ease-out upload-glow}@keyframes upload-spin{to{transform:rotate(270deg)}}@keyframes upload-breathe{0%{opacity:.55}to{opacity:1}}@keyframes upload-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes upload-glow{0%{background:var(--brand-dot-soft)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.upload-mark.is-working svg,.upload-mark.is-done,.pending-row[data-status=done],.upload-fill{transition:none;animation:none}}.table-group{color:var(--text-3);align-items:center;gap:8px;font-size:13px;display:flex}.table-group-row>th{color:var(--foreground);text-align:left;background:0 0;padding:22px 12px 8px;font-size:13px;font-weight:650}.table-group-row:first-child>th{padding-top:10px}.table-group-count,.session-group-count{color:var(--text-3);font-variant-numeric:tabular-nums;margin-left:8px;font-weight:500}.session-list>section:first-child>.session-group-title{margin-top:4px}.recordings-list .session-row-meta{text-transform:none}.recordings-list .session-row-meta:first-letter{text-transform:uppercase}.session-title-row{justify-content:space-between;align-items:center;gap:12px;margin:12px 4px 16px;display:flex}.session-title-row .session-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.session-title-actions{flex:none;align-items:center;gap:8px;display:flex}.group-menu-button{border-radius:var(--radius-pill);background:var(--muted);min-height:36px;color:var(--foreground);font:600 14px var(--font-ui);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;flex:none;align-items:center;gap:4px;padding:0 12px;display:inline-flex}.group-menu-button:active{opacity:.7}.group-menu-button[data-state=open]{background:var(--brand-dot-soft)}.session-screen .session-search{background:var(--muted);border-color:#0000;min-height:40px;margin:0 0 14px}.session-group-link{color:inherit;align-items:center;gap:6px;display:inline-flex}.session-group-link:hover{color:var(--foreground);text-decoration:none}.session-group-link>svg:last-child{opacity:.7;margin-left:-2px}.table-group-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.group-jump{z-index:15;background:color-mix(in srgb,var(--background) 88%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);margin:0 -16px 6px;padding:8px 0;position:sticky;top:0}.group-jump-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:0 16px;scroll-padding:0 16px;display:flex;overflow-x:auto}.group-jump-chips::-webkit-scrollbar{display:none}.group-jump-chip{border-radius:var(--radius-pill);background:var(--muted);min-height:34px;color:var(--muted-foreground);white-space:nowrap;-webkit-tap-highlight-color:transparent;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.group-jump-chip:hover{color:var(--foreground);text-decoration:none}.group-jump-chip>span{color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500}.group-jump-chip[aria-current]{background:var(--brand-ink);color:var(--on-brand-ink)}.group-jump-chip[aria-current]>span{color:inherit;opacity:.7}.session-group-title[id],.table-group-row>th[id]{scroll-margin-top:64px}.tunes-table .group-jump{margin:0 0 4px;padding:8px 0}.tunes-table .group-jump-chips{padding:0}@media print{.group-jump{display:none!important}}.group-jump{--fade:28px}.group-jump[data-before] .group-jump-chips{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade));-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade));mask-image:linear-gradient(to right,transparent,#000 var(--fade))}.group-jump[data-after] .group-jump-chips{-webkit-mask-image:linear-gradient(to left,transparent,#000 var(--fade));-webkit-mask-image:linear-gradient(to left,transparent,#000 var(--fade));mask-image:linear-gradient(to left,transparent,#000 var(--fade))}.group-jump[data-before][data-after] .group-jump-chips{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent)}.group-jump-more{display:none}@media (hover:hover){.group-jump{--fade:56px}.group-jump-more{z-index:1;border:1px solid var(--border);background:var(--card);width:30px;height:30px;color:var(--foreground);box-shadow:var(--shadow-raised);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;margin-top:-15px;padding:0;transition:opacity .15s;display:grid;position:absolute;top:50%}.group-jump-more.is-before{left:6px}.group-jump-more.is-after{right:6px}.group-jump[data-before] .group-jump-more.is-before,.group-jump[data-after] .group-jump-more.is-after{opacity:1;pointer-events:auto}.group-jump-more:hover{background:var(--muted)}}.tunes-table .group-jump-more.is-before{left:0}.tunes-table .group-jump-more.is-after{right:0}.select-trigger{text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:8px;display:inline-flex}.select-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-trigger[data-placeholder]>span:first-child{color:var(--text-3)}.select-trigger:disabled{opacity:.6;cursor:default}.select-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.select-trigger.input{font-size:13px;display:flex}.select-icon{color:var(--text-3);flex:none;display:flex}.select-trigger[data-state=open] .select-icon{color:var(--foreground)}.select-content{z-index:60;min-width:var(--radix-select-trigger-width);max-width:min(380px,100vw - 24px);max-height:min(var(--radix-select-content-available-height),360px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-row);box-shadow:var(--shadow-popover);animation:select-in .14s var(--ease);overflow:hidden}.select-viewport{padding:5px}.select-item{border-radius:var(--radius);color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;padding:8px 10px 8px 30px;font-size:13px;display:flex;position:relative}.select-item[data-highlighted]{background:var(--muted)}.select-item[data-state=checked]{font-weight:600}.select-item[data-disabled]{opacity:.5;pointer-events:none}.select-indicator{color:var(--brand-ink);align-items:center;display:flex;position:absolute;left:9px}.select-scroll{height:22px;color:var(--text-3);cursor:default;justify-content:center;align-items:center;display:flex}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.select-content{animation:none}}.nav-progress{z-index:100;pointer-events:none;opacity:0;height:2px;transition:opacity .25s .15s;position:fixed;top:0;left:0;right:0}.nav-progress>span{background:var(--brand-dot);height:100%;box-shadow:0 0 8px var(--brand-dot);transform-origin:0;display:block;transform:scaleX(0)}.nav-progress[data-phase=loading]{opacity:1;transition:none}.nav-progress[data-phase=loading]>span{animation:8s cubic-bezier(.1,.7,.3,1) forwards nav-creep}.nav-progress[data-phase=done]{opacity:0}.nav-progress[data-phase=done]>span{transition:transform .2s ease-out;transform:scaleX(1)}@keyframes nav-creep{0%{transform:scaleX(.05)}to{transform:scaleX(.85)}}.main-content,.session-main,.landing{transition:opacity .2s}body[data-navigating] :is(.main-content,.session-main,.landing>:not(header)){opacity:.55;transition:opacity .25s .15s}.link-pending{border:2px solid var(--line-strong);border-top-color:var(--brand-dot);opacity:0;border-radius:50%;flex:none;width:12px;height:12px;margin-left:auto;transition:opacity .15s}.link-pending[data-pending]{opacity:1;animation:.7s linear infinite link-spin}.nav-count+.link-pending{margin-left:6px}@keyframes link-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.nav-progress>span,.link-pending[data-pending]{animation:none}.nav-progress[data-phase=loading]>span{transform:scaleX(.6)}}.finder-row .finder-meta{text-transform:none}.finder-row .finder-meta:first-letter{text-transform:uppercase}.finder-row-head>div:first-child{flex:1}.finder-row-head>.finder-actions{flex-wrap:nowrap;justify-content:flex-end;margin:0 -8px 0 auto}.finder-row-standing{color:var(--muted-foreground)}.finder-row{grid-template-columns:minmax(0,1fr)}.landing{overflow-x:clip}.lp-hero{text-align:center;align-content:center;justify-items:center;max-width:900px;min-height:calc(100svh - 80px);margin:0 auto;padding:clamp(48px,10vh,120px) 24px 72px;display:grid}.lp-hero h1{letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(38px,9vw,96px);font-weight:650;line-height:1}.lp-lede{max-width:560px;color:var(--muted-foreground);text-wrap:balance;margin:22px 0 0;font-size:clamp(18px,2.2vw,22px);line-height:1.45}.lp-slot{flex:none;place-items:center;display:grid}.lp-slot.is-hero{width:128px;height:128px;margin:clamp(40px,7vh,64px) 0 20px}.lp-hero-stage{justify-items:center;width:100%;max-width:520px;min-height:48px;display:grid}.lp-hero-stage .finder-answer{animation:lp-in .5s var(--ease)}.lp-prompt{color:var(--muted-foreground);margin:0;font-size:15px}.lp-dial{margin:0}.lp-dial.is-hero .finder-button{width:128px;height:128px}.lp-dial.is-dock{--halo:.4}.lp-dial.is-dock .finder-button{width:44px;height:44px}.lp-dial.is-dock .finder-arc{width:calc(100% + 8px);height:calc(100% + 8px);inset:-4px}.lp-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px 80px;max-width:1080px;margin:0 auto;padding:clamp(72px,12vh,140px) 24px;display:grid}.lp-feature:nth-of-type(odd) .lp-copy{order:2}.lp-copy h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(36px,5vw,56px);font-weight:650;line-height:1.04}.lp-copy p{max-width:420px;color:var(--muted-foreground);text-wrap:pretty;margin:18px 0 0;font-size:clamp(17px,1.8vw,20px);line-height:1.5}.lp-visual{display:grid}.lp-card{box-shadow:var(--shadow-raised);gap:4px;padding:22px 24px;display:grid}.lp-card-head{justify-content:space-between;align-items:center;padding-bottom:12px;font-size:13px;display:flex}.lp-live{color:var(--brand-dot-text);align-items:center;gap:8px;font-weight:650;display:inline-flex}.lp-clock,.lp-at{font-variant-numeric:tabular-nums;color:var(--text-3)}.lp-at{font-size:13px}.lp-night,.lp-progress{margin:0;padding:0;list-style:none}.lp-night li,.lp-progress li{border-top:1px solid var(--border);align-items:center;gap:14px;min-height:60px;display:grid}.lp-night li{grid-template-columns:14px minmax(0,1fr) auto}.lp-progress li{grid-template-columns:minmax(0,1fr) auto}.lp-set{align-self:stretch;align-items:center;display:flex}.lp-night li[data-set] .lp-set{border-left:2px solid var(--brand-dot-soft);margin-left:5px}.lp-night li:first-child[data-set] .lp-set{border:0;margin:0}.lp-set .repeat-mark{width:auto;height:30px}.lp-tune{gap:2px;min-width:0;display:grid}.lp-tune strong{font:400 19px/1.2 var(--font-music);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lp-tune small{color:var(--text-3);font-size:13px}.lp-sentence{font:400 24px/1.25 var(--font-music);letter-spacing:-.015em;text-wrap:balance;margin:4px 0 14px}.lp-book{gap:18px}.lp-book-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.lp-book-head strong{font:400 22px/1.2 var(--font-music);letter-spacing:-.015em;display:block}.lp-book-head small{color:var(--text-3);font-size:13px}.lp-book-icon{border-radius:var(--radius);background:var(--muted);place-items:center;width:44px;height:44px;font-size:22px;display:grid}.lp-end{text-align:center;justify-items:center;padding:clamp(72px,12vh,140px) 24px clamp(96px,14vh,160px);display:grid}.lp-end .lp-slot{margin:0 0 36px}.lp-end h2{letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(40px,6.5vw,72px);font-weight:650;line-height:1.02}.lp-end-actions{margin-top:32px}.lp-dock{z-index:30;left:50%;bottom:max(20px,env(safe-area-inset-bottom));pointer-events:none;justify-items:center;gap:10px;width:min(420px,100vw - 24px);display:grid;position:fixed;translate:-50%}.lp-dock>*{pointer-events:auto}.lp-dock-bar{border:1px solid var(--border);border-radius:var(--radius-sheet);background:color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);box-shadow:var(--shadow-popover);align-items:center;gap:6px;padding:6px 18px 6px 6px;display:flex}.lp-dock-label{max-width:260px;color:var(--foreground);font:600 15px var(--font-ui);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 0 0 6px;display:inline-flex;overflow:hidden}.lp-dock-answer{border:1px solid var(--border);border-radius:var(--radius-group);background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);width:100%;max-height:min(60vh,520px);box-shadow:var(--shadow-popover);text-align:center;padding:22px 20px 18px;position:relative;overflow:auto}.lp-dock-close{position:absolute;top:10px;right:10px}@keyframes lp-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:860px){.lp-feature{text-align:center;grid-template-columns:1fr;gap:36px}.lp-feature:nth-of-type(odd) .lp-copy{order:0}.lp-copy p{margin-left:auto;margin-right:auto}.lp-visual{text-align:left}}@media (max-width:520px){.lp-card{padding:16px 18px}.lp-slot.is-hero,.lp-dial.is-hero .finder-button{width:112px;height:112px}}.lp-dock-bar{animation:lp-bar-in .4s var(--ease)}.lp-dock-label{animation:lp-label-in .4s var(--ease)}@keyframes lp-bar-in{0%{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}}@keyframes lp-label-in{0%{opacity:0}}.lp-card-head{gap:12px}.lp-card-head .lp-clock{text-align:right;min-width:44px}.lp-level{align-items:center;gap:3px;height:16px;margin-left:auto;display:inline-flex}.lp-level i{background:var(--brand-dot);opacity:.35;border-radius:2px;width:3px;height:4px;transition:opacity .3s}.lp-level[data-on] i{opacity:1;animation:.9s ease-in-out infinite alternate lp-level}.lp-level i:nth-child(2){animation-delay:-.3s}.lp-level i:nth-child(3){animation-delay:-.6s}.lp-level i:nth-child(4){animation-delay:-.15s}.lp-level i:nth-child(5){animation-delay:-.45s}@keyframes lp-level{0%{height:4px}to{height:16px}}.lp-record:not([data-live]) .finder-rec-dot{animation:none}.lp-track{border-radius:var(--radius-pill);background:var(--muted);height:8px;margin:2px 0 14px;position:relative;overflow:hidden}.lp-track-seg{border-radius:var(--radius-pill);background:var(--brand-dot);transition:background .4s var(--ease);position:absolute;top:0;bottom:0}.lp-track-seg[data-named]{background:var(--brand-ink)}.lp-track-seg+.lp-track-seg{box-shadow:-2px 0 0 var(--card)}.lp-track-seg[data-standing=join]{background:var(--brand-ink)}.lp-track-seg[data-standing=learning]{background:var(--brand-dot)}.lp-track-seg[data-standing=new]{background:var(--line-strong)}.lp-track-head{background:var(--foreground);opacity:.5;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.lp-track.is-night{height:10px;margin:6px 0 16px}.lp-night{min-height:240px}.lp-tune.is-listening strong{color:var(--brand-dot-text);font:600 15px/1.2 var(--font-ui);letter-spacing:0}.lp-card-foot{justify-content:center;min-height:30px;padding-top:6px;display:flex}.lp-progress li{min-height:0;display:block}.lp-progress-row{margin:0;border-radius:var(--radius-row);width:calc(100% + 20px);min-height:60px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-inline:-10px;padding:0 10px;transition:background .15s;display:grid}.lp-progress-row:hover{background:var(--accent)}.lp-progress-row:active{transform:scale(.99)}.lp-progress .ability-bars i{transition:background .3s var(--ease)}.lp-book-set-row{border-top:1px solid var(--border);grid-template-columns:14px minmax(0,1fr);align-items:center;gap:14px;padding-top:16px;display:grid}.lp-book-set-row .repeat-mark{width:auto;height:28px}.lp-chips{flex-wrap:wrap;gap:6px;display:flex}.lp-book-phrase{border-top:1px solid var(--border);gap:14px;padding-top:16px;display:grid}.lp-book-phrase .opening-phrase{min-height:70px}.lp-playalong{border-radius:var(--radius-row);background:var(--muted);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;padding:10px 14px 10px 10px;display:grid}.lp-playalong-main{gap:6px;min-width:0;display:grid}.lp-playalong-title{letter-spacing:-.01em;font-size:14px;font-weight:650}.lp-playalong-bar{background:var(--border);border-radius:2px;height:3px;display:block;overflow:hidden}.lp-playalong-bar>span{background:var(--brand-dot);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.lp-book-phrase .is-sounding{fill:var(--brand-dot);stroke:var(--brand-dot);transition:fill 80ms}@media (prefers-reduced-motion:reduce){.lp-level[data-on] i{height:10px;animation:none}}.lp-book-head strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:520px){.lp-book-head .button{padding:0 9px}.lp-book-head .lp-btn-text{display:none}}.lp-chips .chip{min-height:32px;font:400 15px/1.2 var(--font-music)}.player-play[data-loading]{animation:finder-breathe 1s var(--ease) infinite alternate}.session-list .session-group-title{z-index:5;background:color-mix(in srgb,var(--background) 90%,transparent);-webkit-backdrop-filter:saturate(1.6)blur(14px);backdrop-filter:saturate(1.6)blur(14px);margin:0 -16px;padding:18px 32px 8px;position:sticky;top:0}.session-list>section:first-child>.session-group-title{margin-top:0;padding-top:6px}.session-row-emoji[data-plain]{opacity:.3;filter:grayscale()}.player-source{max-width:240px;color:var(--foreground);flex:none;gap:6px;font-weight:500}.player-source-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.player-speed{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;display:flex}.player-speed-label{color:var(--text-3);font-size:12px;font-weight:600}.player-speed-slider{min-width:100px;accent-color:var(--brand-ink);cursor:pointer;flex:1}.player-speed-value{min-width:62px;color:var(--foreground);font:12px/1.3 ui-monospace,monospace;display:grid}.player-speed-value span{color:var(--text-3)}.dropdown-checkbox .playalong-other{margin-left:6px}.practice-bar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px;padding-top:14px;display:flex}.practice-bar>.ability-button{padding-left:0}.practice-recorded{color:var(--text-3);font-size:12px}.practice-bar .practice-confirm{margin-left:auto}.practice-bar .ability-status{color:var(--text-3);font-size:12px}@media (max-width:760px){.player-source{flex-basis:100%;justify-content:flex-start;max-width:100%}.player-speed .segmented{flex-basis:100%;order:3}.player-speed-slider{order:2}.practice-bar .practice-confirm{margin-left:0}}.notation .abcjs-tempo{display:none}.site-footer{max-width:1040px;margin:0 auto;padding:40px clamp(16px,4vw,48px) 32px}.site-credits{max-width:560px;color:var(--text-3);margin:0;font-size:12px;line-height:1.5}.site-credits a{text-underline-offset:2px;text-decoration:underline}.session-sheet .site-credits{margin:20px 4px 0}.deck[data-tucked]{visibility:hidden;pointer-events:none}.deck-float{z-index:26;right:max(16px,env(safe-area-inset-right));bottom:calc(var(--deck-peek) + 12px + env(safe-area-inset-bottom));position:fixed}.deck-float .finder-dial{margin:0}.deck-float .finder-button{box-shadow:var(--shadow-popover)}.deck-float.is-recording .finder-button{background:var(--brand-dot);color:var(--on-brand-dot)}@media (orientation:landscape) and (max-height:500px){.session-screen{max-width:none;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(84px,env(safe-area-inset-right))}}.player-island,.player-island-handle{z-index:23;bottom:calc(var(--island-lift,16px) + env(safe-area-inset-bottom));position:fixed}.session-shell{--island-lift:calc(var(--deck-peek) + 12px)}.session-reader{--island-lift:12px}.player-island{border:1px solid var(--border);border-radius:var(--radius-sheet);background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);width:min(440px,100% - 24px);box-shadow:var(--shadow-popover);touch-action:none;margin:0 auto;padding:4px 12px 10px;left:0;right:0}.player-island-grip{background:var(--line-strong);border-radius:2px;width:32px;height:4px;margin:0 auto 2px;display:block}.player-island-seek{width:100%;height:18px;accent-color:var(--brand-ink);cursor:pointer;touch-action:pan-x;margin:0;display:block}.player-island-row{align-items:center;gap:10px;display:flex}.player-island-row .player-speed{flex-wrap:nowrap;flex:1;gap:8px;min-width:0;margin:0}.player-speed.is-compact .segmented-option{min-height:30px;padding:2px 9px;font-size:12px}.player-speed.is-compact .player-speed-value{white-space:nowrap;min-width:0}.player-island-row .player-source{flex:none;justify-content:center;gap:0;width:36px;padding:0}.player-island-row .player-source>svg:last-child{display:none}.player-island-handle{right:max(16px,env(safe-area-inset-right))}body:has(.deck-float) .player-island-handle{bottom:calc(var(--island-lift) + 62px + env(safe-area-inset-bottom))}.player-island-handle .button{width:44px;height:44px;box-shadow:var(--shadow-popover);color:var(--brand-ink);border-radius:50%}.player-island-live{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.player-island-live i{background:var(--brand-dot);border-radius:2px;width:3px;height:6px;animation:.8s ease-in-out infinite alternate lp-level}.player-island-live i:nth-child(2){animation-delay:-.3s}.player-island-live i:nth-child(3){animation-delay:-.55s}.session-notation .abcjs-tempo,.player[data-island]>.player-row,.player[data-island]>.player-speed{display:none}.player[data-island]{border-top:0;padding-top:0}.tune-page{padding-bottom:120px}@media (prefers-reduced-motion:reduce){.player-island-live i{height:10px;animation:none}}.app-shell{--island-lift:100px}.player-speed.is-compact .segmented{flex-basis:auto;order:0}.player-speed.is-compact .player-speed-value{order:1}.session-shell:has(.player-island) .session-main{padding-bottom:calc(var(--deck-peek) + 120px + env(safe-area-inset-bottom))}.session-page:has(.player-island){padding-bottom:calc(120px + env(safe-area-inset-bottom))}.book-reader .session-page>*{max-width:960px;margin-left:auto;margin-right:auto}.recording-entry[data-open][data-saved] .recording-standing{visibility:hidden}.session-reader-nav{flex:none;align-items:center;gap:2px;display:flex}button.session-reader-count{border-radius:var(--radius);cursor:pointer;background:0 0;border:0;padding:6px 8px}button.session-reader-count:hover,button.session-reader-count[data-state=open]{background:var(--accent);color:var(--foreground)}@media (pointer:coarse){.session-reader-step{display:none}}.book-reader .session-notation{margin-top:8px}.reader-search{z-index:50;border:1px solid var(--border);border-radius:var(--radius-row);background:var(--card);width:min(320px,100vw - 24px);box-shadow:var(--shadow-popover);padding:8px}.reader-search .finder-search-field{background:var(--muted);border-color:#0000;min-height:38px}.reader-search-results{max-height:min(50vh,360px);margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.reader-search-results button{border-radius:var(--radius);width:100%;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:0;gap:1px;padding:7px 8px;display:grid}.reader-search-results button:hover,.reader-search-results button:focus-visible{background:var(--accent)}.reader-search-results .session-row-title{font:16px/1.25 var(--font-music)}.reader-search-empty{color:var(--text-3);margin:10px 6px 4px;font-size:13px}.page-bar-actions{align-items:center;gap:8px;display:flex}.deck-full-head{cursor:pointer}.lp-hero h1>span{display:block}.guide-page{padding:0 16px}.guide-wrap{max-width:760px;margin:0 auto;padding:40px 0 80px}.guide-head{margin-bottom:36px}.guide-head .back-link{margin-bottom:22px}.guide-head h1{letter-spacing:-.05em;margin:0 0 18px;font-size:clamp(32px,5vw,48px);font-weight:570;line-height:1.08}.guide-standfirst{color:var(--foreground);gap:12px;font-size:17px;line-height:1.6;display:grid}.guide-standfirst p{margin:0}.guide-standfirst a,.guide-method a,.guide-note a{text-underline-offset:2px;text-decoration:underline}.guide-standfirst>.button{justify-self:start;margin-top:6px}.guide-updated{color:var(--text-3);margin:16px 0 0;font-size:12px}.guide-toc{flex-wrap:wrap;gap:8px;margin:0 0 28px;display:flex}.guide-toc a{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted-foreground);padding:6px 12px;font-size:13px}.guide-toc a:hover{background:var(--accent);color:var(--foreground)}.guide-section{margin:0 0 48px;scroll-margin-top:16px}.guide-section>h2{letter-spacing:-.03em;margin:0 0 8px;font-size:26px;font-weight:600}.guide-section>p{margin:0 0 14px;font-size:15px;line-height:1.65}.guide-section-intro{color:var(--muted-foreground)}.guide-tune,.guide-set{border-top:1px solid var(--border);padding:20px 0}.guide-tune-head,.guide-set-head{align-items:baseline;gap:14px;display:flex}.guide-tune h3,.guide-set h3{font:24px/1.25 var(--font-music);letter-spacing:-.02em;margin:0}.guide-rank{min-width:24px;color:var(--text-3);flex:none;font:600 13px ui-monospace,monospace}.guide-tune-meta{color:var(--text-3);text-transform:none;margin:3px 0 0;font-size:12px}.guide-tune-meta a{text-decoration:underline}.guide-note{margin:10px 0 0 38px;font-size:15px;line-height:1.55}.guide-follow{color:var(--muted-foreground);margin:6px 0 0 38px;font-size:13px}.guide-score{gap:6px;margin:12px 0 0 38px;display:grid}.guide-score .opening-phrase{max-width:420px}.guide-score-toggle{color:var(--muted-foreground);justify-self:start;padding-left:0}.guide-score-toggle .is-flipped{transform:rotate(180deg)}.guide-set-tunes{gap:14px;margin:14px 0 0 38px;display:grid}.guide-set-tune .guide-score{margin-left:0}.guide-set-tune-name{font:18px/1.3 var(--font-music);margin:0}.guide-set-tune-name a{text-underline-offset:2px;text-decoration:underline}.guide-set-tune-name span{font:12px var(--font-ui);color:var(--text-3)}.guide-set-links{font:16px/1.5 var(--font-music);margin:8px 0 0 38px}.guide-set-links a{text-underline-offset:2px;text-decoration:underline}.guide-set-links .guide-tune-meta{font-family:var(--font-ui)}.guide-sets,.guide-podium,.guide-bars,.guide-index{margin:0;padding:0;list-style:none}.guide-podium{border-top:1px solid var(--border);gap:0;display:grid}.guide-podium li{border-bottom:1px solid var(--border);grid-template-columns:96px 1fr auto;align-items:baseline;gap:12px;padding:12px 0;display:grid}.guide-podium a{font:18px/1.3 var(--font-music)}.guide-podium a:hover{text-decoration:underline}.guide-podium-kind{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.guide-podium-count{color:var(--text-3);white-space:nowrap;font-size:12px}.guide-callout{border-radius:var(--radius-group);background:var(--brand-ink-soft);margin:0 0 48px;padding:24px}.guide-callout h2{letter-spacing:-.02em;margin:0 0 8px;font-size:22px}.guide-callout p{margin:0 0 16px;font-size:15px;line-height:1.55}.guide-callout-actions{flex-wrap:wrap;gap:8px;display:flex}.guide-method{border-top:1px solid var(--border);padding-top:24px}.guide-method ul{margin:0 0 14px;padding-left:20px;font-size:14px;line-height:1.7}.guide-more{border-top:1px solid var(--border);padding-top:24px}.guide-more h2{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:0 0 12px;font-size:13px;font-weight:700}.guide-more ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-index{gap:12px;display:grid}.guide-link{border:1px solid var(--border);border-radius:var(--radius-group);background:var(--card);gap:4px;padding:18px 20px;display:grid}.guide-link:hover{border-color:var(--line-strong)}.guide-link strong{letter-spacing:-.01em;font-size:17px;font-weight:600}.guide-link span{color:var(--muted-foreground);font-size:14px;line-height:1.5}.guide-compare{min-width:640px}.guide-compare .table-cell{vertical-align:top;line-height:1.45}.guide-app{white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:inline-flex}.guide-app a{text-underline-offset:2px;text-decoration:underline}.guide-bars{gap:10px;margin:16px 0;display:grid}.guide-bars li{grid-template-columns:130px 1fr 44px;align-items:center;gap:12px;font-size:14px;display:grid}.guide-bar-track{border-radius:var(--radius-pill);background:var(--muted);height:12px;overflow:hidden}.guide-bar-track span{border-radius:inherit;height:100%;display:block}.guide-bar-value{text-align:right;font:600 13px ui-monospace,monospace}.guide-app-card{border-top:1px solid var(--border);padding:20px 0}.guide-app-card h3{margin:0 0 10px;font-size:20px}.guide-app-card dl{grid-template-columns:130px 1fr;gap:6px 14px;margin:0 0 10px;font-size:14px;line-height:1.5;display:grid}.guide-app-card dt{color:var(--text-3)}.guide-app-card dd{margin:0}.guide-app-card p{margin:0;font-size:15px;line-height:1.6}.guide-faq{border-top:1px solid var(--border);padding:14px 0}.guide-faq h3{margin:0 0 6px;font-size:16px}.guide-faq p{margin:0;font-size:15px;line-height:1.6}@media (max-width:560px){.guide-wrap{padding-top:24px}.guide-standfirst{font-size:16px}.guide-note,.guide-follow,.guide-score,.guide-set-tunes,.guide-set-links{margin-left:0}.guide-podium li{grid-template-columns:1fr auto}.guide-podium-kind{grid-column:1/-1}.guide-bars li{grid-template-columns:100px 1fr 40px}.guide-app-card dl{grid-template-columns:1fr}.guide-app-card dt{margin-top:6px}}
