@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{color:#201a1c;font-synthesis:none;--wine:#7b263d;--wine-dark:#5d1b2d;--wine-deep:#42101f;--rose:#c67879;--gold:#c69a54;--cream:#fcf8f5;--paper:#fffdfb;--muted:#6e6265;--line:#e7d8d4;--success:#327a5c;background:#fcf8f5;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.app{min-height:100vh}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.simple-header,.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#fcf8f5eb;border-bottom:1px solid #5d1b2d1c;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,5vw,72px);display:flex;position:relative}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{color:#f2ca7e;background:var(--wine-dark);border-radius:50%;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 7px 18px #5d1b2d2b}.simple-header>a,.app-header nav a{color:var(--wine);font-size:.88rem;font-weight:700;text-decoration:none}.app-header nav{align-items:center;gap:22px;display:flex}.app-header nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;display:flex}.login-shell{place-items:center;min-height:calc(100vh - 72px);padding:42px 18px 72px;display:grid;position:relative;overflow:hidden}.login-shell:before,.login-shell:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.login-shell:before{border:1px solid #c69a5447;width:440px;height:440px;top:2%;right:-230px;box-shadow:inset 0 0 0 55px #c69a540a}.login-shell:after{background:#7b263d0e;width:300px;height:300px;bottom:-120px;left:-170px}.login-card{border:1px solid var(--line);z-index:1;text-align:center;background:#fffdfbf5;border-radius:30px;width:min(100%,510px);padding:clamp(30px,6vw,54px);position:relative;box-shadow:0 25px 80px #4a14251c}.login-symbol{color:#f2ca7e;background:var(--wine-dark);border-radius:21px;place-items:center;width:62px;height:62px;margin:0 auto 24px;display:grid;transform:rotate(-4deg)}.login-symbol.success{color:var(--success);background:#e3f2eb}.eyebrow{color:var(--wine);letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px;font-size:.74rem;font-weight:800}.login-card h1,.library-hero h1,.library-heading h2,.empty-state h2,.song-card h2{font-family:Playfair Display,Georgia,serif}.login-card h1{color:#321820;letter-spacing:-.035em;margin:0;font-size:clamp(2.1rem,8vw,3.15rem);line-height:1.05}.lead{color:var(--muted);margin:19px auto 30px;font-size:1rem;line-height:1.7}.login-card form{text-align:left}.login-card label{color:#4c3a3f;margin-bottom:9px;font-size:.84rem;font-weight:700;display:block}.input-wrap{color:#a6868d;background:#fff;border:1px solid #dbc9c5;border-radius:15px;align-items:center;gap:10px;height:56px;padding:0 16px;transition:border .2s,box-shadow .2s;display:flex}.input-wrap:focus-within{border-color:var(--wine);box-shadow:0 0 0 4px #7b263d14}.input-wrap input{color:#2e1b20;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:1rem}.form-error,.card-error{color:#a02d46;font-size:.82rem;line-height:1.45}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:55px;margin-top:14px;font-weight:800;display:flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--wine), var(--wine-dark));box-shadow:0 15px 30px #5d1b2d33}.secondary-button{color:var(--wine);background:#f5ebe8}button:disabled{opacity:.6;cursor:wait}.trust-note{color:#7b6e71;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:.77rem;display:flex}.sent-card .small-copy{color:#897c7f;font-size:.82rem;line-height:1.55}.library-shell{width:min(1180px,100% - 36px);margin:0 auto;padding-bottom:80px}.library-hero{color:#fff;background:radial-gradient(circle at 90% 12%,#f2ca7e3d,#0000 28%),linear-gradient(135deg,#6f2137,#42101f);border-radius:34px;margin:28px 0 38px;padding:clamp(34px,6vw,72px);position:relative;overflow:hidden}.library-hero:after{content:"♪";color:#ffffff0e;font:180px/1 Playfair Display;position:absolute;bottom:-32px;right:7%;transform:rotate(-8deg)}.library-hero .eyebrow{color:#f2ca7e;align-items:center;gap:7px;display:flex}.library-hero h1{z-index:1;letter-spacing:-.05em;max-width:700px;margin:18px 0 22px;font-size:clamp(2.7rem,7vw,5.4rem);line-height:.98;position:relative}.library-hero h1 em{color:#f2ca7e;font-weight:600}.library-hero>p:last-child{z-index:1;color:#ffffffc4;max-width:600px;margin:0;font-size:1rem;line-height:1.7;position:relative}.library-heading{justify-content:space-between;align-items:end;margin:42px 4px 20px;display:flex}.library-heading span{color:var(--wine);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800}.library-heading h2{color:#321820;margin:4px 0 0;font-size:clamp(2rem,5vw,3rem)}.library-heading button{border:1px solid var(--line);color:var(--wine);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:7px;padding:11px 14px;font-size:.84rem;font-weight:700;display:flex}.songs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.song-card{background:var(--paper);border:1px solid var(--line);border-radius:25px;min-width:0;padding:clamp(22px,4vw,34px);box-shadow:0 14px 40px #4a14250e}.song-card.status-released{border-color:#327a5c47}.song-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-badge{color:#8d5b16;background:#fff1d7;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.71rem;font-weight:800;display:inline-flex}.status-released .status-badge{color:var(--success);background:#e3f2eb}.status-production .status-badge{color:#8a4058;background:#f6e7eb}.status-cancelled .status-badge{color:#75696c;background:#eee9e7}.song-date{color:#998a8e;font-size:.72rem}.song-identity{grid-template-columns:68px 1fr;align-items:center;gap:17px;margin-top:25px;display:grid}.cover-art{color:#f2ca7e;background:linear-gradient(145deg, var(--wine), var(--wine-deep));border-radius:20px;place-items:center;width:68px;height:68px;display:grid}.song-for{color:var(--wine);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:.71rem;font-weight:800}.song-card h2{color:#321820;letter-spacing:-.025em;margin:0;font-size:clamp(1.45rem,4vw,2rem);line-height:1.15}.tags{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.tags span{color:#795e66;text-transform:capitalize;background:#f5ebe8;border-radius:999px;padding:5px 8px;font-size:.68rem}.status-detail{color:var(--muted);margin:22px 0 15px;font-size:.86rem;line-height:1.55}.play-button,.download-button{cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-weight:800;display:inline-flex}.play-button{color:#fff;background:var(--wine);border:0;width:100%}.download-button{color:var(--wine);background:#fff;border:1px solid #d8c5c1;padding:0 16px}.released-actions{grid-template-columns:1fr auto;gap:9px;display:grid}.audio-panel{background:#f4ebe8;border-radius:15px;margin-top:15px;padding:14px}.audio-panel span{color:var(--wine);text-transform:uppercase;letter-spacing:.08em;margin:0 0 9px 2px;font-size:.69rem;font-weight:800;display:block}.audio-panel audio{width:100%;height:40px;display:block}.lyrics{border-top:1px solid #eadeda;margin-top:15px}.lyrics summary{cursor:pointer;color:var(--wine);justify-content:space-between;align-items:center;padding:17px 2px 5px;font-size:.84rem;font-weight:800;list-style:none;display:flex}.lyrics summary::-webkit-details-marker{display:none}.lyrics[open] summary svg{transform:rotate(180deg)}.lyrics>div{background:#f8f2ef;border-radius:14px;max-height:300px;margin-top:10px;padding:16px;overflow:auto}.lyrics p{color:#65575b;white-space:pre-wrap;margin:0;font-size:.83rem;line-height:1.55}.unlock-box{background:linear-gradient(135deg,#fff8e9,#fffdf9);border:1px solid #c69a546b;border-radius:17px;margin-top:18px;padding:16px}.unlock-box>div{color:#8d5b16;align-items:flex-start;gap:10px;display:flex}.unlock-box p{margin:0}.unlock-box strong,.unlock-box span{display:block}.unlock-box strong{color:#4d2c1e;font-size:.83rem}.unlock-box span{color:#806d62;margin-top:3px;font-size:.74rem}.unlock-box button{color:#fff;background:var(--wine-dark);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;margin-top:14px;font-weight:800;display:flex}.card-error{margin-bottom:0}.library-loading,.page-error,.empty-state{text-align:center;border:1px solid var(--line);background:#fff;border-radius:24px;padding:55px 24px}.library-loading{color:var(--muted)}.page-error p{color:#a02d46}.page-error button{color:#fff;background:var(--wine);cursor:pointer;border:0;border-radius:12px;padding:12px 18px;font-weight:700}.empty-state>div{width:62px;height:62px;color:var(--wine);background:#f5e9e8;border-radius:20px;place-items:center;margin:auto;display:grid}.empty-state h2{color:#321820;font-size:2rem}.empty-state p{max-width:520px;color:var(--muted);margin:0 auto 23px;line-height:1.6}.empty-state a{color:#fff;background:var(--wine);border-radius:13px;align-items:center;gap:8px;padding:14px 18px;font-weight:800;text-decoration:none;display:inline-flex}.loading-banner{color:var(--wine);background:#f5e9e8;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-bottom:15px;padding:12px;font-size:.84rem;font-weight:700;display:flex}.support-strip{color:#fff;background:var(--wine-dark);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding:22px 26px;display:flex}.support-strip>div{align-items:center;gap:13px;display:flex}.support-strip p{margin:0}.support-strip strong,.support-strip span{display:block}.support-strip strong{font-size:.87rem}.support-strip span{color:#ffffffab;margin-top:3px;font-size:.75rem}.support-strip a{color:#3b2216;background:#f2ca7e;border-radius:11px;flex:none;padding:11px 15px;font-size:.79rem;font-weight:800;text-decoration:none}footer{color:#88797d;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:30px clamp(20px,5vw,72px);font-size:.77rem;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#200c13b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.checkout-modal{background:#fff;border-radius:24px;width:min(100%,620px);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 30px 100px #00000052}.modal-heading{justify-content:space-between;align-items:center;gap:20px;padding:21px 22px 10px;display:flex}.modal-heading span{color:var(--wine);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;font-weight:800}.modal-heading h2{color:#321820;margin:5px 0 0;font:600 1.35rem/1.2 Playfair Display}.modal-heading button{width:38px;height:38px;color:var(--wine);cursor:pointer;background:#f4ece9;border:0;border-radius:50%;place-items:center;display:grid}.boot-screen{min-height:100vh;color:var(--wine);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}@media (width<=760px){.simple-header,.app-header{height:64px;padding:0 16px}.app-header nav a{display:none}.app-header nav button{font-size:0}.app-header nav button svg{width:20px;height:20px}.library-shell{width:min(100% - 24px,1180px)}.library-hero{border-radius:24px;margin-top:12px;padding:34px 24px 40px}.library-hero h1{font-size:clamp(2.45rem,13vw,3.6rem)}.library-heading{margin-top:30px}.library-heading button{padding:10px;font-size:0}.songs-grid{grid-template-columns:1fr}.song-card{border-radius:21px}.song-topline{align-items:flex-start}.song-date{text-align:right;max-width:100px}.song-identity{grid-template-columns:58px 1fr;gap:13px}.cover-art{border-radius:17px;width:58px;height:58px}.released-actions{grid-template-columns:1fr}.download-button{width:100%}.support-strip{flex-direction:column;align-items:stretch}.support-strip a{text-align:center}footer{flex-direction:column;align-items:flex-start}.checkout-modal{border-radius:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
