:root{--bg:#000;--panel:#121212;--raised:#1d1d1d;--hover:#292929;--text:#fff;--muted:#b3b3b3;--line:#303030;--green:#1ed760;--blue:#4f87e9;--shadow:0 12px 34px #00000052}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;color:var(--text);margin:0}body{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}p{color:var(--muted);line-height:1.6}.skip-link{z-index:50;background:var(--green);color:#000;border-radius:7px;padding:10px 14px;font-weight:800;position:fixed;top:-70px;left:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--green);outline-offset:3px}main,.app-shell{min-height:100dvh}.app-shell{background:var(--bg);padding:0 8px 40px}.site-nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000f0;align-items:center;gap:20px;max-width:1320px;min-height:66px;margin:0 auto;padding:10px 18px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;letter-spacing:-.04em;align-items:center;gap:9px;font-size:1.1rem;font-weight:800;display:flex}.brand-mark{background:var(--green);color:#000;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.3rem;line-height:1;display:grid}.nav-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-actions a{min-height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;font-weight:700;transition:color .2s,background .2s;display:flex}.nav-actions a span{font-size:1.1rem}.nav-actions a:hover,.nav-actions a[aria-current=page]{color:var(--text);background:#262626}.library-note,.nav-footer{display:none}.page-content{background:linear-gradient(180deg,#2b477f 0,#162039 20rem,var(--panel) 39rem);border-radius:8px;max-width:1320px;min-height:calc(100dvh - 66px);margin:auto;padding:0 clamp(22px,5vw,72px) 72px;overflow:hidden}.page-heading{justify-content:space-between;align-items:end;gap:28px;min-height:350px;padding:75px 0 44px;display:flex}.page-heading>div:first-child{max-width:780px}.eyebrow{color:#fff;letter-spacing:.13em;margin:0 0 12px;font-size:.72rem;font-weight:800}h1,h2,h3{color:var(--text);letter-spacing:-.045em;margin:0}.page-heading h1{font-size:clamp(3rem,6.2vw,6.2rem);line-height:.94}.title-period{color:var(--green)}.hero-deck{color:#e2e8fa;max-width:450px;margin:20px 0 0;font-size:1rem}.edition-note{border-left:3px solid var(--green);background:linear-gradient(90deg,#0003,#0000);min-width:175px;padding:14px 0 14px 17px}.edition-note span,.edition-note small{color:#d8ddeb;font-size:.78rem;display:block}.edition-note strong{margin:4px 0;font-size:.98rem;display:block}.dev-tools{background:#0d111cb3;border:1px solid #46526b;border-radius:7px;flex-wrap:wrap;align-items:center;gap:11px;margin:0 0 24px;padding:12px 15px;display:flex}.dev-tools-note{color:var(--muted);font-size:.8rem}.status-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 29px;font-size:.85rem;display:flex}.status-line span:last-child:not(:first-child){margin-left:auto}.status-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #1ed76024}.section-heading{align-items:baseline;gap:11px;margin:0 0 14px;display:flex}.section-heading h2{font-size:clamp(1.55rem,3vw,2rem)}.section-heading span{color:var(--muted);font-size:.84rem}.song-list{gap:8px;display:grid}.song{background:0 0;border-radius:7px;grid-template-columns:126px minmax(0,1fr);gap:22px;padding:14px;transition:background .2s;display:grid}.song:hover{background:var(--hover)}.song-art{min-width:0}.cover,.cover-image{aspect-ratio:1;object-fit:cover;background:linear-gradient(135deg,#6d4ca7,#273d6e 52%,#ec8d65);border-radius:4px;place-items:center;width:100%;display:grid}.cover span{color:#fff;letter-spacing:.08em;border:1px solid #ffffffb3;padding:6px 8px;font-size:.7rem;font-weight:800}.song-copy{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex}.song-index{color:var(--green);letter-spacing:.1em;margin:0 0 4px;font-size:.7rem;font-weight:800}.song h2{overflow-wrap:anywhere;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.12}.artist-line{overflow-wrap:anywhere;margin:7px 0 8px;font-size:.9rem}.reason,.recommendation-basis{max-width:70ch;margin:0 0 6px;font-size:.85rem}.recommendation-basis{border-left:2px solid var(--green);color:#d4d4d4;padding-left:10px}.song-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;display:flex}button,.button{background:var(--green);color:#000;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 17px;font-size:.85rem;font-weight:800;transition:transform .18s,background .18s;display:inline-flex}button:hover,.button:hover{background:#3bea79;transform:scale(1.035)}button:disabled{cursor:wait;opacity:.65;transform:none}.button-secondary{color:var(--text);background:0 0;border:1px solid #777}.button-secondary:hover{border-color:var(--text);background:#303030}.feedback-actions{flex-wrap:wrap;gap:7px;display:flex}.feedback-actions span{align-items:center;gap:7px;display:inline-flex}.feedback-saved{color:var(--green);font-size:.8rem;font-weight:700}.listen-link span{font-size:1.1rem}.notice,.empty-panel,.task-progress{background:var(--raised);border-radius:8px;margin:0 0 22px;padding:20px}.notice{border-left:3px solid var(--green)}.notice p{margin:0 0 10px}.notice p:last-child{margin-bottom:0}.empty-panel{max-width:600px;padding:30px}.empty-panel h2{font-size:1.6rem}.error{color:#ff9595}.error.notice{border-left-color:#ff7373}.page-actions{margin-top:24px}.loading-layout{padding:70px 0}.loading-layout div{background:#383838;border-radius:99px;width:min(440px,80%);height:15px;margin-bottom:13px;animation:1.4s ease-in-out infinite alternate pulse}.loading-layout div:nth-child(2){width:min(270px,58%)}@keyframes pulse{to{opacity:.45}}.task-progress-heading{justify-content:space-between;display:flex}.task-progress-track{background:#444;border-radius:99px;height:7px;margin-top:12px;overflow:hidden}.task-progress-track i{border-radius:inherit;background:var(--green);height:100%;transition:width .4s;display:block}.art-shell,main:not(.app-shell){background:radial-gradient(circle at 85% 0,#294c7c 0,transparent 34rem),var(--panel);min-height:100dvh;padding:0 clamp(20px,7vw,110px) 72px}main:not(.app-shell)>.site-nav{background:0 0;max-width:1200px;margin:0;padding-left:0;padding-right:0}.hero,.document{max-width:950px;margin:0 auto;padding-top:82px}.hero h1,.document h1{max-width:760px;font-size:clamp(2.8rem,6.2vw,5.3rem);line-height:.98}.hero>p:not(.eyebrow),.document>p{max-width:650px}.center{place-items:center;display:grid}.card{background:var(--raised);width:min(100%,530px);box-shadow:var(--shadow);border:1px solid #343434;border-radius:9px;padding:30px}.wide{width:min(100%,720px)}.card h1{margin-bottom:22px;font-size:2rem}label{color:#e6e6e6;margin:16px 0;font-size:.9rem;font-weight:700;display:block}textarea,input,select{width:100%;color:var(--text);background:#282828;border:1px solid #727272;border-radius:5px;margin-top:7px;padding:12px 13px}textarea{resize:vertical;min-height:190px}.text-link{color:var(--green);margin-top:18px;font-weight:700;display:inline-block}.document p{white-space:pre-wrap}.preference-list{gap:9px;margin-top:28px;display:grid}.row{justify-content:space-between;align-items:center;gap:16px;display:flex}.row.card{width:100%;box-shadow:none;padding:18px;transition:background .2s}.row.card:hover{background:var(--hover)}.row small{color:var(--muted)}.settings-form,.profile-manage{max-width:700px;margin:32px 0}.settings-form{gap:4px;display:grid}.profile-manage{border-top:1px solid var(--line);padding-top:25px}.profile-manage .section-heading{justify-content:space-between}.preference-delete{flex-direction:column;align-items:end;gap:5px;display:flex}.preference-delete p{margin:0;font-size:.78rem}@media (max-width:760px){.app-shell{padding:0}.site-nav,main:not(.app-shell)>.site-nav{background:#000000f0;gap:10px;min-height:58px;padding:9px 14px}.brand{font-size:1rem}.brand-mark{width:27px;height:27px;font-size:1.12rem}.nav-actions{gap:1px}.nav-actions a{min-height:36px;padding:7px 8px;font-size:0}.nav-actions a span{font-size:1.1rem}.page-content{background:linear-gradient(180deg,#2b477f 0,#162039 16rem,var(--panel) 29rem);border-radius:0;min-height:calc(100dvh - 58px);padding:0 18px 48px}.page-heading{min-height:276px;padding:63px 0 29px;display:block}.page-heading h1{font-size:clamp(2.8rem,13vw,4.5rem)}.edition-note{min-width:0;margin-top:23px;display:inline-block}.status-line span:last-child:not(:first-child){width:100%;margin-left:0}.song{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:10px}.song-copy{justify-content:start}.song h2{font-size:1.25rem}.song-index{margin-top:2px}.artist-line{margin:5px 0;font-size:.8rem}.reason,.recommendation-basis{grid-column:1/-1;font-size:.81rem}.song-actions{grid-column:1/-1}.feedback-actions{width:100%}.feedback-actions button{padding:8px 11px}.art-shell,main:not(.app-shell){padding:0 20px 50px}.hero,.document{padding-top:58px}.hero h1,.document h1{font-size:clamp(2.55rem,12vw,4.2rem)}.card{padding:24px}.row{flex-direction:column;align-items:flex-start}.preference-delete{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.site-footer{max-width:1320px;color:var(--muted);margin:0 auto;padding:22px 18px 30px;font-size:.78rem}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:8px 20px;display:flex}.data-attribution{text-align:center;max-width:100ch;margin:12px auto 0;line-height:1.7}.site-footer a{color:inherit;text-underline-offset:3px;text-decoration:underline}.privacy-document{max-width:850px}.privacy-document h2{margin:38px 0 12px;font-size:1.35rem}.privacy-document p,.privacy-document li{max-width:78ch;line-height:1.85}.privacy-document ul{padding-left:1.4em}.privacy-updated{color:var(--muted);font-size:.88rem}.auth-privacy-note{margin:4px 0 12px;font-size:.8rem}.auth-privacy-note a{color:var(--green);text-underline-offset:3px;text-decoration:underline}.account-delete{background:#251717;border:1px solid #8f3434;border-radius:8px;max-width:700px;margin:34px 0;padding:22px}.account-delete h2{color:#ffb3b3;margin:0 0 12px}.account-delete label{color:var(--text);margin:14px 0;font-size:.88rem;font-weight:700;display:block}.account-delete input{width:100%;min-height:42px;color:var(--text);background:#111;border:1px solid #777;border-radius:5px;margin-top:6px;padding:9px 12px;display:block}.danger-button{color:#fff!important;background:#a52f36!important}.danger-button:hover{background:#c33b44!important}.danger-button:disabled{opacity:.55;cursor:not-allowed}
