:root{--cream:#f2f0ea;--panel:#e6e3dc;--ink:#0d0d0c;--ink-soft:#57554f;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display:"Courier New", "Lucida Console", ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--ink);background:var(--cream);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{background:linear-gradient(#0d0d0c0a 1px, transparent 1px), linear-gradient(90deg, #0d0d0c0a 1px, transparent 1px), var(--cream);background-size:28px 28px;min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}#root{min-height:100svh}.app-shell{place-items:center;min-height:100svh;padding:clamp(18px,4vw,56px);display:grid}.download-card{border:1px solid var(--ink);background:var(--panel);width:min(100%,540px);box-shadow:10px 10px 0 var(--ink);border-radius:20px;padding:clamp(18px,4vw,34px)}.masthead{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.wordmark{color:var(--ink);font-family:var(--display);letter-spacing:0;text-transform:uppercase;font-size:clamp(1.45rem,5vw,2rem);font-weight:900;line-height:1;text-decoration:none}.mini-badge{border:1px solid var(--ink);min-height:28px;color:var(--ink-soft);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.disc-stage{margin-bottom:24px}.turntable{border:1px solid var(--ink);background:radial-gradient(circle at 18px 18px, var(--ink) 0 3px, transparent 4px), radial-gradient(circle at calc(100% - 18px) 18px, var(--ink) 0 3px, transparent 4px), radial-gradient(circle at 18px calc(100% - 18px), var(--ink) 0 3px, transparent 4px), radial-gradient(circle at calc(100% - 18px) calc(100% - 18px), var(--ink) 0 3px, transparent 4px), linear-gradient(135deg, #fbfaf5, #d8d5cc);border-radius:18px;min-height:246px;position:relative;overflow:hidden}.record{aspect-ratio:1;background:repeating-radial-gradient(circle, var(--ink) 0 6px, #0d0d0c 7px 10px, #1d1d1b 11px 12px), var(--ink);border-radius:50%;width:min(48vw,196px);position:absolute;top:50%;left:clamp(22px,8vw,54px);translate:0 -50%;box-shadow:inset 0 0 0 8px #0a0a09,0 8px 18px #0c0c0a38}.record--spinning{animation:1.05s linear infinite spin}.record__ring{border:1px solid #f2f0ea2e;border-radius:50%;position:absolute;inset:14%}.record__ring--middle{inset:26%}.record__label{background:var(--cream);color:var(--ink);font-family:var(--display);border-radius:50%;place-items:center;font-size:.82rem;font-weight:900;display:grid;position:absolute;inset:36%}.tonearm{background:var(--ink);transform-origin:100%;border-radius:999px;width:78px;height:14px;position:absolute;top:52px;right:clamp(42px,14vw,96px);rotate:42deg}.tonearm:before,.tonearm:after{content:"";border:1px solid var(--ink);background:var(--panel);border-radius:50%;position:absolute}.tonearm:before{width:42px;height:42px;top:-18px;right:-18px}.tonearm:after{background:var(--ink);width:16px;height:16px;top:-5px;right:-5px}.needle{background:var(--ink);border-radius:3px;width:34px;height:10px;position:absolute;top:160px;right:clamp(112px,26vw,178px);rotate:-38deg}.intro{margin-bottom:20px}.eyebrow{background:var(--ink);min-height:28px;color:var(--cream);text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 12px;font-size:.76rem;font-weight:900;display:inline-flex}h1{max-width:12ch;color:var(--ink);font-family:var(--display);letter-spacing:0;margin:12px 0 0;font-size:clamp(2.1rem,8vw,4.2rem);font-weight:900;line-height:.94}.url-field{color:var(--ink);text-transform:uppercase;gap:8px;margin-bottom:16px;font-size:.82rem;font-weight:900;display:grid}.url-field input{border:1.5px solid var(--ink);background:var(--cream);width:100%;min-height:52px;color:var(--ink);font:700 1rem/1.2 var(--body);border-radius:999px;outline:none;padding:0 18px;transition:box-shadow .16s,translate .16s,background .16s}.url-field input:focus{translate:0 -1px;box-shadow:0 0 0 4px #0d0d0c1f}.url-field input:disabled{color:var(--ink-soft);cursor:wait}.url-field input[aria-invalid=true]{box-shadow:0 0 0 3px #0d0d0c29}.format-toggle{border:0;margin:0 0 18px;padding:0}.format-toggle legend{color:var(--ink);text-transform:uppercase;margin-bottom:8px;font-size:.82rem;font-weight:900}.format-track{border:1.5px solid var(--ink);background:var(--cream);border-radius:999px;grid-template-columns:1fr 1fr;gap:0;min-height:52px;display:grid;position:relative;overflow:hidden}.format-thumb{background:var(--ink);border-radius:999px;width:calc(50% - 4px);transition:translate .22s;position:absolute;inset:4px auto 4px 4px}.format-thumb--mp3{translate:calc(100% - 4px)}.format-pill{z-index:1;min-height:52px;color:var(--ink);font:900 .95rem/1 var(--body);cursor:pointer;background:0 0;border:0;transition:color .18s,scale .16s;position:relative}.format-pill small{font-family:var(--display);margin-top:3px;font-size:.7rem;display:block}.format-pill--active{color:var(--cream)}.format-pill:not(:disabled):active{scale:.98}.format-pill:disabled{cursor:wait}.waveform{justify-content:center;align-items:center;gap:4px;height:54px;margin:8px 0 18px;display:flex}.waveform span{width:4px;height:calc(10px + (var(--bar-index) % 7) * 4px);background:var(--ink);opacity:.28;transform-origin:50%;border-radius:999px}.waveform--active span{animation:.85s ease-in-out infinite pulse;animation-delay:calc(var(--bar-index) * 38ms);opacity:1}.download-button{border:1.5px solid var(--ink);background:var(--ink);width:100%;min-height:54px;color:var(--cream);font:950 1rem/1 var(--body);text-transform:uppercase;cursor:pointer;border-radius:999px;transition:background .16s,color .16s,translate .16s,box-shadow .16s}.download-button:not(:disabled):hover{background:var(--cream);color:var(--ink);box-shadow:5px 5px 0 var(--ink);translate:-2px -2px}.download-button:not(:disabled):active{box-shadow:2px 2px 0 var(--ink);translate:0}.download-button:disabled{color:#ece9df;cursor:not-allowed;background:#a6a39a;border-color:#a6a39a}.status{min-height:28px;color:var(--ink-soft);text-align:center;margin:16px 0 0;font-weight:800;animation:.18s both status-in}.status--active,.status--success{color:var(--ink)}.status--error{color:#1b1b18}@keyframes spin{to{rotate:360deg}}@keyframes pulse{0%,to{opacity:.28;scale:1 .45}45%{opacity:1;scale:1 1.2}}@keyframes status-in{0%{opacity:0;scale:.98}to{opacity:1;scale:1}}@media (width>=860px){.download-card{grid-template-columns:minmax(390px,1.12fr) minmax(340px,.88fr);align-items:center;column-gap:clamp(34px,5vw,70px);width:min(100vw - 96px,1080px);padding:clamp(28px,3.2vw,44px);display:grid}.masthead{grid-column:1/-1;margin-bottom:26px}.wordmark{font-size:clamp(1.8rem,2.5vw,2.35rem)}.disc-stage{grid-area:2/1/8;margin:0}.turntable{min-height:clamp(380px,46vw,520px)}.record{width:min(32vw,330px);left:clamp(42px,6vw,86px)}.record__label{font-size:1.05rem}.tonearm{width:clamp(92px,10vw,128px);height:16px;top:clamp(70px,8vw,102px);right:clamp(64px,7vw,116px)}.tonearm:before{width:54px;height:54px;top:-22px;right:-24px}.tonearm:after{width:20px;height:20px;top:-7px;right:-7px}.needle{width:48px;height:12px;top:clamp(242px,29vw,330px);right:clamp(166px,18vw,244px)}.intro,.url-field,.format-toggle,.waveform,.download-button,.status{grid-column:2}.intro{margin-bottom:24px}h1{max-width:10.5ch;font-size:clamp(3.6rem,5.8vw,5.9rem)}.url-field input,.format-track,.download-button{min-height:58px}.waveform{justify-content:stretch;gap:5px;margin:10px 0 20px}.waveform span{flex:1;max-width:7px}}@media (width<=560px){.app-shell{align-items:start;padding:18px}.download-card{box-shadow:6px 6px 0 var(--ink);border-radius:16px}.masthead{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:18px}.turntable{min-height:210px}.record{width:154px;left:22px}.tonearm{width:64px;top:54px;right:36px}.needle{top:141px;right:91px}h1{max-width:11ch}}
