*{box-sizing:border-box} :root{--cream:#f8efdd;--muted:#a9a193;--red:#e82c32;--gold:#e5b968;--line:#ffffff26;--scale:1}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#070707;font-family:Arial,Helvetica,sans-serif;color:var(--cream)}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0}button:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid var(--gold);outline-offset:5px}button:active:not(:disabled){transform:translateY(3px)}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}#kiosk{position:absolute;left:50%;top:50%;width:1080px;height:1920px;transform:translate(-50%,-50%) scale(var(--scale));transform-origin:center;overflow:hidden;background:#12110f;display:flex;flex-direction:column}header{height:128px;flex-shrink:0;padding:20px 48px;display:flex;align-items:center;gap:28px;background:#11100ff2;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{background:#fff;width:140px;height:84px;border-radius:4px;display:flex;justify-content:center;align-items:center}.brand img{width:125px;height:78px;object-fit:contain}.header-copy{font-size:13px;letter-spacing:2px;line-height:1.7}.header-copy span{display:block;color:var(--muted);font-size:11px;letter-spacing:3px}.header-actions{margin-left:auto;display:flex;gap:12px}.header-actions button{color:var(--cream);background:transparent;border:1px solid #ffffff30;border-radius:30px;min-height:54px;min-width:54px;padding:0 18px;font-size:13px;font-weight:bold;letter-spacing:1px}#fullscreen{font-size:27px}main{height:1722px;flex:0 0 1722px;position:relative}.screen{height:100%;width:100%;position:relative;overflow:hidden}footer{height:70px;flex:0 0 70px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-top:1px solid var(--line);font-size:11px;letter-spacing:1.2px;color:#a39b8e;background:#11100f;z-index:10}footer b{color:var(--red);padding:0 7px}.eyebrow{font-size:17px;font-weight:bold;letter-spacing:3px;color:var(--cream)}.eyebrow i,.live i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red);margin-right:12px;box-shadow:0 0 18px #ff514d80}.home{background:url('assets/hero.png') center 45%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(#0b0a09cc 0%,#0b0a0920 32%,transparent 50%,#0b0a0910 65%,#0b0a09f5 86%,#0b0a09 100%)}.home-title{position:absolute;left:65px;top:56px;right:65px}.home-title .eyebrow{font-size:16px}.home h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:150px;font-weight:900;letter-spacing:-2px;line-height:.91;margin:28px 0 22px;text-shadow:0 4px 28px #0004}.home h1 span{color:var(--red)}.home-title p{font-size:29px;letter-spacing:.2px;margin:22px 0;color:#eee3d1}.hero-side{position:absolute;right:30px;top:650px;writing-mode:vertical-rl;display:flex;gap:40px;font-size:12px;letter-spacing:3px;color:#fff8}.hero-side b{color:var(--gold);font-weight:normal}.home-bottom{position:absolute;bottom:35px;left:64px;right:64px}.game-spec{display:flex;justify-content:center;gap:0;margin-bottom:32px;padding:18px 0;border-block:1px solid #e2cdaa40;background:#100d0a65;backdrop-filter:blur(10px)}.game-spec div{width:33.333%;text-align:center;border-right:1px solid #e2cdaa40}.game-spec div:last-child{border:0}.game-spec b{display:block;font-size:43px;line-height:1.1;font-weight:700;color:#fff5e2}.game-spec span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:8px}.primary{height:102px;width:100%;padding:0 35px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#f33a40,#d51e25);border:1px solid #ff6b6b80;border-radius:8px;color:#fff;font-weight:800;font-size:25px;letter-spacing:2px;box-shadow:0 8px 0 #881219,0 10px 35px #ea1e2528}.primary span{font-size:37px;font-weight:normal}.outline{display:flex;justify-content:space-between;align-items:center;width:100%;height:76px;border:1px solid #ffffff40;background:#10100d70;color:var(--cream);padding:0 30px;margin-top:25px;border-radius:7px;letter-spacing:2px;font-size:18px;font-weight:bold}.outline span{font-size:25px}.micro{font-size:13px;color:var(--muted);letter-spacing:.3px;line-height:1.6}.home-bottom>.micro{text-align:center;letter-spacing:1.3px;font-size:11px;margin:24px 0 0}#asset-status{font-size:15px;text-align:center;color:var(--gold);margin:8px 0}.form-screen,.results,.board{padding:100px 90px 50px;background:radial-gradient(ellipse at 100% 20%,#35281966,transparent 55%),#15130f}h2{font-size:93px;line-height:.98;letter-spacing:-4px;margin:34px 0 26px}h2 em{font-style:normal;color:var(--gold)}.intro{font-size:30px;color:#b9b1a4;line-height:1.5;margin:22px 0 38px}label{display:block;font-size:15px;letter-spacing:2px;font-weight:bold;margin:38px 0 15px}input{width:100%;height:100px;border:1px solid #ffffff40;border-radius:8px;background:#25221c;color:var(--cream);font-size:34px;padding:0 28px}input::placeholder{color:#766f62}.instructions{margin:50px 0 58px}.instructions>div{display:flex;gap:25px;padding:27px 0;border-top:1px solid var(--line)}.instructions b{font-size:19px;color:var(--gold);padding-top:4px}.instructions span{font-size:22px;color:#a9a193;line-height:1.5}.instructions strong{display:block;color:var(--cream);font-size:26px;margin-bottom:4px}.text{background:none;color:#aaa294;min-height:68px;padding:18px 4px;font-size:16px;letter-spacing:1px}.form-screen>.text{margin-top:18px}.game{padding:30px 48px 25px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 70%,#30261a44,transparent 70%),#12110f}.game-heading{display:flex;justify-content:space-between;align-items:center;font-size:16px;letter-spacing:1px;color:#c4baaa}.live{font-size:11px;letter-spacing:2px}.live i{width:7px;height:7px;margin-right:8px}.hud{display:grid;grid-template-columns:1.6fr 1fr 1fr;padding:28px 0 20px;align-items:center;gap:30px}.hud>div>span{display:block;font-size:13px;letter-spacing:2px;color:#a59c8e;margin-bottom:10px}.hud strong{font-size:69px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.hud .score-block strong{font-size:83px;letter-spacing:-3px;color:var(--cream)}.hud small{font-size:35px;color:var(--gold)}.timer{text-align:right}.timer strong{color:var(--gold)}.timer.urgent strong{color:var(--red)}.time-track{height:4px;background:#ffffff1a;flex-shrink:0;margin:0 0 24px}.time-track>div{height:100%;width:100%;background:linear-gradient(90deg,#ae8542,#f0c476)}.stage-wrap{position:relative;height:1100px;flex-shrink:0;border:1px solid #c4a56828;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 150px #0008;background:#181610}#stage{width:984px;height:1100px;display:block;touch-action:none;cursor:pointer}.stage-top{position:absolute;top:25px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.stage-top>span:first-child{font-size:12px;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;color:#d7c8ae;background:#14120ec7;padding:12px 14px;border:1px solid #d8bb7b22;border-radius:4px}.stage-top>span:first-child>i{height:6px;width:6px;border-radius:50%;background:var(--gold)}#lives{display:flex;gap:9px}#lives i{display:block;width:14px;height:14px;border-radius:50%;background:var(--red);border:1px solid #ff7777;box-shadow:0 0 14px #ff33333a}#lives i.lost{background:transparent;border-color:#ffffff28;box-shadow:none}.height-indicator{position:absolute;left:30px;top:110px;display:flex;gap:12px;align-items:center;pointer-events:none}.height-indicator strong{font-size:47px;font-weight:300;color:#d5b571;line-height:1}.height-indicator span{font-size:9px;color:#a9a08c;letter-spacing:1.5px;line-height:1.5}.feedback{position:absolute;left:100px;right:100px;bottom:70px;text-align:center;pointer-events:none;filter:drop-shadow(0 3px 5px #000);transition:opacity .15s}.feedback strong{display:block;font-size:31px;letter-spacing:1.7px;color:var(--cream)}.feedback span{display:block;font-size:16px;color:#b4aa98;margin-top:8px}.feedback.perfect strong{color:#f2cc7e}.feedback.miss strong{color:#ff6367}.feedback.pop{animation:pop .3s ease-out}.stage-bottom{position:absolute;bottom:22px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#968b75;pointer-events:none}.drop-controls{margin-top:30px}.drop-controls .primary{height:112px;font-size:29px}.play-help{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px;color:#928a7c;font-size:14px}.play-help .text{font-size:13px}.countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#100e0ac9;backdrop-filter:blur(8px)}.countdown span{font-size:20px;letter-spacing:5px;color:var(--gold)}.countdown b{font-family:Impact,sans-serif;font-size:210px;line-height:1.2}.countdown p{font-size:25px;color:#c1b4a0}.results{padding-top:90px}.results h2{font-size:104px}.results .intro{font-size:25px;margin:25px 0}.result-score{font-size:165px;letter-spacing:-8px;font-weight:900;color:var(--cream);line-height:1.1;margin:30px 0 8px;font-variant-numeric:tabular-nums}.gold{color:var(--gold)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:45px 0;padding:35px 0;gap:15px}.result-stats strong{display:block;font-size:48px}.result-stats span{display:block;font-size:11px;letter-spacing:1.5px;margin-top:12px;color:#aaa08f}.rank-message{font-size:28px;line-height:1.4;color:var(--gold)}.results>.primary{margin-top:40px}.results>.text{display:block;margin:auto}.board{padding-top:75px}.board h2{font-size:82px}.board .intro{font-size:25px;margin-bottom:25px}.filters{display:flex;border-bottom:1px solid var(--line);gap:30px}.filters button{height:70px;background:none;color:#a49c8e;border-bottom:3px solid transparent;font-size:16px;letter-spacing:1.5px;padding:0 12px}.filters button.active{color:var(--gold);border-color:var(--gold)}.board-head{display:flex;justify-content:space-between;color:#938b7c;font-size:12px;letter-spacing:2px;margin:30px 0 12px}#scores{list-style:none;padding:0;margin:0 0 25px;max-height:560px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#826b43 #191713}#scores li{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:22px 0;min-height:96px}#scores li>span{font-size:23px;color:var(--gold);width:35px}#scores li>div{font-size:25px}#scores li small{display:block;font-size:13px;margin-top:8px;color:#928a7c}#scores li>strong{margin-left:auto;font-size:29px}#scores .empty{padding:50px 0;color:#a59c8c;font-size:24px;line-height:1.5}.board>.primary{margin-top:20px}.board details{border-top:1px solid var(--line);padding-top:20px;font-size:17px;color:#a59c8c}.board summary{cursor:pointer;padding:8px 0}.board details label{font-size:11px;margin-top:20px}.tool-button{background:#302a20;color:var(--cream);border:1px solid #ffffff30;min-height:60px;padding:15px;font-size:16px;border-radius:5px}.board details>.tool-button{margin-top:18px}.reset-row{display:flex;gap:15px}.reset-row input{height:64px;font-size:23px;width:280px}#tool-status{font-size:15px;margin:10px 0}#notice{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);border:1px solid #ad8c4b77;padding:20px 30px;border-radius:8px;background:#282219;color:var(--cream);font-size:20px;z-index:30;text-align:center;max-width:900px;box-shadow:0 15px 50px #0008}#notice:empty{display:none}@keyframes pop{0%{transform:scale(.88)}55%{transform:scale(1.07)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* V2: a fixed portrait composition at every viewport. */
.home-record{display:flex;justify-content:center;gap:16px;color:var(--gold);font-size:17px;letter-spacing:1px;margin-bottom:22px;text-shadow:0 2px 8px #000}.home-record b{color:var(--cream)}
.instructions{margin:35px 0 36px}.instructions>div{padding:20px 0}.instructions span{font-size:21px}.record-strip{display:flex;align-items:center;justify-content:space-between;min-height:55px;margin:-10px 0 15px;padding:0 16px;border:1px solid #ba995944;background:#221e17;color:#c8b88f;font-size:15px;letter-spacing:.7px}.record-strip strong{color:var(--gold);font-size:18px}.record-strip.passed{border-color:#e9c57a;background:#3b2f1b}.stage-wrap{height:1100px}#stage{height:1100px;width:984px}.game[data-pressure="high"] .stage-wrap{box-shadow:inset 0 0 100px #bf292025;border-color:#cf514c80}.game[data-pressure="high"] .time-track>div{background:#ef4547}.game[data-finale="true"] .stage-top,.game[data-finale="true"] .height-indicator{opacity:0}.game[data-finale="true"] .stage-bottom{color:var(--gold)}
.results{padding:45px 72px 25px}.results>.eyebrow:first-child{font-size:14px}.results h2{font-size:72px;margin:22px 0 10px;line-height:.95}.results h2 br{display:none}.results .intro{font-size:20px;margin:14px 0 20px}.result-hero{height:405px;border:1px solid #c6a36540;border-radius:12px;overflow:hidden;position:relative;background:#171510}.result-hero img{height:100%;width:100%;object-fit:contain}.result-hero span{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:1.4px;color:#d8bf88}.result-score{font-size:110px;margin:15px 0 0;text-align:center;letter-spacing:-4px}.results>.gold{text-align:center;font-size:14px}.result-stats{margin:22px 0 18px;padding:20px 0;text-align:center}.result-stats strong{font-size:40px}.result-stats span{margin-top:6px}.rank-message{font-size:24px;margin:16px 0 8px;text-align:center}.results>#result-saved{text-align:center;margin:8px 0 20px}.results>.primary{margin-top:22px;height:96px}.results>.outline{height:72px;margin-top:18px}.results>.text{min-height:55px}.board{overflow-y:auto;overscroll-behavior:contain;padding-bottom:40px}.header-actions button{min-height:64px;min-width:64px}.header-copy{font-size:11px;letter-spacing:1px}.header-copy span{font-size:10px;letter-spacing:2px}

/* V2-C / clear timing, restrained gold, larger service portrait. */
.hud{padding-top:22px;padding-bottom:16px;align-items:start}.hud strong{font-size:64px}.hud .score-block strong{font-size:80px}.hud small{font-size:30px}#streak-pips{display:flex;gap:6px;margin-top:10px}#streak-pips i{height:5px;width:27px;background:#ffffff20;border-radius:4px}#streak-pips i.filled{background:var(--gold);box-shadow:0 0 12px #e5b96845}#streak-hint{display:block;color:#bdb09a;font-size:11px;letter-spacing:.2px;margin-top:7px;white-space:nowrap}.record-strip{position:relative;overflow:hidden;font-size:13px;min-height:56px}.record-strip strong{font-size:16px;white-space:nowrap}#record-progress{position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--gold);transition:width .25s ease-out}.stage-top>span:first-child{max-width:610px}#chances{margin-left:auto;margin-right:12px;font-size:12px;letter-spacing:1px;color:#c6b99f}#lives i{height:17px;width:17px}.feedback{bottom:147px;left:45px;right:45px}.feedback strong{font-size:30px}.feedback span{font-size:17px}.aim-panel{position:absolute;bottom:22px;left:35px;right:35px;pointer-events:none;background:#16140fe8;border:1px solid #bda47730;border-radius:7px;padding:15px 22px 11px}.aim-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.1px;color:#a69d8b}.aim-heading strong{font-size:14px;color:#eee2cb;letter-spacing:.8px}.aim-rail{position:relative;height:9px;background:#623d3680;margin:18px 0 11px;border-radius:5px}.safe-zone{position:absolute;left:30.59566787%;width:38.80866426%;height:100%;background:#86816a66}.perfect-zone{position:absolute;left:48.05956679%;width:3.880866426%;height:100%;background:#e7c279;box-shadow:0 0 18px #e7c27950}#aim-cursor{position:absolute;left:50%;top:-6px;width:4px;height:21px;background:#fff7e2;transform:translateX(-50%);box-shadow:0 0 8px #fff6}.aim-labels{display:flex;justify-content:space-between;font-size:9px;color:#a69880;letter-spacing:1px}.game[data-aim="perfect"] #aim-state{color:#ffe0a0}.game[data-aim="perfect"] .aim-panel{border-color:#eac47b90}.game[data-aim="miss"] #aim-state{color:#ef9b8e}.game[data-aim="idle"] .aim-rail{opacity:.4}.game[data-finale="true"] .aim-panel{opacity:0}.game[data-finale="true"] .feedback{bottom:45px}.drop-controls{margin-top:22px}.drop-controls .primary{height:108px}.play-help{margin-top:9px}.home-title .eyebrow{color:#e8c27e}.home-title p{font-size:31px}.result-hero{height:450px}.results h2{font-size:67px}.result-score{font-size:100px;margin-top:14px}.result-stats{margin:16px 0;padding:17px 0}.rank-message{font-size:21px;margin:14px 0 6px}.results>#result-saved{margin:6px 0 14px}.result-challenge{border-left:3px solid var(--gold);background:#c09a4c0c;padding:15px 22px;margin-bottom:18px}.result-challenge strong{display:block;font-size:17px;letter-spacing:1px;color:#e3c589}.result-challenge span{display:block;font-size:15px;color:#b3a691;margin-top:7px}.results>.outline{height:68px;margin-top:14px}.results>.primary{height:94px;margin-top:18px;font-size:22px}.result-navigation{display:flex;justify-content:space-between;margin-top:12px}.result-navigation .text{min-height:64px}.result-hero span{background:#171510b8;padding:9px 0;bottom:0}.results{padding-top:35px}#notice{bottom:88px;font-size:19px;pointer-events:none}.board .intro{font-size:24px}

.feedback{padding:14px 18px;background:radial-gradient(ellipse,#16130de8 0%,#16130d9e 48%,transparent 75%);border-radius:8px}.feedback span{color:#d1c4ac}.game[data-finale="true"] .feedback{background:none}
