:root{font-family:Inter,SF Pro Text,PingFang SC,sans-serif;color:#26231f;background:#f4f1ea;font-synthesis:none;--ink: #26231f;--muted: #817c72;--orange: #dc6545;--paper: #f7f4ee;--line: rgba(48,43,36,.11)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.eyebrow{margin:0 0 10px;color:var(--orange);font-size:10px;line-height:1;font-weight:600;letter-spacing:.19em}.brand{display:flex;align-items:center;gap:12px;font-family:"Noto Serif SC",serif;font-size:24px;font-weight:700;letter-spacing:-.04em}.brand-mark{display:flex;align-items:center;justify-content:center;width:31px;height:31px;gap:3px;border-radius:50%;background:var(--orange);transform:rotate(-9deg)}.brand-mark span{width:2px;border-radius:2px;background:#fff}.brand-mark span:nth-child(1){height:9px}.brand-mark span:nth-child(2){height:17px}.brand-mark span:nth-child(3){height:12px}.primary-button{border:0;border-radius:4px;min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:var(--orange);cursor:pointer;font-weight:600;transition:.2s ease}.primary-button:hover{background:#c95436;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.ghost-button{min-height:46px;padding:0 24px;border:1px solid var(--line);border-radius:4px;background:transparent;cursor:pointer}.icon-button{display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.loader{width:25px;height:25px;border:2px solid rgba(220,101,69,.2);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.1fr) minmax(430px,.9fr)}.auth-art{position:relative;overflow:hidden;min-height:720px;padding:46px 6vw;color:#f9f4e9;background:#24332f}.auth-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 42%,rgba(231,122,81,.3),transparent 26%),linear-gradient(130deg,transparent 45%,rgba(255,255,255,.025))}.auth-art .brand{position:relative;z-index:2}.auth-copy{position:absolute;z-index:2;left:6vw;bottom:10vh;max-width:510px}.auth-copy h1{margin:0 0 22px;font:700 clamp(45px,5.2vw,74px)/1.22 "Noto Serif SC",serif;letter-spacing:-.045em}.auth-copy>p:last-child{color:#ffffffa8;line-height:1.8;font-size:15px;max-width:390px}.vinyl{position:absolute;width:min(35vw,470px);aspect-ratio:1;right:-8vw;top:12vh;border-radius:50%;background:repeating-radial-gradient(circle,#111 0 3px,#191919 4px 7px,#101010 8px 10px);box-shadow:-20px 35px 80px #00000052;animation:float 7s ease-in-out infinite}.vinyl:after{content:"";position:absolute;inset:10%;border-radius:50%;box-shadow:inset 0 0 30px #ffffff14}.vinyl-label{position:absolute;inset:35%;display:grid;place-items:center;border-radius:50%;color:#f5e6c8;background:#cf6449}.vinyl-label:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#20201d}.orbit{position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%}.orbit-one{width:520px;height:520px;top:8vh;right:-10vw}.orbit-two{width:650px;height:650px;top:0;right:-15vw}@keyframes float{50%{transform:translateY(-10px) rotate(3deg)}}.auth-panel{display:grid;place-items:center;padding:60px;background:var(--paper)}.auth-card{width:min(100%,410px)}.auth-heading h2{margin:0 0 10px;font:700 32px/1.3 "Noto Serif SC",serif;letter-spacing:-.025em}.auth-heading>p:last-child{margin:0;color:var(--muted);font-size:14px}.google-button{min-height:49px;margin-top:31px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #d5d0c8;border-radius:4px;color:var(--ink);background:#fff;text-decoration:none;font-size:13px;font-weight:600;transition:.2s ease}.google-button:hover{border-color:#aaa49a;box-shadow:0 4px 15px #342e2712;transform:translateY(-1px)}.google-button svg{width:19px;height:19px}.auth-divider{margin:23px 0 4px;display:flex;align-items:center;gap:13px;color:#aaa49a;font-size:10px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:7px 0 22px;border-bottom:1px solid var(--line)}.auth-tabs button{position:relative;padding:12px;border:0;color:var(--muted);background:transparent;cursor:pointer}.auth-tabs button.active{color:var(--ink);font-weight:600}.auth-tabs button.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--orange)}.auth-form{display:grid;gap:18px}.auth-form label,.upload-form label:not(.drop-zone){display:grid;gap:8px;font-size:12px;font-weight:600}.auth-form input,.upload-form input{width:100%;min-height:47px;border:1px solid var(--line);border-radius:3px;padding:0 14px;color:var(--ink);background:#fff9}.auth-form input:focus,.upload-form input:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #dc654517}.auth-form .primary-button{margin-top:6px}.arrow-right{transform:rotate(180deg)}.form-error{padding:10px 12px;border-left:3px solid var(--orange);color:#a43b26;background:#fae9e4;font-size:12px}.auth-footnote{margin-top:25px;text-align:center;color:#a09a90;font-size:11px}.mobile-brand{display:none}.splash{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:28px;background:var(--paper)}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr;background:#f3f0e9}.app-shell.has-player{padding-bottom:94px}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:220px;padding:34px 24px;color:#dce1dc;background:#26332f}.sidebar .brand{color:#fff;margin-bottom:58px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{width:100%;min-height:42px;padding:0 12px;display:flex;align-items:center;gap:13px;border:0;border-radius:4px;color:#aab4ae;background:transparent;cursor:pointer;font-size:13px;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff12}.sidebar nav button.active{box-shadow:inset 2px 0 var(--orange)}.sidebar nav button span{margin-left:auto;font-size:11px;color:#77827d}.side-divider{height:1px;margin:24px 5px;background:#ffffff14}.side-label{margin:0 12px 12px;color:#64716b;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.sidebar-now{position:absolute;display:flex;align-items:center;gap:12px;bottom:30px;left:30px;color:#9ba69f;font:400 12px/1.6 "Noto Serif SC",serif}.sidebar-now p{margin:0}.sidebar-now strong{color:#e3e6e3}.mini-record{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;color:var(--orange);background:#151d1a}.mini-record svg{width:26px}.library{grid-column:2;padding:0 clamp(28px,4vw,64px) 70px;overflow:hidden}.topbar{height:88px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line)}.menu-button{display:none}.search{min-width:280px;max-width:460px;flex:1;display:flex;align-items:center;gap:10px;color:#99938a}.search input{flex:1;border:0;outline:none;background:transparent;font-size:13px}.upload-button{display:flex;align-items:center;gap:8px;min-height:39px;padding:0 15px;border:1px solid #d9d2c7;border-radius:3px;background:transparent;cursor:pointer;font-size:12px;font-weight:600}.upload-button:hover{border-color:var(--orange);color:var(--orange)}.profile{padding-left:20px;display:flex;align-items:center;gap:10px;border-left:1px solid var(--line)}.avatar{width:36px;height:36px;display:grid;place-items:center;object-fit:cover;border-radius:50%;color:#fff;background:var(--orange);font-family:"Noto Serif SC"}.profile>div:nth-child(2){display:grid;min-width:82px}.profile strong{font-size:12px}.profile span{color:var(--muted);font-size:9px}.profile>button{border:0;color:#aaa49a;background:transparent;cursor:pointer}.profile>svg{color:#aaa49a}.hero{min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:30px}.hero h1{margin:0 0 10px;font:700 clamp(28px,3vw,40px)/1.3 "Noto Serif SC",serif;letter-spacing:-.035em}.hero>div>p:last-child{margin:0;color:var(--muted);font-size:13px}.hero-note{display:flex;align-items:center;gap:12px;padding:15px 18px;color:#6b756f;border:1px solid var(--line);border-radius:4px;background:#ffffff45;font-size:11px}.hero-note svg{color:var(--orange)}.hero-note strong{font-size:16px;color:var(--ink)}.section-heading{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between}.section-heading h2{margin:0;font:700 20px/1.2 "Noto Serif SC",serif}.section-heading>span{color:var(--muted);font-size:11px}.artist-section{margin-bottom:42px}.artist-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.artist-pill{flex:0 0 auto;min-width:170px;min-height:65px;padding:8px 16px 8px 8px;display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);border-radius:4px;background:#ffffff6b;cursor:pointer;transition:.2s}.artist-pill:hover{transform:translateY(-2px);border-color:#dc654559}.artist-pill.active{border-color:var(--orange);background:#fffaf5;box-shadow:0 5px 20px #3c30260d}.artist-avatar{width:47px;height:47px;flex:none;display:grid;place-items:center;border-radius:3px;color:#fff;font:700 20px "Noto Serif SC"}.artist-avatar.all{color:#f4dacc;background:#3b4b45}.artist-pill>span:last-child{display:grid;gap:5px}.artist-pill strong{font-size:12px}.artist-pill small{color:var(--muted);font-size:10px}.albums-section{margin-bottom:48px}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:24px}.album-card{position:relative;min-width:0}.album-card h3{overflow:hidden;margin:12px 0 4px;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.album-card p{margin:0;color:var(--muted);font-size:10px}.album-play{position:absolute;z-index:2;right:10px;top:105px;width:37px;height:37px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--orange);box-shadow:0 5px 15px #56312340;opacity:0;transform:translateY(6px);transition:.2s;cursor:pointer}.album-card:hover .album-play{opacity:1;transform:none}.album-play svg{width:15px}.artwork{position:relative;width:47px;aspect-ratio:1;flex:none;overflow:hidden;color:#ffffff7a;border-radius:3px;background:color-mix(in srgb,var(--accent) 62%,#313d3a)}.artwork.large{width:100%}.artwork-sun{position:absolute;width:30%;aspect-ratio:1;top:17%;right:15%;border-radius:50%;background:#ffe4b4b8}.artwork-ridge{position:absolute;width:100%;height:63%;bottom:-29%;left:-18%;border-radius:50% 50% 0 0;transform:rotate(13deg);background:#223632cc}.ridge-two{bottom:-38%;left:25%;background:#162723bf}.artwork-disc{position:absolute;left:12%;top:12%;width:20%;height:20%;opacity:.6}.track-table{width:100%}.track-head,.track-row{display:grid;grid-template-columns:34px minmax(220px,1.8fr) minmax(130px,1fr) 65px 30px;align-items:center;column-gap:10px}.track-head{height:32px;padding:0 12px;color:#a29c92;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.track-row{width:100%;min-height:60px;padding:7px 12px;border:0;border-bottom:1px solid rgba(48,43,36,.07);color:#777168;background:transparent;text-align:left;cursor:pointer;font-size:11px}.track-row:hover,.track-row.playing{background:#ffffff8c}.track-row.playing{color:var(--orange)}.track-index{color:#aaa49b;font-size:10px}.track-name{display:flex;align-items:center;gap:11px}.track-name>span:last-child{display:grid;gap:4px}.track-name strong{color:var(--ink);font-size:12px}.track-name small{color:var(--muted);font-size:10px}.tiny-art{width:38px;height:38px;display:grid;place-items:center;flex:none;color:#e9c2a6;border-radius:2px;background:#586b63}.no-results{padding:45px;color:var(--muted);text-align:center;font-size:13px}.empty-state{min-height:250px;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.feature-empty{min-height:400px;padding:50px;border:1px solid var(--line);background:#ffffff40}.feature-empty h2{margin:0;color:var(--ink);font:700 25px "Noto Serif SC"}.feature-empty>p:not(.eyebrow){margin:0 0 15px;font-size:13px}.empty-record{width:86px;height:86px;display:grid;place-items:center;margin-bottom:8px;border-radius:50%;color:#e5b29d;background:#33443e;box-shadow:8px 12px #e5d5c3}.empty-record svg{width:50px;height:50px}.player-shell{position:fixed;z-index:30;inset:auto 0 0;height:94px;padding:0 30px;display:grid;grid-template-columns:1fr minmax(320px,1.25fr) 1fr;align-items:center;gap:24px;color:#f5f4f0;background:#1d2623fa;box-shadow:0 -8px 30px #1e221f1f}.playing-track{min-width:0;display:flex;align-items:center;gap:12px}.playing-track>div:nth-child(2){min-width:0;display:grid;gap:4px}.playing-track strong,.playing-track span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.playing-track strong{font-size:12px}.playing-track span{color:#9fa9a4;font-size:10px}.playing-track .icon-button{color:#89938e}.transport{display:grid;gap:5px}.transport-buttons{display:flex;justify-content:center;align-items:center;gap:20px}.transport button{border:0;color:#c7ceca;background:transparent;cursor:pointer}.transport .play-main{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#25322e;background:#f3eee4}.play-main svg{width:16px}.timeline{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:7px;color:#828d87;font-size:8px}.timeline input,.volume input{height:3px;accent-color:var(--orange);cursor:pointer}.volume{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:#9ca6a1}.volume input{width:85px}.modal-backdrop{position:fixed;z-index:50;inset:0;padding:30px;display:grid;place-items:center;background:#151c1ab8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(100%,570px);max-height:90vh;overflow:auto;padding:32px;border-radius:6px;background:var(--paper);box-shadow:0 25px 70px #00000040}.modal-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px}.modal-title h2{margin:0;font:700 27px "Noto Serif SC"}.modal-title .icon-button{color:var(--muted)}.upload-form{display:grid;gap:22px}.drop-zone{min-height:150px;padding:22px;display:grid;place-content:center;justify-items:center;gap:9px;border:1px dashed #c8bfb3;border-radius:5px;color:#8f887e;background:#f2ede4;cursor:pointer;text-align:center}.drop-zone:hover,.drop-zone.has-file{border-color:var(--orange);color:var(--orange);background:#fcf2eb}.drop-zone input{display:none}.drop-zone strong{max-width:400px;overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.drop-zone span{font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{min-height:100vh;padding:35px 24px}.mobile-brand{display:block;position:absolute;top:28px;left:28px}.auth-card{margin-top:65px}.app-shell{grid-template-columns:78px 1fr}.sidebar{width:78px;padding:28px 14px}.sidebar .brand>span,.sidebar nav button:not(.active),.side-divider,.side-label,.sidebar-now{display:none}.sidebar .brand{justify-content:center}.sidebar nav button.active{justify-content:center;padding:0}.sidebar nav button.active svg{width:22px;height:22px}.library{grid-column:2}.profile>div:nth-child(2),.profile>svg{display:none}.hero-note{display:none}.player-shell{grid-template-columns:1fr 1.4fr}.volume{display:none}}@media(max-width:650px){.app-shell{display:block}.sidebar{display:none}.library{padding:0 18px 45px}.topbar{height:70px;gap:11px}.menu-button{display:grid;place-items:center;border:0;background:transparent}.menu-button svg{width:20px}.search{min-width:0}.search input{width:90px}.upload-button{width:39px;padding:0;justify-content:center}.upload-button:not(svg){font-size:0}.profile{padding-left:10px}.profile>button,.profile>svg{display:none}.hero{min-height:160px}.artist-section{margin-bottom:35px}.artist-pill{min-width:150px}.album-grid{grid-template-columns:repeat(2,1fr);gap:20px 14px}.track-head{display:none}.track-row{grid-template-columns:28px 1fr 42px 20px}.track-row>span:nth-child(3){display:none}.player-shell{height:76px;padding:0 14px;grid-template-columns:1fr auto}.playing-track .artwork,.playing-track .icon-button{display:none}.transport{display:block}.transport-buttons button:first-child,.transport-buttons button:last-child,.timeline{display:none}.transport-buttons{gap:10px}.form-grid{grid-template-columns:1fr}.modal{padding:24px}.modal-backdrop{padding:14px}}
