:root{--primary-blue: #0046b8;--primary-red: #d30000;--bg-dark: #0f172a;--glass-bg: rgba(30, 41, 59, .75);--glass-border: rgba(255, 255, 255, .1);--text-primary: #f8fafc;--text-secondary: #94a3b8;--base-empty: rgba(255, 255, 255, .2);--base-fill: #fbbf24;--ball-color: #22c55e;--strike-color: #ef4444;--out-color: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Noto Sans TC,sans-serif;color:var(--text-primary);background-color:var(--bg-dark);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden}.bg-stadium{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 10%,#1e3a8a,#0f172a 60%);z-index:-2}.bg-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(15,23,42,.9) 100%),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);z-index:-1;pointer-events:none}#app{width:100%;max-width:800px;padding:20px;position:relative}.glass{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 25px 50px -12px #00000080}.main-container{padding:40px;display:flex;flex-direction:column;gap:30px}.header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--glass-border);padding-bottom:20px}.header-titles .subtitle{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:2px;margin-bottom:5px}.header-titles h1{font-size:1.8rem;font-weight:900;letter-spacing:1px}.status-badge{background:var(--primary-red);color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:800;letter-spacing:1px;box-shadow:0 0 15px #d3000066}.pulse{animation:pulse-animation 2s infinite}@keyframes pulse-animation{0%{transform:scale(.95);box-shadow:0 0 #d30000b3}70%{transform:scale(1);box-shadow:0 0 0 10px #d3000000}to{transform:scale(.95);box-shadow:0 0 #d3000000}}.scoreboard{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.team{display:flex;flex-direction:column;align-items:center;gap:15px;flex:1}.team.jpn{flex-direction:column-reverse}.score{font-size:5rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 30px rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.score.updated{transform:scale(1.2);color:var(--base-fill)}.team-info{display:flex;flex-direction:column;align-items:center;text-align:center}.team-info .flag{font-size:2.5rem;margin-bottom:5px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.team-info h2{font-size:1.5rem;font-weight:800;letter-spacing:1px}.team-info p{color:var(--text-secondary);font-size:.9rem;font-weight:600}.match-info{display:flex;flex-direction:column;align-items:center;gap:20px;flex:1}.inning-box{padding:10px 20px;border-radius:12px;display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.2rem;background:#ffffff0d}.inning-arrow{color:var(--base-fill)}.diamond-container{position:relative;width:100px;height:100px}.diamond{position:absolute;top:50%;left:50%;width:70px;height:70px;transform:translate(-50%,-50%) rotate(45deg);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:15px}.base{background-color:var(--base-empty);border-radius:4px;box-shadow:inset 0 0 0 2px #ffffff1a;transition:all .3s ease}.base.active{background-color:var(--base-fill);box-shadow:0 0 15px var(--base-fill),inset 0 0 0 2px #ffffff80}.base-2{grid-column:1;grid-row:1;border-top-left-radius:8px}.base-1{grid-column:2;grid-row:1;border-top-right-radius:8px}.base-3{grid-column:1;grid-row:2;border-bottom-left-radius:8px}.base-home{grid-column:2;grid-row:2;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:0;background-color:var(--text-primary);opacity:.8}.count-board{display:flex;padding:15px 30px;justify-content:center;gap:40px;background:#0003;border-radius:16px;border:1px solid var(--glass-border)}.count-item{display:flex;align-items:center;gap:12px}.count-item .label{font-weight:800;font-size:1.2rem;width:20px;color:var(--text-secondary)}.dots{display:flex;gap:8px}.indicator{width:14px;height:14px;border-radius:50%;background-color:var(--base-empty);transition:all .3s ease}.b-dot.active{background-color:var(--ball-color);box-shadow:0 0 10px var(--ball-color)}.s-dot.active{background-color:var(--strike-color);box-shadow:0 0 10px var(--strike-color)}.o-dot.active{background-color:var(--out-color);box-shadow:0 0 10px var(--out-color)}.play-by-play{padding:20px;background:#0003;border-radius:16px;min-height:150px;max-height:200px;overflow-y:auto}.pbp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--glass-border)}.pbp-header h3{font-size:1.1rem;font-weight:700}.auto-update-text{font-size:.8rem;color:var(--base-fill);font-weight:600}#play-log{list-style:none;display:flex;flex-direction:column;gap:10px}.log-item{font-size:.95rem;color:var(--text-secondary);padding:8px 12px;background:#ffffff08;border-radius:8px;border-left:3px solid transparent;animation:slideIn .3s ease-out}.log-item.highlight{color:var(--text-primary);background:#ffffff14;border-left-color:var(--base-fill);font-weight:600}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff6}.admin-toggle-btn{position:absolute;top:20px;right:-130px;background:#00000080;color:#fff;border:1px solid var(--glass-border);padding:10px 15px;border-radius:12px;cursor:pointer;font-family:inherit;font-weight:600;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-toggle-btn:hover{background:#ffffff1a}.admin-panel{position:absolute;top:0;right:-350px;width:320px;padding:25px;z-index:10;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.admin-panel.hidden{transform:translate(-20px);opacity:0;pointer-events:none}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.close-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;opacity:.7}.close-btn:hover{opacity:1}.admin-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:20px;line-height:1.4}.controls-section{margin-bottom:20px}.controls-section h4{font-size:.9rem;margin-bottom:10px;color:var(--base-fill)}.btn-group{display:flex;gap:8px}.space-between{justify-content:space-between}.mt-2{margin-top:8px}.btn{flex:1;padding:8px 12px;border:none;border-radius:8px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;font-size:.9rem;color:#fff}.primary{background:var(--primary-blue)}.danger{background:var(--primary-red)}.success{background:var(--ball-color)}.outline{background:transparent;border:1px solid rgba(255,255,255,.3)}.danger-outline{background:transparent;border:1px solid var(--primary-red);color:#ff6b6b}.outline-danger{background:#d3000033;border:1px solid var(--primary-red)}.score-btn{font-size:1.1rem;padding:12px}.p-blue{background:#0046b880;border:1px solid var(--primary-blue)}.p-red{background:#d3000080;border:1px solid var(--primary-red)}.btn:hover{filter:brightness(1.2);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}label{display:flex;align-items:center;gap:5px;font-size:.9rem;color:var(--text-primary);cursor:pointer}@media (max-width: 1200px){.admin-toggle-btn{top:-50px;right:20px}.admin-panel{top:20px;right:20px;width:calc(100% - 40px);max-width:400px;position:fixed}}@media (max-width: 600px){.scoreboard{flex-direction:column;gap:30px}.score{font-size:4rem}.team-info{flex-direction:row;gap:10px}.team.jpn .team-info{flex-direction:row-reverse}}.nav-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:20px;border-bottom:1px solid var(--glass-border);padding-bottom:15px}.tab-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-secondary);padding:10px 20px;border-radius:30px;cursor:pointer;font-family:inherit;font-weight:600;font-size:.95rem;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:var(--text-primary)}.tab-btn.active{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue);box-shadow:0 4px 15px #0046b866}.view-section{display:none;animation:fadeIn .4s ease-out}.view-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.live-header{display:flex;justify-content:flex-end;margin-bottom:15px}.game-select option{color:#000;background:#fff}.results-header,.probs-header{text-align:center;margin-bottom:25px}.results-header h2,.probs-header h2{font-size:1.5rem;font-weight:800;margin-bottom:5px}.text-muted{color:var(--text-secondary);font-size:.9rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.result-card{background:#0003;border:1px solid var(--glass-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:15px;transition:transform .2s}.result-card:hover{transform:translateY(-3px);background:#0000004d}.rc-date{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-align:center}.rc-match{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:800}.rc-team{display:flex;align-items:center;gap:8px;flex:1}.rc-team.away{justify-content:flex-end}.rc-team.home{justify-content:flex-start}.rc-score{font-size:1.6rem;margin:0 15px;color:var(--base-fill)}.chart-container{background:#0003;border:1px solid var(--glass-border);border-radius:16px;padding:25px;display:flex;flex-direction:column;gap:20px}.prob-row{display:flex;flex-direction:column;gap:8px}.prob-info{display:flex;justify-content:space-between;align-items:center;font-weight:700}.prob-team{display:flex;align-items:center;gap:8px;font-size:1.1rem}.prob-value{font-size:1.1rem;color:var(--base-fill);font-variant-numeric:tabular-nums}.prob-bar-bg{width:100%;height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}.prob-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-blue),#3b82f6);border-radius:6px;width:0%;transition:width 1s cubic-bezier(.1,.8,.2,1)}.prob-row:nth-child(1) .prob-bar-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.prob-row:nth-child(2) .prob-bar-fill{background:linear-gradient(90deg,#9ca3af,#d1d5db)}.prob-row:nth-child(3) .prob-bar-fill{background:linear-gradient(90deg,#b45309,#d97706)}
