:root{
--bg:#090604;--panel:#16100c;--panel2:#20140e;--text:#f5e7cb;--muted:#a68a67;--gold:#d7a74f;--red:#a62b1d;--orange:#dd6733;--green:#6caf5d;--line:#563921}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -8%,#3c1f12 0,#130c08 34%,#080604 72%);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}
body:before{content:"";position:fixed;inset:0;opacity:.13;pointer-events:none;background-image:repeating-linear-gradient(90deg,transparent 0 5px,#000 6px 7px)}
#app{max-width:540px;margin:auto;min-height:100vh;padding-bottom:90px}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:#0e0906ee;backdrop-filter:blur(15px);border-bottom:1px solid #4c321d}
h1,h2,h3,p{margin:0}h1{font-family:Georgia,serif;letter-spacing:.1em;font-size:24px;color:#f3c36d;text-shadow:0 0 12px #df5c3188}.eyebrow{font-size:9px;letter-spacing:.18em;color:var(--muted)}
.iconbtn,.ghost,.backbtn,.panel-head button{background:#17100c;border:1px solid #5d3c22;color:#e8b966;border-radius:10px;padding:9px 11px}.screen{display:none;padding:16px}.screen.active{display:block}
.jukebox{background:linear-gradient(145deg,#2c180f,#100a07);border:1px solid #83562e;border-radius:28px;padding:14px;box-shadow:inset 0 0 0 4px #110b08,0 18px 40px #0008}.arch{min-height:300px;border:8px solid #a37a43;border-bottom-width:3px;border-radius:165px 165px 25px 25px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#ed6b4350 0 24%,#2c1510 25% 58%,#0a0806 60%);box-shadow:inset 0 0 0 7px #3f291a,inset 0 0 26px #e75c34}
.neon{position:absolute;top:32px;text-align:center;font-family:Georgia,serif;font-weight:800;letter-spacing:.1em;font-size:31px;color:#ffd57c;text-shadow:0 0 5px #ff6c32,0 0 16px #e8431f}.vinyl{border-radius:50%;background:repeating-radial-gradient(circle,#090909 0 2px,#1c1917 3px 5px);display:grid;place-items:center;box-shadow:0 0 0 1px #4e4036}.vinyl i{display:block;border-radius:50%;background:radial-gradient(circle,#d5aa5d 0 12%,#922f1d 13% 62%,#34120e 63%);width:34%;height:34%}.xl{width:145px;height:145px;margin-top:110px;animation:spin 12s linear infinite}.sm{width:54px;height:54px;flex:0 0 auto}@keyframes spin{to{transform:rotate(360deg)}}
.selection-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:11px}.jukecard{background:#e5d0a1;color:#2b1a0f;border:3px double #795633;border-radius:7px;padding:7px 4px;font-size:9px}.jukecard b{display:block;color:#9d291d}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}.stats-grid article{background:linear-gradient(#24150f,#130d09);border:1px solid #604025;border-radius:14px;padding:12px}.stats-grid span{font-size:10px;color:var(--muted)}.stats-grid strong{display:block;font-family:Georgia,serif;font-size:26px;color:#efbc5d}
.primary{border:1px solid #ef8c43;border-radius:13px;background:linear-gradient(#cb4b28,#8e2118);color:#fff4dc;padding:14px;font-weight:800}.giant{width:100%;display:flex;justify-content:center;align-items:center;gap:10px;font-size:20px}.giant span b,.giant span small{display:block}.giant span small{font-size:10px;font-weight:500;color:#ffd9b9}.full{width:100%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.feature{background:linear-gradient(145deg,#1c120d,#100b08);border:1px solid #54371f;border-radius:14px;color:var(--text);padding:14px;text-align:left}.feature span{font-size:25px;color:#e1753c}.feature b,.feature small{display:block}.feature small{color:var(--muted);margin-top:3px}.topgap{margin-top:12px}
.panel{margin-top:13px;background:#15100c;border:1px solid #4e3520;border-radius:15px;padding:13px}.panel-head,.section-title{display:flex;justify-content:space-between;align-items:center}.panel-head{margin-bottom:10px}.panel-head h2{font-size:16px}.section-title{margin:6px 0 14px}.section-title h2{font-family:Georgia,serif;font-size:28px;color:#f1bf69}
.cover-row{display:flex;gap:9px;overflow:auto}.cover-card{width:90px;flex:0 0 90px}.cover-art{height:90px;border-radius:8px;background:linear-gradient(135deg,#7d2c1f,#d89b4a 55%,#1c1511);border:1px solid #69472a;display:grid;place-items:center;text-align:center;padding:5px;font-family:Georgia,serif;font-size:11px}.cover-card b,.cover-card small{display:block}.cover-card b{font-size:10px;margin-top:5px}.cover-card small{font-size:9px;color:var(--muted)}
.player{display:flex;align-items:center;gap:10px}.grow{flex:1}.player b,.player small{display:block}.player small{font-size:10px;color:var(--muted);margin-top:3px}.player button{width:40px;height:40px;border-radius:50%;border:1px solid #d07937;background:#2b190f;color:#ffd181}
.searchbar{display:flex;align-items:center;gap:8px;background:#15100c;border:1px solid #503721;border-radius:14px;padding:11px 13px;margin:10px 0}.searchbar input{border:0;outline:0;background:none;color:var(--text);width:100%;font-size:15px}.chips{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.chip{white-space:nowrap;border:1px solid #59402a;background:#17100c;color:#c9ad87;padding:8px 10px;border-radius:999px}.chip.active{background:#8e2f1e;color:white;border-color:#da6c34}
.record-list{display:grid;gap:10px}.record{display:grid;grid-template-columns:60px 1fr auto;gap:10px;align-items:center;background:linear-gradient(145deg,#1d130e,#110c09);border:1px solid #52371f;border-radius:14px;padding:10px}.thumb{width:60px;height:60px;border-radius:8px;background:linear-gradient(135deg,#b85f32,#2a1710);display:grid;place-items:center;font-size:25px}.record b,.record small{display:block}.record small{color:var(--muted);margin-top:3px}.record-actions{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.tiny{border:1px solid #5a3d25;background:#1b120d;color:#e9c98e;border-radius:8px;padding:6px 8px;font-size:10px}.badge{padding:5px 7px;border-radius:8px;font-size:9px;border:1px solid #5e402a;color:#efbd6e}.badge.warn{color:#ff9a67;border-color:#8f3b2a}
.camera-box{position:relative;min-height:350px;border:1px solid #7f5831;border-radius:20px;overflow:hidden;background:#120d09}.camera-box input,.condition-card input{display:none}.camera-label{position:absolute;inset:0;display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;text-align:center;padding:28px;color:#f1d3a1}.camera-icon{font-size:58px;color:#e36a35}.camera-label small{color:var(--muted)}.frame{position:absolute;inset:26px;border:2px solid #db7b3d;border-radius:16px;opacity:.65}#scanPreview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.seller-result{margin-top:12px;padding:18px;border-radius:16px;background:#15100c;border:1px solid #553a23}.seller-result b,.seller-result span{display:block}.seller-result span{color:var(--muted);margin-top:5px}.seller-result.found{border-color:#43753b;background:#142013}.seller-result.notfound{border-color:#8b5b2c;background:#21160e}
.condition-card h3{margin-bottom:5px;color:#f0c070}.upload-btn{display:inline-block;margin-top:8px;border:1px solid #70492a;background:#23150e;border-radius:10px;padding:10px 12px;color:#f0c17a}.analysis-preview{display:none;width:100%;max-height:260px;object-fit:cover;border-radius:12px;margin-top:10px;border:1px solid #5f4127}.meter{display:flex;justify-content:space-between;margin-top:11px;padding-top:10px;border-top:1px solid #3e2a1c}.meter b{color:#f0bd5e}.audio-recorder{display:flex;align-items:center;gap:10px;margin-top:10px}.record-btn{width:54px;height:54px;border-radius:50%;border:2px solid #df6a39;background:#8e251a;color:#fff;font-size:22px}.audio-recorder audio{width:140px}.condition-summary{display:flex;align-items:center;gap:15px;margin-top:13px;background:#15100c;border:1px solid #4e3520;border-radius:16px;padding:14px}.condition-ring{width:92px;height:92px;border-radius:50%;border:7px solid #c68d3c;display:grid;place-items:center;align-content:center}.condition-ring strong{font-size:26px}.condition-ring span{font-size:9px;color:var(--muted)}.condition-summary div:last-child b,.condition-summary div:last-child small{display:block}.condition-summary div:last-child small{color:var(--muted);margin-top:4px}
.detail-card{background:#15100c;border:1px solid #5c3c22;border-radius:18px;padding:15px;margin-top:12px}.detail-cover{height:250px;border-radius:13px;background:linear-gradient(135deg,#9d3c25,#d79a49 50%,#21140e);display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;text-align:center;padding:20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.detail-grid div{background:#0f0b08;border:1px solid #3d2a1d;border-radius:10px;padding:10px}.detail-grid span,.detail-grid b{display:block}.detail-grid span{font-size:9px;color:var(--muted)}.scores3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.scorebox{background:#0f0b08;border:1px solid #3f2b1c;border-radius:11px;padding:10px;text-align:center}.scorebox strong{font-size:22px;color:#e7b45a}.scorebox small{display:block;color:var(--muted);font-size:9px}
.bottomnav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(540px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:#0d0907ee;backdrop-filter:blur(15px);border-top:1px solid #5b3d25;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.nav{background:none;border:0;color:#92785a;display:flex;flex-direction:column;align-items:center;gap:2px}.nav span{font-size:21px}.nav small{font-size:9px}.nav.active{color:#ef723e}.nav.scan span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#962a1d;border:2px solid #e58a45;margin-top:-25px;color:#fff}
dialog{border:0;background:transparent;padding:10px;width:min(500px,95vw);color:var(--text)}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-card{background:#160f0b;border:1px solid #79512e;border-radius:20px;padding:16px;box-shadow:0 30px 80px #000}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head button{background:none;border:0;color:#e8c99b;font-size:25px}.dialog-card label{display:block;color:#b99972;font-size:10px;margin:8px 0}.dialog-card input,.dialog-card select,.dialog-card textarea{display:block;width:100%;margin-top:5px;background:#0e0a08;border:1px solid #4c3523;border-radius:9px;padding:10px;color:#f4e5c9}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.muted{color:var(--muted);font-size:10px;line-height:1.5}.topgap{margin-top:12px}
.light body,.light{--bg:#f3eadc;--panel:#fffaf1;--text:#2b1b10;--muted:#7d644c}


/* A silent turntable scene. Animation pauses off-screen and with reduced motion. */
.jukebox.hero .arch{min-height:330px}
.turntable{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:240px;height:190px;padding:0;border:0;border-radius:22px;background:linear-gradient(145deg,#543320,#24160f);box-shadow:inset 0 0 0 2px #a37a43,0 8px 18px #0009;cursor:pointer;overflow:hidden}
.turntable:focus-visible{outline:3px solid #ffc96e;outline-offset:4px}
.platter{position:absolute;width:154px;height:154px;left:18px;top:18px;border-radius:50%;background:radial-gradient(circle,#141210 60%,#a1a09a 61% 66%,#29251f 67%);box-shadow:0 3px 12px #000b}
.disc-arrival{position:absolute;inset:5px;animation:plak-seat 1.2s cubic-bezier(.2,.75,.3,1) both}
.turntable .vinyl.xl{width:100%;height:100%;margin:0;animation:spin 5s linear 1.8s infinite;position:relative}
.groove-shine{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 15%,#ffffff16 19%,transparent 23% 60%,#ffffff12 69%,transparent 76%);pointer-events:none}
.tonearm{position:absolute;right:24px;top:22px;width:16px;height:132px;transform-origin:50% 9px;transform:rotate(-4deg);animation:plak-arm 1s ease-in-out 1.15s both;z-index:2}
.tonearm::before{content:'';position:absolute;left:-6px;top:-4px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,#30261d 25%,#d4c6a7 29% 57%,#6c5740 60%);box-shadow:0 2px 5px #0008}
.tonearm-bar{position:absolute;top:14px;left:5px;width:7px;height:105px;border-radius:6px;background:linear-gradient(90deg,#6e665b,#eee7d5 45%,#958877);box-shadow:3px 2px 3px #0008}
.cartridge{position:absolute;bottom:0;left:0;width:19px;height:24px;transform:rotate(-14deg);border-radius:4px;background:linear-gradient(90deg,#24201b,#897968);box-shadow:2px 3px 4px #0009}
.turntable-light{position:absolute;right:15px;bottom:13px;width:7px;height:7px;border-radius:50%;background:#ed9a35;box-shadow:0 0 8px #f28635}
.turntable.paused .vinyl.xl,.turntable.paused .disc-arrival,.turntable.paused .tonearm{animation-play-state:paused}
.screen:not(.active) .turntable *{animation-play-state:paused}
.plak-image-error{display:grid;place-items:center;gap:.2rem;text-align:center;font-size:24px}.plak-image-error small{font-size:10px;line-height:1.2;color:var(--muted)}
.plak-image-label{font-size:12px;color:var(--muted);text-align:center}
@keyframes plak-seat{from{transform:translate(65px,-180px) rotate(-35deg);opacity:0}to{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes plak-arm{from{transform:rotate(-4deg)}to{transform:rotate(26deg)}}
@media(prefers-reduced-motion:reduce){.turntable *{animation:none!important}.tonearm{transform:rotate(26deg)}}

/* Decorative stereo pair: one pause control, no audio or camera request. */
.jukebox.hero .turntable{width:54%;height:auto;aspect-ratio:24/19;overflow:hidden}
.jukebox.hero .platter{width:64%;height:auto;aspect-ratio:1;left:7.5%;top:9.5%}
.jukebox.hero .tonearm{right:10%;top:11.5%;width:6.7%;height:69.5%}
.jukebox.hero .tonearm-bar{top:10.6%;left:31%;width:44%;height:79.5%}
.jukebox.hero .tonearm::before{left:-37.5%;top:-3%;width:175%;height:auto;aspect-ratio:1}
.jukebox.hero .cartridge{width:119%;height:18%}
.retro-speaker{position:absolute;bottom:18px;width:17%;height:46%;border:2px solid #aa7d45;border-radius:8px;background:repeating-linear-gradient(90deg,#472a17 0 3px,#56331d 3px 5px);box-shadow:inset 0 0 0 4px #201309,0 6px 12px #0009;pointer-events:none}
.speaker-left{left:2.5%}.speaker-right{right:2.5%}
.retro-speaker::before{content:'';position:absolute;inset:7px;border-radius:4px;background:repeating-linear-gradient(0deg,#41362a 0 1px,#211b14 1px 3px)}
.speaker-tweeter{position:absolute;left:30%;top:13%;width:40%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#b4a184 0 16%,#171410 18% 43%,#69563f 45% 55%,#0d0c0a 57%);box-shadow:0 2px 4px #000a}
.speaker-woofer{position:absolute;left:12%;top:43%;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#554737 0 20%,#1c1914 21% 49%,#554838 51% 57%,#14120f 60% 67%,#a18459 69% 72%,#1b1510 74%);box-shadow:0 3px 6px #000b;animation:plak-speaker-pulse 1.25s ease-in-out 1.8s infinite}
.speaker-woofer i{position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle at 36% 30%,#857155,#292118 70%)}
.speaker-right .speaker-woofer{animation-delay:1.95s}
.speaker-pilot{position:absolute;bottom:9%;left:46%;width:8%;aspect-ratio:1;border-radius:50%;background:#d4923e;box-shadow:0 0 5px #e3a24b;animation:plak-speaker-glow 2.5s ease-in-out 1.8s infinite}
.scene-paused .retro-speaker *,.screen:not(.active) .retro-speaker *{animation-play-state:paused}
.scene-paused .speaker-pilot{box-shadow:none}
@keyframes plak-speaker-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.035)}65%{transform:scale(1.012)}}
@keyframes plak-speaker-glow{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.retro-speaker *{animation:none!important}}

.jukebox-picker{display:block;color:var(--muted);font-size:13px;margin-bottom:12px}.jukebox-picker select{display:block;width:100%;margin-top:6px;min-height:44px}.jukebox-cover{flex:0 0 64px;width:64px;height:64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#080808;color:var(--gold)}.jukebox-cover img{width:100%;height:100%;object-fit:cover}.jukebox-cover small{display:none}

.record-cover-note{font-size:11px;line-height:1.35;color:var(--muted)}
