@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Share+Tech+Mono&family=VT323&family=Orbitron:wght@500;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Pirata+One&display=swap";@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&display=swap";:root{--transition-fast:.1s;--transition-med:.2s;--transition-slow:.35s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text-main);font-family:var(--font-body);overflow-x:hidden}body{justify-content:center;align-items:flex-start;min-height:100vh;display:flex}#app{flex-direction:column;width:100%;max-width:430px;min-height:100vh;display:flex;position:relative;overflow:hidden}.screen{flex-direction:column;flex:1;animation:.3s fadeIn;display:none}.screen.active{display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pixel-box{border:3px solid var(--accent);box-shadow:3px 3px 0 var(--accent-dark), inset 0 0 0 1px #ffd7001a;background:var(--bg-panel);position:relative}.btn{border:3px solid var(--accent);box-shadow:3px 3px 0 var(--accent-dark);background:var(--bg-panel);color:var(--accent);font-family:var(--font-title);cursor:pointer;text-transform:uppercase;letter-spacing:1px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:12px 20px;font-size:11px;transition:all .1s;display:inline-flex}.btn:active{box-shadow:1px 1px 0 var(--accent-dark);transform:translate(2px,2px)}.btn:hover,.btn.active{background:var(--accent);color:var(--bg)}.btn-large{width:100%;padding:16px 32px;font-size:13px}.btn-red{border-color:var(--danger);box-shadow:3px 3px 0 var(--danger);color:var(--danger)}.btn-red:hover,.btn-red.active{background:var(--danger);color:var(--text-main)}.btn-green{border-color:var(--success);color:var(--success);box-shadow:3px 3px #1a7a25}.btn-green:hover,.btn-green.active{background:var(--success);color:var(--bg)}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}#screen-home{text-align:center;background:radial-gradient(ellipse at 50% 0%, #ffd70014 0%, transparent 60%), var(--bg);justify-content:center;align-items:center;padding:40px 24px}.home-dart-icon{margin-bottom:24px;font-size:64px;animation:3s ease-in-out infinite dartFloat;display:block}@keyframes dartFloat{0%,to{transform:translateY(0)rotate(-45deg)}50%{transform:translateY(-10px)rotate(-45deg)}}.home-title{font-family:var(--font-title);color:var(--accent);text-shadow:3px 3px 0 var(--accent-dark), 0 0 20px #ffd70066;letter-spacing:3px;margin-bottom:8px;font-size:clamp(22px,7vw,32px)}.home-tagline{font-family:var(--font-title);color:var(--text-dim);letter-spacing:2px;margin-bottom:24px;font-size:8px}.home-subtitle{color:var(--text-main);opacity:.75;margin-bottom:32px;font-size:14px;line-height:1.6}.theme-selector{text-align:center;margin:0 0 24px}.theme-selector-label{font-family:var(--font-title);color:var(--text-dim);letter-spacing:2px;margin-bottom:10px;font-size:9px}.theme-options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.theme-btn{background:var(--btn-bg);border:2px solid var(--border-color);box-shadow:3px 3px 0 var(--shadow-color);cursor:pointer;opacity:.5;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;transition:opacity .2s,transform .1s;display:flex}.theme-btn.active{opacity:1;box-shadow:3px 5px 0 var(--shadow-color);transform:translateY(-2px)}.theme-icon{font-size:22px}.theme-name{font-family:var(--font-title);color:var(--text-main);font-size:7px}.home-cta{width:100%;max-width:320px;padding:20px 32px;font-size:14px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:3px 3px 0 var(--accent-dark), 0 0 0 0 #ffd70066}50%{box-shadow:3px 3px 0 var(--accent-dark), 0 0 0 8px #ffd70000}}.home-footer{color:var(--text-dim);font-size:9px;font-family:var(--font-title);position:absolute;bottom:20px}#screen-setup{gap:20px;padding:24px 16px 32px}.setup-header{align-items:center;gap:12px;padding:12px 16px 8px;display:flex}.setup-header h2{text-align:center;font-family:var(--font-title);color:var(--accent);text-shadow:2px 2px 0 var(--accent-dark);flex:1;font-size:16px}.btn-back{flex-shrink:0;padding:8px 12px;font-size:9px}.setup-section{padding:20px 16px}.setup-section-title{font-family:var(--font-title);color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;font-size:9px}.player-stepper{justify-content:center;align-items:center;display:flex}.stepper-btn{border:3px solid var(--accent);width:44px;height:44px;box-shadow:3px 3px 0 var(--accent-dark);background:var(--bg-panel);color:var(--accent);font-family:var(--font-title);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:all .1s;display:flex}.stepper-btn:active{box-shadow:1px 1px 0 var(--accent-dark);background:var(--accent);color:var(--bg);transform:translate(2px,2px)}.stepper-value{border-top:3px solid var(--accent);border-bottom:3px solid var(--accent);background:var(--bg);width:64px;height:44px;color:var(--accent);font-family:var(--font-title);justify-content:center;align-items:center;font-size:20px;display:flex}.setup-player-names{flex-direction:column;gap:6px;margin-top:14px;display:flex}.setup-player-name{border:1px dashed var(--border-color);color:var(--text-main);cursor:pointer;justify-content:space-between;padding:10px 12px;font-size:13px;display:flex}.setup-player-name span:last-child{opacity:.4;font-size:11px}.mode-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-card{background:var(--bg);border:2px solid var(--accent-dark);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:14px 10px;transition:all .15s;position:relative}.mode-card:active{transform:translate(1px,1px)}.mode-card.selected{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent-dark);background:var(--accent)}.mode-card.selected .mode-card-name{color:var(--bg);text-shadow:none}.mode-card.selected .mode-card-desc{color:var(--bg);opacity:.75}.mode-card.soon{opacity:.55;cursor:not-allowed;pointer-events:none}.mode-card-name{font-family:var(--font-title);color:var(--accent);margin-bottom:6px;font-size:13px}.mode-card.soon .mode-card-name{color:var(--text-dim)}.mode-card-desc{color:var(--text-main);opacity:.7;font-size:10px;line-height:1.4}.mode-badge-soon{background:var(--bg-panel2);border:1px solid var(--text-dim);color:var(--text-dim);font-family:var(--font-title);padding:2px 4px;font-size:6px;position:absolute;top:6px;right:6px}.doubles-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.doubles-label{color:var(--text-main);flex:1;font-size:12px;line-height:1.5}#screen-game{padding:0}#context-bar{background:var(--bg-panel2);border-bottom:2px solid var(--accent-dark);flex-shrink:0;align-items:center;gap:10px;padding:8px 44px 8px 12px;display:flex;position:relative}.context-mode{font-family:var(--font-title);color:var(--accent);font-size:11px}.context-sep{color:var(--text-dim);font-size:12px}.context-round{font-family:var(--font-title);color:var(--text-dim);font-size:9px}.context-legs{font-family:var(--font-title);color:var(--accent2);margin-left:auto;font-size:9px}.context-wake{opacity:.5;font-size:11px}.context-sound-btn{cursor:pointer;opacity:.7;background:0 0;border:none;padding:2px 4px;font-size:16px}.context-menu-btn{color:var(--text-main);cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px 8px;font-size:18px;position:absolute;right:8px}.game-menu{background:var(--bg-panel);border:2px solid var(--accent);box-shadow:3px 3px 0 var(--accent-dark);z-index:10;position:relative}.game-menu.hidden{display:none}.game-menu-item{border:none;border-bottom:1px solid var(--accent-dark);width:100%;color:var(--text-main);font-family:var(--font-title);text-align:left;cursor:pointer;background:0 0;padding:14px 20px;font-size:11px;display:block}.game-menu-item:last-child{border-bottom:none}.game-menu-item:active{background:var(--accent);color:var(--bg)}.game-menu-item:disabled{opacity:.35}.game-menu-danger{color:var(--danger)}#players-list-zone{flex-direction:column;flex-shrink:0;padding:6px 12px 340px;display:flex}#players-list-zone.animating .player-card{transition:all .35s}.player-card.is-active{background:var(--bg-panel);border:3px solid var(--accent);box-shadow:4px 4px 0 var(--accent-dark);margin:8px 0;padding:14px 16px}.card-name-row{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.card-name{font-family:var(--font-title);color:var(--text-main);cursor:pointer;word-break:break-all;font-size:clamp(10px,3.2vw,14px);line-height:1.3}.card-score{font-family:var(--font-title);color:var(--accent);text-shadow:3px 3px 0 var(--accent-dark), 0 0 20px #ffd70033;flex-shrink:0;font-size:clamp(30px,10vw,46px);line-height:1}.card-score.danger{color:var(--danger);text-shadow:3px 3px 0 var(--danger)}.card-mini-slots{gap:8px;display:flex}.mini-slot{background:var(--bg);border:2px solid var(--text-dim);text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;display:flex}.mini-slot.active{border-color:var(--accent);box-shadow:0 0 8px #ffd70073, 2px 2px 0 var(--accent-dark)}.mini-slot.filled{border-color:var(--success);background:#2ecc4014}.mini-slot-label{font-family:var(--font-title);color:var(--text-dim);letter-spacing:1px;font-size:6px}.mini-slot.active .mini-slot-label{color:var(--accent)}.mini-slot.filled .mini-slot-label{color:var(--success)}.mini-slot-value{font-family:var(--font-title);color:var(--text-main);word-break:break-all;font-size:9px}.mini-slot.active .mini-slot-value{color:var(--accent)}.mini-slot.filled .mini-slot-value{color:var(--success)}.player-card.is-other{border:1px solid var(--border-color);opacity:.6;background:0 0;justify-content:space-between;align-items:center;gap:8px;margin:4px 0;padding:10px 14px;display:flex}.card-other-name{color:var(--text-main);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.card-other-score{font-family:var(--font-title);color:var(--text-main);flex-shrink:0;font-size:14px}.card-streak{flex-shrink:0;font-size:11px}.score-preview{text-align:center;color:var(--text-main);opacity:.8;min-height:28px;padding:8px 16px 4px;font-size:12px}.score-preview.bust-warning{color:var(--danger);opacity:1;font-weight:700;animation:.5s ease-in-out infinite alternate blinkWarn}@keyframes blinkWarn{0%{opacity:1}to{opacity:.5}}.checkout-zone{background:var(--bg-panel2);border:2px solid var(--accent-dark);flex-direction:column;gap:8px;margin:0 12px 4px;padding:10px 12px;display:none}.checkout-zone.visible{display:flex}.checkout-title{font-family:var(--font-title);color:var(--accent);letter-spacing:1px;text-transform:uppercase;font-size:8px}.checkout-suggestions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.checkout-label{color:var(--text-main);opacity:.75;font-size:10px}.checkout-badge{border:1px solid var(--accent-dark);color:var(--accent);font-family:var(--font-title);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ffd7001f;padding:4px 8px;font-size:8px}.checkout-badge:active{background:var(--accent);color:var(--bg)}.double-attempts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.double-attempts-text{color:var(--text-main);font-size:11px}.double-attempts-count{font-family:var(--font-title);color:var(--accent);font-size:11px}.double-rule-lifted{color:var(--success);font-size:10px;font-style:italic;display:none}.double-rule-lifted.show{display:block}#keyboard-fixed{z-index:50;background:var(--bg);width:100%;max-width:430px;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.keyboard{flex-direction:column;gap:6px;padding:6px 12px 8px;display:flex}.modifier-row{gap:6px;margin-bottom:2px;display:flex}.modifier-btn{border-color:var(--text-dim);color:var(--text-dim);flex:1;padding:10px 6px;font-size:10px;box-shadow:2px 2px #333}.modifier-btn.active{border-color:var(--accent);box-shadow:2px 2px 0 var(--accent-dark);background:var(--accent);color:var(--bg)}.num-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.num-btn{font-family:var(--font-title);border:2px solid var(--bg-panel2);background:var(--bg-panel);color:var(--text-main);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:10px 4px;font-size:11px;transition:all .1s;box-shadow:2px 2px #00000080}.num-btn:active{background:var(--accent);color:var(--bg);transform:translate(1px,1px)}.bull-row{grid-template-columns:1fr 1fr;gap:5px;display:grid}.bull-btn{font-family:var(--font-title);border:2px solid var(--danger);box-shadow:2px 2px 0 var(--danger);background:var(--bg-panel);color:var(--danger);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:10px 4px;font-size:9px}.bull-btn:active{background:var(--danger);color:var(--text-main);transform:translate(1px,1px)}.action-row{grid-template-columns:1fr 1.6fr;gap:6px;display:grid}.btn-delete{border-color:var(--text-dim);color:var(--text-main);padding:12px 8px;font-size:10px;box-shadow:2px 2px #333}.btn-validate{padding:12px 8px;font-size:10px}.input-panel{display:none}.input-panel.active{display:block}#dartboard-container{justify-content:center;align-items:center;padding:4px 8px 2px;display:flex}#dartboard-svg{touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:100%;max-width:360px;height:auto}.dart-segment{cursor:pointer;transition:opacity .1s}.dart-segment:active{opacity:.6}.seg-single-outer,.seg-single-inner{fill:#1a1a1a;stroke:#333;stroke-width:.01px}.seg-double,.seg-triple{fill:#2ecc40;stroke:#333;stroke-width:.01px}.seg-alt .seg-single-outer,.seg-alt .seg-single-inner{fill:wheat}.dart-segment text{fill:#fff;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-family:system-ui,sans-serif;font-size:.13px;font-weight:700}.seg-hit{opacity:.4}.bull-25{fill:#2ecc40;cursor:pointer;stroke:#333;stroke-width:.01px}.bull-50{fill:#c20;cursor:pointer;stroke:#333;stroke-width:.01px}.bull-25:active,.bull-50:active{opacity:.6}.bull-25.seg-hit,.bull-50.seg-hit{opacity:.4}#stage{z-index:150;text-align:center;background:radial-gradient(ellipse at 50% 20%, #ffd7001a 0%, transparent 60%), var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:4vh;padding:24px;display:none;position:fixed;inset:0}#stage.show{animation:.25s fadeIn;display:flex}.stage-mc{font-family:var(--font-title);color:var(--text-main);overflow-wrap:break-word;max-width:100%;min-height:2em;font-size:clamp(14px,5vw,22px);line-height:1.6;animation:.4s cubic-bezier(.2,1.8,.4,1) mcPop}.stage-mc.tone-big{color:var(--accent);text-shadow:0 0 20px #ffd70099}.stage-mc.tone-bust{color:var(--danger)}.stage-mc.tone-low{color:var(--text-main);font-style:italic}.stage-mc.tone-drama{color:var(--accent2)}@keyframes mcPop{0%{opacity:0;transform:scale(.5)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.stage-next-label{font-family:var(--font-title);letter-spacing:4px;color:var(--text-dim);font-size:10px}.stage-next-name{font-family:var(--font-title);color:var(--accent);text-shadow:3px 3px 0 var(--accent-dark), 0 0 30px #ffd70066;word-break:break-word;font-size:clamp(24px,9vw,40px);line-height:1.3}.stage-score{font-family:var(--font-title);color:var(--text-main);text-shadow:4px 4px #0006;font-size:clamp(64px,26vw,120px);line-height:1}.stage-score-label{font-family:var(--font-title);letter-spacing:3px;color:var(--text-dim);margin-top:-2vh;font-size:9px}.stage-finish{font-family:var(--font-title);color:var(--accent2);border:2px dashed var(--accent2);padding:10px 16px;font-size:clamp(12px,4.5vw,18px);animation:1.2s ease-in-out infinite finishPulse}@keyframes finishPulse{0%,to{box-shadow:0 0 #2ecc4066}50%{box-shadow:0 0 20px 4px #2ecc4040}}.stage-hint{color:var(--text-dim);font-size:10px;animation:1.4s ease-in-out infinite alternate blinkWarn;position:absolute;bottom:18px}#drumroll{z-index:180;background:#000000d9;justify-content:center;align-items:center;gap:20px;display:none;position:fixed;inset:0}#drumroll.show{display:flex}#drumroll span{color:var(--accent);font-size:28px;animation:.9s ease-in-out infinite drumDot}#drumroll span:nth-child(2){animation-delay:.15s}#drumroll span:nth-child(3){animation-delay:.3s}@keyframes drumDot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-16px)}}#flash-overlay{z-index:100;pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#flash-overlay.show{display:flex}.flash-message{font-family:var(--font-title);text-align:center;border:4px solid;padding:24px 32px;font-size:clamp(24px,8vw,40px);line-height:1.4;animation:.4s cubic-bezier(.2,1.8,.4,1) flashPop;box-shadow:6px 6px #00000080}.flash-message.type-big{color:var(--accent);background:var(--bg-panel);border-color:var(--accent)}.flash-message.type-bust{color:var(--danger);background:var(--bg-panel);border-color:var(--danger)}@keyframes flashPop{0%{opacity:0;transform:scale(.4)rotate(-5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes flashGold{0%,to{background:var(--bg)}50%{background:#ffd7002e}}@keyframes flashRed{0%,to{background:var(--bg)}50%{background:#cc220040}}body.flash-gold #app{animation:.6s flashGold}body.flash-red #app{animation:.4s flashRed}#screen-victory{text-align:center;background:radial-gradient(ellipse at 50% 20%, #ffd70026 0%, transparent 60%), var(--bg);justify-content:flex-start;align-items:center;padding:40px 20px 32px;position:relative;overflow:hidden}.victory-trophy{margin-bottom:12px;font-size:64px;animation:2s ease-in-out infinite trophySpin;display:block}@keyframes trophySpin{0%,to{transform:scale(1)rotate(-3deg)}50%{transform:scale(1.1)rotate(3deg)}}.victory-label{font-family:var(--font-title);color:var(--text-dim);letter-spacing:3px;margin-bottom:10px;font-size:9px}.victory-name{font-family:var(--font-title);color:var(--accent);text-shadow:4px 4px 0 var(--accent-dark), 0 0 30px #ffd70080;word-break:break-word;margin-bottom:8px;font-size:clamp(18px,6vw,28px);animation:1s ease-in-out infinite alternate victoryGlow}@keyframes victoryGlow{0%{text-shadow:4px 4px 0 var(--accent-dark), 0 0 20px #ffd70066}to{text-shadow:4px 4px 0 var(--accent-dark), 0 0 50px #ffd700cc}}.victory-mc-line{color:var(--text-main);min-height:1.5em;margin-bottom:20px;font-size:14px;font-style:italic}.victory-legs{font-family:var(--font-title);color:var(--accent2);margin-bottom:20px;font-size:11px;line-height:1.8}.chronicle{text-align:left;width:100%;max-width:340px;margin-bottom:24px;padding:16px 14px}.chronicle-title{font-family:var(--font-title);color:var(--accent);letter-spacing:2px;text-align:center;margin-bottom:12px;font-size:9px}.chronicle-row{border-bottom:1px dashed #ffffff14;justify-content:space-between;gap:10px;padding:5px 0;font-size:12px;display:flex}.chronicle-row:last-child{border-bottom:none}.chronicle-what{color:var(--text-dim);flex-shrink:0}.chronicle-who{color:var(--text-main);text-align:right}.chronicle-titles{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.chronicle-badge{font-family:var(--font-title);color:var(--accent);border:1px solid var(--accent-dark);letter-spacing:1px;background:#ffd70014;padding:5px 8px;font-size:7px}.victory-buttons{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.confetti-container{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:0;width:10px;height:10px;animation:linear forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.name-modal-overlay{z-index:200;background:#000000bf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.name-modal-overlay.open{display:flex}.name-modal-box{background:var(--bg-panel);border:3px solid var(--accent);box-shadow:4px 4px 0 var(--accent-dark);text-align:center;width:85%;max-width:320px;padding:24px 20px}.name-modal-title{font-family:var(--font-title);color:var(--accent);margin-bottom:16px;font-size:12px}.name-modal-input{font-family:var(--font-body);color:var(--text-main);background:var(--bg);border:2px solid var(--accent);text-align:center;outline:none;width:100%;margin-bottom:20px;padding:10px 14px;font-size:18px;font-weight:700}.name-modal-actions{justify-content:center;gap:12px;display:flex}.btn-pixel{font-family:var(--font-title);border:2px solid var(--text-dim);background:var(--bg-panel);color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:10px 16px;font-size:9px;box-shadow:2px 2px #333}.btn-pixel:active{transform:translate(1px,1px);box-shadow:1px 1px #333}.btn-gold{border-color:var(--accent);box-shadow:2px 2px 0 var(--accent-dark);color:var(--accent)}.btn-gold:active{background:var(--accent);color:var(--bg)}.app-footer{text-align:center;color:var(--text-dim);font-size:10px;font-family:var(--font-body);letter-spacing:.5px;flex-shrink:0;padding:6px 0 10px}[data-theme=zelda]{--bg:#1a1a2e;--bg-panel:#16213e;--bg-panel2:#0f3460;--accent:gold;--accent-dark:#b8860b;--accent2:#2ecc40;--text-main:#f5e6c8;--text-dim:#f5e6c873;--border-color:gold;--shadow-color:#b8860b;--btn-bg:#16213e;--btn-hover:gold;--danger:#c20;--success:#2ecc40;--font-title:"Press Start 2P", monospace;--font-body:system-ui, sans-serif}[data-theme=mario]{--bg:#3b6fbf;--bg-panel:#e52521;--bg-panel2:#5c94fc;--accent:gold;--accent-dark:#b8860b;--accent2:#2ecc40;--text-main:#fff;--text-dim:#ffffffa6;--border-color:gold;--shadow-color:#333;--btn-bg:#e52521;--btn-hover:gold;--danger:#f44;--success:#2ecc40;--font-title:"Press Start 2P", monospace;--font-body:system-ui, sans-serif}[data-theme=terminator]{--bg:#000;--bg-panel:#0a0a0a;--bg-panel2:#111;--accent:#c00;--accent-dark:#800;--accent2:#00ff41;--text-main:#00ff41;--text-dim:#00ff4173;--border-color:#c00;--shadow-color:#800;--btn-bg:#0a0a0a;--btn-hover:#c00;--danger:red;--success:#00ff41;--font-title:"VT323", monospace;--font-body:"VT323", monospace}body[data-theme=terminator] .home-title{font-size:clamp(32px,10vw,48px)}body[data-theme=terminator] .btn{font-size:14px}body[data-theme=terminator] .btn.btn-large{font-size:16px}body[data-theme=terminator] .card-name{font-size:clamp(18px,5vw,24px)}body[data-theme=terminator] .card-score{font-size:clamp(52px,16vw,72px)}body[data-theme=terminator] .context-mode,body[data-theme=terminator] .context-round,body[data-theme=terminator] .setup-section-title{font-size:14px}body[data-theme=terminator] .modifier-btn{font-size:13px}body[data-theme=terminator] .num-btn{font-size:15px}body[data-theme=terminator]:after{content:"";pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000026 2px 4px);position:fixed;inset:0}body[data-theme=onepiece]{--bg:#1c0a00;--bg-panel:#3d1c00;--bg-panel2:#5c2800;--accent:#ffb800;--accent-dark:#8b6000;--accent2:#e8480a;--text-main:wheat;--text-dim:#f5deb380;--border-color:#ffb800;--shadow-color:#3d1c00;--btn-bg:#3d1c00;--btn-hover:#ffb800;--danger:#c20;--success:#4a9a2a;--font-title:"Pirata One", cursive;--font-body:system-ui, sans-serif}body[data-theme=onepiece] #app{background-image:repeating-linear-gradient(#0000 0 28px,#ffb8000a 28px 30px),radial-gradient(at 20% 80%,#1c0a00cc 0%,#0000 50%),radial-gradient(at 80% 20%,#5c280066 0%,#0000 50%)}body[data-theme=onepiece] .pixel-box:before,body[data-theme=onepiece] .pixel-box:after{content:"☠";color:var(--accent);font-size:14px}body[data-theme=onepiece] .pixel-box{border:3px solid var(--accent);box-shadow:4px 4px 0 var(--shadow-color), inset 0 0 20px #ffb8000d;border-radius:8px}body[data-theme=onepiece] .btn{border-radius:6px}body[data-theme=onepiece] .player-card.is-active{border:3px solid var(--accent);box-shadow:0 0 0 2px var(--accent-dark), 4px 4px 0 var(--shadow-color);border-radius:10px}body[data-theme=onepiece] .home-title{letter-spacing:2px;font-size:clamp(28px,9vw,42px)}body[data-theme=onepiece] .btn{padding:14px 20px;font-size:16px}body[data-theme=onepiece] .btn.btn-large{font-size:20px}body[data-theme=onepiece] .setup-section-title{font-size:18px}body[data-theme=onepiece] .modifier-btn{font-size:16px}body[data-theme=onepiece] .num-btn{font-size:18px}body[data-theme=onepiece] .card-name{font-size:clamp(22px,6vw,30px)}body[data-theme=neontokyo]{--bg:#050510;--bg-panel:#0d0d2e;--bg-panel2:#0a0a20;--accent:#ff2d78;--accent-dark:#aa1050;--accent2:#00e5ff;--text-main:#e8f4ff;--text-dim:#e8f4ff73;--border-color:#ff2d78;--shadow-color:#aa1050;--btn-bg:#0d0d2e;--btn-hover:#ff2d78;--danger:#ff2d78;--success:#00e5ff;--font-title:"Orbitron", monospace;--font-body:system-ui, sans-serif}body[data-theme=neontokyo] #app{background-image:linear-gradient(#ff2d7812 1px,#0000 1px),linear-gradient(90deg,#ff2d7812 1px,#0000 1px);background-size:32px 32px}body[data-theme=neontokyo] .pixel-box:before{content:"東";color:var(--accent2);opacity:.8;font-size:12px}body[data-theme=neontokyo] .pixel-box:after{content:"京";color:var(--accent2);opacity:.8;font-size:12px}body[data-theme=neontokyo] .pixel-box{border:2px solid var(--accent);box-shadow:3px 3px 0 var(--accent-dark), 0 0 10px #ff2d7840, inset 0 0 0 1px #ff2d781a;border-radius:0}body[data-theme=neontokyo] .btn{letter-spacing:2px;border-radius:0}body[data-theme=neontokyo] .player-card.is-active{border:2px solid var(--accent);box-shadow:0 0 20px #ff2d7866, 0 0 40px #ff2d7826, 3px 3px 0 var(--accent-dark)}body[data-theme=neontokyo] .home-title{letter-spacing:4px;font-size:clamp(20px,6vw,28px)}body[data-theme=neontokyo] .btn{letter-spacing:2px;font-size:11px}body[data-theme=neontokyo] .setup-section-title{letter-spacing:3px;font-size:11px}body[data-theme=neontokyo] .card-score{letter-spacing:-2px}body[data-theme=neontokyo]:after{content:"";pointer-events:none;z-index:998;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ff2d7808 2px 4px);position:fixed;inset:0}
