:root{color-scheme:dark;--paper:#0c0f11;--surface:#22262d;--ink:#f5f5f7;--muted:#a5a5af;--line:#2b3036;--blue:#ae6bef;--error:#ffb4a6;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic','Meiryo',sans-serif;font-size:16px;background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0;min-width:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,input,select,summary{min-height:44px}button{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 14px}button:active:not(:disabled){background:#35303f}a{color:var(--blue);text-underline-offset:4px;overflow-wrap:anywhere}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0;overflow-wrap:anywhere}h1{font-size:2.125rem;font-weight:800;line-height:1.25;letter-spacing:-1px}h1:focus{outline:none}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.125rem}h4{font-size:0.9375rem}p{line-height:1.6}svg{flex-shrink:0}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px;font-size:1.0rem}input::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical}input[type=checkbox]{width:24px;min-height:24px;height:24px;accent-color:var(--blue);vertical-align:middle;margin-right:8px}label{display:block;font-size:0.875rem;line-height:1.5}select{min-height:48px}::selection{background:var(--blue);color:#17101e}
.app-shell{max-width:600px;margin:auto;padding:max(28px,env(safe-area-inset-top)) 20px calc(124px + env(safe-area-inset-bottom));min-height:100dvh}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:26px;min-height:44px}.topbar>.icon-button,.workspace-eyebrow,.collection-intro,.storage-note{display:none}.screen-content{min-width:0}.topbar:has(.back-button){margin-bottom:16px}.topbar:has(.back-button) h1{font-size:1.0625rem;letter-spacing:0;color:var(--muted);font-weight:500}.back-button{background:transparent;border:0;padding:10px 0;color:var(--blue);min-width:50px}.list-switch{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px;gap:0}.list-tab{flex:1;background:transparent;border:0;border-radius:0;border-bottom:3px solid transparent;color:var(--muted);font-weight:700;padding:13px 0}.list-tab[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--blue)}.field{margin:0 0 20px;display:flex;flex-direction:column;gap:8px}.filter-field input,.search-form input{height:46px;border:0;border-radius:24px;padding-left:18px}.filter-field label,.search-form .field>label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.song-list{display:flex;flex-direction:column}.song-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto 12px;align-items:center;gap:12px;text-align:left;width:100%;min-width:0;min-height:104px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0}.song-row>svg{width:12px;height:18px;color:#8c8c97}.song-row:hover{background:#15181c}.song-words{display:flex;flex-direction:column;gap:6px;min-width:0}.song-title{font-size:1.0rem;font-weight:750;line-height:1.4;overflow-wrap:anywhere}.song-artist{font-size:0.875rem;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.song-artist~.song-artist{font-size:0.75rem;color:#c1a0dd}.song-range{font-size:0.8125rem;max-width:76px;text-align:right;line-height:1.5;font-variant-numeric:tabular-nums;color:var(--muted);overflow-wrap:anywhere}.artwork{display:flex;width:72px;height:72px;align-items:center;justify-content:center;background:#1c2026;border:1px solid #343941;border-radius:4px;color:#90939f}.artwork svg{width:26px;height:26px}.artwork-large{width:190px;height:190px;margin:8px auto 22px;border-radius:6px}.artwork-large svg{width:56px;height:56px;color:#8d899c}.liquid-dock{position:fixed;z-index:20;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:568px;min-height:66px;padding:5px 8px;display:flex;align-items:stretch;border:1px solid #42454d;border-radius:36px;background:rgba(30,34,40,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 6px 22px #0005}.dock-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:0;border-radius:24px;color:var(--muted);padding:5px;font-size:0.6875rem;font-weight:600;min-height:54px}.dock-item svg{width:22px;height:22px}.dock-item[aria-pressed=true]{color:var(--blue)}.dock-item:active{background:#36303f}.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.search-form .field{margin-bottom:6px}.search-form>.button{min-height:46px}.search-credit{grid-column:1/-1;margin:0;color:var(--muted);font-size:0.75rem}.search-credit summary{min-height:32px;padding:7px 0}.search-credit p{padding:8px 0}.search-results{margin-top:10px}.search-results>.section-title{display:none}.search-results .section-title{font-size:0.75rem;color:var(--muted);padding:18px 0 4px;font-weight:500}.search-results .song-row{grid-template-columns:64px minmax(0,1fr) 32px;gap:12px}.search-results .artwork{width:64px;height:64px}.add-symbol{border:1px solid #61556c;border-radius:50%;width:30px;height:30px;color:var(--blue);display:flex;align-items:center;justify-content:center}.add-symbol svg{width:18px;height:18px}.destination,#catalog-build{display:none}.manual-button{margin-top:24px;font-size:0.8125rem;color:var(--muted)}.primary{background:var(--blue);color:#170d21;border-color:var(--blue);font-weight:750}.secondary{background:var(--surface)}.text-button{background:transparent}.supporting-text,.range-status,.search-feedback{font-size:0.875rem;color:var(--muted);line-height:1.6}.search-feedback{padding:20px 0}.search-diagnostic{font-size:0.75rem;color:var(--muted)}.empty-state{padding:45px 0}.empty-state h2{font-size:1.125rem}.empty-state p{font-size:0.875rem;color:var(--muted);margin:12px 0 22px}.loading-rows{display:grid;gap:16px;padding:16px 0}.loading-row{height:72px;background:#20242a;border-radius:4px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.4}}.message{margin:12px 0;padding:12px 14px;border-radius:10px;background:#20232a;font-size:0.875rem}.error-message,.field-error,.danger{color:var(--error)}.field-error{font-size:0.8125rem}.detail-title{text-align:center;font-size:1.5rem;line-height:1.35}.detail-artist{text-align:center;font-size:1.0rem;color:var(--muted);margin-top:8px}.detail-version{text-align:center;font-size:0.8125rem;color:#c1a0dd;margin-top:7px}.detail-switch{margin-top:24px}.detail-section{padding:20px 0;border-bottom:1px solid var(--line)}.detail-section h3{margin-bottom:18px}.range-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.range-notes dt{font-size:0.75rem;color:var(--muted);margin-bottom:12px}.range-notes dd{margin:0;font-size:1.375rem;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.range-notes dd:has(+*){font-size:1.375rem}.range-entry+.range-entry{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.range-summary{font-size:0.8125rem;color:var(--muted)}.source-link{display:block;padding:12px 0;font-size:0.875rem;min-height:44px}.external-link{display:block;text-align:center;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:transparent;text-decoration:none}.detail-actions{display:flex;gap:12px;margin-top:22px}.detail-actions>*{flex:1}.song-form .save-button{width:100%}.optional-field .supporting-text{display:none}
.integration-tools{margin:0;padding:0;max-width:100%}.integration-tools section{padding:20px 0;min-width:0}.integration-tools button{min-height:44px}.integration-tools #source-panel h2,.integration-tools .practice-panel h2{font-size:1.125rem}.integration-tools .source-card{border-radius:10px;background:#171b20}.integration-tools .source-card p{font-size:0.875rem}.integration-tools .practice-panel>p{font-size:0.8125rem;color:var(--muted)}.integration-tools .account-panel,.integration-tools .backup-panel{padding:0;border:0}.account-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 14px;padding:22px 18px;background:#1c2026;border:1px solid var(--line);border-radius:18px;margin:4px 0 22px}.account-avatar{grid-row:1/4;width:48px;height:48px;border-radius:50%;background:#30323b;display:grid;place-items:center;color:#c7c2ce}.account-avatar svg{width:26px;height:26px}.account-card h2{font-size:1.0rem;margin:0}.account-card #cloud-status{font-size:0.8125rem}.account-card button{grid-column:2;justify-self:start;margin:6px 0 0;font-size:0.8125rem}.management-row{border-bottom:1px solid var(--line);padding:0 0 6px}.management-row>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:18px 0;font-size:1.0rem;font-weight:600;min-height:64px}.management-row>summary:after{content:'›';margin-left:auto;color:var(--muted);font-size:1.4375rem;font-weight:400}.management-row>summary::-webkit-details-marker{display:none}.management-row[open]>summary:after{transform:rotate(90deg)}.management-row>p{font-size:0.8125rem;color:var(--muted);padding:10px 0}.management-row label{font-size:0.875rem}.management-row button{font-size:0.875rem}.auto-range-row{padding:12px 0;font-size:0.8125rem;border-bottom:1px solid var(--line)}#auto-range-jobs h2{font-size:1.0rem}#auto-range-jobs .supporting-text{font-size:0.75rem}input[type=file]{font-size:0.8125rem;max-width:100%;padding:8px}input::file-selector-button{max-width:100%;border:0;border-radius:6px;background:#35303f;color:var(--ink);padding:10px;margin-right:10px}.integration-tools label{overflow-wrap:anywhere}
@media(max-width:359px){.app-shell{padding-left:16px;padding-right:16px}.song-row{grid-template-columns:52px minmax(0,1fr) 64px 10px;gap:8px}.artwork{width:52px;height:52px}.song-range{font-size:0.75rem}.song-title{font-size:0.9375rem}.song-artist{font-size:0.8125rem}.artwork-large{width:174px;height:174px}.range-notes dd{font-size:1.1875rem}.search-results .song-row{grid-template-columns:52px minmax(0,1fr) 30px}.search-results .artwork{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.liquid-dock{background:#1e2228;backdrop-filter:none;-webkit-backdrop-filter:none}.song-range{color:var(--ink)}}
.source-action{background:transparent;border:0;color:var(--blue);padding:12px 0;font-size:0.875rem;min-height:44px}.management-row>summary:before{content:'';width:22px;height:22px;background:currentColor;flex-shrink:0;mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M7 18H6a4 4 0 0 1 0-8 6 6 0 0 1 12-2 5 5 0 0 1 0 10h-1M12 12v10m-3-3 3 3 3-3'/%3E%3C/svg%3E")}.management-row>.backup-heading:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 2v13m-5-5 5 5 5-5M4 16v5h16v-5'/%3E%3C/svg%3E")}.management-row>.restore-heading:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 16V3m-5 5 5-5 5 5M4 16v5h16v-5'/%3E%3C/svg%3E")}.preview-marker{display:block;color:var(--muted);font-size:0.6875rem;text-align:center;margin-top:30px;pointer-events:none}

/* Parent-reviewed finishing pass */
.filter-field{position:relative}.filter-field input{padding-left:44px}.filter-search-icon{position:absolute;left:16px;top:12px;width:21px;height:21px;pointer-events:none;color:var(--muted)}
.dock-item{font-size:.75rem}.row-action{margin-left:auto;color:var(--muted);font-size:.75rem;font-weight:400}.management-row>summary:has(.row-action):after{margin-left:0}.recording-info{margin:16px 0;font-size:.8125rem;color:var(--muted)}.recording-info summary{padding:12px 0;min-height:44px;cursor:pointer}.recording-info p{padding:6px 0}.recording-info a{display:inline-block;padding:12px 0;min-height:44px}.recording-id{overflow-wrap:anywhere;font-size:.75rem}.fixture-warning{font-size:.75rem;color:#f5d69f;border:1px solid #665239;background:#241e15;padding:8px 10px;border-radius:8px;margin-bottom:16px}

.fixture-warning{position:sticky;top:0;z-index:21}

.cached-artwork-image{width:100%;height:100%;object-fit:cover}.cached-artwork-image[hidden],.artwork svg[hidden]{display:none}.artwork-source{margin:12px 0;color:var(--muted,#A5A5AF);font-size:13px}.artwork-source a{display:inline-block;margin:10px 16px 0 0;color:#AE6BEF}.artwork-source summary{cursor:pointer;min-height:44px;padding:12px 0}
