:root{--bg:#000;--panel:#0a0a0a;--panel-2:#101010;--panel-3:#151515;--border:#1f1f1f;--border-2:#2b2b2b;--text:#f5f5f5;--muted:#8b8b8b;--accent:#8b0000;--accent-2:#c11212;--white-soft:#d9d9d9;--success:#d8d8d8;--danger:#a40000;--shadow:0 10px 40px #00000073;--radius:18px}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}body{background:radial-gradient(circle at top,#8b000014,#0000 30%),linear-gradient(#050505 0%,#000 100%)}a{color:inherit;text-decoration:none}button{appearance:none;border:1px solid var(--border-2);color:var(--text);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(#121212 0%,#0a0a0a 100%);border-radius:12px;padding:12px 18px;font-weight:700;transition:all .2s}button:hover{border-color:var(--accent-2);transform:translateY(-1px)}button:active{transform:translateY(0)}.app-shell{min-height:100vh;padding:28px}.page{max-width:1280px;margin:0 auto}.section{margin-top:32px}.eyebrow{color:var(--accent-2);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;font-size:.78rem}.hero-title{text-transform:uppercase;letter-spacing:-.03em;margin:0;font-size:clamp(2.6rem,7vw,6rem);line-height:.92}.hero-subtitle{color:var(--muted);max-width:760px;margin-top:14px;line-height:1.6}.system-page{color:#eee;width:100%;padding:clamp(16px,2.5vw,28px)}.system-section{width:min(100%,1000px);margin:clamp(18px,3vw,32px) auto 0}.system-section .eyebrow{margin-bottom:8px}.system-grid{background:#242424;border:1px solid #242424;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(18px,2.4vw,26px);display:grid}.system-cell{background:#080808;min-width:0;min-height:100px;padding:clamp(15px,1.7vw,20px)}.system-value{overflow-wrap:anywhere;margin-top:10px;font-size:clamp(.78rem,1.3vw,.94rem);line-height:1.2;display:block}.system-value-important{font-size:clamp(1.08rem,2vw,1.45rem)}@media (width<=899px){.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-cell{min-height:94px;padding:16px}}@media (width<=559px){.system-section{margin-top:16px}.system-grid{grid-template-columns:minmax(0,1fr);margin-top:18px}.system-cell{min-height:88px}}.grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#121212f2,#080808fa);padding:20px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.brand{flex-direction:column;display:flex}.brand-title{letter-spacing:.16em;text-transform:uppercase;font-size:1rem;font-weight:800}.brand-sub{color:var(--muted);margin-top:4px;font-size:.8rem}.nav{flex-wrap:wrap;gap:10px;display:flex}.nav a{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:10px 14px;transition:all .2s}.nav a:hover{border-color:var(--accent-2);color:var(--text)}.game-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;width:100%;display:grid}.deck{flex-direction:column;min-width:0;min-height:520px;padding:18px;display:flex}.deck-main{flex-direction:column;gap:18px;display:flex}.deck-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.deck-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem}.deck-title{text-transform:uppercase;margin:6px 0 0;font-size:1.3rem;line-height:1.1}.deck-artist{color:var(--muted);margin-top:6px;font-size:.95rem}.deck-bpm-hidden{color:var(--white-soft);letter-spacing:.15em;text-transform:uppercase;font-size:1.2rem}.deck-display{border:1px solid var(--border);background:linear-gradient(#ffffff05,#fff0),linear-gradient(#0f0f0f 0%,#090909 100%);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:180px;padding:18px;display:flex}.wave-placeholder{background:linear-gradient(90deg,#ffffff08 0%,#ffffff0f 10%,#ffffff08 20%,#ffffff14 30%,#ffffff08 40%,#ffffff12 50%,#ffffff08 60%,#ffffff0f 70%,#ffffff08 80%,#ffffff12 90%,#ffffff08 100%);border-radius:12px;height:70px;position:relative;overflow:hidden}.wave-placeholder:after{content:"";background:#c11212cc;width:2px;height:100%;position:absolute;top:0;left:50%;box-shadow:0 0 16px #c1121280}.deck-meta-row{color:var(--muted);text-transform:uppercase;justify-content:space-between;gap:12px;font-size:.85rem;display:flex}.deck-controls{flex-wrap:wrap;gap:12px;display:flex}.transport-btn{min-width:92px}.transport-btn.play{background:linear-gradient(#c112123d,#3c00002e);border-color:#c112128c}.transport-btn.cue{background:linear-gradient(#161616 0%,#0d0d0d 100%)}.pitch-fader{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:100%;height:100%;min-height:330px;display:flex;position:relative}.pitch-fader-title{letter-spacing:.18em;color:#555;text-transform:uppercase;justify-content:center;align-items:center;height:24px;font-size:.58rem;font-weight:600;display:flex}.pitch-fader-stage{flex:1;justify-content:center;align-items:stretch;width:100%;min-height:280px;display:flex;position:relative}.pitch-fader-scale{width:42px;height:calc(100% - 38px);margin-top:19px;margin-right:5px;position:relative}.fader-tick{background:#4a4a4a;width:7px;height:1px;position:absolute;right:0;transform:translateY(-50%)}.fader-tick.major{background:#777;width:12px}.fader-label{color:#747474;font-variant-numeric:tabular-nums;font-size:.56rem;line-height:1;position:absolute;right:17px;transform:translateY(-50%)}.fader-label.zero{color:#aaa}.pitch-fader-travel{cursor:grab;touch-action:none;outline:none;width:76px;height:calc(100% - 38px);margin-top:19px;position:relative}.pitch-fader.is-dragging .pitch-fader-travel{cursor:grabbing}.pitch-fader-travel:focus-visible{outline-offset:4px;outline:1px solid #651111}.pitch-fader-slot{background:linear-gradient(90deg,#010101,#101010 40%,#050505 65%,#000);border-left:1px solid #1d1d1d;border-right:1px solid #252525;border-radius:7px;width:11px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:inset 3px 0 5px #000000f2,inset -2px 0 3px #ffffff06,0 0 0 1px #000c}.pitch-zero-marker{pointer-events:none;justify-content:flex-start;align-items:center;width:54px;height:20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pitch-zero-marker:before{content:"";background:#3c0909;border:1px solid #6b1616;border-radius:2px;width:8px;height:8px;box-shadow:0 0 7px #96000029}.pitch-zero-marker span{background:#6b2020;width:10px;height:1px;position:absolute;left:21px}.pitch-fader-cap{pointer-events:none;background:linear-gradient(#cacaca 0%,#b2b2b2 9%,#777 14%,#939393 44%,#656565 48%,#939393 54%,#666 78%,#484848 100%);border:1px solid #ffffff40;border-radius:3px;width:58px;height:34px;transition:box-shadow .12s;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px 9px #000c,0 2px 2px #000000e6,inset 0 1px #ffffffa6,inset 0 -2px 1px #0000008c}.pitch-fader.is-dragging .pitch-fader-cap{box-shadow:0 4px 6px #000000e6,inset 0 1px #ffffffb3,inset 0 -2px 1px #0009}.pitch-cap-line{background:#232323bf;height:2px;position:absolute;top:50%;left:5px;right:5px;transform:translateY(-50%);box-shadow:0 1px #ffffff59}.pitch-fader-bottom{letter-spacing:.12em;color:#444;justify-content:center;align-items:center;height:22px;font-size:.52rem;display:flex}.pitch-fader.is-locked{opacity:.65}.pitch-fader.is-locked .pitch-fader-travel{cursor:default}@media (width<=600px){.pitch-fader{min-height:310px}.pitch-fader-scale{width:34px;margin-right:2px}.pitch-fader-travel{width:66px}.pitch-fader-cap{width:52px;height:32px}.fader-label{font-size:.52rem;right:15px}.fader-tick.major{width:10px}}.game-footer{justify-content:center;margin-top:24px;display:flex}.confirm-btn{background:linear-gradient(#c1121238,#28000038);border-color:#c1121266;min-width:220px;padding:16px 24px;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}@media (width<=980px){.grid-2{grid-template-columns:1fr}.game-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-shell{padding:18px}.deck{grid-template-columns:1fr}.pitch-wrap{min-height:360px}.pitch-scale{height:250px}.topbar{flex-direction:column;align-items:flex-start}}.game-deck{background:linear-gradient(#ffffff06,#fff0),#080808;border:1px solid #1c1c1c;flex-direction:column;min-width:0;min-height:calc(100dvh - 220px);padding:12px;display:flex}.game-deck-header{border-bottom:1px solid #191919;flex-direction:column;min-height:92px;margin-bottom:10px;padding-bottom:10px;display:flex}.game-deck-letter{font-size:2rem;font-weight:300;line-height:1}.game-track-info{min-width:0;margin-top:10px}.game-track-info strong{letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;display:block;overflow:hidden}.game-track-info span{color:#686868;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.65rem;display:block;overflow:hidden}.game-bpm{color:#5b5b5b;letter-spacing:.12em;margin-top:7px;font-size:.68rem}.game-pitch{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.deck-reference{color:#555;letter-spacing:.12em;font-size:.55rem;position:absolute;bottom:5px}.deck-transport{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.deck-cue,.deck-play{aspect-ratio:1;border-radius:50%;justify-content:center;align-items:center;max-height:64px;display:flex}.deck-cue{color:#eee}.deck-play{border-color:#9600008c}.play-icon{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:13px solid #eee;width:0;height:0;margin-left:3px;display:block}.game-screen{max-width:900px;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));margin:auto}.game-topbar{border-bottom:1px solid #191919;justify-content:space-between;align-items:center;height:55px;margin-bottom:10px;display:flex}.game-topbar strong{letter-spacing:.15em;font-size:.75rem;display:block}.game-topbar span{color:#666;letter-spacing:.12em;margin-top:4px;font-size:.58rem;display:block}.game-round{color:#666;letter-spacing:.1em;font-size:.6rem}.game-confirm{letter-spacing:.14em;background:#111;border:1px solid #2a2a2a;border-radius:0;width:100%;margin-top:10px;padding:15px}@media (width<=600px){.app-shell{padding:0}.game-screen{padding-left:6px;padding-right:6px}.game-layout{gap:5px}.game-deck{padding:8px}.pitch-scale{width:54px;height:clamp(260px,43vh,350px)}.pitch-label{font-size:.56rem}.game-deck-letter{font-size:1.6rem}}.pitch-zero-light{z-index:6;pointer-events:none;background:#142015;border:1px solid #243327;border-radius:50%;width:8px;height:8px;transition:background 80ms,border-color 80ms,box-shadow 80ms,transform 80ms;position:absolute;top:50%;left:-40px;transform:translateY(-50%);box-shadow:inset 0 0 3px #000000e6}.pitch-zero-light.active{background:#54e760;border-color:#8aff91;transform:translateY(-50%)scale(1.15);box-shadow:0 0 3px #54e760,0 0 8px #54e760bf,0 0 16px #54e7604d}.deck-gain{border-bottom:1px solid #171717;justify-content:center;align-items:center;height:105px;margin-bottom:8px;display:flex}.gain-control{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:82px;display:flex}.gain-label{letter-spacing:.16em;color:#666;margin-bottom:5px;font-size:.52rem}.gain-knob-area{touch-action:none;cursor:ns-resize;outline:none;width:58px;height:58px;position:relative}.gain-control.is-dragging .gain-knob-area{cursor:grabbing}.gain-scale{position:absolute;inset:-5px}.gain-dot{transform-origin:0 0;background:#555;border-radius:50%;width:2px;height:2px;position:absolute;top:50%;left:50%}.dot-1{transform:rotate(-135deg)translateY(-35px)}.dot-2{transform:rotate(-101deg)translateY(-35px)}.dot-3{transform:rotate(-67deg)translateY(-35px)}.dot-4{transform:rotate(-33deg)translateY(-35px)}.dot-5{transform:rotate(0)translateY(-35px)}.dot-6{transform:rotate(33deg)translateY(-35px)}.dot-7{transform:rotate(67deg)translateY(-35px)}.dot-8{transform:rotate(101deg)translateY(-35px)}.dot-9{transform:rotate(135deg)translateY(-35px)}.gain-knob{background:radial-gradient(circle at 35% 28%,#353535 0%,#1c1c1c 40%,#090909 78%,#030303 100%);border:1px solid #494949;border-radius:50%;width:43px;height:43px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 9px #000c,inset 0 1px 1px #ffffff1f,inset 0 -2px 4px #000000e6}.gain-knob-indicator{transform-origin:50% 17px;background:#d7d7d7;border-radius:2px;width:2px;height:10px;position:absolute;top:4px;left:50%}.gain-value{color:#777;font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-top:5px;font-size:.55rem}.gain-value span{color:#444;margin-left:2px;font-size:.45rem}@media (width<=600px){.deck-gain{height:88px}.gain-knob-area{width:51px;height:51px}.gain-knob{width:38px;height:38px}.gain-knob-indicator{transform-origin:50% 15px;height:8px;top:4px}.gain-scale{transform:scale(.9)}}.app-menu-button{top:max(12px, calc(env(safe-area-inset-top) + 8px));-webkit-backdrop-filter:blur(12px);z-index:1002;background:#080808eb;border:1px solid #ffffff1f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;display:flex;position:fixed;right:12px;transform:none;box-shadow:0 5px 20px #00000073}.app-menu-button:hover{border-color:#ffffff4d;transform:none}.app-menu-button:focus{outline:none}.app-menu-button:focus-visible{outline-offset:3px;border-color:#ffffff61;outline:1px solid #9f3030}.app-menu-button span{background:#e8e8e8;width:16px;height:1px;transition:transform .18s,width .18s,opacity .18s;display:block}.app-menu-button.is-open span:first-child{transform:translateY(3px)rotate(45deg)}.app-menu-button.is-open span:last-child{transform:translateY(-3px)rotate(-45deg)}.app-menu-backdrop{-webkit-backdrop-filter:blur();pointer-events:none;opacity:0;z-index:1000;background:0 0;transition:opacity .22s,background .22s,-webkit-backdrop-filter .22s,backdrop-filter .22s;position:fixed;inset:0}.app-menu-backdrop.is-visible{opacity:1;pointer-events:auto;-webkit-backdrop-filter:blur(3px);background:#000000a6}.app-menu-drawer{z-index:1001;width:min(82vw,340px);padding:max(22px, env(safe-area-inset-top)) 22px max(20px, env(safe-area-inset-bottom));background:linear-gradient(#0b0b0b 0%,#030303 100%);border-left:1px solid #ffffff17;flex-direction:column;transition:transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px #000000bf}.app-menu-drawer.is-open{transform:translate(0)}.app-menu-header{border-bottom:1px solid #1a1a1a;align-items:flex-start;height:65px;display:flex}.app-menu-header strong{letter-spacing:.18em;font-size:.72rem;font-weight:700;display:block}.app-menu-header span{color:#555;letter-spacing:.14em;margin-top:5px;font-size:.55rem;display:block}.app-menu-nav{flex-direction:column;flex:1;justify-content:center;display:flex}.app-menu-link{border-bottom:1px solid #161616;grid-template-columns:34px 1fr;align-items:baseline;gap:10px;padding:18px 0;transition:padding-left .15s;display:grid;position:relative}.app-menu-link:after{content:"";background:#8d1010;width:0;height:1px;transition:width .18s;position:absolute;bottom:-1px;left:0}.app-menu-link.active:after{width:100%}.app-menu-link.active{padding-left:5px}.menu-number{color:#444;font-variant-numeric:tabular-nums;font-size:.53rem}.menu-title{letter-spacing:-.025em;color:#777;font-size:clamp(1.4rem,6vw,2.2rem);font-weight:500;transition:color .15s}.app-menu-link:hover .menu-title{color:#ddd}.app-menu-link.active .menu-title{color:#f1f1f1}.app-menu-link.active .menu-number{color:#8d1010}.app-menu-footer{color:#3f3f3f;letter-spacing:.11em;border-top:1px solid #181818;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;font-size:.47rem;display:flex}@media (width>=601px){.app-menu-button{width:38px;height:38px;top:14px;right:16px}.app-menu-drawer{width:min(48vw,560px);padding:22px 34px 20px}.app-menu-header{align-items:flex-start;height:52px}.app-menu-header strong{font-size:.68rem}.app-menu-header span{margin-top:3px;font-size:.48rem}.app-menu-nav{flex:0 auto;justify-content:center;margin:auto 0}.app-menu-link{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:14px;padding:13px 0}.menu-number{font-size:.5rem}.menu-title{letter-spacing:-.015em;white-space:nowrap;font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.15}.app-menu-link:hover{padding-left:4px}.app-menu-link:hover .menu-title{color:#f1f1f1}.app-menu-footer{padding-top:12px;font-size:.44rem}}.game-topbar{padding-right:52px}.app-topbar-brand{min-width:0;color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.app-topbar-brand img{object-fit:contain;flex:none;width:34px;height:34px}.app-topbar-brand strong{color:#f1f1f1;letter-spacing:.16em;white-space:nowrap;font-size:.72rem}.app-topbar-language{order:100;gap:4px;margin-left:auto;display:flex}.app-topbar-language button{color:#666;background:#090909;border:1px solid #292929;min-width:30px;padding:5px 7px;font-size:.52rem;font-weight:700}.app-topbar-language button[aria-pressed=true]{color:#eee;background:#1b0b0b;border-color:#7b2020}@media (width<=600px){.app-menu-button{width:38px;height:38px;top:max(9px, calc(env(safe-area-inset-top) + 6px));right:8px}.app-menu-drawer{width:84vw;padding-left:20px;padding-right:20px}.game-topbar{padding-right:48px}.app-topbar-brand img{width:30px;height:30px}.app-topbar-brand strong{letter-spacing:.12em;font-size:.64rem}.app-topbar-language button{min-width:27px;padding:4px 5px}}.game-layout{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:stretch;gap:0}.master-meter-shell{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:stretch;align-self:stretch;align-items:stretch;min-width:0;padding-top:102px;padding-bottom:82px;display:flex}.master-meter-panel{background:linear-gradient(90deg,#ffffff09,#0000 26%,#00000040 76%),linear-gradient(#181818 0%,#090909 100%);border:1px solid #252525;border-color:#252525 #292929;border-radius:0;flex-direction:column;width:100%;height:100%;min-height:0;padding:14px 7px 12px;display:flex;box-shadow:inset 1px 0 #ffffff06,inset -1px 0 #ffffff05,inset 0 1px #ffffff0d,inset 0 -1px #000000e6}.master-meter-title{color:#555;letter-spacing:.15em;flex:0 0 22px;justify-content:center;align-items:flex-start;font-size:.43rem;font-weight:700;display:flex}.master-meter-grid{flex-direction:column;flex:1;justify-content:space-between;gap:0;min-height:0;display:flex}.master-meter-row{flex:none;grid-template-columns:16px 26px 16px;justify-content:center;align-items:center;column-gap:1px;display:grid}.master-meter-led{opacity:.24;background:radial-gradient(circle at 35% 32%,#1b211c 0%,#0b0e0b 58%,#020202 100%);border:1px solid #ffffff14;border-radius:50%;justify-self:center;width:14px;height:14px;transition:opacity 35ms linear,background 35ms linear,box-shadow 35ms linear,border-color 35ms linear;box-shadow:inset 0 0 4px #000000f2}.master-meter-led.active.green{opacity:1;background:radial-gradient(circle at 35% 30%,#e0ffe1 0%,#72ff78 25%,#2fc73b 72%,#0c5d15 100%);border-color:#a3ffa7cc;box-shadow:0 0 4px #5cff67f2,0 0 10px #44ff507a,inset 0 0 3px #ffffffb3}.master-meter-led.active.blue{opacity:1;background:radial-gradient(circle at 35% 30%,#e6fbff 0%,#5be7ff 25%,#20aede 70%,#075776 100%);border-color:#a4f1ffe6;box-shadow:0 0 4px #4fdfff,0 0 11px #2ac4ff85,inset 0 0 3px #ffffffb8}.master-meter-led.active.red{opacity:1;background:radial-gradient(circle at 35% 30%,#fff0f0 0%,#ff5a5a 24%,#e51010 68%,#760707 100%);border-color:#ffaeaef2;box-shadow:0 0 5px #ff3535,0 0 13px #ff1e1e94,inset 0 0 3px #ffffffbf}.master-meter-number{color:#777;font-variant-numeric:tabular-nums;justify-self:center;font-size:.47rem;font-weight:600;line-height:1}.master-meter-channel-labels{color:#595959;text-align:center;letter-spacing:.04em;flex:0 0 22px;grid-template-columns:16px 26px 16px;justify-content:center;align-items:flex-end;column-gap:1px;margin-top:8px;font-size:.42rem;font-weight:700;display:grid}@media (width<=600px){.game-layout{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:0}.master-meter-shell{padding-top:102px;padding-bottom:82px}.master-meter-panel{border-radius:0;width:100%;padding:12px 4px 10px}.master-meter-title{flex-basis:20px;font-size:.38rem}.master-meter-row{grid-template-columns:13px 24px 13px;column-gap:1px}.master-meter-led{width:12px;height:12px}.master-meter-number{font-size:.4rem}.master-meter-channel-labels{flex-basis:20px;grid-template-columns:13px 24px 13px;column-gap:1px;margin-top:6px;font-size:.36rem}}
