:root{font-synthesis:none;text-rendering:optimizelegibility}#root{min-height:100vh}:root{--color-primary:#1769e0;--color-primary-dark:#0f4fae;--color-secondary:#087e63;--color-surface:#fff;--color-background:#f3f7fb;--color-text:#172033;--color-muted:#66758a;--color-border:#dce7f3;--color-danger:#b42318}*{box-sizing:border-box}body{color:#172033;background:#f3f7fb;min-width:320px;min-height:100vh;margin:0;font-family:Arial,Helvetica Neue,Helvetica,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.loading-screen,.login-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.login-screen{background:radial-gradient(circle at top,#fff0c5 0%,#0000 48%),#f5f2eb}.auth-card{text-align:center;background:#fff;border:1px solid #e4ddd1;border-radius:24px;width:min(100%,430px);padding:42px 32px;box-shadow:0 20px 60px #3d2e1d24}.login-logo{object-fit:contain;width:112px;height:112px}.auth-card h1{margin:8px 0 0;font-size:42px}.auth-card p{color:#71695f;margin:12px 0 28px;line-height:1.6}.email-login-form{text-align:left;gap:9px;margin-top:24px;display:grid}.email-login-form label{color:var(--color-text-soft);font-size:14px;font-weight:700}.email-login-form input{width:100%;min-height:46px;color:var(--color-text);background:var(--color-surface-strong);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:10px 12px}.email-login-form button{margin-top:7px}.login-divider{color:var(--color-muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.google-login-button{width:100%}.primary-button,.secondary-button,.danger-button,.small-button{border:0;border-radius:11px;padding:12px 17px;font-weight:700}.primary-button{color:#fff;background:#1769e0;width:100%}.secondary-button{color:#1457b8;background:#e8f1ff}.performance-open-button{color:#fff;background:#087e63;border:0;border-radius:11px;padding:12px 17px;font-weight:750}.danger-button{color:#a5271d;background:#fde9e7}.small-button{color:#1457b8;background:#e8f1ff}.application{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #dce7f3;justify-content:space-between;align-items:center;gap:24px;min-height:82px;padding:16px 28px;display:flex}.brand,.account{align-items:center;gap:12px;display:flex}.brand>span{font-size:34px}.brand h1{margin:0;font-size:25px}.brand p{color:#71695f;margin:2px 0 0;font-size:13px}.account-avatar{object-fit:cover;border-radius:50%;width:42px;height:42px}.account-text{flex-direction:column;display:flex}.account-text span{color:#71695f;font-size:12px}.workspace{grid-template-columns:310px minmax(0,1fr);width:min(1450px,100%);min-height:calc(100vh - 82px);margin:auto;display:grid}.library-panel{background:#fff;border-right:1px solid #e4ddd1;padding:22px 18px}.add-song-button{color:#fff;background:#1769e0;border:0;border-radius:12px;width:100%;padding:13px 16px;font-weight:750}.library-heading{justify-content:space-between;align-items:center;margin:28px 4px 12px;display:flex}.library-heading h2{margin:0;font-size:17px}.library-heading span{text-align:center;color:#71695f;background:#f2eee7;border-radius:99px;min-width:28px;padding:3px 8px;font-size:13px}.library-list{gap:8px;display:grid}.library-item{text-align:left;color:#29241f;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:4px;width:100%;padding:13px;display:flex}.library-item:hover{background:#f8f5ef}.library-item.active{background:#e9f3ff;border-color:#a9ccf8}.library-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.library-item span{color:#71695f;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.library-item small{color:#087e63}.library-empty{text-align:center;color:#71695f;padding:40px 10px}.library-empty span{font-size:38px}.main-panel{min-width:0;padding:28px}.notice{border-radius:10px;margin-bottom:18px;padding:12px 15px}.success-notice{color:#087359;background:#e4f8f1}.error-notice,.error-message{color:#b42318;background:#fdecea}.song-editor,.song-view{background:#fff;border:1px solid #e4ddd1;border-radius:20px;width:min(100%,1080px);margin:0 auto;padding:28px}.editor-heading h2{margin:0;font-size:27px}.editor-heading p{color:#71695f;margin:7px 0 24px}.editor-heading code{color:#8c5b00;background:#fff3d8;border-radius:5px;padding:2px 6px}.editor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.editor-grid label{align-content:start;gap:7px;font-weight:700;display:grid}.wide-field{grid-column:span 2}.full-field{grid-column:1/-1}.editor-grid input,.editor-grid select,.editor-grid textarea{color:#29241f;background:#fff;border:1px solid #d6cec1;border-radius:10px;outline:none;width:100%;padding:11px 12px}.editor-grid input:focus,.editor-grid select:focus,.editor-grid textarea:focus{border-color:#8b724e;box-shadow:0 0 0 3px #8b724e1f}.editor-grid textarea{resize:vertical;line-height:1.55}.lyrics-editor{min-height:380px;font-family:Cascadia Code,Consolas,Courier New,monospace}.editor-actions{justify-content:flex-end;gap:11px;margin-top:22px;display:flex}.editor-save-button{width:auto;min-width:150px}.song-view-header{border-bottom:1px solid #ebe5dc;justify-content:space-between;gap:24px;padding-bottom:22px;display:flex}.song-label{color:#087e63;letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:13px;font-weight:800}.song-view-header h2{color:#12213a;margin:0;font-size:clamp(30px,5vw,44px)}.song-artist{color:#71695f;margin:7px 0 0}.song-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:9px;display:flex}.song-view-header-redesigned{gap:22px;display:grid}.song-header-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.song-title-block{width:100%;max-width:920px}.song-title-block h1{overflow-wrap:anywhere;color:#12213a;margin:0;font-size:clamp(30px,5vw,44px);line-height:1.12}.song-actions>button,.song-actions>a{white-space:nowrap;border-radius:11px;min-height:44px;padding:11px 16px}.song-actions>button:focus-visible,.song-actions>a:focus-visible{outline-offset:2px;outline:3px solid #1769e059}@media (width<=700px){.song-header-toolbar{flex-direction:column}.song-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));width:100%;display:grid}.song-actions>button,.song-actions>a{place-items:center;min-width:0;display:grid}.song-title-block h1{font-size:clamp(28px,9vw,38px)}}.song-information{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.transpose-controls{background:#eef6ff;border:1px solid #bfd9fa;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:14px;display:flex}.transpose-summary{grid-template-columns:auto auto;align-items:baseline;gap:2px 10px;display:grid}.transpose-summary span,.transpose-summary small{color:#71695f}.transpose-summary strong{color:#1261c9;font-size:24px}.transpose-summary small{grid-column:1/-1}.transpose-buttons{gap:8px;display:flex}.transpose-buttons button{color:#1457b8;background:#fff;border:1px solid #a9ccf8;border-radius:10px;min-height:44px;padding:10px 15px;font-weight:750}.song-information div{background:#f1f6fb;border-radius:10px;flex-direction:column;gap:3px;padding:12px;display:flex}.song-information span{color:#71695f;font-size:12px}.chord-sheet{padding:6px 2px 22px;font-family:Arial,Helvetica Neue,Helvetica,system-ui,sans-serif;font-size:18px;line-height:1.55;overflow-x:auto}.chord-line{white-space:pre-wrap;overflow-wrap:break-word;min-height:28px}.inline-token{white-space:pre-wrap}.chord-token{color:#1261c9;font-family:inherit;font-size:.9em;font-weight:850}.chord-button{appearance:none;color:#1261c9;min-width:0;min-height:0;line-height:inherit;vertical-align:baseline;background:0 0;border:0;border-radius:5px;margin:-5px -3px;padding:5px 3px;display:inline}.chord-button:focus-visible{outline-offset:1px;outline:2px solid}.chord-diagram-backdrop{z-index:1300;background:#0713239e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.chord-diagram-dialog{width:min(100%,720px);max-height:min(88vh,820px);color:var(--color-text);background:var(--color-surface);border-radius:18px;padding:18px;overflow-y:auto;box-shadow:0 24px 70px #07132359}.chord-diagram-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.chord-diagram-dialog header p,.chord-diagram-dialog header h2{margin:0}.chord-diagram-dialog header p,.chord-diagram-dialog header span{color:var(--color-secondary);font-weight:750}.chord-diagram-dialog header h2{margin-top:3px;font-size:30px}.chord-diagram-dialog header button{min-width:44px;min-height:44px;color:var(--color-text);border:1px solid var(--color-border);background:0 0;border-radius:10px;font-size:26px}.chord-shape-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.chord-shape-grid figure{border:1px solid var(--color-border);background:#fff;border-radius:13px;margin:0;overflow:hidden}.chord-shape-grid img{object-fit:contain;width:100%;height:auto;display:block}.svguitar-diagram{background:#fff;place-items:center;min-height:260px;display:grid}.svguitar-diagram.loading{background:linear-gradient(90deg,#eef3f8,#fff,#eef3f8) 0 0/200% 100%;animation:1.2s linear infinite library-loading}.svguitar-diagram svg{width:100%;height:auto;display:block}.chord-shape-grid figcaption{color:var(--color-text);justify-content:space-between;gap:8px;padding:10px 12px;display:flex}.chord-shape-grid figcaption span{color:var(--color-muted)}.chord-shape-empty{text-align:center;color:var(--color-muted);background:var(--color-background);border-radius:12px;margin:0;padding:28px 16px}.performance-mode.theme-dark .chord-diagram-dialog{--color-text:var(--performance-text);--color-muted:var(--performance-muted);--color-border:var(--performance-border);--color-surface:#0c192b;--color-background:#08111f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.performance-mode.theme-dark .chord-button:hover{background:#65a7ff24}.lyric-token{color:var(--color-text)}.section-token{color:var(--color-accent-strong);letter-spacing:.04em;margin:8px 0 2px;font-size:.82em;font-weight:850;display:inline-block}.chord-blank-line{height:13px}.lyrics-empty{text-align:center;color:var(--color-muted);background:var(--color-neutral-soft);border-radius:12px;padding:60px 20px}.song-notes{background:#ebf9f4;border-left:4px solid #20a47c;border-radius:8px;margin-top:22px;padding:18px}.song-notes h3{margin:0 0 8px}.song-notes p{white-space:pre-wrap;margin:0;line-height:1.6}.main-empty{text-align:center;color:#71695f;place-content:center;min-height:500px;display:grid}.main-empty span{font-size:55px}.main-empty h2{color:#29241f;margin:10px 0 4px}.main-empty p{margin:0}.muted-text{color:#71695f}@media (width<=900px){.topbar{gap:12px;min-height:68px;padding-block:10px}.account{flex-wrap:wrap;width:100%}.account .small-button{margin-left:auto}.workspace{grid-template-columns:1fr}.library-panel{border-bottom:1px solid #e4ddd1;border-right:0}.library-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.editor-grid,.song-information{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.topbar{padding:9px 12px}.brand>span{font-size:27px}.brand h1{font-size:21px}.brand p,.account-text span{display:none}.account-avatar{width:34px;height:34px}.account{gap:8px}.account-text{max-width:150px;font-size:13px}.account .small-button{padding:9px 11px}.library-panel{padding:14px 12px}.library-heading{margin-top:18px}.main-panel{padding:0}.main-panel>.notice{margin:10px 12px}.account-text{max-width:190px}.account-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.song-editor,.song-view{padding:16px 14px}.song-editor{border:0;border-radius:0}.song-view{border:0;border-radius:0;width:100%;margin:0}.song-view-header{gap:12px;padding-bottom:14px}.song-view-header h2{font-size:clamp(28px,9vw,38px);line-height:1.12}.song-artist{margin-top:4px}.song-actions button{padding:9px 13px}.editor-grid{grid-template-columns:1fr}.wide-field,.full-field{grid-column:auto}.song-view-header{flex-direction:column}.song-information{grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.song-information div{padding:8px 10px}.transpose-controls{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px;padding:10px}.transpose-buttons{grid-template-columns:1fr 1.5fr 1fr;display:grid}.transpose-buttons button{min-width:0;padding-inline:8px}.chord-sheet{padding:2px 0 16px;font-size:17px;line-height:1.48}.chord-line{min-height:25px}.chord-blank-line{height:10px}.song-notes{margin-top:12px;padding:13px}.editor-actions{flex-direction:column-reverse}.editor-actions button{width:100%}}.performance-mode{--performance-background:#f7fafc;--performance-surface:#fffffff5;--performance-text:#172033;--performance-muted:#607086;--performance-border:#d9e5f1;--performance-chord:#1261c9;--performance-accent:#087e63;z-index:1000;min-width:320px;color:var(--performance-text);background:var(--performance-background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;position:fixed;inset:0;overflow:hidden}.performance-mode.theme-dark{--performance-background:#08111f;--performance-surface:#0c192bf7;--performance-text:#e8eef6;--performance-muted:#9eafc2;--performance-border:#26394e;--performance-chord:#65a7ff;--performance-accent:#51d3a5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.performance-scroll-area{overscroll-behavior-y:contain;height:100dvh;padding:calc(10px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) calc(190px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));scrollbar-gutter:stable;overflow:hidden auto}.performance-header{border-bottom:1px solid var(--performance-border);justify-content:space-between;align-items:flex-start;gap:16px;width:min(100%,900px);margin:0 auto;padding-bottom:10px;display:flex}.performance-header p{color:var(--performance-accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:12px;font-weight:850}.performance-header h1{color:var(--performance-text);margin:0;font-size:clamp(27px,8vw,46px);line-height:1.08}.performance-header span{color:var(--performance-muted);margin-top:4px;display:block}.performance-header button{min-height:44px;color:var(--performance-text);border:1px solid var(--performance-border);background:0 0;border-radius:10px;flex:none;padding:9px 12px;font-weight:750}.performance-meta{width:min(100%,900px);color:var(--performance-muted);flex-wrap:wrap;gap:6px 14px;margin:9px auto 6px;font-size:13px;display:flex}.performance-meta strong{color:var(--performance-accent)}.performance-lyrics{cursor:pointer;width:min(100%,900px);margin:0 auto}.performance-lyrics .chord-sheet{color:var(--performance-text);font-size:var(--performance-font-size);padding:5px 0 24px;line-height:1.46;overflow-x:auto}.performance-lyrics .chord-token{color:var(--performance-chord)}.performance-lyrics .lyric-token{color:var(--performance-text)}.performance-lyrics .section-token{color:var(--performance-accent)}.performance-lyrics .lyrics-empty{color:var(--performance-muted);background:var(--performance-surface)}.performance-toolbar{z-index:2;padding:8px max(10px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:var(--performance-surface);border-top:1px solid var(--performance-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0019371a}.performance-status{width:min(100%,1100px);color:var(--performance-muted);justify-content:space-between;gap:12px;margin:0 auto 6px;font-size:12px;display:flex}.performance-status strong{color:var(--performance-accent)}.performance-tool-groups{justify-content:center;gap:7px;width:min(100%,1100px);margin:auto;display:flex}.performance-tool-group{gap:6px;display:flex}.performance-toolbar button{min-width:44px;min-height:44px;color:var(--performance-text);border:1px solid var(--performance-border);background:0 0;border-radius:9px;padding:7px 10px;font-size:13px;font-weight:750}.performance-toolbar button.active{color:#fff;background:var(--performance-chord);border-color:var(--performance-chord)}.performance-toolbar button.success{color:#fff;background:var(--performance-accent);border-color:var(--performance-accent)}.performance-toolbar button:focus-visible,.performance-header button:focus-visible,.performance-open-button:focus-visible{outline:3px solid var(--performance-chord,#1261c9);outline-offset:2px}.performance-exit-button{color:#b42318!important}@media (width<=760px){.performance-scroll-area{padding-bottom:calc(202px + env(safe-area-inset-bottom))}.performance-tool-groups{grid-template-columns:1fr;gap:5px;display:grid}.performance-tool-group{grid-auto-columns:minmax(44px,1fr);grid-auto-flow:column;display:grid}.performance-toolbar button{padding-inline:5px;font-size:12px}}@media (width<=430px){.performance-scroll-area{padding-right:max(10px, env(safe-area-inset-right));padding-bottom:calc(207px + env(safe-area-inset-bottom));padding-left:max(10px, env(safe-area-inset-left))}.performance-header{gap:9px}.performance-header button{padding-inline:9px}.performance-status{gap:6px}.performance-toolbar{padding-top:6px}}@media (prefers-reduced-motion:reduce){.performance-mode *,.performance-mode :before,.performance-mode :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.shell-header{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 20px;display:flex;position:sticky;top:0}.shell-brand,.shell-account,.shell-search{align-items:center;gap:9px;display:flex}.shell-brand{color:var(--color-text);font-size:21px;text-decoration:none}.shell-brand>img{object-fit:contain;flex:none;width:44px;height:44px}.shell-account img{object-fit:cover;border-radius:50%;width:36px;height:36px}.shell-account button,.shell-search{min-height:42px;color:var(--color-primary-dark);background:#eaf3ff;border:0;border-radius:10px;padding:9px 12px;font-weight:700;text-decoration:none}.shell-account button{align-items:center;gap:5px;display:inline-flex}.shell-account button>span{font-size:18px}.shell-layout{grid-template-columns:190px minmax(0,1fr);width:min(1500px,100%);min-height:calc(100vh - 68px);margin:auto;display:grid}.desktop-navigation{background:var(--color-surface);border-right:1px solid var(--color-border);padding:18px 12px}.desktop-navigation .bottom-navigation{gap:6px;display:grid;position:sticky;top:86px}.bottom-navigation a{min-height:48px;color:var(--color-muted);border-radius:11px;align-items:center;gap:11px;padding:9px 12px;text-decoration:none;display:flex}.bottom-navigation a>span{min-width:23px;color:var(--color-primary);text-align:center;font-size:21px}.bottom-navigation small{font-size:14px;font-weight:750}.bottom-navigation a.active{color:var(--color-primary-dark);background:#e9f3ff}.shell-content{min-width:0;padding:clamp(14px,3vw,30px)}.shell-notice{justify-content:space-between;align-items:center;width:min(100%,1120px);margin-inline:auto;display:flex}.shell-notice button{color:var(--color-danger);background:0 0;border:0;padding:7px}.shell-loading{gap:10px;width:min(100%,1120px);margin:auto;display:grid}.shell-loading span{background:linear-gradient(90deg,#e8eff6,#f8fbfd,#e8eff6) 0 0/200% 100%;border-radius:12px;height:72px;animation:1.2s linear infinite library-loading}@keyframes library-loading{to{background-position:-200% 0}}.dashboard-page,.library-page{width:min(100%,1120px);margin:auto}.home-greeting,.page-heading,.collection-detail-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.home-greeting p,.page-heading p{color:var(--color-secondary);margin:0 0 3px;font-weight:800}.home-greeting h1,.page-heading h1,.collection-detail-header h1{margin:0;font-size:clamp(28px,5vw,40px)}.page-heading-actions{gap:8px;display:flex}.page-heading-actions .secondary-button{align-items:center;text-decoration:none;display:inline-flex}.home-greeting img{border-radius:50%;width:52px;height:52px}.library-search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;align-items:center;gap:9px;min-height:48px;padding:0 14px;display:flex}.library-search>span{color:var(--color-primary);font-size:22px}.library-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:12px 0}.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.quick-actions a,.quick-actions button{text-align:center;min-height:70px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;place-items:center;gap:3px;padding:10px;font-weight:750;text-decoration:none;display:grid}.quick-actions span{color:var(--color-primary);font-size:24px}.library-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.library-stats a{color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:13px;text-decoration:none;display:grid}.library-stats strong{color:var(--color-primary);font-size:24px}.continue-card{color:#fff;background:linear-gradient(120deg,#1769e0,#087e63);border-radius:16px;justify-content:space-between;align-items:center;gap:15px;padding:18px;display:flex}.continue-card p,.continue-card h2{margin:0 0 4px}.continue-card>div:last-child{gap:7px;display:flex}.continue-card a,.green-action{min-height:42px;color:var(--color-primary-dark);background:#fff;border-radius:9px;align-items:center;padding:9px 12px;font-weight:750;text-decoration:none;display:inline-flex}.green-action{color:#fff!important;background:var(--color-secondary)!important}.dashboard-section{margin-top:22px}.dashboard-section>header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dashboard-section header a{color:var(--color-primary);text-decoration:none}.song-list{gap:7px;display:grid}.song-list-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.song-list-item>a:first-child{min-width:0;color:var(--color-text);flex:1;gap:2px;text-decoration:none;display:grid}.song-list-item strong,.song-list-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.song-list-item span,.song-list-item small{color:var(--color-muted)}.song-item-actions{align-items:center;gap:3px;display:flex}.song-item-actions button,.icon-action,.favorite-button{min-width:44px;min-height:44px;color:var(--color-primary);background:0 0;border:0;border-radius:9px;place-items:center;padding:5px;text-decoration:none;display:inline-grid}.favorite-button{color:#8c98a8;font-size:24px}.danger-text{color:var(--color-danger)!important}.primary-compact{color:#fff;background:var(--color-primary);border:0;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:9px 14px;font-weight:750;text-decoration:none;display:inline-flex}.song-library-tools{grid-template-columns:minmax(240px,1fr) auto auto;gap:9px;margin-bottom:13px;display:grid}.song-library-tools select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;min-height:48px;padding:0 11px}.collection-preview-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.mini-collection-grid,.collection-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.collection-card,.collection-card-large{min-width:0;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:13px;padding:10px;text-decoration:none}.collection-card{gap:5px;display:grid}.generated-cover{aspect-ratio:1.65;background:linear-gradient(135deg,#1769e0,#16a37c);border-radius:10px;place-items:center;font-size:36px;font-weight:850;display:grid;color:#fff!important}.collection-card-large>a{color:inherit;gap:6px;text-decoration:none;display:grid}.collection-card-large>div{justify-content:flex-end;gap:5px;margin-top:8px;display:flex}.collection-card-large button{background:0 0;border:0;padding:8px}.collection-detail-header{align-items:flex-end}.collection-detail-header>.generated-cover{flex:none;width:min(180px,28vw)}.collection-detail-header>div:nth-child(2){flex:1}.collection-detail-header>div:last-child{gap:7px;display:flex}.modal-backdrop{z-index:1100;background:#0713238c;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.app-modal{background:var(--color-surface);border-radius:18px;width:min(100%,580px);max-height:min(86vh,760px);padding:18px;overflow-y:auto;box-shadow:0 20px 60px #0713234d}.app-modal>header{justify-content:space-between;gap:12px;display:flex}.app-modal h2,.app-modal p{margin:0 0 5px}.app-modal>header>button{background:0 0;border:0;min-width:44px;min-height:44px;font-size:24px}.segment-control{background:#edf3f8;border-radius:10px;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0;padding:4px;display:grid}.segment-control button{background:0 0;border:0;border-radius:8px;min-height:42px;font-weight:750}.segment-control button.active{color:var(--color-primary-dark);background:#fff}.collection-check-list{gap:5px;max-height:300px;display:grid;overflow-y:auto}.collection-check-list label{border:1px solid var(--color-border);border-radius:9px;align-items:center;gap:10px;min-height:48px;padding:8px;display:flex}.collection-check-list span{display:grid}.quick-create,.collection-form,.collection-form label{gap:7px;display:grid}.quick-create{grid-template-columns:1fr auto;margin-top:10px}.quick-create input,.collection-form input,.collection-form textarea{border:1px solid var(--color-border);border-radius:9px;width:100%;padding:11px}.collection-form-row{grid-template-columns:1fr 120px;gap:8px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.modal-actions button{border:0;border-radius:9px;min-height:44px;padding:9px 14px}.modal-done{width:100%;margin-top:12px}.library-empty-state{text-align:center;min-height:180px;color:var(--color-muted);place-content:center;gap:8px;font-size:34px;display:grid}.library-empty-state p{margin:0;font-size:15px}.routed-song-view{width:min(100%,1000px)}.back-link{color:var(--color-primary);margin-bottom:10px;text-decoration:none;display:inline-block}.song-actions a.secondary-button{text-decoration:none}@media (width<=760px){.shell-header{min-height:58px;padding:7px 12px}.shell-search span,.shell-account button small{display:none}.shell-account>button{min-width:42px;padding-inline:10px}.shell-layout{min-height:calc(100vh - 58px);display:block}.desktop-navigation{display:none}.shell-content{padding:14px 12px calc(84px + env(safe-area-inset-bottom))}.mobile-navigation{z-index:900;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-navigation .bottom-navigation{display:flex;overflow-x:auto}.mobile-navigation .bottom-navigation a{border-radius:0;flex:1 0 64px;align-content:center;place-items:center;gap:1px;min-width:64px;min-height:62px;padding:5px 2px;display:grid}.mobile-navigation .bottom-navigation small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.quick-actions,.library-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-preview-grid{grid-template-columns:1fr}.continue-card{flex-direction:column;align-items:flex-start}.song-library-tools{grid-template-columns:1fr 1fr}.song-library-tools .library-search{grid-column:1/-1}.song-list-item{padding:8px 7px 8px 10px}.collection-detail-header{flex-wrap:wrap;align-items:stretch}.collection-detail-header>.generated-cover{width:100px}.collection-detail-header>div:last-child{width:100%}.app-modal{padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.modal-backdrop{padding:0}.routed-song-view{width:calc(100% + 24px);margin:-14px -12px 0}}@media (width<=430px){.shell-brand>img{width:38px;height:38px}.shell-brand strong{font-size:19px}.home-greeting img{width:44px;height:44px}.page-heading{align-items:flex-start}.page-heading .primary-compact{padding-inline:10px}.song-library-tools{grid-template-columns:1fr}.song-library-tools .library-search{grid-column:auto}.song-item-actions button,.song-item-actions .icon-action{min-width:38px}}.import-url-panel,.import-destination,.import-result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:16px}.import-url-panel p{color:var(--color-muted);margin:0 0 10px;line-height:1.5}.import-url-panel textarea{resize:vertical;border:1px solid var(--color-border);border-radius:10px;width:100%;padding:12px;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;line-height:1.45}.import-url-panel button{margin-top:10px}.import-destination{margin-top:14px}.import-destination h2{margin:0 0 9px;font-size:17px}.import-destination>div{flex-wrap:wrap;gap:7px;display:flex}.import-destination label{border:1px solid var(--color-border);background:#f4f8fc;border-radius:9px;align-items:center;gap:7px;min-height:44px;padding:8px 10px;display:flex}.import-results{gap:12px;margin-top:14px;display:grid}.import-result-card{min-width:0}.import-result-card.saved{border-color:#77cdb0;box-shadow:inset 4px 0 #087e63}.import-result-card.error{border-color:#f1b5af}.import-result-card>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;display:flex}.import-result-card>header label{align-items:center;gap:7px;font-weight:750;display:flex}.import-result-card>header span{color:var(--color-secondary);font-size:13px;font-weight:750}.source-url{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.duplicate-warning{color:#765400;background:#fff7d6;border-radius:8px;padding:9px 11px}.import-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.import-fields label{gap:5px;min-width:0;font-weight:700;display:grid}.import-fields input,.import-fields textarea{width:100%;color:var(--color-text);border:1px solid var(--color-border);background:#fff;border-radius:9px;padding:10px}.import-fields textarea{resize:vertical;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;line-height:1.45}.import-confirm-bar{z-index:10;border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;display:flex;position:sticky;bottom:10px;box-shadow:0 8px 30px #0c244029}.access-list{gap:10px;display:grid}.backup-introduction{max-width:760px;color:var(--color-muted);margin:0 0 18px;line-height:1.55}.backup-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px;display:grid}.backup-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;align-content:start;gap:10px;padding:20px;display:grid}.backup-card>span{color:var(--color-primary);font-size:32px}.backup-card h2,.backup-card p{margin:0}.backup-card p{min-height:48px;color:var(--color-muted);line-height:1.5}.backup-card button{width:fit-content;margin-top:4px}.restore-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;margin-top:28px;padding:20px}.restore-section>header p,.restore-section>header h2{margin:0}.restore-section>header p{color:var(--color-secondary);font-weight:800}.restore-section>header h2{margin-top:3px;font-size:26px}.restore-section>p{max-width:780px;color:var(--color-muted);line-height:1.55}.restore-file-picker{width:fit-content;color:var(--color-text);background:var(--color-background);border:1px dashed #9cb5cf;border-radius:11px;gap:7px;padding:12px;font-weight:750;display:grid}.restore-file-picker input{max-width:100%}.restore-file-details,.restore-preview-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0;display:grid}.restore-file-details div,.restore-preview-metrics div{background:var(--color-background);border-radius:9px;min-width:0;padding:10px}.restore-file-details dt,.restore-preview-metrics dt{color:var(--color-muted);font-size:12px}.restore-file-details dd,.restore-preview-metrics dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:750}.restore-preview{border:1px solid var(--color-border);border-left-width:5px;border-radius:12px;margin-top:18px;padding:16px}.restore-preview.valid{border-left-color:var(--color-secondary)}.restore-preview.valid-with-warnings{border-left-color:#b58105}.restore-preview.invalid{border-left-color:var(--color-danger)}.restore-preview>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.restore-preview h3,.restore-preview small{margin:0}.restore-preview h3{margin-top:3px}.restore-preview>header>span{color:var(--color-primary-dark);background:#e9f3ff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750}.restore-owner-warning{color:#765400;background:#fff7d6;border-radius:9px;margin:10px 0 0;padding:11px}.restore-issues{margin-top:16px}.restore-issues h3{margin:0 0 8px}.restore-issues ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.restore-issues li{border-radius:9px;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;padding:10px;display:grid}.restore-issues li.error{color:var(--color-danger);background:#fdecea}.restore-issues li.warning{color:#765400;background:#fff7d6}.restore-issues code{overflow-wrap:anywhere;color:inherit;opacity:.8;grid-column:2}.restore-compare-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.restore-compare-actions small{color:var(--color-muted)}.restore-comparison,.restore-result{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-top:18px;padding:16px}.restore-comparison>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.restore-comparison h3,.restore-comparison small,.restore-result h3,.restore-result small{margin:0}.restore-comparison h3,.restore-result h3{margin-top:3px}.restore-comparison>header>span{color:var(--color-muted);font-size:12px}.restore-mode{border:1px solid var(--color-border);border-radius:10px;gap:8px;margin:12px 0;padding:12px;display:grid}.restore-mode legend{padding:0 5px;font-weight:750}.restore-mode label{background:var(--color-background);border-radius:9px;align-items:flex-start;gap:9px;padding:10px;display:flex}.restore-mode label>span{gap:3px;display:grid}.restore-mode small{color:var(--color-muted)}.restore-confirmations{gap:8px;margin:12px 0;display:grid}.restore-confirmations label{align-items:flex-start;gap:8px;line-height:1.4;display:flex}.restore-result.success{border-left:5px solid var(--color-secondary)}.restore-result.partial{border-left:5px solid #b58105}.restore-result.failed{border-left:5px solid var(--color-danger)}.restore-result>.secondary-button{margin-top:12px}.print-preview-page{gap:20px;display:grid}.print-toolbar{z-index:10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:14px;display:grid;position:sticky;top:12px;box-shadow:0 8px 24px #17203314}.print-toolbar>div{gap:2px;display:grid}.print-toolbar span{font-weight:800}.print-toolbar small{color:var(--color-muted)}.print-setting-checkbox{background:var(--color-background);border:1px solid var(--color-border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:8px 11px;display:flex}.print-setting-checkbox input{width:19px;height:19px;margin:0}.print-setting-checkbox span{white-space:nowrap}.print-document{color:#111827;background:#fff;width:min(100%,210mm);min-height:297mm;margin:0 auto;padding:16mm 15mm;box-shadow:0 10px 32px #1720331f}.print-collection-header{border-bottom:2px solid #172033;margin-bottom:12mm;padding-bottom:7mm}.print-collection-header p,.print-collection-header h1,.print-collection-header div{margin:0 0 4px}.print-collection-header p{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.print-collection-header h1{font-size:28px}.print-collection-header small,.print-song>header p{color:#4b5563}.print-song+.print-song{break-before:page;page-break-before:always}.print-song>header{border-bottom:1px solid #cbd5e1;align-items:flex-start;gap:10px;padding-bottom:5mm;display:flex}.print-song>header h2,.print-song>header p{margin:0}.print-song>header h2{font-size:26px}.print-song-index{color:#fff;background:#172033;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.print-song-meta{flex-wrap:wrap;gap:5mm;margin:4mm 0;display:flex}.print-song-meta div{gap:4px;display:flex}.print-song-meta dt{color:#4b5563}.print-song-meta dd{margin:0;font-weight:800}.print-song .chord-sheet{padding-bottom:0;font-size:11pt;line-height:1.45;overflow:visible}.print-song .chord-line{min-height:1.45em}.print-song-notes{white-space:pre-wrap;border-top:1px solid #cbd5e1;margin-top:7mm;padding-top:4mm}.print-empty{text-align:center}@media (width<=700px){.print-toolbar{grid-template-columns:1fr;position:static}.print-toolbar>a,.print-toolbar>button,.print-setting-checkbox{width:100%;min-height:44px}.print-toolbar>a,.print-toolbar>button{text-align:center}.print-document{min-height:0;padding:18px 14px}}@page{size:A4 portrait;margin:14mm 15mm}@media print{body{color:#000;background:#fff;min-width:0}.shell-header,.desktop-navigation,.mobile-navigation,.shell-notice,.print-toolbar{display:none!important}.app-shell,.shell-layout,.shell-content,.print-preview-page{background:#fff;min-height:0;margin:0;padding:0;display:block}.print-document{width:auto;min-height:0;box-shadow:none;margin:0;padding:0}.print-song-index{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#172033!important}.chord-token{color:#000}}.share-dialog{width:min(94vw,680px);max-height:90vh;overflow:auto}.share-search{gap:6px;font-weight:750;display:grid}.share-search input{border:1px solid var(--color-border);border-radius:10px;min-height:44px;padding:10px 12px}.share-message{background:#eef6ff;border-radius:9px;padding:10px}.share-member-list{gap:8px;display:grid}.share-member-list article{background:var(--color-background);border-radius:10px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.share-member-list img,.share-member-list .access-avatar{border-radius:50%;width:40px;height:40px}.shared-playlist-detail .collection-detail-header>div:last-child{flex-wrap:wrap;gap:8px;display:flex}@media (width<=430px){.restore-section{padding:12px}.restore-file-picker{width:100%}.restore-file-details,.restore-preview-metrics{grid-template-columns:minmax(0,1fr)}.restore-preview,.restore-comparison,.restore-result{padding:12px}.restore-preview>header,.restore-comparison>header{flex-direction:column}.restore-mode label,.restore-confirmations label{min-height:44px;padding:10px}.restore-mode input,.restore-confirmations input{flex:none;width:20px;height:20px}.restore-compare-actions>button,.restore-comparison>button,.restore-result>button{width:100%;min-height:44px}.restore-issues li{grid-template-columns:minmax(0,1fr)}.restore-issues code{grid-column:1}}.access-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.access-card>img,.access-avatar{border-radius:50%;width:46px;height:46px}.access-avatar{color:#fff;background:var(--color-primary);place-items:center;font-weight:800;display:grid}.access-card>div{gap:3px;min-width:0;display:grid}.access-card small{color:var(--color-muted);text-overflow:ellipsis;overflow:hidden}.access-card div>span{border-radius:999px;width:fit-content;padding:3px 7px;font-size:12px;font-weight:750}.access-card div>span.active{color:#087e63;background:#e4f7f0}.access-card div>span.pending{color:#765400;background:#fff7d6}.access-actions{align-items:center;gap:8px;display:flex}.access-actions select{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:8px}@media (width<=760px){.import-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.import-page .page-heading{align-items:flex-start}.import-confirm-bar{bottom:calc(70px + env(safe-area-inset-bottom))}}@media (width<=430px){.access-card{grid-template-columns:auto minmax(0,1fr)}.access-card>button{grid-column:1/-1}.import-url-panel,.import-destination,.import-result-card{padding:12px}.import-fields{grid-template-columns:1fr}.import-fields .wide-field,.import-fields .full-field{grid-column:auto}}.guitar-pro-lab-page{gap:18px;min-inline-size:0;display:grid}.guitar-pro-lab-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-inline-size:0;box-shadow:var(--shadow-sm);padding:20px;overflow:hidden}.guitar-pro-lab-status{color:var(--color-text-soft);flex-wrap:wrap;justify-content:space-between;gap:6px 18px;margin-bottom:16px;display:flex}.guitar-pro-lab-status strong{color:var(--color-text)}.guitar-pro-open-panel{border:2px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-brand-soft);justify-items:start;gap:12px;margin-bottom:16px;padding:18px;display:grid}.guitar-pro-open-copy h2{margin:0 0 4px;font-size:1.1rem}.guitar-pro-open-copy p{color:var(--color-text-soft);margin:0;font-size:.9rem}.guitar-pro-file-button{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.guitar-pro-file-button[aria-disabled=true]{cursor:wait;opacity:.65}.guitar-pro-file-button:focus-within{box-shadow:0 0 0 4px var(--color-focus-ring)}.guitar-pro-file-button input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.guitar-pro-current-file{color:var(--color-text);overflow-wrap:anywhere;margin:0}.guitar-pro-lab-status.is-error{border-color:var(--color-danger)}.guitar-pro-track-selector{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-inline-size:0;margin:0 0 16px;padding:14px}.guitar-pro-track-selector legend{color:var(--color-text);padding:0 6px;font-weight:700}.guitar-pro-track-selector p{color:var(--color-text-soft);margin:10px 0 0;font-size:.9rem}.guitar-pro-track-list{flex-wrap:wrap;gap:8px;min-inline-size:0;display:flex}.guitar-pro-track-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-block-size:44px;max-inline-size:100%;color:var(--color-text);cursor:pointer;align-items:center;gap:8px;padding:9px 12px;display:inline-flex}.guitar-pro-track-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guitar-pro-track-button:hover:not(:disabled){border-color:var(--color-brand);background:var(--color-brand-soft)}.guitar-pro-track-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.guitar-pro-track-button.is-active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:700}.guitar-pro-track-button:disabled{cursor:wait;opacity:.65}.guitar-pro-transport{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.guitar-pro-transport button{align-items:center;gap:6px;min-block-size:44px;display:inline-flex}.guitar-pro-playback-status{color:var(--color-text-soft);font-size:.9rem}.guitar-pro-playback-status.is-playing{color:var(--color-success);font-weight:700}.guitar-pro-playback-error{color:var(--color-danger);margin:0 0 12px}.guitar-pro-canvas{min-height:240px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;max-inline-size:100%;overflow-x:auto}.guitar-pro-lab-note{color:var(--color-muted)}@media (width<=600px){.guitar-pro-lab-card{padding:12px}.guitar-pro-open-panel{padding:14px}.guitar-pro-file-button{justify-content:center;inline-size:100%}.guitar-pro-track-list{display:grid}.guitar-pro-track-button{inline-size:100%}.guitar-pro-transport button{flex:calc(50% - 5px);justify-content:center}.guitar-pro-playback-status{flex-basis:100%}.guitar-pro-canvas{min-height:180px}}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand:#1769e0;--color-brand-strong:#0f4fae;--color-brand-dark:var(--color-brand-strong);--color-brand-soft:#e8f1ff;--color-accent:#237a67;--color-accent-strong:#185d4e;--color-accent-dark:var(--color-accent-strong);--color-accent-soft:#e4f2ed;--color-chord:#0754b8;--color-chord-soft:#e5efff;--color-background:#f6f2ea;--color-surface:#fffcf7;--color-surface-strong:#fff;--color-surface-raised:#fff;--color-text:#18212f;--color-text-soft:#364152;--color-muted:#70786f;--color-border:#e6ddd0;--color-border-strong:#d5c8b8;--color-success:#237a67;--color-success-soft:#e4f2ed;--color-success-border:#9bcdbf;--color-warning:#765400;--color-warning-soft:#fff7d6;--color-warning-border:#dfc36a;--color-danger:#b42318;--color-danger-soft:#fdebe8;--color-danger-border:#e6aaa4;--color-info:#1769e0;--color-info-soft:#e8f1ff;--color-info-border:#a9ccf8;--color-neutral-soft:#f2eee7;--color-overlay:#18212f7a;--color-focus-ring:#1769e059;--shadow-sm:0 2px 8px #42301c0f;--shadow-md:0 12px 30px #42301c1a}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:#6ea8f2;--color-brand-strong:#9bc3fa;--color-brand-dark:var(--color-brand-strong);--color-brand-soft:#182b45;--color-accent:#4fb39a;--color-accent-strong:#76cdb7;--color-accent-dark:var(--color-accent-strong);--color-accent-soft:#17362f;--color-chord:#83b6f6;--color-chord-soft:#182b45;--color-background:#101419;--color-surface:#171d24;--color-surface-strong:#1d2530;--color-surface-raised:#232c38;--color-text:#f2eee8;--color-text-soft:#d3d7dc;--color-muted:#98a3ae;--color-border:#2b3541;--color-border-strong:#3a4654;--color-success:#5cc6a4;--color-success-soft:#17372e;--color-success-border:#285f50;--color-warning:#e4ae55;--color-warning-soft:#3c2d17;--color-warning-border:#715426;--color-danger:#ff8177;--color-danger-soft:#3b1e20;--color-danger-border:#71383b;--color-info:#8dbcf8;--color-info-soft:#1c3048;--color-info-border:#345a83;--color-neutral-soft:#232c38;--color-overlay:#02060a9e;--color-focus-ring:#6ea8f280;--shadow-sm:0 2px 10px #0000003d;--shadow-md:0 16px 38px #00000057}:root{--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--content-width:1160px;--header-height:72px;--mobile-nav-height:60px;--mobile-nav-icon-size:20px;--mobile-nav-label-size:11px;--mobile-nav-item-gap:3px;--color-primary:var(--color-brand);--color-primary-dark:var(--color-brand-dark);--color-secondary:var(--color-accent)}html{background:var(--color-background);transition:background-color .16s,color .16s}body{min-width:320px;color:var(--color-text);background:var(--color-background);font-family:Arial,Helvetica Neue,Segoe UI,system-ui,sans-serif;font-size:15px;transition:background-color .16s,color .16s;overflow-x:hidden}a{color:var(--color-brand-dark);text-decoration:none}:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}button,input,select,textarea{font-family:inherit}input,select,textarea{min-height:44px;color:var(--color-text);background:var(--color-surface-raised);border-color:var(--color-border-strong)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-icon,.primary-button,.primary-compact,.performance-open-button,.secondary-button,.small-button,.danger-button,.green-action{border-radius:var(--radius-md);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary,.primary-button,.primary-compact,.performance-open-button,.green-action{color:#fff;background:var(--color-brand)}.btn-primary:hover,.primary-button:hover,.primary-compact:hover,.performance-open-button:hover,.green-action:hover{background:var(--color-brand-dark)}.btn-secondary,.secondary-button,.small-button{color:var(--color-brand-dark);background:var(--color-brand-soft);border-color:color-mix(in srgb, var(--color-brand) 18%, var(--color-border))}.btn-ghost{color:var(--color-text-soft);background:0 0}.btn-danger,.danger-button{color:var(--color-danger);background:var(--color-danger-soft)}.btn-icon,.icon-action,.favorite-button,.song-item-actions>button{width:44px;min-width:44px;height:44px;color:var(--color-text-soft);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.favorite-button.active{color:var(--color-danger);background:var(--color-danger-soft)}.app-shell{min-height:100vh;color:var(--color-text);background:var(--color-background)}.shell-header{z-index:100;min-height:var(--header-height);background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:minmax(190px,230px) minmax(240px,520px) auto;align-items:center;gap:28px;padding:10px max(20px,50vw - 720px);display:grid;position:sticky;top:0}.shell-brand{color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.shell-brand img{object-fit:contain;width:42px;height:42px}.shell-brand>span{line-height:1.05;display:grid}.shell-brand strong{font-family:inherit;font-size:22px}.shell-brand small{color:var(--color-brand);margin-top:4px;font-size:12px;font-weight:700}.shell-search{min-height:46px;color:var(--color-muted);background:var(--color-surface-strong);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:10px;padding:0 16px;text-decoration:none;display:flex}.shell-search:hover{color:var(--color-brand-dark);border-color:var(--color-border-strong)}.shell-account{justify-self:end;position:relative}.account-trigger{min-height:48px;color:var(--color-text);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;padding:4px 8px 4px 5px;display:flex}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--color-brand-soft)}.account-trigger img,.account-avatar{object-fit:cover;width:38px;height:38px;color:var(--color-brand-dark);background:var(--color-brand-soft);border-radius:50%;place-items:center;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:600;overflow:hidden}.account-menu{z-index:110;background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(280px,100vw - 24px);box-shadow:var(--shadow-md);padding:8px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.account-menu-identity{border-bottom:1px solid var(--color-border);gap:2px;padding:10px 12px 12px;display:grid}.account-menu-identity small{color:var(--color-muted);text-overflow:ellipsis;overflow:hidden}.account-menu>a,.account-menu>button{width:100%;min-height:44px;color:var(--color-text-soft);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex}.account-menu>:where(a,button):hover{color:var(--color-brand-dark);background:var(--color-brand-soft)}.theme-selector{border:0;border-bottom:1px solid var(--color-border);min-width:0;margin:0;padding:10px 12px 12px}.theme-selector legend{color:var(--color-muted);padding:0;font-size:12px;font-weight:700}.wake-lock-setting{border-top:1px solid var(--color-border);gap:4px;padding:10px 14px;display:grid}.wake-lock-setting label{color:var(--color-text);align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.wake-lock-setting input{width:18px;height:18px;accent-color:var(--color-brand)}.wake-lock-setting small{color:var(--color-muted);line-height:1.35}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px;display:grid}.theme-options label{min-width:0;min-height:44px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;align-content:center;place-items:center;gap:3px;padding:5px 2px;display:grid}.theme-options input{opacity:0;pointer-events:none;position:absolute}.theme-options label:has(input:checked){color:var(--color-brand-dark);background:var(--color-brand-soft);border-color:var(--color-info-border);font-weight:700}.theme-options label:has(input:focus-visible){outline:2px solid var(--color-brand);outline-offset:2px}.theme-options span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.shell-layout{width:min(100%,1440px);min-height:calc(100vh - var(--header-height));grid-template-columns:224px minmax(0,1fr);margin:0 auto;display:grid}.desktop-navigation{top:var(--header-height);height:calc(100vh - var(--header-height));border-right:1px solid var(--color-border);padding:24px 14px;position:sticky}.sidebar-navigation,.navigation-group{gap:5px;display:grid}.navigation-group+.navigation-group{border-top:1px solid var(--color-border);margin-top:25px;padding-top:20px}.navigation-group>p{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 12px 7px;font-size:12px;font-weight:700}.sidebar-navigation a{min-height:44px;color:var(--color-text-soft);border-radius:var(--radius-md);align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.sidebar-navigation a:hover{background:color-mix(in srgb, var(--color-brand-soft) 55%, transparent)}.sidebar-navigation a.active{color:var(--color-brand-dark);background:var(--color-brand-soft);font-weight:700}.shell-content{width:100%;max-width:var(--content-width);min-width:0;margin:0 auto;padding:36px 32px 60px}.mobile-navigation{display:none}.page-heading{margin-bottom:28px}.page-heading>div>p,.home-hero>p,.song-label{color:var(--color-brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}.page-heading h1,.home-hero h1,.song-title-block h1,.collection-detail-header h1{color:var(--color-text);margin:0;font-family:inherit;font-size:clamp(30px,4vw,44px);line-height:1.1}.dashboard-page{gap:26px;display:grid}.home-hero{max-width:720px;padding-top:12px}.home-hero span{color:var(--color-text-soft);margin-top:12px;font-size:16px;line-height:1.6;display:block}.library-search{background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:48px;box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:0 14px;display:flex}.home-search{border-radius:var(--radius-lg);min-height:56px}.library-search input{background:0 0;border:0;outline:0;width:100%;min-height:0;padding:0}.featured-card{color:#fff;background:var(--color-brand-dark);border-radius:var(--radius-xl);min-height:190px;box-shadow:var(--shadow-md);border:0;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px;display:flex;position:relative;overflow:hidden}.featured-card:after{content:"♪";color:#ffffff14;font-family:inherit;font-size:150px;position:absolute;top:-26px;right:28px}.featured-card>*{z-index:1;position:relative}.featured-card p,.featured-card h2{margin:0}.featured-card p{color:#f6d9c3;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.featured-card h2{max-width:560px;margin:6px 0;font-family:inherit;font-size:clamp(25px,3vw,36px)}.featured-card>div>span{color:#f7e9df}.continue-actions{flex-wrap:wrap;gap:8px;display:flex}.featured-card .btn-primary{color:var(--color-brand-dark);background:#fff}.featured-card .btn-secondary{color:#fff;background:#ffffff1f;border-color:#ffffff40}.quick-actions{flex-wrap:wrap;gap:8px;display:flex}.quick-actions :where(a,button){min-height:44px;color:var(--color-text-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:8px;padding:9px 13px;text-decoration:none;display:inline-flex}.quick-actions :where(a,button):hover{color:var(--color-brand-dark);border-color:var(--color-border-strong)}.library-summary{color:var(--color-muted);margin:-10px 0 0;font-size:14px}.library-summary strong{color:var(--color-text)}.dashboard-section{min-width:0}.dashboard-section>header{margin-bottom:12px}.dashboard-section h2{margin:0;font-size:22px}.song-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.song-list-item{border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;gap:16px;min-height:76px;padding:10px 12px 10px 18px}.song-list-item:last-child{border-bottom:0}.song-list-item:hover{background:color-mix(in srgb, var(--color-brand-soft) 32%, transparent)}.song-list-item>a strong{color:var(--color-text);font-size:17px}.song-list-item>a span,.song-list-item>a small{color:var(--color-muted)}.song-item-actions{gap:2px}.song-item-actions :where(button,a):hover{color:var(--color-brand-dark);background:var(--color-brand-soft)}.mini-collection-grid,.collection-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.collection-card,.collection-card-large{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none;transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}.collection-card:hover,.collection-card-large:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.generated-cover{color:#fff;background-color:var(--color-brand-dark);background-image:radial-gradient(circle at 20% 15%,#ffffff2e 0 2px,#0000 3px),linear-gradient(135deg,#ffffff0f,#0000);background-size:18px 18px,auto;position:relative;overflow:hidden}.generated-cover svg{opacity:.55;position:absolute;top:14px;right:14px}.generated-cover b{font-family:inherit;font-size:44px}.cover-sage,.cover-green{background-color:var(--color-accent-dark)}.cover-rose,.cover-red{background-color:#914f46}.cover-sand,.cover-yellow{background-color:#987234}.collection-detail-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px}.collection-detail-header>div:last-child{gap:8px}.song-view,.song-editor,.backup-card,.restore-section,.access-card,.app-modal{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.song-view{border-radius:var(--radius-xl)}.song-information{flex-wrap:wrap;gap:7px;display:flex}.song-information div{background:var(--color-brand-soft);border-radius:999px;flex-direction:row;gap:5px;min-width:0;padding:7px 11px}.transpose-controls{background:var(--color-accent-soft);border-color:color-mix(in srgb, var(--color-accent) 25%, var(--color-border))}.transpose-summary strong,.chord-token,.chord-button{color:var(--color-chord)}.chord-token,.chord-button{font-weight:850}.chord-button:hover{background:var(--color-chord-soft)}.section-token{color:var(--color-accent-strong)}.chord-sheet,.lyric-token{color:var(--color-text)}.lyrics-empty{color:var(--color-muted);background:var(--color-neutral-soft)}.song-notes{background:var(--color-accent-soft);border-left-color:var(--color-accent)}.notice,.backup-card,.restore-section,.restore-comparison,.restore-result,.access-card{border-radius:var(--radius-md)}.app-modal{border-radius:var(--radius-lg)}.login-screen{background:var(--color-background);position:relative;overflow:hidden}.login-screen:before,.login-screen:after{content:"";border:1px solid color-mix(in srgb, var(--color-brand) 15%, transparent);border-radius:50%;width:320px;height:320px;position:absolute}.login-screen:before{top:-190px;left:-100px}.login-screen:after{bottom:-200px;right:-170px}.auth-card{z-index:1;background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-md);position:relative}.auth-card h1{font-family:inherit}.auth-card p{color:var(--color-muted)}.auth-card h1 small{color:var(--color-brand);margin-top:6px;font-family:inherit;font-size:14px;display:block}.auth-card .login-eyebrow{color:var(--color-brand);letter-spacing:.08em;text-transform:uppercase;margin:8px 0 0;font-size:12px;font-weight:800}.song-actions-overflow{position:relative}.song-actions-overflow.mobile-only,.song-action-mobile,.song-actions-trigger-mobile{display:none}.song-actions-trigger{min-height:44px}.song-actions-menu{z-index:120;width:min(280px,100vw - 24px);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:3px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.song-actions-menu>:where(a,button){width:100%;min-height:44px;color:var(--color-text-soft);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.song-actions-menu>:where(a,button):hover{background:var(--color-brand-soft)}.song-actions-menu .song-action-delete{color:var(--color-danger);border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:5px;padding-top:13px}.home-collection-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.home-collection-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:16px}.home-collection-panel>header{justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-bottom:12px;display:flex}.home-collection-panel h3{min-width:0;margin:0;font-size:18px}.home-collection-actions{flex:none;align-items:center;gap:4px;display:flex}.home-collection-actions>a:first-child{white-space:nowrap;align-items:center;min-height:44px;padding:8px;display:inline-flex}.home-collection-panel .mini-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-collection-panel .collection-card strong,.home-collection-panel .collection-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-collection-empty{text-align:center;min-height:132px;color:var(--color-muted);background:var(--color-neutral-soft);border-radius:var(--radius-md);place-content:center;gap:8px;padding:18px;display:grid}.home-collection-empty p{margin:0}.home-collection-empty a{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.bottom-sheet-layer{z-index:2000;isolation:isolate;align-items:end;display:grid;position:fixed;inset:0}.bottom-sheet-backdrop{z-index:-1;background:var(--color-overlay);cursor:default;-webkit-tap-highlight-color:transparent;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.bottom-sheet-panel{width:min(100%,440px);max-height:calc(100dvh - env(safe-area-inset-top) - 16px);overscroll-behavior:contain;padding:8px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-md);border-bottom:0;margin:0 auto;overflow-y:auto}.bottom-sheet-handle{background:var(--color-border-strong);border-radius:999px;width:42px;height:4px;margin:2px auto 8px;display:block}.bottom-sheet-panel .mobile-more-menu,.bottom-sheet-panel .song-actions-menu{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;gap:3px;padding:0;display:grid;position:static}.bottom-sheet-panel .mobile-more-menu>:where(a,button){width:100%;min-height:48px;color:var(--color-text-soft);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:12px;padding:10px 12px;display:flex}.bottom-sheet-panel .mobile-more-menu .navigation-label{font-size:15px}@media (width<=760px){:root{--header-height:62px}.shell-header{padding:calc(7px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 7px max(12px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;gap:10px}.shell-search{display:none}.shell-brand strong{font-size:20px}.account-name{display:none}.shell-layout{display:block}.desktop-navigation{display:none}.shell-content{padding:22px 14px calc(var(--mobile-nav-height) + 24px + env(safe-area-inset-bottom))}.mobile-navigation{z-index:100;padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface-strong);background:color-mix(in srgb, var(--color-surface-strong) 96%, transparent);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:block;position:fixed;bottom:0;left:0;right:0}.bottom-navigation{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.mobile-navigation .bottom-navigation{overflow:visible}.bottom-navigation>a,.mobile-more>button{width:100%;min-width:0;height:var(--mobile-nav-height);min-height:var(--mobile-nav-height);align-content:center;place-items:center;gap:var(--mobile-nav-item-gap);color:var(--color-muted);background:0 0;border:0;padding:4px 2px;text-decoration:none;display:grid}.bottom-navigation .navigation-label{min-width:0;max-width:100%;color:inherit;font-size:var(--mobile-nav-label-size);letter-spacing:-.01em;white-space:nowrap;padding-inline:2px;font-weight:500;line-height:1.15;overflow:hidden}.bottom-navigation .navigation-icon{width:34px;min-width:34px;height:28px;color:inherit;border-radius:12px;place-items:center;display:grid}.bottom-navigation .navigation-icon svg{width:var(--mobile-nav-icon-size);height:var(--mobile-nav-icon-size)}.bottom-navigation :where(a.active,button.active){color:var(--color-brand-dark)}.bottom-navigation :where(a.active,button.active) .navigation-icon{background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-brand) 12%, transparent)}.bottom-navigation :where(a.active,button.active) .navigation-label{font-weight:600}.bottom-navigation :where(a,button):focus-visible{outline:2px solid var(--color-brand);outline-offset:-3px}.mobile-more{position:relative}.mobile-more-menu{background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(250px,100vw - 24px);box-shadow:var(--shadow-md);gap:3px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 10px);right:8px}.mobile-more-menu>:where(a,button){min-height:44px;color:var(--color-text-soft);border-radius:var(--radius-sm);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex}.mobile-more-menu .navigation-label{font-size:14px}:root[data-theme=dark] .mobile-navigation{background:var(--color-surface-strong);background:color-mix(in srgb, var(--color-surface-strong) 96%, transparent);border-top-color:var(--color-border)}:root[data-theme=dark] .bottom-navigation>a,:root[data-theme=dark] .mobile-more>button{color:var(--color-muted)}:root[data-theme=dark] .bottom-navigation :where(a.active,button.active){color:var(--color-brand-strong)}:root[data-theme=dark] .bottom-navigation :where(a.active,button.active) .navigation-icon{background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-border-strong)}:root[data-theme=dark] .mobile-more-menu{background:var(--color-surface-raised);border-color:var(--color-border)}:root[data-theme=dark] .mobile-more-menu>:where(a,button){color:var(--color-text-soft)}.featured-card{flex-direction:column;align-items:flex-start;min-height:220px;padding:22px}.continue-actions,.continue-actions>a{width:100%}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-actions :where(a,button){justify-content:flex-start;min-width:0}.song-view{box-shadow:none;border:0;border-radius:0;margin:0}.collection-detail-header{padding:14px}.access-card{grid-template-columns:auto minmax(0,1fr)}.access-actions{flex-wrap:wrap;grid-column:1/-1}.access-actions select,.access-actions button{flex:140px;min-width:0}}@media (width<=390px){.shell-brand small{display:none}.shell-content{padding-inline:10px}.quick-actions{grid-template-columns:1fr}.song-list-item{gap:6px;padding-left:12px}.song-item-actions{flex-wrap:wrap;justify-content:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tuner-page{width:min(920px,100%);margin:0 auto;padding-bottom:40px}.tuner-stage{--tuner-status:#d3a44b;color:#eef4f3;border-radius:var(--radius-xl);text-align:center;background:radial-gradient(circle at 50% 0,#1769e02e,#0000 42%),linear-gradient(160deg,#182326,#0b1114);border:1px solid #344348;padding:clamp(20px,5vw,42px);box-shadow:0 20px 45px #040b0e47}.tuner-stage.state-in-tune{--tuner-status:#45a978}.tuner-stage.state-high{--tuner-status:#d46b55}.tuner-stage.state-low{--tuner-status:#d3a44b}.tuner-stage.state-near{--tuner-status:#7cc59d}.tuner-stage.state-silent{--tuner-status:#7f9298}.tuner-note{justify-items:center;display:grid}.tuner-note strong{color:var(--tuner-status);letter-spacing:-.08em;text-shadow:0 4px 28px color-mix(in srgb, var(--tuner-status) 25%, transparent);font-size:clamp(72px,16vw,138px);line-height:.9}.tuner-note sup{letter-spacing:0;margin-left:.1em;font-size:.3em}.tuner-note span,.tuner-frequency,.tuner-privacy,.tuner-helper{color:#aebdc1}.tuner-gauge{max-width:560px;margin:4px auto 0}.tuner-gauge svg{width:100%;display:block;overflow:visible}.gauge-track{fill:none;stroke:#3b4c51;stroke-width:8px;stroke-linecap:round}.gauge-tick,.gauge-center{stroke:#829499;stroke-width:2px}.gauge-center{stroke:var(--tuner-status);stroke-width:5px}.gauge-needle{transform-origin:160px 135px;transition:transform .1s ease-out}.gauge-needle line,.gauge-needle circle{fill:var(--tuner-status);stroke:var(--tuner-status);stroke-width:4px}.gauge-labels,.tuner-frequency{justify-content:space-between;gap:12px;display:flex}.gauge-labels b,.gauge-state{color:var(--tuner-status)}.gauge-state{margin-top:6px;font-size:1.2rem;display:block}.tuner-frequency{max-width:470px;margin:14px auto}.tuner-signal{background:#304045;border-radius:999px;max-width:380px;height:8px;margin:16px auto 30px;position:relative}.tuner-signal span{background:var(--tuner-status);border-radius:inherit;height:100%;display:block}.tuner-signal b{color:#aebdc1;width:100%;font-size:.78rem;position:absolute;top:13px;left:0}.tuner-live-status{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.tuner-micro-button{color:#fff;background:var(--color-brand);min-width:190px;min-height:58px;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-top:12px;font-weight:800;display:inline-flex}.tuner-micro-button:disabled{opacity:.65}.tuner-privacy{margin:16px 0 0;font-size:.86rem}.tuner-debug{width:min(100%,760px);color:var(--color-text-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;margin-top:14px;padding:12px}.tuner-debug summary{cursor:pointer;font-weight:750}.tuner-debug dl{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;display:grid}.tuner-debug dl div{background:var(--color-neutral-soft);border-radius:var(--radius-sm);min-width:0;padding:7px}.tuner-debug dt{color:var(--color-muted);font-size:11px}.tuner-debug dd{overflow-wrap:anywhere;margin:3px 0 0;font-family:ui-monospace,monospace;font-size:12px}.tuner-debug pre{background:var(--color-neutral-soft);border-radius:var(--radius-sm);white-space:pre-wrap;max-height:240px;padding:8px;font-size:11px;overflow:auto}.tuner-string-group{grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0;display:grid}.tuner-string-group button{min-height:62px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tuner-string-group button.active{color:var(--color-brand-dark);background:var(--color-brand-soft);border-color:var(--color-brand);box-shadow:inset 0 0 0 1px var(--color-brand)}.tuner-string-group :where(small,strong){display:block}.tuner-reference{justify-content:center;align-items:center;gap:12px;margin-bottom:18px;display:flex}.tuner-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px;display:grid}.tuner-mode-control{background:var(--color-background);border-radius:var(--radius-md);grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.tuner-mode-control button{min-height:44px;color:var(--color-text-soft);border-radius:var(--radius-sm);font:inherit;background:0 0;border:0;font-weight:700}.tuner-mode-control button[aria-pressed=true]{color:#fff;background:var(--color-brand)}.tuner-setting{min-width:0;color:var(--color-text-soft);align-content:start;gap:8px;font-weight:700;display:grid}.tuner-setting :where(select,input){width:100%;min-width:0}@media (width<=640px){.tuner-page{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.tuner-stage{margin-inline:-4px;padding-inline:14px}.tuner-string-group{grid-template-columns:repeat(3,1fr)}.tuner-controls{grid-template-columns:1fr;padding:16px}.tuner-mode-control{grid-template-columns:1fr}.tuner-frequency{font-size:.85rem}.tuner-reference{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.gauge-needle{transition:none}}:root[data-theme=dark] .tuner-controls,:root[data-theme=dark] .tuner-string-group button{color:#eef4f3;background:#172125;border-color:#344348}:root[data-theme=dark] .tuner-mode-control{background:#0d1518}:root[data-theme=dark] .tuner-setting,:root[data-theme=dark] .tuner-mode-control button{color:#c3d0d3}:root[data-theme=dark] .tuner-string-group button.active{color:#dbe9ff;background:#17365d;border-color:#4d91ef}.performance-scroll-area{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.practice-dock{min-height:108px;padding:12px max(14px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;display:grid}.practice-independent-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.practice-mini-tool{background:color-mix(in srgb, var(--performance-background) 72%, transparent);border:1px solid var(--performance-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:7px;min-width:0;padding:8px 10px;display:flex}.practice-mini-tool>small{width:100%;color:var(--performance-muted);letter-spacing:.05em;text-transform:uppercase;font-weight:800}.practice-mini-tool>span{color:var(--performance-muted);white-space:nowrap}.practice-status{min-width:0;color:var(--performance-muted);gap:2px;display:grid}.practice-status strong{color:var(--performance-accent);font-size:16px}.practice-status small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-error{color:#d04437}.practice-main-actions,.practice-button-row,.practice-inline-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.practice-main-actions :where(button,a),.practice-panel :where(button,a){width:auto}.practice-progress{background:var(--performance-border);border-radius:999px;grid-column:1/-1;height:4px;overflow:hidden}.practice-progress span{background:var(--performance-chord);border-radius:inherit;height:100%;transition:width .15s linear;display:block}.practice-panel{z-index:1100;right:18px;bottom:calc(126px + env(safe-area-inset-bottom));width:min(760px,100vw - 36px);max-height:min(72dvh,680px);color:var(--performance-text);background:var(--performance-surface);border:1px solid var(--performance-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:fixed;overflow:hidden;box-shadow:0 24px 70px #00000047}.practice-panel>header{border-bottom:1px solid var(--performance-border);justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:12px 16px;display:flex}.practice-panel>header small,.practice-panel>header h2{margin:0}.practice-panel>header small{color:var(--performance-accent);font-weight:700}.practice-panel>header h2{margin-top:2px;font-size:21px}.practice-panel-content{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:calc(min(72dvh,680px) - 66px);padding:14px;display:grid;overflow-y:auto}.practice-panel fieldset{border:1px solid var(--performance-border);border-radius:var(--radius-md);align-content:start;gap:10px;min-width:0;margin:0;padding:13px;display:grid}.practice-panel legend{color:var(--performance-accent);padding:0 5px;font-weight:800}.practice-panel label{min-width:0;color:var(--performance-muted);gap:6px;font-size:13px;font-weight:700;display:grid}.practice-panel label>span{color:var(--performance-text)}.practice-panel :where(input,select){width:100%;min-width:0;min-height:44px;color:var(--performance-text);background:var(--performance-background);border:1px solid var(--performance-border);border-radius:var(--radius-sm)}.practice-panel input[type=range]{min-height:30px;accent-color:var(--performance-chord)}.practice-panel .practice-check{grid-template-columns:auto 1fr;align-items:center;min-height:44px;display:flex}.practice-check input{width:20px;min-height:20px}.practice-inline-control input{flex:90px}.tap-tempo-button{min-width:120px}.practice-panel p{color:var(--performance-muted);margin:0}.performance-mode.theme-dark .practice-panel :where(.btn-secondary,.btn-ghost){color:var(--performance-text);border-color:var(--performance-border);background:#ffffff0d}@media (width<=700px){.performance-scroll-area{padding-bottom:calc(260px + env(safe-area-inset-bottom))}.practice-dock{min-height:150px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:7px}.practice-independent-tools{grid-template-columns:1fr}.practice-status{grid-template-columns:auto minmax(0,1fr);column-gap:8px}.practice-status small{grid-column:1/-1}.practice-main-actions{grid-template-columns:minmax(120px,1fr) auto auto auto;display:grid}.practice-main-actions :where(button,a){min-width:44px;padding-inline:10px}.practice-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);bottom:0;left:0;right:0}.practice-panel-content{max-height:calc(90dvh - 66px - env(safe-area-inset-bottom));grid-template-columns:1fr}}.metronome-page{gap:24px;display:grid}.metronome-stage{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);place-items:center;gap:18px;padding:clamp(24px,5vw,54px);display:grid}.metronome-bpm{place-items:center;display:grid}.metronome-bpm input{width:min(100%,280px);min-height:0;color:var(--color-text);text-align:center;background:0 0;border:0;outline:0;padding:0;font-size:clamp(72px,14vw,132px);font-weight:800;line-height:1}.metronome-bpm strong{color:var(--color-muted);letter-spacing:.14em}.metronome-step-controls,.metronome-presets,.metronome-beats{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.metronome-start-button{min-width:min(100%,250px);min-height:64px;font-size:18px}.metronome-tap-button{flex-direction:column;min-width:min(100%,250px);min-height:58px;display:inline-flex}.metronome-tap-button small{opacity:.7}.metronome-beats span{width:52px;height:52px;color:var(--color-text-soft);background:var(--color-background);border:2px solid var(--color-border-strong);border-radius:50%;place-items:center;transition:transform .12s,background .12s;display:grid}.metronome-beats span.active{color:#fff;background:var(--color-accent);border-color:var(--color-accent-dark);transform:scale(1.08)}.metronome-settings{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px;display:grid}.metronome-settings label{min-width:0;color:var(--color-text-soft);align-content:start;gap:7px;font-weight:700;display:grid}.metronome-settings input[type=range]{accent-color:var(--color-brand)}@media (width<=600px){.metronome-stage{padding:24px 12px}.metronome-settings{grid-template-columns:1fr;padding:15px}.metronome-beats span{width:44px;height:44px}}@media (width<=390px){.practice-main-actions{grid-template-columns:minmax(0,1fr) auto auto}.practice-main-actions>.btn-ghost{display:none}.practice-main-actions .btn-primary{text-overflow:ellipsis;min-width:0;overflow:hidden}}@media (height<=500px) and (orientation:landscape){.practice-panel{max-height:92dvh}.practice-panel-content{grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(92dvh - 66px)}}@media (width<=760px){.home-collection-panels{grid-template-columns:minmax(0,1fr)}.home-collection-panel{padding:13px}.home-collection-panel .collection-card:nth-child(n+3){display:none}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions:has(>:only-child){grid-template-columns:minmax(0,1fr)}.quick-actions:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions :where(a,button){text-align:center;justify-content:center;padding-inline:7px}.routed-song-view{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.song-header-toolbar,.page-heading,.collection-detail-header{min-width:0}.song-actions>:where(a,button),.page-heading-actions>:where(a,button),.collection-detail-header>div:last-child>:where(a,button){min-height:44px}.chord-sheet{max-width:100%;overflow-x:hidden}.chord-line,.inline-token{overflow-wrap:anywhere}.app-modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));overscroll-behavior:contain}}@media (width<=640px){.song-header-toolbar{gap:12px}.song-actions{grid-template-columns:44px minmax(0,1fr) auto;align-items:stretch;gap:8px;width:100%;display:grid}.song-actions:not(:has(.favorite-button)){grid-template-columns:minmax(0,1fr) auto}.song-actions>.favorite-button{width:44px;min-width:44px;height:44px}.song-actions>.performance-open-button{width:100%;min-width:0;padding-inline:8px}.song-action-desktop,.song-actions-trigger-desktop{display:none!important}.song-actions-overflow,.song-actions-overflow.mobile-only,.song-actions-trigger-mobile{display:block}.song-action-mobile{display:flex}.song-actions-trigger{gap:5px;height:44px;padding-inline:10px;display:inline-flex}.song-actions-menu{z-index:1250;width:100%;padding:10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-width:1px 0 0;position:fixed;inset:auto 0 0}.song-actions-menu>:where(a,button){padding:12px}}@media (width<=390px){.song-actions,.page-heading-actions,.collection-detail-header>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.song-actions>:where(a,button),.page-heading-actions>:where(a,button),.collection-detail-header>div:last-child>:where(a,button){white-space:normal;text-align:center;min-width:0;padding-inline:8px}.song-information div{max-width:100%}.song-actions{grid-template-columns:44px minmax(0,1fr) auto}.song-actions:not(:has(.favorite-button)){grid-template-columns:minmax(0,1fr) auto}.song-actions>:where(a,button){white-space:nowrap}}:root[data-theme=dark] .app-shell,:root[data-theme=dark] .loading-screen,:root[data-theme=dark] .login-screen,:root[data-theme=dark] .shell-content,:root[data-theme=dark] .tuner-page,:root[data-theme=dark] .metronome-page{color:var(--color-text);background-color:var(--color-background)}:root[data-theme=dark] .shell-header,:root[data-theme=dark] .desktop-navigation,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .song-list,:root[data-theme=dark] .song-list-item,:root[data-theme=dark] .song-view,:root[data-theme=dark] .song-editor,:root[data-theme=dark] .collection-card,:root[data-theme=dark] .collection-card-large,:root[data-theme=dark] .collection-detail-header,:root[data-theme=dark] .backup-card,:root[data-theme=dark] .restore-section,:root[data-theme=dark] .restore-comparison,:root[data-theme=dark] .restore-result,:root[data-theme=dark] .app-modal,:root[data-theme=dark] .account-menu,:root[data-theme=dark] .mobile-more-menu,:root[data-theme=dark] .metronome-settings,:root[data-theme=dark] .tuner-controls{color:var(--color-text);background-color:var(--color-surface);border-color:var(--color-border)}:root[data-theme=dark] :where(input,textarea,select){color:var(--color-text);background-color:var(--color-surface-strong);border-color:var(--color-border-strong)}:root[data-theme=dark] :where(input,textarea)::placeholder{color:var(--color-muted);opacity:1}:root[data-theme=dark] :where(input,textarea,select):disabled{color:var(--color-muted);background-color:var(--color-neutral-soft);opacity:.8}:root[data-theme=dark] input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--color-surface-strong) inset}:root[data-theme=dark] input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--color-surface-strong) inset}:root[data-theme=dark] input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--color-surface-strong) inset}:root[data-theme=dark] .modal-backdrop,:root[data-theme=dark] .chord-diagram-backdrop{background:var(--color-overlay)}:root[data-theme=dark] .song-artist,:root[data-theme=dark] .transpose-summary :where(span,small),:root[data-theme=dark] .editor-heading p,:root[data-theme=dark] .muted-text,:root[data-theme=dark] .source-url,:root[data-theme=dark] .backup-card p,:root[data-theme=dark] .print-toolbar small{color:var(--color-muted)}:root[data-theme=dark] .song-title-block h1,:root[data-theme=dark] .editor-heading h2,:root[data-theme=dark] .main-empty h2,:root[data-theme=dark] .app-modal :where(h2,h3),:root[data-theme=dark] .song-notes,:root[data-theme=dark] .song-notes p{color:var(--color-text)}:root[data-theme=dark] .transpose-controls,:root[data-theme=dark] .song-notes,:root[data-theme=dark] .segment-control,:root[data-theme=dark] .import-destination label,:root[data-theme=dark] .share-message{background-color:var(--color-accent-soft);border-color:var(--color-border)}:root[data-theme=dark] .transpose-buttons button,:root[data-theme=dark] .segment-control button.active,:root[data-theme=dark] .import-fields :where(input,textarea),:root[data-theme=dark] .access-actions select,:root[data-theme=dark] .import-confirm-bar{color:var(--color-text);background-color:var(--color-surface-raised);border-color:var(--color-border-strong)}:root[data-theme=dark] .success-notice,:root[data-theme=dark] .access-card div>span.active{color:var(--color-success);background-color:var(--color-success-soft)}:root[data-theme=dark] .error-notice,:root[data-theme=dark] .error-message,:root[data-theme=dark] .restore-issues li.error{color:var(--color-danger);background-color:var(--color-danger-soft)}:root[data-theme=dark] .duplicate-warning,:root[data-theme=dark] .restore-owner-warning,:root[data-theme=dark] .restore-issues li.warning,:root[data-theme=dark] .access-card div>span.pending{color:var(--color-warning);background-color:var(--color-warning-soft)}:root[data-theme=dark] .restore-preview>header>span{color:var(--color-info);background-color:var(--color-info-soft)}:root[data-theme=dark] .shell-loading span,:root[data-theme=dark] .svguitar-diagram.loading{background:linear-gradient(90deg, var(--color-surface), var(--color-surface-raised), var(--color-surface));background-size:200% 100%}:root[data-theme=dark] .home-hero{background:radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--color-brand) 16%, transparent), transparent 34%), linear-gradient(135deg, var(--color-surface-raised), var(--color-brand-soft));border-color:var(--color-border);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .notice,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .song-information div,:root[data-theme=dark] .metadata-chip{border-color:var(--color-border)}@media (prefers-reduced-motion:reduce){html,body{transition:none}}@media print{:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root,.print-page,.print-document,.print-song,.chord-sheet{color:#000;box-shadow:none;background:#fff}.print-song :where(p,span,strong,small){color:#000}.print-song .chord-token{color:#243b5a}}
