:root{--night:#05070f;--night-2:#0a0e1c;--night-3:#111631;--ink:#e8ecf6;--ink-dim:#8b93ad;--ember:#ff9a3c;--ember-hot:#ffc46b;--ember-deep:#e2680a;--laser:#ff4d2e;--case-edge:#2a3352;--pixel:"Silkscreen", monospace;--crt:"VT323", monospace;--hand:"Caveat", cursive}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--night);color:var(--ink);font-family:var(--crt);-webkit-font-smoothing:antialiased;font-size:20px;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.backdrop{z-index:-2;background:radial-gradient(ellipse 120% 80% at 50% -20%, #1b2350 0%, transparent 55%), radial-gradient(ellipse 80% 60% at 80% 110%, #241236 0%, transparent 50%), radial-gradient(ellipse 60% 50% at 15% 100%, #0e2038 0%, transparent 55%), var(--night);position:fixed;inset:0}.backdrop:after{content:"";opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E");animation:8s steps(10,end) infinite grain;position:absolute;inset:-50%}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-2%,2%)}40%{transform:translate(2%,-1%)}60%{transform:translate(-1%,-2%)}80%{transform:translate(1%,2%)}}.stars{z-index:-1;pointer-events:none;position:fixed;inset:0}.stars i{opacity:.5;background:#cdd7ff;border-radius:50%;width:2px;height:2px;animation:4s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.15}50%{opacity:.7}}.page{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;display:flex;position:relative}.pixel{font-family:var(--pixel);letter-spacing:.02em}.brand{font-family:var(--pixel);color:var(--ink);text-shadow:0 0 24px #ff9a3c59;text-align:center;font-size:clamp(28px,6vw,56px)}.brand em{color:var(--ember);text-shadow:0 0 18px #ff9a3cb3;font-style:normal}.tagline{color:var(--ink-dim);text-align:center;max-width:34ch;margin-top:14px;font-size:clamp(18px,2.6vw,24px);line-height:1.5}.landing-cd-wrap{cursor:pointer;margin:44px 0 12px;transition:transform .4s;position:relative}.landing-cd-wrap:hover{transform:scale(1.04)}.landing-cd-wrap:hover .cta{opacity:1}.cta{font-family:var(--pixel);color:var(--ember-hot);white-space:nowrap;opacity:.85;font-size:13px;animation:1.6s steps(2,end) infinite blink;position:absolute;bottom:-46px;left:50%;transform:translate(-50%)}@keyframes blink{50%{opacity:.35}}.how-it-works{color:var(--ink-dim);flex-wrap:wrap;justify-content:center;gap:28px;margin-top:72px;font-size:17px;display:flex}.how-it-works span{align-items:center;gap:8px;display:flex}.how-it-works b{color:var(--ember);font-family:var(--pixel);font-size:12px}.cd{--size:300px;width:var(--size);height:var(--size);background-blend-mode:multiply;background:conic-gradient(#d9e4f2,#f2e8fa,#cfe4ee,#f7e9d8,#dceef2,#e8e0f5,#d9e4f2),radial-gradient(circle,#0a0d18 0% 100%);border-radius:50%;flex-shrink:0;animation:none;position:relative;box-shadow:inset 0 0 0 2px #ffffff40,inset 0 0 60px #788cc840,0 12px 60px #0009}.cd.idle-spin{animation:12s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cd.paused{animation-play-state:paused}.cd:before{content:"";background:repeating-radial-gradient(circle,#ffffff12 0 1px,#0000000d 2px 3px);border-radius:50%;position:absolute;inset:6%}.cd:after{content:"";background:radial-gradient(circle, var(--night) 0 34%, #c8d2e4 35% 60%, #aab6cc 61% 100%);border-radius:50%;width:30%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #fff6}.cd .label{z-index:1;background:radial-gradient(circle,#efe6d2 0 26%,#e2d7bd 27% 32%,#f4ead6 33%);border-radius:50%;justify-content:center;align-items:center;width:62%;height:62%;padding:16%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cd .label span{font-family:var(--hand);font-size:calc(var(--size) * .075);color:#3a3020;text-align:center;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:90%;line-height:1.15;display:-webkit-box;overflow:hidden}.cd.burning{animation:1.2s linear infinite spin;box-shadow:inset 0 0 0 2px #ffffff40,inset 0 0 80px #ff4d2e80,0 0 90px #ff6a1a8c,0 12px 60px #0009}.cd.small{--size:180px}.cd.small .label span{font-size:15px}.laser{transform-origin:top;background:linear-gradient(to bottom, var(--laser), transparent);opacity:.9;pointer-events:none;width:2px;height:50%;animation:1.2s linear infinite lasersweep;position:absolute;top:50%;left:50%}@keyframes lasersweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.studio{grid-template-columns:1fr 320px;align-items:start;gap:26px;width:min(880px,96vw);display:grid}@media (width<=800px){.studio{grid-template-columns:1fr}}.panel{border:1px solid var(--case-edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e1cd1;border-radius:10px;padding:22px}.panel h2{font-family:var(--pixel);color:var(--ember);letter-spacing:.06em;margin-bottom:16px;font-size:14px}.search-row{gap:10px;display:flex}.search-row input{background:var(--night);border:1px solid var(--case-edge);color:var(--ink);border-radius:8px;outline:none;flex:1;padding:12px 14px;font-size:19px}.search-row input:focus{border-color:var(--ember);box-shadow:0 0 0 3px #ff9a3c26}.btn{background:linear-gradient(180deg, var(--ember-hot), var(--ember-deep));color:#241000;font-family:var(--pixel);letter-spacing:.04em;border:none;border-radius:8px;padding:12px 18px;font-size:12px;transition:transform .12s,box-shadow .12s}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #ff9a3c59}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{border:1px solid var(--case-edge);color:var(--ink-dim);background:0 0}.btn.ghost:hover{color:var(--ink);border-color:var(--ink-dim);box-shadow:none}.btn.big{padding:16px 26px;font-size:15px}.results{flex-direction:column;gap:6px;min-height:60px;margin-top:16px;display:flex}.track-row{border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;transition:background .15s;display:flex}.track-row:hover{background:#ffffff0a}.track-row img{border-radius:4px;flex-shrink:0;width:40px;height:40px}.track-row .meta{flex:1;min-width:0}.track-row .meta .t{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}.track-row .meta .a{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.track-row .add{font-family:var(--pixel);color:var(--ember);background:0 0;border:1px solid #ff9a3c66;border-radius:6px;flex-shrink:0;padding:7px 12px;font-size:11px}.track-row .add:hover{background:#ff9a3c1f}.track-row .add.added{color:var(--ink-dim);border-color:var(--case-edge);pointer-events:none}.sidea{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.sidea .row{border-radius:6px;align-items:center;gap:10px;padding:6px 8px;font-size:17px;display:flex}.sidea .row .num{font-family:var(--pixel);color:var(--ember);width:20px;font-size:11px}.sidea .row .name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidea .row .rm{color:var(--ink-dim);background:0 0;border:none;padding:2px 6px;font-size:18px}.sidea .row .rm:hover{color:var(--laser)}.sidea .empty{color:var(--ink-dim);padding:8px;font-size:17px}.case-fields{flex-direction:column;gap:12px;margin-top:8px;display:flex}.case-fields label{color:var(--ink-dim);flex-direction:column;gap:6px;font-size:16px;display:flex}.case-fields input,.case-fields textarea{background:var(--night);border:1px solid var(--case-edge);color:var(--ink);resize:vertical;border-radius:8px;outline:none;padding:10px 12px;font-size:18px}.case-fields input:focus,.case-fields textarea:focus{border-color:var(--ember)}.case-fields textarea{font-family:var(--hand);min-height:96px;font-size:24px;line-height:1.3}.burn-bar{flex-direction:column;align-items:stretch;gap:10px;margin-top:18px;display:flex}.hint{color:var(--ink-dim);text-align:center;font-size:15px}.burn-scene{text-align:center;flex-direction:column;align-items:center;gap:26px;display:flex}.burn-status{font-family:var(--pixel);color:var(--ember-hot);min-height:1.4em;font-size:15px}.burn-progress{background:var(--night-3);border:1px solid #8b93ad73;border-radius:999px;width:min(420px,80vw);height:10px;overflow:hidden}.burn-progress i{background:linear-gradient(90deg, var(--ember-deep), var(--ember-hot));height:100%;transition:width .25s linear;display:block;box-shadow:0 0 16px #ff9a3c99}.done{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(560px,92vw);display:flex}.link-box{background:var(--night);border:1px solid var(--case-edge);border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.link-box code{min-width:0;font-family:var(--crt);color:var(--ember-hot);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;font-size:17px;overflow:hidden}.done-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:6px;display:flex}.copied-toast{background:var(--ember);color:#241000;font-family:var(--pixel);z-index:50;border-radius:8px;padding:10px 18px;font-size:12px;animation:.25s toast-in;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.case-scene{flex-direction:column;align-items:center;gap:22px;display:flex}.jewel-case{aspect-ratio:.86;cursor:pointer;width:min(340px,84vw);transition:transform .35s;position:relative}.jewel-case:hover{transform:translateY(-4px)rotate(-1deg)}.jewel-case .back{background:linear-gradient(160deg,#171d3a,#0b0f22);border:2px solid #384270;border-radius:10px;justify-content:center;align-items:center;padding:26px;display:flex;position:absolute;inset:0;box-shadow:0 24px 70px #000000a6,inset 0 0 0 6px #ffffff08}.jewel-case .back .note{font-family:var(--hand);color:#f0e8d8;text-align:center;white-space:pre-wrap;word-break:break-word;opacity:.12;filter:blur(3px);max-height:70%;font-size:clamp(22px,5.4vw,30px);line-height:1.35;overflow:hidden}.jewel-case .lid{transform-origin:0;background:linear-gradient(150deg,#1e2642eb,#121628e0 45%,#222a48eb);border:2px solid #a0b4eb80;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:transform .9s cubic-bezier(.6,.05,.3,1),opacity .7s;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 30px #ffffff0f,inset 0 1px #ffffff1f,0 24px 70px #00000080}.jewel-case.open .lid{opacity:.15;transform:perspective(1400px)rotateY(-148deg)}.jewel-case .lid .title{font-family:var(--hand);color:#f4efe2;text-shadow:0 2px 10px #00000080;font-size:clamp(24px,6vw,34px)}.jewel-case .lid .from{font-family:var(--pixel);color:#f0f4ffbf;letter-spacing:.08em;font-size:11px}.jewel-case .lid .open-hint{font-family:var(--pixel);color:var(--ember-hot);margin-top:10px;font-size:10px;animation:1.8s steps(2,end) infinite blink}.player-shell{flex-direction:column;align-items:center;gap:18px;width:min(520px,94vw);display:flex}.deck{border:1px solid var(--case-edge);background:linear-gradient(#141a36,#0c1024);border-radius:14px;flex-direction:column;align-items:center;gap:18px;width:100%;padding:26px 22px 20px;display:flex;box-shadow:0 24px 70px #0000008c,inset 0 1px #ffffff0f}.now-playing{text-align:center;min-height:52px}.now-playing .t{font-size:23px;line-height:1.2}.now-playing .a{color:var(--ink-dim);font-size:17px}.transport{align-items:center;gap:12px;display:flex}.transport button{border:1px solid var(--case-edge);background:var(--night-3);width:52px;height:52px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:all .15s;display:flex}.transport button:hover{border-color:var(--ember);color:var(--ember-hot)}.transport button.main{background:linear-gradient(180deg, var(--ember-hot), var(--ember-deep));color:#241000;border:none;width:84px;height:84px;font-size:30px;position:relative;box-shadow:0 6px 26px #ff9a3c59}.transport button.main.pulse{animation:1.6s ease-in-out infinite play-pulse}@keyframes play-pulse{0%,to{transform:scale(1);box-shadow:0 6px 26px #ff9a3c59,0 0 #ff9a3c73}50%{transform:scale(1.05);box-shadow:0 6px 34px #ff9a3c80,0 0 0 16px #ff9a3c00}}.press-play-hint{font-family:var(--pixel);letter-spacing:.08em;color:var(--ember-hot);opacity:.85;font-size:11px;animation:1.6s ease-in-out infinite hint-blink}@keyframes hint-blink{0%,to{opacity:.85}50%{opacity:.4}}.share-links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.share-chip{border:1px solid var(--case-edge);color:var(--ink-dim);font-family:var(--pixel);letter-spacing:.06em;background:#ffffff08;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:11px;text-decoration:none;transition:all .15s;display:inline-flex}.share-chip:hover{border-color:var(--ember);color:var(--ember-hot);background:#ff9a3c14}.tracklist{flex-direction:column;gap:2px;width:100%;display:flex}.tracklist .row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:17px;display:flex}.tracklist .row:hover{background:#ffffff0d}.tracklist .row.active{background:#ff9a3c1a}.tracklist .row.active .num{color:var(--ember-hot)}.tracklist .row .num{font-family:var(--pixel);color:var(--ink-dim);width:18px;font-size:10px}.tracklist .row .name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tracklist .row .dur{color:var(--ink-dim);font-size:15px}.eq{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.eq i{background:var(--ember);width:3px;animation:.8s ease-in-out infinite eq}.eq i:nth-child(2){animation-delay:.25s}.eq i:nth-child(3){animation-delay:.5s}@keyframes eq{0%,to{height:4px}50%{height:14px}}.recipient-note{font-family:var(--hand);color:#efe6d2;text-align:center;white-space:pre-wrap;max-width:46ch;font-size:26px;line-height:1.4}.recipient-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.footer-note{color:var(--ink-dim);opacity:.6;text-align:center;max-width:60ch;margin-top:40px;font-size:14px;line-height:1.5}.footer-note a{text-decoration:underline}.fade-in{animation:.6s both fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}}
