/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--ink:#eef0e8;--muted:#9ea49c;--dim:#737a73;--paper:#121512;--paper-deep:#0c0f0d;--panel:#191d19;--panel-raised:#202520;--line:#eef0e81f;--line-strong:#eef0e83d;--acid:#5bc2e7;--chord-amber:#e8a13c;--danger:#ff755f;--radius:18px;--max-width:940px;--reader-font-scale:1;--reader-line-height:1.9;--reader-chord-color:var(--chord-amber)}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--paper-deep)}body{background:linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Arial,Noto Sans Hebrew,sans-serif}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--acid);outline-offset:3px}.shell{width:min(calc(100% - 32px), var(--max-width));margin:0 auto}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:84px;display:flex}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{border:1px solid var(--line-strong);color:#12150f;background:var(--acid);border-radius:50% 48% 42% 54%;place-items:center;width:42px;height:42px;font-size:20px;font-weight:900;display:grid;transform:rotate(-4deg)}.brand strong{letter-spacing:-.02em;font-size:17px;display:block}.brand small{color:var(--muted);font-size:11px}.header-actions{align-items:center;gap:10px;display:flex}.header-search-btn{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;place-items:center;display:grid}.header-search-btn:hover{border-color:var(--acid)}.search-overlay{z-index:200;position:fixed;inset:0}.search-scrim{background:#0000008c;position:absolute;inset:0}.search-panel{border:1px solid var(--line-strong);background:var(--panel-raised);inset-inline:0;border-top:0;border-radius:0 0 16px 16px;max-width:640px;margin:0 auto;padding:14px;position:absolute;top:0;box-shadow:0 16px 40px #00000080}.search-field{align-items:center;gap:8px;display:flex}.search-field input{border:1px solid var(--line-strong);background:var(--panel);min-width:0;min-height:46px;color:var(--ink);font:inherit;border-radius:10px;flex:1;padding:0 14px;font-size:16px}.search-results{max-height:min(60vh,460px);margin-top:10px;overflow-y:auto}.search-hint{color:var(--dim);padding:12px 4px;font-size:13px}.search-results ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.search-results li button{width:100%;min-height:46px;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 12px;display:flex}.search-results li button:hover{background:var(--panel)}.search-hit-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.search-hit-meta{color:var(--muted);flex:none;font-size:12px}.header-menu{position:relative}.header-menu-btn{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;place-items:center;font-size:22px;line-height:1;display:grid}.header-menu-btn:hover{border-color:var(--acid)}.header-menu-pop{z-index:50;border:1px solid var(--line-strong);background:var(--panel-raised);inset-inline-end:0;border-radius:12px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 8px);box-shadow:0 12px 32px #00000080}.header-menu-item{width:100%;min-height:42px;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 12px;font-weight:700}.header-menu-item:hover{background:var(--panel)}.header-menu-item.danger{color:#e8615a}.header-menu-item:disabled{color:var(--muted);cursor:default}.header-menu-item:disabled:hover{background:0 0}.header-menu-status{color:var(--muted);padding:8px 12px;font-size:14px;line-height:1.5}.sb-banner{width:min(calc(100% - 32px), var(--max-width));border:1px solid var(--line-strong);border-inline-start:4px solid var(--chord-amber);background:var(--panel-raised);color:var(--ink);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:12px auto 0;padding:12px 16px;font-size:1.05rem;line-height:1.6;display:flex}.sb-banner p{margin:0}.sb-banner strong{font-weight:800}.sb-banner-note{color:var(--muted);flex-basis:100%;font-size:.95rem}.sb-banner-note strong{color:var(--acid)}.sb-banner-update{border-inline-start-color:var(--acid)}html[data-offline] .song-edit-link,html[data-offline] a[href="/songs/new"]{opacity:.45}.app-footer{border-top:1px solid var(--line);min-height:90px;color:var(--dim);justify-content:space-between;align-items:center;gap:12px;margin-top:40px;font-size:12px;display:flex}.app-footer a{color:var(--ink);font-weight:700}.button{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);background:var(--panel-raised);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:800;transition:transform .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{border-color:var(--acid);color:#12150f;background:var(--acid)}.button.ghost{background:0 0}.button.small{min-height:38px;padding:0 12px;font-size:13px;font-weight:700}.field{gap:6px;margin-bottom:16px;display:grid}.field label{color:var(--muted);font-size:13px;font-weight:700}.field input,.field select{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);background:var(--paper-deep);font:inherit;border-radius:10px;padding:0 14px}.field select{padding-inline-end:8px}.tag-chips{border:1px solid var(--line-strong);background:var(--paper-deep);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;padding:6px 10px;display:flex}.tag-chip{border:1px solid var(--acid);color:var(--acid);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12px;font-weight:700;display:inline-flex}.tag-chip button{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:9px;display:inline-flex}.tag-chip button:hover{background:#5bc2e738}.tag-add{min-width:90px;min-height:30px;color:var(--ink);font:inherit;background:0 0;border:none;flex:90px;padding:0 2px;font-size:13px}.tag-add:focus{outline:none}.form-error{border:1px solid var(--danger);color:var(--danger);border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:13px}.centered{place-items:center;min-height:calc(100vh - 84px);padding:40px 0;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:100%;max-width:420px;padding:30px}.card h1{letter-spacing:-.03em;margin:0 0 6px;font-size:26px}.card p.sub{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.6}.gate-mark{border:1px solid var(--line-strong);width:60px;height:60px;color:var(--acid);border-radius:50%;place-items:center;margin-bottom:20px;font-size:26px;display:grid}.shpongy-note{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:16px;font-size:13px;line-height:1.6}.shpongy-note strong{color:var(--acid)}.page-title{letter-spacing:-.04em;margin:40px 0 8px;font-size:clamp(30px,6vw,44px)}.page-lead{color:var(--muted);margin:0 0 32px;font-size:16px}.empty-library{border:1px dashed var(--line-strong);border-radius:var(--radius);min-height:260px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:40px;display:grid}.empty-library h2{color:var(--ink);margin:0;font-size:22px}.library-title{margin-bottom:22px}.song-list{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.song-list a{border:1px solid var(--line);background:var(--panel);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;height:52px;padding:0 16px;display:flex}.song-list a:hover{border-color:var(--acid)}.song-list-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.song-list-meta{white-space:nowrap;text-overflow:ellipsis;max-width:42%;color:var(--muted);flex:none;font-size:12px;overflow:hidden}.song-fav{color:var(--acid)}.library-browser{margin-top:4px}.lib-controls{gap:10px;margin-bottom:10px;display:grid}@media (width>=620px){.lib-controls{grid-template-columns:1fr auto;align-items:end}}.lib-search{border:1px solid var(--line-strong);width:100%;min-height:46px;color:var(--ink);background:var(--paper-deep);font:inherit;border-radius:10px;padding:0 14px}.lib-field{gap:4px;display:grid}.lib-field>span{color:var(--muted);font-size:12px}.lib-field select{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--ink);background:var(--paper-deep);font:inherit;border-radius:9px;padding:0 12px;font-size:14px}.lib-filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:6px;display:flex}.lib-filters .lib-field{flex:130px}.lib-fav-toggle,.lib-clear{border:1px solid var(--line-strong);min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:9px;padding:0 14px;font-size:13px}.lib-fav-toggle.on{border-color:var(--acid);color:var(--acid)}.lib-clear{color:var(--dim)}.lib-count{color:var(--dim);margin:6px 0 14px;font-size:13px}.lib-empty{text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);margin:24px 0;padding:32px}.crumbs{color:var(--dim);gap:8px;margin:26px 0 0;font-size:12px;display:flex}.crumbs a:hover{color:var(--acid)}.song-form{max-width:620px}.form-row{grid-template-columns:1fr 140px;gap:14px;display:grid}.form-row-3{grid-template-columns:1fr 120px}.field input[type=number]{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);background:var(--paper-deep);font:inherit;border-radius:10px;padding:0 14px}.song-form textarea{border:1px solid var(--line-strong);color:var(--ink);background:var(--paper-deep);font:inherit;resize:vertical;border-radius:10px;padding:14px;line-height:1.6}.song-form .button{margin-top:8px}.song-page{padding-top:14px}.song-head{margin:4px 0 18px}.song-head-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.song-back{border-color:var(--acid);min-height:48px;color:var(--acid);padding:0 20px;font-size:15px;font-weight:800}.song-back:hover{background:var(--acid)}@supports (color:color-mix(in lab, red, red)){.song-back:hover{background:color-mix(in srgb, var(--acid) 14%, transparent)}}.song-edit-link{color:var(--muted);font-size:14px;font-weight:700}.song-edit-link:hover{color:var(--acid)}.song-head-actions{align-items:center;gap:14px;display:flex}.fav-btn{appearance:none;cursor:pointer;min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;padding:6px;font-size:22px;line-height:1}.fav-btn.on{color:var(--acid)}.fav-btn:disabled{opacity:.5}.fav-btn:hover{color:var(--acid)}.song-head h1{letter-spacing:-.03em;margin:4px 0 8px;font-size:clamp(24px,5vw,34px)}.field-help{color:var(--dim);white-space:pre-wrap;margin:8px 0 0;font-size:12px;line-height:1.7}.form-actions{gap:12px;margin-top:8px;display:flex}.gate-actions{flex-wrap:wrap;gap:10px;display:flex}.button.danger{border-color:var(--danger);color:var(--danger);background:0 0}.button.danger:not(.ghost){color:#1a0f0d;background:var(--danger);border-color:var(--danger)}.danger-zone{border-top:1px solid var(--line);margin-top:32px;padding-top:20px}.delete-confirm{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.danger-zone form,.danger-zone>div{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.danger-note{color:var(--dim);font-size:12px}.button.ghost.danger-text{color:var(--danger)}.chordpro-import{color:var(--muted);flex-direction:column;gap:6px;margin:14px 0 4px;font-size:13px;display:flex}.chordpro-import input[type=file]{color:var(--dim);font-size:13px}.shared-strip{color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:700}.shared-note{color:var(--dim);margin:0 0 6px;font-size:13px}.shared-foot{text-align:center;margin:24px 0 40px}.shared-foot a{color:var(--muted);font-size:13px}.share-overlay{z-index:200;place-items:center;display:grid;position:fixed;inset:0}.share-scrim{background:#0000008c;position:absolute;inset:0}.share-dialog{border:1px solid var(--line-strong);background:var(--panel-raised);border-radius:16px;gap:12px;width:min(440px,100vw - 32px);padding:20px;display:grid;position:relative;box-shadow:0 18px 44px #00000080}.share-dialog h2{margin:0;font-size:18px}.share-lead{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.share-field{color:var(--muted);gap:6px;font-size:13px;display:grid}.share-field input{border:1px solid var(--line-strong);background:var(--panel);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 12px}.share-actions{flex-wrap:wrap;gap:10px;display:flex}.share-url{gap:8px;display:flex}.share-url input{border:1px solid var(--line-strong);background:var(--panel);min-width:0;min-height:44px;color:var(--ink);font:inherit;direction:ltr;border-radius:10px;flex:1;padding:0 12px;font-size:13px}.share-rows{gap:10px;margin:18px 0 40px;padding:0;list-style:none;display:grid}.share-row{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.share-row.dead{opacity:.6}.share-row-main{gap:3px;min-width:0;display:grid}.share-row-title{color:var(--ink);font-size:14px;font-weight:700}.share-row-title:hover{color:var(--acid)}.share-row-meta{color:var(--muted);font-size:12px}.share-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-row-dead{color:var(--dim);font-size:12px;font-weight:700}.trash{border-top:1px solid var(--line);margin-top:28px;padding-top:14px}.trash>summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:700;list-style:none}.trash>summary::-webkit-details-marker{display:none}.trash>summary:before{content:"▸ "}.trash[open]>summary:before{content:"▾ "}.trash-lead{color:var(--dim);margin:10px 0 12px;font-size:12px;line-height:1.7}.trash-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.trash-row{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.trash-row-main{gap:2px;min-width:0;display:grid}.trash-title{font-size:14px;font-weight:700}.trash-meta{color:var(--muted);font-size:12px}.trash-row-actions,.trash-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trash-confirm input{border:1px solid var(--line);background:var(--panel);min-height:38px;color:inherit;border-radius:8px;padding:0 10px;font-size:13px}.revisions{border-top:1px solid var(--line);max-width:620px;margin-top:34px;padding-top:20px}.revisions h2{margin:0 0 6px;font-size:18px}.rev-lead{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.6}.rev-empty{color:var(--dim);margin:0;font-size:13px}.rev-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rev-row{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.rev-meta{flex:1;gap:3px;min-width:0;display:grid}.rev-when{color:var(--muted);font-size:12px}.rev-preview{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rev-confirm{flex:none;gap:8px;display:flex}.new-song{max-width:620px}.import-box{border:1px solid var(--line-strong);background:var(--panel);border-radius:12px;padding:18px}.import-box>label{margin-bottom:10px;font-size:14px;font-weight:700;display:block}.import-row{gap:10px;display:flex}.import-dupe{border:1px solid var(--line-strong);background:var(--paper-deep);border-radius:10px;margin-top:12px;padding:12px 14px}.import-dupe p{margin:0 0 10px;font-size:14px}.import-dupe-actions{flex-wrap:wrap;gap:8px;display:flex}.import-row input{border:1px solid var(--line-strong);min-width:0;min-height:46px;color:var(--ink);background:var(--paper-deep);font:inherit;border-radius:10px;flex:1;padding:0 14px}.import-box .form-error{margin-top:12px;margin-bottom:0}.or-divider{color:var(--dim);align-items:center;gap:12px;margin:22px 0;font-size:12px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--line);flex:1;height:1px}.notice{border:1px solid var(--acid);color:var(--ink);background:#5bc2e714;border-radius:10px;margin:0 0 18px;padding:12px 14px;font-size:14px;line-height:1.6}.song-meta{color:var(--muted);flex-wrap:wrap;gap:14px;margin:0;font-size:14px;display:flex}.song-meta a{color:var(--acid);font-weight:700}.song-added{color:var(--dim);margin:0 0 6px;font-size:12px}.reader{--reader-ink:var(--ink);--reader-bg:var(--panel);--reader-muted:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:var(--reader-bg);color:var(--reader-ink);margin-bottom:40px;overflow-x:clip}.reader.contrast-high{--reader-ink:#f6f7f3;--reader-bg:#070808;--reader-muted:#b9beb6}.reader.contrast-max{--reader-ink:#fff;--reader-bg:#000;--reader-muted:#d6d6d6}.reader-top{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:9px;padding:12px clamp(14px,4vw,40px);display:flex}.reader-top-deck{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:10px;width:100%;padding:12px 14px;display:flex}.reader-top-row{flex-wrap:wrap;align-items:center;gap:10px 14px;width:100%;display:flex}.reader-top-controls{justify-content:flex-end;align-items:flex-start;gap:14px}.reader-top-tile{flex-direction:column;align-items:center;gap:4px;display:flex}.reader-top-tile-label{color:var(--reader-muted);white-space:nowrap;font-size:11px;font-weight:700}.reader-top-group:not(:first-child){border-inline-start:2px solid var(--line-strong);padding-inline-start:10px}.reader-top-key{color:var(--reader-muted);font-size:13px}.reader-top-tab-note{color:var(--chord-amber);font-size:13px}.reader-top-reset{border:1px solid var(--line-strong);color:var(--reader-muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-self:center;padding:6px 12px;font-size:12px}.metronome-cluster{align-items:center;gap:4px;display:flex}.metronome-adj{border:1px solid var(--line-strong);min-width:30px;height:28px;color:var(--reader-ink,var(--ink));font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:0 9px;font-size:12px;font-weight:700}.metronome-adj:hover{border-color:var(--acid)}.metronome-symbol{border:1px solid var(--line-strong);background:0 0;border-radius:4px;align-items:center;gap:5px;height:28px;padding:0 9px;display:flex}.metronome-symbol.on{border-color:var(--acid);background:var(--acid);color:#12150f}.metronome-toggle{height:100%;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;display:flex;position:relative}.metronome-toggle:before{content:"";position:absolute;inset:-9px}.metronome-icon{transform-origin:50% 90%;flex:none;width:15px;height:15px}.metronome-symbol.on .metronome-icon{animation:metronome-pulse var(--mtempo,.6s) ease-in-out infinite}@keyframes metronome-pulse{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@media (prefers-reduced-motion:reduce){.metronome-symbol.on .metronome-icon{animation:none}}.metronome-play-hint{opacity:.75;flex:none;width:8px;height:8px}.metronome-value{flex-direction:column;align-items:center;line-height:1.1;display:flex}.metronome-input{width:3.6ch;color:inherit;font:inherit;text-align:center;background:0 0;border:none;border-bottom:1px solid #0000;padding:0;font-size:13px;font-weight:800}.metronome-input:focus{border-bottom-color:currentColor;outline:none}.metronome-unit{letter-spacing:.05em;opacity:.75;font-size:7px;font-weight:700}.reader-top .stepper button{border-radius:4px;min-width:30px;height:28px;padding:0 9px;font-size:12px}.reader-top .stepper span{min-width:22px;font-size:12px}.reader-notes{border-bottom:1px solid var(--line);color:var(--reader-muted);white-space:pre-wrap;margin:0;padding:12px clamp(14px,4vw,40px);font-size:14px;line-height:1.6}.reader-strum{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.reader-strum .strum-card{border:1px solid var(--line);background:#eef0e808;border-radius:6px;flex:none;padding:5px 7px 6px}.strum-card-top{align-items:center;gap:6px;margin-bottom:4px;display:flex}.strum-play{border:1px solid var(--acid);width:16px;height:16px;color:var(--acid);font:inherit;cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:8px;display:inline-flex;position:relative}.strum-play:before{content:"";position:absolute;inset:-12px}.strum-play:hover{background:#5bc2e724}.strum-play.on{background:var(--acid);color:#12150f}.strum-play:disabled{opacity:.4;cursor:not-allowed}.strum-name{font-size:11px;font-weight:700}.strum-meta{color:var(--reader-muted);margin-inline-start:auto;font-size:10px}.strum-hint{color:var(--acid);margin:4px 0 0;font-size:10px;text-decoration:underline;display:block}p.strum-hint{color:var(--reader-muted);text-decoration:none}.strum-grid{gap:3px;display:flex;overflow-x:auto}.strum-slot{min-width:16px;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;flex:16px;align-items:center;gap:2px;padding:0;display:flex}button.strum-slot{cursor:pointer;border-radius:5px}button.strum-slot:hover{background:#5bc2e71f}.strum-glyph{height:16px;color:var(--reader-ink,var(--ink));align-items:flex-end;display:flex}.strum-icon{flex:none;width:13px;height:13px}.strum-icon-mute{width:11px;height:11px}.strum-dot{background:var(--line-strong);border-radius:50%;width:4px;height:4px;margin-bottom:2px}.strum-skip{color:var(--line-strong)}.strum-count{color:var(--reader-muted);font-size:9px;font-weight:600}.strum-count.beat{color:var(--reader-ink,var(--ink));font-weight:800}.strum-slot-active{background:#5bc2e72e;border-radius:5px}.strum-slot-active .strum-glyph{color:var(--acid)}.strumming-editor .strum-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin-bottom:10px;padding:11px}.strum-card-top .strum-label{border:1px solid var(--line-strong);min-width:0;color:var(--ink);font:inherit;background:0 0;border-radius:8px;flex:1;padding:6px 9px;font-size:13px}.strum-del{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;flex:none}.strum-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:11px;display:flex}.strum-ctl-label{color:var(--muted);font-size:12px}.strum-sections{border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:0 0;border-radius:8px;margin-top:9px;padding:6px 9px;font-size:12px}.strum-add{margin-top:2px}.body-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.body-tools{align-items:center;gap:8px;display:flex}.body-mode button{min-height:34px;padding:0 12px;font-size:12px}.body-hist{border:1px solid var(--line-strong);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;font-size:16px}.body-hist:disabled{opacity:.35;cursor:default}.chord-editor{border:1px solid var(--line-strong);background:var(--paper-deep);border-radius:12px;overflow:hidden}.ce-song{max-height:46vh;padding:16px clamp(12px,3vw,22px) 14px;font-size:17px;line-height:2.7;overflow-y:auto}.ce-blank{height:.8em}.ce-section{color:var(--acid);letter-spacing:.02em;margin:1.1em 0 .3em;font-size:.78em;font-weight:800}.ce-line{margin:0}.ce-run{position:relative}.ce-tab{border:1px solid var(--line);color:var(--muted);white-space:pre;background:#00000047;border-radius:8px;margin:.2em 0;padding:6px 8px;font-family:Consolas,SF Mono,ui-monospace,monospace;font-size:12px;line-height:1.4;overflow-x:auto}.ce-ch{color:var(--ink);font:inherit;white-space:pre;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0;line-height:1}.ce-ch:hover{box-shadow:inset 2px 0 0 var(--acid);background:#5bc2e724}.ce-ch.drop{background:#5bc2e747;border-radius:2px}.ce-ch.ce-sp{min-width:.4em}.ce-aim{z-index:62;border:1.5px solid var(--acid);background:var(--panel-raised);max-width:80vw;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:12px;padding:7px 14px;font-size:21px;font-weight:700;line-height:1.2;position:fixed;overflow:hidden;transform:translate(-50%,calc(-100% - 26px));box-shadow:0 6px 20px #00000080}.ce-aim:after{content:"";border:7px solid #0000;border-top-color:var(--acid);margin-left:-7px;position:absolute;top:100%;left:50%}.ce-aim-caret{vertical-align:-.18em;background:var(--acid);border-radius:1px;width:2px;height:1.05em;margin:0 1px;display:inline-block;box-shadow:0 0 6px 1px #5bc2e7cc}.ce-ch.ce-end{vertical-align:.15em;height:22px;color:var(--dim);border:1px dashed var(--line-strong);margin-inline-start:8px;padding:0 8px;font-size:13px;line-height:20px}.ce-chord{color:var(--reader-chord-color,#e8a13c);white-space:nowrap;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;bottom:100%;border-radius:4px;padding:1px 3px;font-family:Consolas,SF Mono,ui-monospace,monospace;font-size:.72em;font-weight:700;line-height:1;display:inline-block;position:absolute;inset-inline-start:0;transform:translateY(.35em)}.ce-chord.sel{outline:1.5px solid var(--acid);color:var(--acid)}.ce-chord:active{cursor:grabbing}.ce-ghost{z-index:60;border:1px solid var(--acid);background:var(--paper-deep);color:var(--acid);opacity:.85;pointer-events:none;border-radius:6px;padding:2px 7px;font:700 12px Consolas,ui-monospace,monospace;position:fixed;transform:translate(-50%,-220%)}.ce-armed{border-top:1px solid var(--line-strong);background:var(--acid);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.ce-armed{background:color-mix(in srgb, var(--acid) 12%, transparent)}}.ce-armed{font-size:13px}.ce-armed b{color:var(--acid);font-family:Consolas,ui-monospace,monospace}.ce-armed button{border:1px solid var(--line-strong);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-size:12px}.ce-armed .ce-danger{color:#e88;border-color:#7a3b3b}.ce-palette{border-top:1px solid var(--line-strong);gap:9px;padding:12px 14px 14px;display:grid}.ce-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ce-row-label{width:48px;color:var(--muted);flex:none;font-size:11px}.ce-chip{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 10px;font-family:Consolas,ui-monospace,monospace;font-size:13px}.ce-row .ce-chip:not(.ce-acc){font-family:inherit}.ce-chip.on{border-color:var(--acid);background:var(--acid);color:#08222b}.ce-compose{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;padding-top:10px;display:flex}.ce-draft{border:1px solid var(--acid);min-height:40px;color:var(--acid);cursor:grab;background:0 0;border-radius:9px;padding:0 16px;font:700 15px Consolas,ui-monospace,monospace}.ce-draft.on{background:var(--acid);color:#08222b}.ce-or{color:var(--dim);font-size:12px}.ce-free{border:1px solid var(--line-strong);min-width:120px;min-height:38px;color:var(--ink);font:inherit;background:0 0;border-radius:8px;flex:1;padding:0 10px;font-size:13px}.tc-add{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 14px;font-size:13px}.tc-add:hover{border-color:var(--acid);color:var(--acid)}.tc-add.on{border-color:var(--acid);background:var(--acid);color:#08222b}.tc-fab-row{justify-content:flex-end;margin-bottom:10px;display:flex}.tc-fab{z-index:5;background:var(--acid);color:#08222b;cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font:700 14px inherit;display:inline-flex;position:sticky;top:12px;box-shadow:0 6px 18px #5bc2e759}.tc-fab:hover{filter:brightness(1.08)}.ce-tab-wrap{position:relative}.ce-tab-move{top:4px;flex-direction:column;gap:2px;display:flex;position:absolute;inset-inline-end:4px}.ce-tab-move button{border:1px solid var(--line-strong);background:var(--panel-raised);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:6px;font-size:12px;line-height:1}.ce-tab-move button:hover{border-color:var(--acid);color:var(--acid)}.tc-panel{max-width:560px;max-height:88vh;margin-inline:auto}.tc-head{justify-content:space-between;align-items:center;font-size:16px;font-weight:700;display:flex}.tc-close{background:var(--panel-raised);width:32px;height:32px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;font-size:15px}.tc-hint{color:var(--muted);margin:10px 0;font-size:13px}.tc-grid{background:var(--paper-deep);border:1px solid var(--line);border-radius:12px;gap:4px;padding:10px 8px;display:grid;overflow-x:auto}.tc-grid-picking{border-color:var(--acid);box-shadow:0 0 0 1px var(--acid) inset}.tc-str-label{color:var(--tb-str,#857657);justify-content:center;align-items:center;font-size:12px;font-style:italic;display:flex}.tc-cell{align-items:stretch;display:flex;position:relative}.tc-note{aspect-ratio:1;border:1px solid var(--line);background:var(--panel);min-width:30px;max-width:44px;color:var(--dim);cursor:pointer;border-radius:6px;flex-grow:1;font:700 14px Consolas,ui-monospace,monospace}.tc-note.filled{border-color:var(--chord-amber);color:#efe4d0;background:#2a2117}.tc-note.sel{outline:2px solid var(--acid);outline-offset:1px}.tc-note.marked{outline:2px solid var(--acid);outline-offset:1px;background:#5bc2e72e}.tc-conn{z-index:1;border:1px solid var(--line-strong);background:var(--paper-deep);width:16px;height:16px;color:var(--muted);inset-inline-start:-8px;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tc-conn.on{border-color:var(--chord-amber);background:var(--chord-amber);color:#2a1c05}.tc-bar{background:var(--tb-bar,#7d6b52);inset-inline-end:-3px;width:2px;position:absolute;top:0;bottom:0}.tc-keypad{border:1px solid var(--line-strong);background:var(--panel-raised);border-radius:12px;margin-top:10px;padding:10px}.tc-keypad-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tc-keypad-label{color:var(--muted);font-size:12px}.tc-keypad-done{border:1px solid var(--acid);min-height:30px;color:var(--acid);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-size:12px}.tc-keys{grid-template-columns:repeat(3,minmax(56px,84px));grid-auto-rows:minmax(46px,56px);justify-content:center;gap:6px;display:grid}.tc-key{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;font:700 15px inherit}.tc-key-danger{color:var(--danger);border-color:var(--danger);font-size:12px}.tc-move-controls{gap:6px;display:flex}.tc-move-controls .tc-key{flex:1;padding:0 8px;font-size:13px}.tc-move-controls .tc-key:disabled{opacity:.35;cursor:default}.tc-techs{margin-top:12px}.tc-addgrid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-top:12px;display:grid}.tc-addgrid .tc-add{text-align:center}.tc-cancel-pick{text-align:center;width:100%;margin-top:12px;display:block}.tc-barsize{color:var(--muted);text-align:center;flex-direction:column;gap:2px;font-size:11px;display:flex}.tc-barsize select{border:1px solid var(--line-strong);background:var(--panel);width:100%;min-height:38px;color:var(--ink);font:inherit;border-radius:8px;padding:0 8px;font-size:13px}.tc-preview-label{color:var(--muted);margin:14px 0 6px;font-size:12px}.tc-preview{border:1px solid var(--line);background:var(--paper-deep);border-radius:12px;padding:8px}.tc-preview-empty{color:var(--dim);text-align:center;margin:0;padding:10px;font-size:13px}.fab{bottom:max(18px, env(safe-area-inset-bottom));z-index:40;width:52px;height:52px;color:var(--ink);background:var(--panel-raised);border:none;border-radius:50%;place-items:center;display:grid;position:fixed}@supports (color:color-mix(in lab, red, red)){.fab{background:color-mix(in srgb, var(--panel-raised) 92%, transparent)}}.fab{opacity:.62;cursor:pointer;transition:opacity .16s,transform .16s}.fab:hover,.fab:focus-visible,.fab:active{opacity:1}.fab svg{width:24px;height:24px}.fab-play{right:max(16px, env(safe-area-inset-right))}.fab-play svg{fill:currentColor}.fab-play.playing{color:#12150f;background:var(--acid);opacity:.85}.fab-panel{left:max(16px, env(safe-area-inset-left))}.panel-scrim{z-index:45;background:#0006;position:fixed;inset:0}.panel{z-index:46;overscroll-behavior:contain;max-height:72vh;padding:18px clamp(14px, 4vw, 28px) calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--line-strong);background:var(--panel);inset-inline:0;border-radius:18px 18px 0 0;position:fixed;bottom:0;overflow-y:auto}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 14px;display:grid}.control{align-content:start;gap:7px;display:grid}.control-wide{grid-column:1/-1}.control-label{color:var(--muted);font-size:12px;font-weight:700}.control-note{color:var(--dim);font-size:12px}.control input[type=range]{width:100%;accent-color:var(--acid);height:26px}.stepper,.segmented{align-items:center;gap:6px;display:flex}.stepper{direction:ltr}.stepper button,.segmented button{border:1px solid var(--line-strong);min-width:40px;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:9px;padding:0 12px;font-weight:700}.stepper span{text-align:center;min-width:48px;font-size:14px;font-weight:700}.segmented{flex-wrap:wrap}.segmented button.on{border-color:var(--acid);color:#12150f;background:var(--acid)}.swatches{gap:8px;display:flex}.swatches button{border:2px solid var(--line-strong);cursor:pointer;border-radius:50%;width:30px;height:30px}.swatches button.on{border-color:var(--ink);transform:scale(1.12)}.panel-foot{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.panel .reset{border:1px solid var(--line-strong);min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:0 16px;font-size:13px}.panel .reset:hover{border-color:var(--acid);color:var(--acid)}.loop-range-desc{color:var(--muted);margin:0;font-size:13px}.loop-range-actions{flex-wrap:wrap;gap:8px;display:flex}.loop-range-play{border:1px solid var(--acid);background:var(--acid);color:#12150f;min-height:42px;font:inherit;cursor:pointer;border-radius:10px;padding:0 16px;font-size:13px;font-weight:800}.loop-range-play.on{color:var(--acid);background:0 0}.loop-toggle{border:1px solid var(--line-strong);min-width:30px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0 9px;display:flex}.loop-toggle:hover{border-color:var(--acid)}.loop-toggle.on{border-color:var(--acid);background:var(--acid);color:#12150f}.loop-mark-bar{z-index:50;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--panel);border-bottom:1px solid var(--line-strong);color:var(--ink);top:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex;position:fixed;inset-inline:0}.loop-mark-actions{flex:none;gap:8px;display:flex}.loop-mark-save,.loop-mark-cancel{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 14px;font-size:13px}.loop-mark-save{border-color:var(--acid);background:var(--acid);color:#12150f;font-weight:800}.song-body{font-size:calc(1.05rem * var(--reader-font-scale));cursor:default;padding:22px clamp(14px,4vw,40px) 56px;overflow-x:hidden}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Alef;src:url(/fonts/alef-400.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Alef;src:url(/fonts/alef-700.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}.font-readable .song-body,.font-readable .reader-notes{letter-spacing:.01em;font-family:Atkinson Hyperlegible,Alef,Trebuchet MS,Segoe UI,Arial Hebrew,Arial,sans-serif}.song-section{color:var(--acid);letter-spacing:.02em;margin:1.6em 0 .4em;font-size:.8em;font-weight:800}.contrast-max .song-section{color:#a9e5f5}.song-line{line-height:calc(var(--reader-line-height) + 1.15);overflow-wrap:break-word;margin:0}.song-line:first-of-type{margin-top:.15em}.reader-compact .song-line{line-height:calc(var(--reader-line-height) + .6)}.reader-compact .song-section{margin:.6em 0 .25em}.reader-compact .stanza-gap{height:.35em}.run{position:relative}.run>.chord{white-space:nowrap;color:var(--reader-chord-color);bottom:100%;font-family:Consolas,SF Mono,ui-monospace,monospace;font-size:.78em;font-weight:700;line-height:1;position:absolute;inset-inline-start:0;transform:translateY(.3em)}.run>.chord,.song-line .bare-chord,.song-line.progression .chip{appearance:none;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.run>.chord:before,.song-line .bare-chord:before,.song-line.progression .chip:before{content:"";position:absolute;inset:-9px -6px}.song-line .bare-chord,.song-line.progression .chip{position:relative}.run>.chord:active,.song-line .bare-chord:active,.song-line.progression .chip:active{opacity:.6}.emphasize-chords .run>.chord{font-size:.92em;font-weight:800}.contrast-max .song-line{font-weight:600}.loop-marked-group{background:#5bc2e724;border-radius:8px;margin-inline:-6px;padding:6px;box-shadow:inset 0 0 0 1px #5bc2e780}.loop-tap-target{cursor:pointer}.loop-tap-target:active{background:#5bc2e714}.song-line .bare-chord{color:var(--reader-chord-color);white-space:nowrap;margin-inline:.15em .7em;font-family:Consolas,SF Mono,ui-monospace,monospace;font-size:.78em;font-weight:700;line-height:1;display:inline-block;transform:translateY(-.85em)}.song-line .bare-chord-tail{color:var(--reader-muted);margin-inline-start:.2em;font-weight:400}.song-line .bare-chord-group{unicode-bidi:isolate}.emphasize-chords .song-line .bare-chord{font-size:.92em;font-weight:800}.song-line.progression{line-height:calc(var(--reader-line-height) + .2);flex-wrap:wrap;align-items:baseline;gap:.1em .9em;margin:.2em 0;display:flex}.song-line.progression .chip{color:var(--reader-chord-color);font-family:Consolas,SF Mono,ui-monospace,monospace;font-weight:700}.emphasize-chords .song-line.progression .chip{font-weight:800}.song-line.progression .repeat{color:var(--reader-muted);margin-inline-start:.35em;font-size:.82em}.stanza-gap{height:.9em}.song-end{color:var(--reader-muted);text-align:center;margin-top:2em;font-size:.75em}.tab-block{--tb-rule:#574d3f;--tb-str:#857657;--tb-bar:#7d6b52;--tb-note:#efe4d0;--tb-cut:#17140f;--tb-tech:#e8a13c;border:1px solid var(--line);background:#17140f;border-radius:12px;flex-direction:column;gap:6px;margin:1.1em 0;padding:8px 10px;display:flex;position:relative}.contrast-high .tab-block,.contrast-max .tab-block{--tb-rule:#8a7c64;--tb-note:#fff;--tb-cut:#000;background:#000}.tab-scroll{overflow:hidden}.tab-block svg{display:block}.tab-block .tb-rule{stroke:var(--tb-rule);stroke-width:1px}.tab-block .tb-bar{stroke:var(--tb-bar);stroke-width:1.2px}.tab-block .tb-str{fill:var(--tb-str);font-family:Georgia,Times New Roman,serif;font-size:10px;font-style:italic}.tab-block .tb-cut{fill:var(--tb-cut)}.tab-block .tb-note{fill:var(--tb-note);font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:700}.tab-block .tb-tech{stroke:var(--tb-tech);stroke-width:1.5px;stroke-linecap:round;fill:none}.tab-block .tb-tech-fill{fill:var(--tb-tech)}.tab-block .tb-tech-label{fill:var(--tb-tech);font-family:Georgia,serif;font-size:8px;font-style:italic}.tab-rep{z-index:1;color:var(--tb-tech);border:1px solid var(--line-strong);top:6px;background:#17140f;border-radius:6px;padding:1px 7px;font-family:Georgia,serif;font-size:11px;font-weight:700;position:absolute;inset-inline-end:10px}.tab-legend{border-bottom:1px solid var(--line);color:var(--reader-muted);flex-wrap:wrap;gap:6px 14px;padding:12px clamp(14px,4vw,40px);font-size:12.5px;display:flex}.tab-legend-item b{color:var(--chord-amber);margin-inline-end:3px;font-family:Consolas,ui-monospace,monospace;font-weight:700}.song-end-top{border:1px solid var(--line);color:var(--reader-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin:.9em auto 0;padding:8px 16px;font-size:.8em;font-weight:700;display:block}.song-end-top:hover{border-color:var(--acid);color:var(--acid)}.reader-next{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);gap:10px;margin:0 0 40px;padding:16px clamp(14px,4vw,24px);display:grid}.reader-next-home{border:1px solid var(--acid);min-height:48px;color:var(--acid);text-align:center;border-radius:12px;padding:13px 16px;font-weight:800;display:block}.reader-next-home:hover{background:var(--acid)}@supports (color:color-mix(in lab, red, red)){.reader-next-home:hover{background:color-mix(in srgb, var(--acid) 14%, transparent)}}.reader-next-label{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700}.reader-next-list{gap:8px;min-width:0;display:grid}.reader-next-song{border:1px solid var(--line);min-height:46px;color:var(--ink);border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:9px 14px;display:flex}.reader-next-song:hover{border-color:var(--acid)}.reader-next-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.reader-next-artist{color:var(--muted);flex:none;font-size:12px}.speed-nudge{z-index:41;right:max(16px, env(safe-area-inset-right));bottom:calc(max(18px, env(safe-area-inset-bottom)) + 62px);border:1px solid var(--line-strong);background:var(--panel-raised);border-radius:999px;align-items:center;gap:12px;padding:10px 16px;animation:.16s ease-out speed-nudge-in;display:flex;position:fixed;box-shadow:0 8px 24px #0006}@keyframes speed-nudge-in{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.speed-nudge{animation:none}}.speed-nudge-val{text-align:center;min-width:2.4ch;color:var(--ink);font-size:15px;font-weight:700}.speed-nudge .speed-slider{width:150px}.speed-slider-row{flex:1;align-items:center;gap:6px;display:flex}.speed-slider-step{border:1px solid var(--line-strong);min-width:40px;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:9px;flex:none;font-weight:700}.speed-slider{cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;flex:1;min-width:90px;height:40px;position:relative}.speed-slider:before{content:"";background:#ffffff24;border-radius:999px;height:6px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.speed-slider-fill{background:var(--acid);pointer-events:none;border-radius:999px;height:6px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.speed-slider-thumb{border:2px solid var(--acid);pointer-events:none;background:#fff;border-radius:50%;width:22px;height:22px;margin-left:-11px;transition:transform 80ms;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 5px #00000073}.speed-slider:active .speed-slider-thumb{transform:translateY(-50%)scale(1.18)}.speed-slider:focus-visible{outline:none}.speed-slider:focus-visible:before{box-shadow:0 0 0 2px var(--acid)}.chord-pop{z-index:55;border:1px solid var(--acid);background:var(--panel-raised);border-radius:12px;padding:10px 12px 12px;position:fixed;box-shadow:0 10px 30px #0000008c}.chord-pop-none{min-width:120px;color:var(--ink);place-items:center;gap:4px;font-family:Consolas,ui-monospace,monospace;font-size:18px;font-weight:700;display:grid}.chord-pop-none span{font:400 12px var(--font-sans,sans-serif);color:var(--muted)}.chord-diagram{place-items:center;gap:6px;display:grid}.cd-name{color:var(--acid);font-family:Consolas,SF Mono,ui-monospace,monospace;font-size:16px;font-weight:800}.cd-as{color:var(--muted);font-size:12px;font-weight:400}.cd-svg{width:108px;height:auto;display:block}.cd-line{stroke:var(--line-strong);stroke-width:1px}.cd-nut{fill:var(--ink)}.cd-fretnum,.cd-mark{fill:var(--muted);font:700 9px Consolas,ui-monospace,monospace}.cd-open{fill:none;stroke:var(--muted);stroke-width:1.3px}.cd-dot{fill:var(--acid)}@media (width<=620px){.form-row{grid-template-columns:1fr}.import-row{flex-direction:column}.panel-grid{grid-template-columns:1fr 1fr;gap:14px 12px}.control-label{font-size:11px}.stepper button,.segmented button{min-width:38px;min-height:38px;padding:0 10px;font-size:13px}.stepper span{min-width:44px;font-size:13px}.swatches button{width:28px;height:28px}.reader-top-controls,.reader-strum{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{margin:1.4cm}html,body{color:#000!important;background:#fff!important}.app-header,.app-footer,.crumbs,.fab,.panel,.panel-scrim,.speed-nudge,.reader-next,.shared-foot,.shared-strip,.song-head-actions,.song-added,.song-back,.reader-top,.reader-strum,.loop-mark-bar,.song-end,.song-end-top,.search-overlay,.share-overlay{display:none!important}.shell{max-width:none;padding:0}.song-head{margin:0 0 10px}.song-head h1{color:#000;margin:0 0 4px;font-size:20pt}.song-meta{color:#222;font-size:10pt}.reader{color:#000;--reader-chord-color:#000;background:#fff;border:0;border-radius:0;margin:0}.reader-notes{color:#000;margin:0 0 10px;font-size:10pt}.song-body{color:#000;padding:0;font-size:11.5pt!important}.song-line,.song-section{break-inside:avoid}.song-section{color:#000}.run>.chord,.song-line .bare-chord,.song-line.progression .chip{font-weight:700;color:#000!important}.run>.chord:before,.song-line .bare-chord:before,.song-line.progression .chip:before{display:none}.loop-marked-group{box-shadow:none!important;background:0 0!important}a[href]:after{content:""!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
