:root{font-family:Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f8fb;background:#0d0f13;font-size:16px;--panel:#171a21;--panel2:#1e222c;--line:#303644;--muted:#aeb6c5;--accent:#c7ff3d;--joy:#ff7248;--dam:#4fc3ff;--danger:#ff6680}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:linear-gradient(180deg,#11141a,#0d0f13 32%);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}button,input{font:inherit}button{touch-action:manipulation}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;background:rgba(13,15,19,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.eyebrow{margin:0 0 3px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.14em}.topbar h1{margin:0;font-size:1.35rem;line-height:1.2;white-space:nowrap}.iconBtn{width:44px;height:44px;border-radius:15px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-size:1.55rem}main{width:min(100%,760px);margin:auto;padding:14px 14px 60px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:14px}.setMeta{display:flex;gap:10px;align-items:end}.setMeta label:first-child{width:145px}.grow{flex:1;min-width:0}label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:.78rem;font-weight:750}input{width:100%;min-height:46px;border-radius:13px;border:1px solid var(--line);background:#0f1217;color:#fff;padding:10px 12px;font-size:1rem;outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(199,255,61,.12)}button{border:0;border-radius:13px;min-height:44px;padding:10px 15px;font-weight:800;color:#fff;background:var(--panel2)}.primary{background:var(--accent);color:#11150a}.secondary{border:1px solid var(--line)}.addPanel{margin-top:12px}.inputRow{display:flex;gap:10px}.artistField{width:38%}.addActions{display:grid;grid-template-columns:1.5fr 1fr;gap:9px;margin-top:12px}.hint{margin:10px 2px 0;color:var(--muted);font-size:.75rem;line-height:1.5}.searchProgress{margin-top:10px;padding:9px 11px;border-radius:12px;background:#252b36;color:var(--accent);font-size:.82rem;font-weight:800}.hidden{display:none!important}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 2px 10px}.stats{font-size:.82rem;color:var(--muted);font-weight:750}.filters{display:flex;gap:4px;background:var(--panel);padding:4px;border-radius:13px}.filter{min-height:34px;padding:6px 10px;border-radius:10px;color:var(--muted);font-size:.75rem}.filter.active{background:#343b49;color:#fff}.songList{display:flex;flex-direction:column;gap:8px}.songCard{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:11px 9px;transition:.18s ease}.songCard.done{opacity:.58}.songCard.done .songTitle{text-decoration:line-through}.doneToggle{width:44px;height:58px;padding:0;border-radius:14px;border:1px solid var(--line);background:#101319}.doneToggle span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #596171;color:transparent}.songCard.done .doneToggle span{background:var(--accent);border-color:var(--accent);color:#111}.songMain{min-width:0}.songHeading{display:flex;align-items:baseline;gap:7px;min-width:0}.order{flex:none;color:#7e8797;font-size:.75rem;font-weight:900}.songTitle{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.35}.songArtist{margin:3px 0 7px;color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability{display:flex;align-items:center;gap:6px;min-height:25px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:25px;border-radius:8px;text-decoration:none;color:#111;font-size:.68rem;font-weight:900}.badge.found.joy{background:var(--joy)}.badge.found.dam{background:var(--dam)}.badge.not_found{background:#303642;color:#b1b8c4}.badge.unknown{background:#4a4230;color:#ffd685}.corrected{font-size:.66rem;color:#9ba4b5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cardActions{display:flex;flex-direction:column;gap:3px}.cardActions button{min-height:29px;height:29px;padding:0;border-radius:9px;color:#98a1b1;font-size:.85rem}.emptyState{text-align:center;padding:42px 10px;color:var(--muted)}.emptyState strong,.emptyState span{display:block}.emptyState strong{color:#fff;font-size:1rem;margin-bottom:7px}.savedPanel{margin-top:22px}.sectionTitle{display:flex;align-items:center;justify-content:space-between}.sectionTitle h2{font-size:1rem;margin:0}.textBtn{min-height:34px;padding:4px 8px;background:transparent;color:var(--accent);font-size:.78rem}.savedSets{display:flex;flex-direction:column;gap:7px;margin-top:12px}.savedSet{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:11px 12px;border-radius:13px;background:#101319;border:1px solid #282e39}.savedSet button{min-height:38px;text-align:left;padding:0;background:transparent}.savedSet strong,.savedSet span{display:block}.savedSet strong{font-size:.88rem}.savedSet span{font-size:.72rem;color:var(--muted);margin-top:3px}.savedSet .deleteSet{width:38px;text-align:center;color:var(--danger)}dialog{width:min(calc(100% - 28px),520px);border:1px solid var(--line);border-radius:20px;background:var(--panel);color:#fff;padding:18px}dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}dialog h2{margin:0 0 16px;font-size:1.1rem}dialog label+label{margin-top:12px}.dialogActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:18px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;transform:translate(-50%,20px);max-width:calc(100% - 28px);padding:11px 15px;border-radius:13px;background:#f6f8fb;color:#101318;font-size:.83rem;font-weight:800;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:520px){main{padding-inline:10px}.topbar{padding-inline:14px}.setMeta{display:grid;grid-template-columns:132px 1fr}.setMeta label:first-child{width:auto}.setMeta button{grid-column:1/-1}.inputRow{display:block}.artistField{width:100%;margin-top:10px}.addActions{grid-template-columns:1fr}.songCard{grid-template-columns:46px minmax(0,1fr) 34px}.toolbar{align-items:flex-end}.filters{flex-wrap:nowrap}.filter{padding-inline:8px}.corrected{max-width:100px}}@media(min-width:700px){.songCard{padding:13px}.songTitle{font-size:1.05rem}}
