:root{--ink: #0b0609;--panel: #2b1a1e;--panel2: #4a2c24;--amber: #e7b96b;--cream: #f8e3b0;--teal: #15b5b0;--teal2: #7ff4ea;--magenta: #e33c8e;--magenta2: #ff7cc2;--red: #ff5c47;--yellow: #ffd94a}*{box-sizing:border-box}.app-root{width:100%;height:100%;background:var(--ink);color:var(--cream);font-family:Courier New,monospace;font-weight:700;letter-spacing:1px;position:relative;overflow:hidden}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.game-canvas{display:block;background:var(--ink);touch-action:none;cursor:crosshair}.game-canvas.dim{filter:brightness(.55)}.scanlines{position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.5) 0px,rgba(0,0,0,.5) 1px,transparent 1px,transparent 3px);opacity:.08;z-index:90}.pix-btn{font-family:inherit;font-weight:700;letter-spacing:2px;font-size:15px;color:var(--cream);background:var(--panel);border:2px solid var(--amber);box-shadow:3px 3px 0 var(--ink),inset 0 0 0 2px var(--ink);padding:10px 18px;cursor:pointer;text-transform:uppercase;image-rendering:pixelated}.pix-btn:hover{background:var(--panel2);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink),inset 0 0 0 2px var(--ink)}.pix-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink),inset 0 0 0 2px var(--ink)}.pix-btn.accent{background:var(--magenta);border-color:var(--magenta2);color:#fff}.pix-btn.accent:hover{background:#f0509c}.pix-btn.small{font-size:11px;padding:5px 9px}.pix-btn:disabled{opacity:.4;cursor:default}.pix-input,.pix-select,.pix-textarea{font-family:inherit;font-weight:700;letter-spacing:1px;font-size:13px;color:var(--cream);background:var(--ink);border:2px solid var(--panel2);padding:6px 8px;text-transform:uppercase;min-width:0}.pix-textarea{width:100%;height:64px;font-size:10px;text-transform:none}.pix-range{accent-color:var(--magenta);width:140px}.menu-screen{background:radial-gradient(ellipse at 50% -20%,#4a2c24 0%,transparent 55%),repeating-linear-gradient(45deg,#14090c 0 12px,#170b0e 12px 24px);overflow-y:auto;padding:16px}.menu-panel{background:var(--panel);border:3px solid var(--amber);box-shadow:6px 6px 0 var(--ink),inset 0 0 0 3px var(--ink);padding:20px 24px;width:min(430px,94vw);display:flex;flex-direction:column;gap:10px;max-height:94vh;overflow-y:auto}.menu-panel.wide{width:min(560px,96vw)}.menu-title{margin:0 0 4px;font-size:26px;color:var(--yellow);text-shadow:3px 3px 0 var(--ink),-1px -1px 0 var(--magenta);text-align:center;letter-spacing:4px}.menu-actions{display:flex;gap:10px;justify-content:center;margin-top:8px;flex-wrap:wrap}.cycler{display:flex;align-items:center;gap:8px}.cycler-label{width:110px;font-size:12px;color:var(--teal2)}.cycler-value{flex:1;text-align:center;font-size:13px;color:var(--cream)}.cycler-value.narrow{flex:0 0 34px}.cycler-arrow{font-family:inherit;font-weight:700;font-size:14px;background:var(--panel2);color:var(--yellow);border:2px solid var(--ink);cursor:pointer;padding:3px 9px}.cycler-arrow:active{transform:translateY(1px)}.seat-grid{display:flex;flex-direction:column;gap:6px;margin:4px 0}.seat-row{display:flex;gap:8px;align-items:center}.seat-row .pix-input,.seat-row .pix-select{flex:1}.seat-team{width:22px;height:22px;text-align:center;line-height:22px;font-size:12px;border:2px solid var(--ink)}.seat-row.team-0 .seat-team{background:var(--teal);color:var(--ink)}.seat-row.team-1 .seat-team{background:var(--magenta);color:#fff}.title-screen{background:var(--ink);flex-direction:column}.title-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:none}.title-content>*{pointer-events:auto}.title-neon{text-align:center;user-select:none}.title-bonk{font-size:clamp(64px,18vw,130px);letter-spacing:10px;color:var(--magenta2);text-shadow:0 0 10px var(--magenta),0 0 34px var(--magenta),5px 5px 0 var(--ink),-2px -2px 0 var(--teal);animation:neon-flicker 3.7s infinite .9s;transform:rotate(-3deg)}.title-sub{font-size:clamp(11px,2.4vw,16px);letter-spacing:8px;color:var(--teal2);margin-top:4px;text-shadow:0 0 8px var(--teal),2px 2px 0 var(--ink);animation:neon-flicker 4.2s infinite}@keyframes neon-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.4}94%{opacity:1}96%{opacity:.6}97%{opacity:1}}.title-menu{display:flex;flex-direction:column;gap:10px;width:220px}.tap-to-fowl{font-size:13px;letter-spacing:4px;color:var(--yellow);animation:blink 1.1s steps(1) infinite;text-shadow:2px 2px 0 var(--ink)}@keyframes blink{50%{opacity:0}}.title-footer{opacity:.9}.kofi{color:var(--amber);text-decoration:none;font-size:12px;letter-spacing:2px;border:2px solid var(--panel2);padding:5px 10px;background:#0b0609b3}.kofi:hover{color:var(--yellow);border-color:var(--amber)}.match{background:var(--ink)}.hud{position:absolute;top:6px;left:0;right:0;display:flex;justify-content:space-between;padding:0 10px;pointer-events:none}.hud-team{background:#0b0609bf;border:2px solid var(--panel2);padding:5px 8px;min-width:130px}.hud-team.active{border-color:var(--yellow)}.hud-team.right{text-align:right}.hud-name{font-size:11px;color:var(--cream);letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.pips{display:flex;gap:2px;margin-top:3px}.hud-team.right .pips{justify-content:flex-end}.pip{width:6px;height:9px;background:var(--cream);border:1px solid var(--ink)}.pip.down{background:var(--panel2);opacity:.5}.fpips{display:flex;gap:3px;margin-top:3px}.hud-team.right .fpips{justify-content:flex-end}.fpip{width:9px;height:9px;border:1px solid var(--ink);background:var(--panel2);border-radius:50%}.fpip.won{background:var(--yellow)}.shot-clock{position:absolute;left:50%;top:4px;transform:translate(-50%);font-size:22px;color:var(--teal2);background:#0b0609cc;border:2px solid var(--teal);padding:2px 12px}.shot-clock.urgent{color:var(--red);border-color:var(--red);animation:blink .5s steps(1) infinite}.ai-chip,.aim-hint,.ot-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#0b0609cc;border:2px solid var(--panel2);padding:5px 14px;font-size:11px;letter-spacing:2px;color:var(--amber);pointer-events:none;white-space:nowrap}.ot-hint{color:var(--teal2);border-color:var(--teal);animation:blink 1s steps(1) infinite}.quit-corner{position:absolute;top:6px;left:50%;transform:translate(-50%)}.match .quit-corner{top:auto;bottom:8px;left:10px;transform:none}.arcade-sub{font-size:10px;color:var(--teal2);margin-top:2px}.arcade-toast{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:26px;color:var(--yellow);text-shadow:3px 3px 0 var(--ink);animation:toast-pop .35s cubic-bezier(.2,2.4,.4,1);pointer-events:none}@keyframes toast-pop{0%{transform:translate(-50%,-50%) scale(.2)}}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:20}.banner-overlay{background:#0b060973}.banner-overlay.tappable{cursor:pointer}.banner-box{background:var(--panel);border:3px solid var(--amber);box-shadow:0 0 0 3px var(--ink),6px 6px #0009;padding:18px 30px;text-align:center;animation:banner-in .25s cubic-bezier(.2,2,.4,1)}.banner-main{font-size:clamp(18px,4vw,28px);color:var(--yellow);letter-spacing:3px;text-shadow:2px 2px 0 var(--ink)}.banner-sub{font-size:12px;color:var(--teal2);margin-top:8px;letter-spacing:2px}@keyframes banner-in{0%{transform:scale(.3);opacity:0}}.vs-screen{background:linear-gradient(115deg,var(--panel) 0 49.6%,var(--yellow) 49.6% 50.4%,#201028 50.4% 100%);overflow:hidden}.vs-half{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.vs-left{animation:slam-left .3s cubic-bezier(.2,1.6,.4,1)}.vs-right{animation:slam-right .3s cubic-bezier(.2,1.6,.4,1) .15s backwards}@keyframes slam-left{0%{transform:translate(-120%)}}@keyframes slam-right{0%{transform:translate(120%)}}.vs-portrait{width:128px;height:192px;image-rendering:pixelated;border:3px solid var(--ink);box-shadow:5px 5px #00000080}.vs-name{font-size:clamp(12px,2.6vw,18px);letter-spacing:2px;color:var(--cream);text-shadow:2px 2px 0 var(--ink);text-align:center;max-width:40vw}.vs-nick{font-size:clamp(10px,2vw,14px);color:var(--yellow);background:var(--ink);padding:3px 10px;letter-spacing:2px}.vs-bolt{font-size:clamp(34px,8vw,64px);color:var(--yellow);z-index:2;text-shadow:0 0 14px var(--red),4px 4px 0 var(--ink);animation:vs-pulse .5s cubic-bezier(.2,2.4,.4,1) .3s backwards}@keyframes vs-pulse{0%{transform:scale(4);opacity:0}}.bonk-overlay{background:#ffffff1f;pointer-events:none}.bonk-word{display:flex;gap:2px}.bonk-letter{font-size:clamp(60px,16vw,130px);color:var(--yellow);font-weight:700;text-shadow:5px 5px 0 var(--red),9px 9px 0 var(--ink),0 0 30px var(--yellow);animation:bonk-in .4s cubic-bezier(.2,2.6,.4,1) backwards,bonk-spin 1.4s ease-in-out .4s infinite alternate;display:inline-block}@keyframes bonk-in{0%{transform:scale(6) rotate(40deg);opacity:0}}@keyframes bonk-spin{0%{transform:rotate(-6deg) scale(1)}to{transform:rotate(6deg) scale(1.08)}}.stamp-overlay{pointer-events:none}.stamp{font-size:clamp(40px,10vw,80px);color:var(--red);letter-spacing:6px;border:6px solid var(--red);padding:8px 26px;background:#0b0609b3;text-shadow:3px 3px 0 var(--ink);transform:rotate(-7deg);animation:stamp-in .22s cubic-bezier(.3,3,.5,1)}.stamp-in{animation:stamp-in .3s cubic-bezier(.3,3,.5,1)}@keyframes stamp-in{0%{transform:rotate(-7deg) scale(3.2);opacity:0}}.challenge-callout{background:var(--ink);border:2px solid var(--magenta);color:var(--magenta2);font-size:12px;padding:8px 10px;text-align:center;letter-spacing:1px}.arcade-rules{font-size:11px;color:var(--amber);text-align:center;line-height:1.7;letter-spacing:1px}.board{border:2px solid var(--panel2);background:var(--ink);padding:8px 12px}.board-title{color:var(--teal2);font-size:12px;text-align:center;letter-spacing:3px;margin-bottom:6px}.board-empty{font-size:11px;color:var(--panel2);text-align:center;padding:8px}.board-row{display:flex;gap:10px;font-size:13px;padding:1px 0}.board-ini{color:var(--yellow);flex:1}.board-score{color:var(--cream)}.initials-overlay{background:#0b0609d9;z-index:40}.initials-score{text-align:center;font-size:20px;color:var(--teal2)}.initials-row{display:flex;gap:14px;justify-content:center;margin:8px 0}.initials-slot{display:flex;flex-direction:column;align-items:center;gap:6px}.initials-letter{font-size:38px;color:var(--yellow);width:46px;text-align:center;background:var(--ink);border:2px solid var(--amber)}.result-line{text-align:center;font-size:13px;color:var(--cream);letter-spacing:1px}.io-block{border-top:2px solid var(--panel2);padding-top:10px;margin-top:4px}.career-strip{display:flex;gap:16px;justify-content:center;font-size:14px;color:var(--yellow);flex-wrap:wrap}.tier-block{border:2px solid var(--panel2);padding:8px;display:flex;flex-direction:column;gap:8px}.tier-block.locked{opacity:.35}.tier-head{font-size:12px;color:var(--teal2);letter-spacing:3px}.rival-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rival-card{position:relative;background:var(--ink);border:2px solid var(--panel2);cursor:pointer;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:inherit;font-weight:700;color:var(--cream)}.rival-card:hover:not(:disabled){border-color:var(--yellow)}.rival-card:disabled{cursor:default}.rival-card img{width:48px;height:72px;image-rendering:pixelated}.rival-card-name{font-size:9px;letter-spacing:0;text-align:center}.rival-card-nick{font-size:8px;color:var(--amber);letter-spacing:0;text-align:center}.rival-card.beaten{border-color:var(--teal)}.rival-check{position:absolute;top:2px;right:4px;color:var(--teal2);font-size:14px}.tier-done{font-size:11px;color:var(--teal2);text-align:center;letter-spacing:2px}.upgrade-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--panel2);padding:6px 0}.upgrade-info{flex:1;min-width:0}.upgrade-name{font-size:13px;color:var(--cream)}.upgrade-desc{font-size:10px;color:var(--amber)}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px}.pick-chip{font-family:inherit;font-weight:700;font-size:9px;letter-spacing:0;background:var(--ink);color:var(--cream);border:2px solid var(--panel2);padding:5px 4px;cursor:pointer;text-align:left}.pick-chip.sel{border-color:var(--magenta);color:var(--magenta2)}.stamp-row{display:flex;gap:6px}.stamp-pick{font-size:16px;width:32px;height:32px;background:var(--ink);border:2px solid var(--panel2);cursor:pointer}.stamp-pick.sel{border-color:var(--yellow)}.pix-input.grow{flex:1}.board-row.me .board-ini{color:var(--magenta2)}.fixture-actions{display:flex;gap:4px}.qp-tabs{position:absolute;top:6px;left:50%;transform:translate(-50%);display:flex;gap:6px;align-items:center;z-index:15}.qp-tab{font-family:inherit;font-weight:700;font-size:11px;letter-spacing:2px;background:#0b0609cc;color:var(--amber);border:2px solid var(--panel2);padding:5px 10px;cursor:pointer}.qp-tab.sel{color:var(--yellow);border-color:var(--yellow)}.qp-tabs .pix-btn{margin-left:8px}.qp-tabs~.hud{top:34px}.tutorial-tip{position:absolute;bottom:44px;left:50%;transform:translate(-50%);background:var(--ink);border:2px solid var(--teal);color:var(--teal2);font-size:12px;letter-spacing:2px;padding:8px 16px;white-space:nowrap;animation:blink 1.4s steps(1) infinite;pointer-events:none}.grade-tag{position:absolute;top:24%;left:50%;transform:translate(-50%,-50%);font-size:15px;letter-spacing:3px;color:var(--teal2);background:#0b0609bf;border:2px solid var(--teal);padding:4px 12px;pointer-events:none;animation:toast-pop .3s cubic-bezier(.2,2.4,.4,1);z-index:12}.arcade-map{align-items:flex-start;overflow-y:auto}.map-wrap{width:min(640px,96vw);margin:0 auto;display:flex;flex-direction:column;gap:8px;padding:10px 0}.menu-title.small{font-size:18px;letter-spacing:3px}.map-frame{position:relative;width:100%;aspect-ratio:16/9;border:3px solid var(--amber);box-shadow:4px 4px 0 var(--ink);background:var(--ink)}.map-canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.map-node{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;font-size:12px;line-height:1;background:var(--panel);color:var(--cream);border:2px solid var(--amber);cursor:pointer;z-index:3;border-radius:50%;display:flex;align-items:center;justify-content:center}.map-node:hover{transform:translate(-50%,-50%) scale(1.25);z-index:5}.map-node.stamped{background:var(--panel2);color:var(--yellow);border-color:var(--yellow)}.map-node.rejected{color:var(--red);border-color:var(--red)}.map-node.finale{border-color:var(--magenta2)}.map-node.here{outline:2px solid var(--teal2);animation:blink 1s steps(1) infinite}.postcard{gap:8px}.postcard-head{text-align:center}.postcard-city{font-size:18px;color:var(--yellow);letter-spacing:3px;text-shadow:2px 2px 0 var(--ink)}.postcard-venue{font-size:12px;color:var(--teal2);letter-spacing:2px}.postcard-blurb{font-size:11px;color:var(--cream);line-height:1.6;letter-spacing:.5px}.postcard-champ{display:flex;gap:10px;align-items:center;background:var(--ink);border:2px solid var(--panel2);padding:6px}.postcard-champ img{width:40px;height:60px;image-rendering:pixelated}.postcard-champ-name{font-size:13px;color:var(--cream)}.career-strip{display:flex;gap:14px;justify-content:center;font-size:13px;color:var(--yellow);flex-wrap:wrap}.career-strip .golden{color:var(--yellow);text-shadow:0 0 8px var(--yellow)}.career-strip .danger,.result-line.danger{color:var(--red)}.region-panel{background:var(--panel);border:2px solid var(--panel2);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.region-title{font-size:13px;color:var(--teal2);letter-spacing:1px}.gate-chip{color:var(--red);font-size:10px;border:1px solid var(--red);padding:1px 5px;margin-left:6px}.result-line.payout{color:var(--yellow)}.event-card{gap:8px}.event-choice{font-family:inherit;font-weight:700;text-align:left;background:var(--ink);color:var(--cream);border:2px solid var(--panel2);padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.event-choice:hover:not(:disabled){border-color:var(--yellow)}.event-choice:disabled{opacity:.4;cursor:default}.event-choice-label{font-size:12px;letter-spacing:1px}.event-choice-delta{font-size:9px;color:var(--amber);letter-spacing:.5px}.credits-grid{display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow-y:auto}.credit-stamp{font-size:11px;color:var(--red);border:2px solid var(--red);padding:3px 8px;transform:rotate(-2deg);letter-spacing:1px;background:#0b060980}.credit-stamp:nth-child(2n){transform:rotate(1.5deg);color:var(--teal2);border-color:var(--teal)}.dialogue-overlay{background:#0b06098c;align-items:flex-end;padding-bottom:24px;cursor:pointer;z-index:50}.dialogue-box{display:flex;gap:12px;align-items:flex-start;position:relative;background:var(--panel);border:3px solid var(--amber);box-shadow:0 0 0 3px var(--ink),6px 6px #0009;padding:12px 14px;width:min(520px,92vw)}.dialogue-portrait{width:64px;height:96px;image-rendering:pixelated;border:2px solid var(--ink);flex:none}.dialogue-body{flex:1;min-width:0}.dialogue-name{font-size:11px;color:var(--yellow);letter-spacing:2px;margin-bottom:6px}.dialogue-text{font-size:13px;color:var(--cream);line-height:1.5}.dialogue-hint{font-size:9px;color:var(--teal2);margin-top:8px;animation:blink 1.2s steps(1) infinite}.dialogue-skip{position:absolute;top:6px;right:6px}.debug-panel{position:absolute;bottom:8px;right:8px;z-index:60;background:#000c;color:#7ff4ea;font-size:10px;font-family:monospace;padding:6px 8px;border:1px solid #15b5b0;letter-spacing:0}.debug-panel button{font-size:10px;margin-top:4px}.rotate-prompt{display:none}@media (orientation: portrait){.rotate-prompt{display:flex;position:absolute;inset:0;z-index:80;background:var(--ink);align-items:center;justify-content:center}}.rotate-box{text-align:center;font-size:16px;letter-spacing:3px;color:var(--yellow)}.rotate-icon{font-size:54px;animation:rot 2s linear infinite;color:var(--teal2)}@keyframes rot{to{transform:rotate(360deg)}}.rotate-sub{font-size:10px;color:var(--amber);margin-top:8px;letter-spacing:2px}
