*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}:root{--case-1: #6b4127;--case-2: #4a2a17;--case-3: #3a1f10;--case-edge: #2a160b;--metal-1: #d8d4c9;--metal-2: #a8a397;--metal-3: #6e695e;--metal-shine: #f4f1e8;--grille-bg: #1a120a;--grille-dot: #0a0604;--grille-rim: #2a1810;--display-bg: #2a1605;--display-bg-2: #1a0d02;--display-glow: #ffb347;--display-text: #ffd089;--display-dim: #c47a2a;--led-red: #ff4530;--led-green: #4dff7a;--led-amber: #ffaa33;--label-ink: #2a1808;--label-paper: #e8dcc4;--wall: #c8b89a;--wall-2: #b09c7a;--shadow: rgba(20, 10, 4, .45);--rad: 8px}body{font-family:Noto Sans SC,PingFang SC,-apple-system,system-ui,sans-serif;background:radial-gradient(ellipse at 50% 35%,var(--wall) 0%,var(--wall-2) 70%,#8a7657 100%);min-height:100vh;color:#2a1808;overflow-x:hidden}.stage{min-height:100vh;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;position:relative}.stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(92deg,transparent 0 80px,rgba(0,0,0,.015) 80px 81px),repeating-linear-gradient(88deg,transparent 0 140px,rgba(0,0,0,.02) 140px 141px)}.brand-row{display:flex;align-items:baseline;gap:14px;flex-wrap:nowrap;white-space:nowrap;font-family:"Noto Serif SC",serif;color:#3a2614;letter-spacing:.02em;z-index:2}.brand-row .mark{font-size:13px;font-weight:500;letter-spacing:.4em;color:#6e5536;text-transform:uppercase}.brand-row .dot{color:#b58b4a}.brand-row .yr{font-family:DM Mono,monospace;font-size:12px;color:#8a6b3f;letter-spacing:.1em}.layout{display:flex;align-items:flex-start;justify-content:center;gap:64px;z-index:1}.radio{width:980px;height:560px;position:relative;border-radius:14px;background:linear-gradient(180deg,var(--case-1) 0%,var(--case-2) 60%,var(--case-3) 100%);box-shadow:0 60px 80px -20px var(--shadow),0 30px 40px -15px #140a0466,inset 0 2px #ffdcb42e,inset 0 -3px #0006,inset 4px 0 6px #0000002e,inset -4px 0 6px #0000002e;padding:22px}.radio:before{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;background:repeating-linear-gradient(98deg,#0000,#0000000f 1px,#0000 4px,#ffc88c0a 5px,#0000 9px),repeating-linear-gradient(94deg,#0000 0,#0000000a 80px,#0000 220px);mix-blend-mode:overlay;opacity:.85}.radio:after{content:"";position:absolute;inset:6px;border-radius:10px;pointer-events:none;background:linear-gradient(180deg,rgba(255,220,170,.06),transparent 35%)}.faceplate{position:absolute;inset:22px;border-radius:10px;background:linear-gradient(180deg,var(--metal-1) 0%,var(--metal-2) 55%,var(--metal-3) 100%);box-shadow:inset 0 1px 0 var(--metal-shine),inset 0 -2px #00000040,inset 2px 0 4px #00000026,inset -2px 0 4px #00000026,0 2px #0000004d;padding:18px;display:grid;grid-template-columns:280px 1fr 150px;grid-template-rows:1fr auto;gap:12px;overflow:hidden}.faceplate:before{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 2px,rgba(0,0,0,.04) 2px 3px,transparent 3px 5px);mix-blend-mode:overlay}.faceplate:after{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 30%,transparent 80%,rgba(0,0,0,.12))}.screw{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d6d0c2,#8c867a 60%,#4a443a);box-shadow:inset 0 -1px 1px #00000059,0 1px 1px #0006}.screw:after{content:"";position:absolute;inset:3px;border-top:2px solid rgba(0,0,0,.45);transform:rotate(35deg)}.screw.tl{top:8px;left:8px}.screw.tr{top:8px;right:8px}.screw.bl{bottom:8px;left:8px}.screw.br{bottom:8px;right:8px}.grille{grid-column:1;grid-row:1;border-radius:6px;background:var(--grille-bg);box-shadow:inset 0 0 0 2px var(--grille-rim),inset 0 2px 4px #000000b3,inset 0 -1px #ffffff0a;position:relative;overflow:hidden;padding:14px}.grille-dots{width:100%;height:100%;background-image:radial-gradient(circle,var(--grille-dot) 1.6px,transparent 1.9px);background-size:9px 9px;background-position:0 0;opacity:.95}.grille-corner-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#c0b9a8,#6a6457 70%,#2a261d);box-shadow:0 1px 2px #0009}.grille-corner-dot.tl{top:6px;left:6px}.grille-corner-dot.tr{top:6px;right:6px}.grille-corner-dot.bl{bottom:6px;left:6px}.grille-corner-dot.br{bottom:6px;right:6px}.grille-emboss{position:absolute;top:10px;left:14px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.3em;color:#c8aa7873;text-transform:uppercase;z-index:2}.tweeter{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;gap:7px;align-items:center;z-index:2}.led{width:10px;height:10px;border-radius:50%;background:var(--led-red);box-shadow:0 0 6px var(--led-red),inset 0 -1px 1px #0006,inset 0 1px 1px #ffffff80}.led.green{background:var(--led-green);box-shadow:0 0 8px var(--led-green),inset 0 -1px 1px #0006,inset 0 1px 1px #ffffff80}.led.amber{background:var(--led-amber);box-shadow:0 0 6px var(--led-amber),inset 0 -1px 1px #0006,inset 0 1px 1px #ffffff80}.led.dim{opacity:.18;box-shadow:inset 0 -1px 1px #0006}.led.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.led-label{font-family:DM Mono,monospace;font-size:8px;letter-spacing:.18em;color:#dcc8a080;text-transform:uppercase}.display-vu-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding:4px 0;border-top:1px dashed rgba(255,160,60,.2);border-bottom:1px dashed rgba(255,160,60,.2)}.vu-label,.vu-db{font-family:DM Mono,monospace;font-size:9px;color:var(--display-dim);letter-spacing:.2em;flex-shrink:0}.vu-db{color:var(--display-glow)}.vu-display{flex:1;height:18px;display:flex;align-items:flex-end;gap:2px}.vu-bar-display{flex:1;background:var(--display-glow);border-radius:1px;box-shadow:0 0 4px var(--display-glow);transition:height .18s;min-height:2px}.vu{position:absolute;bottom:16px;right:16px;width:110px;height:26px;background:#00000080;border-radius:3px;border:1px solid rgba(255,200,140,.15);display:flex;align-items:flex-end;padding:3px;gap:2px;z-index:2}.vu-bar{flex:1;background:var(--display-glow);border-radius:1px;opacity:.85;transition:height .18s}.center-col{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:8px;min-width:0;overflow:hidden}.display{background:radial-gradient(ellipse at 50% 30%,var(--display-bg) 0%,var(--display-bg-2) 100%);border-radius:6px;border:2px solid #1a0d02;box-shadow:inset 0 0 30px #ffa03c1f,inset 0 2px 4px #000000b3,0 1px #ffffff80,0 -1px #0006;padding:10px 14px;position:relative;color:var(--display-text);font-family:VT323,DM Mono,monospace;overflow:hidden}.display:before{content:"";position:absolute;inset:0;background:linear-gradient(170deg,rgba(255,200,120,.12) 0%,transparent 35%,transparent 80%,rgba(0,0,0,.3));pointer-events:none;border-radius:4px}.display:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);pointer-events:none;border-radius:4px;mix-blend-mode:multiply;opacity:.5}.display-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.2em;color:var(--display-dim);text-transform:uppercase;border-bottom:1px dashed rgba(255,160,60,.25);padding-bottom:6px;margin-bottom:8px;white-space:nowrap}.display-top span{white-space:nowrap}.display-top .stereo{color:var(--display-glow);text-shadow:0 0 6px var(--display-glow)}.station-name{font-family:VT323,monospace;font-size:24px;flex-wrap:wrap;line-height:1;color:var(--display-glow);text-shadow:0 0 8px rgba(255,160,60,.55);letter-spacing:.04em;display:flex;align-items:baseline;gap:12px}.station-name .freq{font-family:DM Mono,monospace;font-size:14px;color:var(--display-dim);letter-spacing:.1em}.meta-row{display:flex;gap:14px;margin-top:6px;align-items:center;font-family:Noto Sans SC,sans-serif;font-size:11px;color:var(--display-text);flex-wrap:wrap}.meta-row .meta-pill{border:1px solid rgba(255,160,60,.4);padding:1px 7px;border-radius:3px;letter-spacing:.1em;background:#ffa03c0f;white-space:nowrap;flex-shrink:0}.freq-scale{margin-top:10px;position:relative;height:28px;border-top:1px solid rgba(255,160,60,.3);padding-top:4px}.freq-ticks{position:relative;height:14px;display:flex;justify-content:space-between}.freq-tick{width:1px;background:var(--display-dim);height:6px}.freq-tick.major{height:12px;background:var(--display-text)}.freq-labels{display:flex;justify-content:space-between;font-family:DM Mono,monospace;font-size:9px;color:var(--display-dim);letter-spacing:.05em;margin-top:2px}.freq-needle{position:absolute;top:4px;width:2px;height:18px;background:var(--led-red);box-shadow:0 0 6px var(--led-red);transition:left .6s cubic-bezier(.5,1.6,.5,.9);border-radius:1px}.dj-panel{background:radial-gradient(ellipse at 50% 30%,var(--display-bg) 0%,var(--display-bg-2) 100%);border:2px solid #1a0d02;border-radius:6px;padding:10px 14px;flex:1;min-height:60px;display:flex;flex-direction:column;overflow:hidden;position:relative;box-shadow:inset 0 0 30px #ffa03c1f,inset 0 2px 4px #000000b3}.dj-panel-header{display:flex;justify-content:space-between;align-items:center;font-family:DM Mono,monospace;font-size:9px;color:var(--display-dim);letter-spacing:.25em;text-transform:uppercase;border-bottom:1px dashed rgba(58,170,85,.3);padding-bottom:4px;margin-bottom:6px}.dj-header-right{display:flex;align-items:center;gap:8px}.dj-mute-btn{all:unset;cursor:pointer;font-size:12px;color:var(--display-dim);opacity:.6;transition:opacity .2s;display:flex;align-items:center}.dj-mute-btn:hover{opacity:1}.dj-mute-btn.active{opacity:1;color:var(--display-glow)}.dj-panel.dj-muted .dj-script{opacity:.4}.dj-script{font-family:"Noto Serif SC",serif;font-size:13px;line-height:1.65;color:var(--display-text);flex:1;overflow-y:auto;padding-right:4px;scroll-behavior:smooth}.dj-script::-webkit-scrollbar{width:4px}.dj-script::-webkit-scrollbar-thumb{background:#3aaa5559;border-radius:4px}.dj-sentence{display:block;transition:all .3s;padding:1px 3px;border-radius:2px;margin-bottom:4px}.dj-sentence.active{background:#7aff8a1f;color:var(--display-glow);box-shadow:0 0 0 1px #7aff8a4d}.dj-sentence.past{color:var(--display-dim)}.knobs-col{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:12px;align-items:center;padding-top:4px;min-height:0;overflow:hidden}.knob-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.knob-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.3em;color:#2a1808;text-transform:uppercase;background:#00000014;padding:2px 10px;border-radius:2px}.knob{width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f4f1e8,#b8b3a4 30%,#6e695e 70%,#3a352c);box-shadow:0 6px 12px #00000080,inset 0 -3px 6px #0000004d,inset 0 3px 4px #ffffff59,0 0 0 4px #00000026;position:relative;cursor:grab;transition:transform .1s}.knob:active{cursor:grabbing}.knob:before{content:"";position:absolute;inset:6px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#00000026 0deg 3deg,#ffffff1a 3deg 6deg);mask:radial-gradient(circle,transparent 60%,black 62%,black 100%);-webkit-mask:radial-gradient(circle,transparent 60%,black 62%,black 100%)}.knob:after{content:"";position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4f1e8,#c0baa8 50%,#6a655a);box-shadow:inset 0 2px 3px #fff6,inset 0 -2px 3px #0000004d}.knob-pointer{position:absolute;top:8px;left:50%;transform:translate(-50%);width:4px;height:14px;background:#1a0d02;border-radius:2px;box-shadow:inset 0 1px 1px #ffffff4d,0 1px 1px #0006;z-index:3}.knob-rotor{position:absolute;inset:0;border-radius:50%;transition:transform .25s ease-out}.knob-ticks{position:absolute;inset:-10px;pointer-events:none}.knob-tick{position:absolute;top:0;left:50%;width:1px;height:5px;background:#0006;transform-origin:50% 58px}.buttons-row{grid-column:1 / 4;grid-row:2;display:flex;align-items:center;gap:10px;padding:8px 6px 0;border-top:1px solid rgba(0,0,0,.18)}.pbtn{flex:1;height:50px;border-radius:4px;border:none;background:linear-gradient(180deg,#f0e8d4,#d8cdb0,#b8a984);box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #0000002e,0 3px #6e5d3a,0 4px 6px #0000004d;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;font-family:DM Mono,monospace;color:#2a1808;transition:transform .06s,box-shadow .06s;-webkit-user-select:none;user-select:none}.pbtn-icon{font-size:14px;line-height:1;opacity:.9}.pbtn-label{font-size:9px;font-weight:500;letter-spacing:.2em;margin-top:2px}.pbtn-zh{font-family:Noto Sans SC,sans-serif;font-size:9px;color:#6e5530;letter-spacing:.05em}.pbtn:hover{filter:brightness(1.04)}.pbtn:active,.pbtn.pressed{transform:translateY(2px);box-shadow:inset 0 1px 2px #0000004d,inset 0 -1px #fff3,0 1px #6e5d3a}.pbtn.active{background:linear-gradient(180deg,#c89a3a,#a87820,#7a5410);color:#f8efd8;box-shadow:inset 0 1px #ffdc8c80,inset 0 -1px #0000004d,0 2px #4a330a,0 3px 6px #0006,0 0 12px #ffaa324d}.pbtn.active .pbtn-zh{color:#f8efd8b3}.toggle{width:44px;height:56px;background:linear-gradient(180deg,#2a1808,#1a0d02);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;box-shadow:inset 0 2px 4px #0009,0 1px #fff3;cursor:pointer;position:relative}.toggle-handle{width:30px;height:22px;background:linear-gradient(180deg,#f4f1e8,#c0baa8,#8a857a);border-radius:2px;box-shadow:inset 0 1px #fff9,inset 0 -1px #0000004d,0 2px 3px #0006;transition:transform .18s;margin-top:0}.toggle.on .toggle-handle{transform:translateY(-12px)}.toggle.off .toggle-handle{transform:translateY(12px)}.toggle-label-top,.toggle-label-bot{position:absolute;font-family:DM Mono,monospace;font-size:7px;color:#dcc8a080;letter-spacing:.15em}.toggle-label-top{top:-10px}.toggle-label-bot{bottom:-10px}.music-player{width:100%;background:radial-gradient(ellipse at 50% 30%,var(--display-bg) 0%,var(--display-bg-2) 100%);border-radius:6px;border:2px solid #1a0d02;padding:10px 12px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #ffa03c1f,inset 0 2px 4px #000000b3,0 1px #ffffff0d}.music-player--empty{display:flex;align-items:center;justify-content:center;min-height:50px}.mp-empty-text{font-family:DM Mono,monospace;font-size:10px;color:var(--display-dim);letter-spacing:.1em}.mp-split{display:flex;gap:12px;height:90px}.mp-left{flex:1;min-width:0;max-width:55%;display:flex;flex-direction:column;justify-content:center}.mp-right{flex:1;min-width:0;border-left:1px solid rgba(58,170,85,.2);padding-left:12px;display:flex;flex-direction:column;overflow:hidden;max-height:90px}.mp-lyrics-header{font-family:DM Mono,monospace;font-size:8px;color:var(--display-dim);letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px;flex-shrink:0}.mp-lyrics-scroll{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(58,170,85,.3) transparent}.mp-lyrics-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:Noto Sans SC,sans-serif;font-size:11px;color:var(--display-dim)}.mp-lyrics-empty-sub{font-size:9px;color:#3aaa5566;font-family:DM Mono,monospace}.lyric-line{font-family:Noto Sans SC,sans-serif;font-size:10px;color:#a0f0aa66;padding:2px 0;transition:color .3s;line-height:1.5}.lyric-line.active{color:var(--display-glow);font-weight:500}.mp-main{display:flex;align-items:center;gap:10px}.mp-cover{position:relative;width:48px;height:48px;border-radius:3px;overflow:hidden;flex-shrink:0;background:#021004d9;box-shadow:inset 0 0 0 1px #7aff8a29,0 0 12px #02100473}.mp-cover img{width:100%;height:100%;object-fit:cover;display:block}.mp-cover-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(135deg,rgba(122,255,138,.12),transparent 42%),radial-gradient(circle at 50% 42%,rgba(122,255,138,.16),transparent 52%),linear-gradient(160deg,#021004f5,#062408e6);color:#a0f0aadb;border:1px solid rgba(122,255,138,.22);border-radius:3px;font-family:DM Mono,monospace}.mp-cover-placeholder-mark{width:24px;height:24px;border-radius:50%;border:1px solid rgba(122,255,138,.42);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;text-shadow:0 0 8px rgba(122,255,138,.45)}.mp-cover-placeholder-line{width:22px;height:2px;border-radius:999px;background:#7aff8a38;box-shadow:0 5px #7aff8a1f}.mp-vinyl-spin{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(122,255,138,.15);pointer-events:none;opacity:0;transition:opacity .3s}.mp-vinyl-spin.spinning{opacity:1;animation:vinyl-rotate 4s linear infinite}@keyframes vinyl-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mp-info{flex:1;min-width:0}.mp-header{display:flex;align-items:center;font-family:DM Mono,monospace;font-size:7px;color:var(--display-dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;min-width:0;overflow:hidden}.mp-status{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--display-glow)}.mp-title{font-family:VT323,monospace;font-size:14px;color:var(--display-text);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-artist{font-family:DM Mono,monospace;font-size:10px;color:var(--display-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.mp-play-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--display-dim);background:#06240899;color:var(--display-text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s}.mp-play-btn:hover{background:#0a320ccc;border-color:var(--display-glow);color:var(--display-glow)}.mp-progress-row{display:flex;align-items:center;gap:6px;margin-top:7px}.mp-time{font-family:DM Mono,monospace;font-size:9px;color:var(--display-dim);min-width:30px;text-align:center}.mp-progress{flex:1;height:6px;background:#062408cc;border-radius:3px;position:relative;cursor:pointer;overflow:hidden}.mp-progress-buffer{position:absolute;top:0;left:0;height:100%;background:#3aaa5526;border-radius:3px;transition:width .3s}.mp-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--display-dim),var(--display-glow));border-radius:3px;transition:width .1s linear}.mp-progress-thumb{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--display-glow);box-shadow:0 0 4px #7aff8a99;transform:translate(-50%,-50%);transition:left .1s linear}.queue-preview{background:radial-gradient(ellipse at 50% 30%,var(--display-bg) 0%,var(--display-bg-2) 100%);border:2px solid #1a0d02;border-radius:6px;padding:8px 10px;font-family:DM Mono,monospace;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 0 0 20px #ffa03c14,inset 0 2px 4px #000000b3}.queue-header{display:flex;justify-content:space-between;font-size:8px;color:var(--display-dim);letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px;border-bottom:1px dashed rgba(58,170,85,.3);padding-bottom:4px}.queue-list{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(58,170,85,.3) transparent}.queue-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--display-text);font-family:VT323,monospace}.queue-cover{width:20px;height:20px;border-radius:2px;object-fit:cover;border:1px solid var(--display-dim)}.queue-num{color:var(--display-dim);font-size:9px;width:10px;text-align:right}.queue-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-artist{color:var(--display-dim);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50px}.setup-overlay{position:absolute;inset:22px;background:#140a0499;border-radius:10px;display:flex;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.setup-card{width:580px;background:linear-gradient(180deg,#f6ecd0,#e6d8b6);border:1px solid #8a7244;border-radius:4px;padding:28px 30px;box-shadow:0 20px 40px #00000080,inset 0 1px #fff9;position:relative}.setup-card:before{content:"";position:absolute;top:-1px;left:24px;right:24px;height:6px;background:repeating-linear-gradient(90deg,#8a7244 0 4px,transparent 4px 9px);opacity:.4}.setup-header{text-align:center;margin-bottom:22px;border-bottom:1px dashed #8a7244;padding-bottom:14px}.setup-header .title{font-family:"Noto Serif SC",serif;font-size:26px;color:#2a1808;letter-spacing:.1em;font-weight:500}.setup-header .sub{font-family:DM Mono,monospace;font-size:10px;color:#6e5530;letter-spacing:.4em;text-transform:uppercase;margin-top:4px}.field{margin-bottom:14px}.field-label{font-family:DM Mono,monospace;font-size:9px;color:#6e5530;letter-spacing:.3em;text-transform:uppercase;margin-bottom:4px;display:flex;justify-content:space-between}.field-label .zh{font-family:Noto Sans SC,sans-serif;letter-spacing:.05em;color:#2a1808;font-size:11px}.field-input{width:100%;border:none;border-bottom:1px solid #8a7244;background:transparent;padding:6px 4px;font-family:"Noto Serif SC",serif;font-size:15px;color:#2a1808;outline:none;font-weight:500}.field-input:focus{border-bottom-color:#c89a3a}.field-input::placeholder{color:#b09a6a;font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.voice-field{margin-top:2px}.voice-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.genre-options{display:flex;flex-wrap:wrap;gap:10px}.genre-choice{min-height:34px;border:2px solid rgba(138,114,68,.85);border-radius:18px;background:linear-gradient(180deg,#ffffff47,#8a72441a);color:#2a1808;cursor:pointer;font-family:Noto Sans SC,sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;padding:0 18px;box-shadow:inset 0 1px #ffffff59}.genre-choice.active{border-color:#2a1808;background:linear-gradient(180deg,#3b210d,#241205);color:#f8efd8;box-shadow:inset 0 1px #fff0be2e,0 2px 5px #2a18082e}.voice-choice{min-height:48px;border:1px solid #8a7244;border-radius:4px;background:linear-gradient(180deg,#ffffff59,#8a72441f);color:#2a1808;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 10px;box-shadow:inset 0 1px #ffffff73}.voice-choice span{font-family:"Noto Serif SC",serif;font-size:15px;font-weight:600;letter-spacing:.08em}.voice-choice small{font-family:Noto Sans SC,sans-serif;font-size:10px;color:#6e5530;letter-spacing:.08em}.voice-choice.active{border-color:#c89a3a;background:linear-gradient(180deg,#ead39a,#c89a3a);box-shadow:inset 0 1px #fff0beb3,0 0 0 1px #4a330a33,0 0 14px #c89a3a47}.voice-choice.active small{color:#4a330a}.primary-btn{width:100%;margin-top:18px;padding:14px;border:none;border-radius:4px;background:linear-gradient(180deg,#c89a3a,#8a6420);color:#f8efd8;font-family:"Noto Serif SC",serif;font-size:16px;letter-spacing:.15em;cursor:pointer;box-shadow:inset 0 1px #ffdc8c80,inset 0 -2px #00000040,0 3px #4a330a,0 4px 8px #0000004d;transition:transform .06s,box-shadow .06s;position:relative;overflow:hidden}.primary-btn:hover{filter:brightness(1.06)}.primary-btn:active{transform:translateY(2px);box-shadow:inset 0 1px 4px #0006,0 1px #4a330a}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed #b8a26a;font-size:12px;color:#2a1808}.setting-row .lbl{font-family:Noto Sans SC,sans-serif;font-weight:500}.setting-row .val{font-family:DM Mono,monospace;font-size:11px;color:#6e5530}.setting-row .switch{width:32px;height:18px;background:#b8a26a;border-radius:9px;position:relative;cursor:pointer;transition:background .15s}.setting-row .switch.on{background:#2a1808}.setting-row .switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#f6ecd0;border-radius:50%;transition:transform .15s}.setting-row .switch.on:after{transform:translate(14px)}.setting-priv{font-size:10px;color:#6e5530;margin-top:12px;padding:8px;background:#fff6;border-left:2px solid #c89a3a;line-height:1.5;font-family:Noto Sans SC,sans-serif}.danger-btn{width:100%;margin-top:10px;border:1px solid #b8423a;background:#b8423a0f;color:#6a2520;padding:8px;font-family:Noto Sans SC,sans-serif;font-size:11px;border-radius:2px;cursor:pointer;letter-spacing:.05em}.danger-btn:hover{background:#b8423a29}.tabletop-note{position:absolute;bottom:30px;right:40px;font-family:DM Mono,monospace;font-size:10px;color:#6e5530;letter-spacing:.2em;text-transform:uppercase;opacity:.6}.pacman-intro{position:fixed;inset:0;z-index:9999;background:#1a0d04;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;transition:opacity .6s ease-out}.pacman-intro.exiting{opacity:0}.pacman-scene{position:relative;width:360px;height:40px;overflow:hidden}.pacman-character{position:absolute;left:-36px;top:50%;width:36px;height:36px;margin-top:-18px;background:gold;border-radius:50%;z-index:2;animation:pacman-move 2.4s linear forwards,pacman-chomp .28s ease-in-out infinite}@keyframes pacman-move{0%{left:-36px}to{left:360px}}@keyframes pacman-chomp{0%,to{clip-path:polygon(50% 50%,100% 10%,100% 0%,0% 0%,0% 100%,100% 100%,100% 90%)}50%{clip-path:polygon(50% 50%,100% 38%,100% 0%,0% 0%,0% 100%,100% 100%,100% 62%)}}.pacman-note{position:absolute;top:50%;transform:translateY(-50%);font-size:22px;color:#ffb347;animation:note-eaten forwards linear}@keyframes note-eaten{0%,85%{opacity:1;transform:translateY(-50%) scale(1)}95%{opacity:0;transform:translateY(-50%) scale(.2)}to{opacity:0}}.pacman-text{font-family:VT323,monospace;font-size:28px;color:#ffd089;letter-spacing:.3em;opacity:0;animation:pacman-title-in .5s ease-out 1.2s forwards}@keyframes pacman-title-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sr{position:absolute;left:-10000px}@media(max-width:768px){.stage{padding:12px 8px;gap:12px;min-height:100dvh;justify-content:flex-start}.brand-row{gap:8px}.brand-row .mark{font-size:11px;letter-spacing:.3em}.brand-row .yr,.brand-row .dot,.tabletop-note{display:none}.layout{width:100%;gap:0}.radio{width:100%;height:auto;min-height:0;border-radius:10px;padding:12px;box-shadow:0 20px 40px -10px var(--shadow),inset 0 1px #ffdcb426,inset 0 -2px #0000004d}.radio:after{inset:4px;border-radius:8px}.faceplate{position:relative;inset:auto;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px}.faceplate:before,.faceplate:after{border-radius:8px}.grille{display:none}.center-col{width:100%;gap:8px}.knobs-col{width:100%;padding-top:0;align-items:stretch}.knobs-col .knob-wrap{display:none}.knobs-col .queue-preview{width:100%;flex:none;max-height:100px}.display{padding:10px 12px}.station-name{font-size:16px}.station-name .freq{font-size:12px}.display-top{font-size:8px}.meta-row{font-size:9px;flex-wrap:wrap;gap:4px}.freq-scale{margin-top:6px}.freq-labels{font-size:8px}.display-vu-row{margin-top:4px}.music-player{padding:8px 10px}.mp-split{flex-direction:column;height:auto;gap:8px}.mp-left{width:100%;max-width:100%}.mp-right{width:100%;border-left:none;padding-left:0;border-top:1px solid rgba(200,154,58,.2);padding-top:8px;max-height:80px}.mp-cover{width:44px;height:44px}.mp-title{font-size:13px}.dj-panel{min-height:60px}.dj-script{font-size:12px;line-height:1.5}.buttons-row{position:sticky;bottom:0;z-index:5;padding:10px 4px 8px;background:linear-gradient(180deg,var(--metal-2),var(--metal-3));border-radius:0 0 8px 8px;margin:0 -10px -10px;width:calc(100% + 20px)}.pbtn{height:48px;min-height:44px}.toggle{width:38px;height:48px}.setup-overlay{inset:0;border-radius:0}.setup-card{border-radius:0;max-height:100%;overflow-y:auto}.screw{display:none}.pacman-scene{width:min(320px,85vw);height:38px}.pacman-character{width:32px;height:32px;margin-top:-16px}.pacman-note{font-size:20px}.pacman-text{font-size:24px;letter-spacing:.25em}}@media(max-width:480px){.stage{padding:8px 4px;gap:8px}.brand-row .mark{font-size:10px;letter-spacing:.2em}.radio{border-radius:8px;padding:8px}.faceplate{padding:8px;gap:6px}.display{padding:8px 10px}.station-name{font-size:14px}.meta-pill{font-size:8px;padding:1px 5px}.mp-split{gap:6px}.mp-cover{width:38px;height:38px}.mp-title{font-size:12px}.mp-artist{font-size:9px}.mp-play-btn{width:30px;height:30px}.mp-right{max-height:60px}.lyric-line{font-size:9px}.dj-panel{padding:8px 10px}.dj-panel-header{font-size:8px}.dj-script{font-size:11px}.queue-preview{padding:6px 8px}.queue-item{font-size:10px}.queue-cover{width:16px;height:16px}.pbtn{height:44px}.pbtn-icon{font-size:14px}.pbtn-label{font-size:8px}.pbtn-zh{font-size:9px}.buttons-row{margin:0 -8px -8px;width:calc(100% + 16px);padding:8px 4px 6px}.pacman-scene{width:260px;height:36px}.pacman-character{width:28px;height:28px;margin-top:-14px}.pacman-note{font-size:18px}.pacman-text{font-size:22px;letter-spacing:.2em}}
