:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #0f3460;--accent: #00d2ff;--accent-glow: rgba(0, 210, 255, .3);--text-primary: #ffffff;--text-secondary: #a0a0b0;--danger: #ff4757;--success: #2ed573;--warning: #ffa502;--dartboard-red: #b71c1c;--dartboard-green: #1b5e20;--shadow: 0 4px 20px rgba(0, 0, 0, .3);--tg-theme-bg-color: var(--bg-primary);--tg-theme-text-color: var(--text-primary);--tg-theme-hint-color: var(--text-secondary);--tg-theme-button-color: var(--accent);--tg-theme-button-text-color: #ffffff}body.theme-light{--bg-primary: #ffffff;--bg-secondary: #f0f2f5;--bg-card: #e4e6eb;--accent: #00a86b;--accent-glow: rgba(0, 168, 107, .25);--text-primary: #1c1e21;--text-secondary: #65676b;--danger: #e74c3c;--success: #27ae60;--warning: #f39c12;--shadow: 0 4px 20px rgba(0, 0, 0, .08);--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #1c1e21;--tg-theme-hint-color: #65676b;--tg-theme-button-color: #00a86b;--tg-theme-button-text-color: #ffffff}body{background:var(--tg-theme-bg-color, var(--bg-primary));color:var(--tg-theme-text-color, var(--text-primary));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;overflow-x:hidden}*{margin:0;padding:0;box-sizing:border-box}.app{max-width:480px;margin:0 auto;padding:8px 12px;min-height:100vh}.game-setup{display:flex;flex-direction:column;gap:20px;padding:20px 0}.game-setup h1{text-align:center;font-size:28px;color:var(--tg-theme-button-color, var(--accent));margin-bottom:10px}.game-setup h2{font-size:18px;color:var(--tg-theme-hint-color, var(--text-secondary));margin-bottom:12px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:14px;color:var(--tg-theme-hint-color, var(--text-secondary))}.input-group input,.input-group select{padding:12px 16px;border-radius:12px;border:1px solid rgba(128,128,128,.2);background:var(--tg-theme-bg-color, var(--bg-secondary));color:var(--tg-theme-text-color, var(--text-primary));font-size:16px;outline:none;transition:border-color .2s}.input-group input:focus,.input-group select:focus{border-color:var(--tg-theme-button-color, var(--accent))}.players-list{display:flex;flex-direction:column;gap:8px}.player-input{display:flex;gap:8px}.player-input input{flex:1;padding:12px 16px;border-radius:12px;border:1px solid rgba(128,128,128,.2);background:var(--tg-theme-bg-color, var(--bg-secondary));color:var(--tg-theme-text-color, var(--text-primary));font-size:16px;outline:none}.player-input button{padding:12px 16px;border-radius:12px;border:none;background:var(--danger);color:#fff;font-size:18px;cursor:pointer;transition:opacity .2s}.player-input button:hover{opacity:.8}.btn-add-player{padding:12px;border-radius:12px;border:2px dashed rgba(128,128,128,.3);background:transparent;color:var(--tg-theme-hint-color, var(--text-secondary));font-size:14px;cursor:pointer;transition:all .2s}.btn-add-player:hover{border-color:var(--tg-theme-button-color, var(--accent));color:var(--tg-theme-button-color, var(--accent))}.btn-primary{padding:16px 32px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--tg-theme-button-color, var(--accent)),#0099cc);color:var(--tg-theme-button-text-color, white);font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}.btn-primary:active{transform:translateY(0)}.scoreboard{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.player-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--tg-theme-bg-color, var(--bg-secondary));border:2px solid transparent;transition:all .3s}.player-card.active{border-color:var(--tg-theme-button-color, var(--accent));box-shadow:0 0 14px var(--accent-glow)}.player-card .avatar{width:32px;height:32px;border-radius:50%;background:var(--tg-theme-hint-color, var(--bg-card));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--tg-theme-button-color, var(--accent));flex-shrink:0}.player-card .info{flex:1;min-width:0}.player-card .name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-card .legs{font-size:11px;color:var(--tg-theme-hint-color, var(--text-secondary))}.player-card .score{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--tg-theme-button-color, var(--accent));flex-shrink:0}.player-card.active .score{text-shadow:0 0 10px var(--accent-glow)}.dartboard-container{display:flex;flex-direction:column;align-items:center;margin:4px 0 8px;position:relative}.dartboard-zoom-wrapper{width:min(92vw,62vh,420px);width:min(92vw,62dvh,420px);aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;touch-action:none;position:relative}.dartboard-svg{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none;will-change:transform}.dartboard-zoom-hint{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);background:#0000008c;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;pointer-events:none;letter-spacing:.3px}.action-bar{display:flex;justify-content:center;align-items:stretch;gap:10px;margin:10px 0}.action-bar .miss-button,.action-bar .undo-button{flex:1;max-width:170px;padding:10px 16px;border-radius:10px;border:1px solid rgba(128,128,128,.3);background:transparent;color:var(--tg-theme-hint-color, var(--text-secondary));font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:1px}.action-bar .miss-button:hover{border-color:var(--danger);color:var(--danger)}.action-bar .undo-button{display:flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.3px}.action-bar .undo-button svg{flex-shrink:0}.action-bar .undo-button:hover{border-color:var(--danger);color:var(--danger);background:#ff475714}.action-bar .undo-button:active{transform:scale(.97)}.action-bar .undo-button:disabled{opacity:.35;cursor:not-allowed}.throw-history{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:6px 0;min-height:32px}.throw-chip{padding:4px 10px;border-radius:6px;background:var(--tg-theme-hint-color, var(--bg-card));font-size:13px;font-weight:500;color:var(--tg-theme-text-color, var(--text-primary));border:1px solid rgba(128,128,128,.15)}.throw-chip.miss{color:var(--tg-theme-hint-color, var(--text-secondary));border-color:#80808014}.throw-chip.triple{color:var(--dartboard-red);border-color:var(--dartboard-red)}.throw-chip.double{color:var(--dartboard-green);border-color:var(--dartboard-green)}.throw-chip.bull{color:var(--warning);border-color:var(--warning)}.throw-chip.undone{opacity:.4;text-decoration:line-through}.turn-total{display:flex;justify-content:center;gap:12px;margin:4px 0;font-size:13px;color:var(--tg-theme-hint-color, var(--text-secondary))}.turn-total span{padding:3px 10px;border-radius:6px;background:var(--tg-theme-bg-color, var(--bg-secondary))}.turn-total .total{color:var(--tg-theme-button-color, var(--accent));font-weight:600}.throw-result{position:fixed;bottom:90px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:10px;background:var(--tg-theme-bg-color, var(--bg-card));border:1px solid var(--tg-theme-button-color, var(--accent));box-shadow:var(--shadow);font-size:16px;font-weight:700;color:var(--tg-theme-button-color, var(--accent));z-index:100;animation:slideUp .3s ease-out}.throw-result.bust{border-color:var(--danger);color:var(--danger)}.throw-result.win{border-color:var(--success);color:var(--success)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.checkout-suggestions{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:#ffa5021a;border:1px solid var(--warning);margin:6px 0}.checkout-suggestions .title{font-size:11px;color:var(--warning);text-transform:uppercase;letter-spacing:1px}.checkout-suggestions .combo{font-size:15px;font-weight:500;color:var(--tg-theme-text-color, var(--text-primary))}.match-result{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000e6;z-index:200;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.match-result h1{font-size:36px;color:var(--tg-theme-button-color, var(--accent));margin-bottom:16px}.match-result .winner{font-size:24px;color:var(--success);margin-bottom:32px}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--tg-theme-hint-color, var(--text-secondary))}.loading:after{content:"";width:32px;height:32px;border:3px solid var(--tg-theme-hint-color, var(--bg-card));border-top-color:var(--tg-theme-button-color, var(--accent));border-radius:50%;animation:spin .8s linear infinite;margin-left:12px}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:10px 14px;border-radius:10px;background:#ff47571a;border:1px solid var(--danger);color:var(--danger);font-size:13px;margin:8px 0}
