:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f242e;--border: #2a303c;--text: #e8ebf0;--muted: #9aa3b2;--accent: #6c8cff;--accent-2: #3ad0a0;--warn: #f0a23a;--danger: #f06a6a;--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Apple SD Gothic Neo,Noto Sans KR,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:10;background:#0f1115d9;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.lang-sel{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 8px;font-size:.82rem;font-weight:600;flex:0 0 auto}.brand{font-weight:800;font-size:1.05rem;letter-spacing:-.02em;display:inline-flex;flex-direction:column;line-height:1.1}.brand-sub{font-size:.64rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-top:2px}.container{max-width:720px;margin:0 auto;padding:16px 16px 40px}.site-foot{max-width:720px;margin:0 auto;padding:20px 16px 40px}.foot-nav{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.foot-nav a{color:var(--muted);font-size:.82rem;font-weight:600}.foot-nav a:hover{color:var(--text)}.disclaimer{font-size:.78rem;color:var(--muted);line-height:1.6}.copyright{font-size:.74rem;color:var(--muted);margin:10px 0 0}.doc{line-height:1.7}.doc h1{font-size:1.5rem;letter-spacing:-.02em;margin:8px 0 16px}.doc h2{font-size:1.05rem;margin:22px 0 8px}.doc p{color:#d7dce6;margin:0 0 12px}.doc ul{margin:0 0 12px;padding-left:20px}.doc li{margin:6px 0;color:#d7dce6}.doc a{color:var(--accent);text-decoration:underline;word-break:break-word}.doc-contact{font-size:1.05rem;font-weight:700}.doc-meta{color:var(--muted);font-size:.85rem;margin-top:20px}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;-webkit-overflow-scrolling:touch}.tab{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.88rem;font-weight:600}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-soon{opacity:.5;pointer-events:none}.list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}.list-head h1{font-size:1.3rem;margin:0;letter-spacing:-.02em}.list-date{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.date-nav{display:flex;align-items:center;gap:6px}.date-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:1.1rem;line-height:1}.date-input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 8px;font-size:.85rem;color-scheme:dark}.grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:560px){.grid{grid-template-columns:1fr 1fr}}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;transition:transform .12s ease,border-color .12s ease}.card:active{transform:scale(.99)}.card:hover{border-color:var(--accent)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.league{font-size:.76rem;color:var(--muted);font-weight:700}.badge{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge-scheduled{color:#cdd5e2}.badge-live{color:#fff;background:var(--danger);border-color:var(--danger)}.badge-final{color:var(--muted)}.badge-postponed{color:var(--warn);border-color:var(--warn)}.badge-canceled{color:var(--danger);border-color:var(--danger)}.teams{display:flex;flex-direction:column;gap:6px}.team{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:10px}.team-fav{background:var(--surface-2)}.team-role{font-size:.68rem;color:var(--muted);font-weight:700}.team-name{font-weight:700}.team-fav .team-name{color:var(--accent-2)}.team-pitcher{font-size:.76rem;color:var(--muted)}.card-pred{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.pred-label{font-size:.72rem;color:var(--muted);font-weight:700}.pred-winner{color:var(--accent-2)}.pred-pct{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}.pred-empty{color:var(--muted);font-size:.85rem}.card-score{margin-top:8px;font-size:.82rem;color:#cdd5e2}.card-score strong{color:var(--text);font-variant-numeric:tabular-nums}.card-foot{display:flex;gap:10px;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:.76rem}.list-note{color:var(--muted);font-size:.8rem;margin:-4px 0 14px}.card-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:.82rem;color:#cdd5e2}.card-result strong{color:var(--text);font-variant-numeric:tabular-nums}.result-label{font-size:.72rem;color:var(--muted);font-weight:700}.result-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}.result-score{font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums}.hit{font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap}.hit-hit{color:#0c1a12;background:var(--accent-2)}.hit-miss{color:#fff;background:var(--danger)}.hit-draw{color:var(--muted);border:1px solid var(--border)}.exp-score{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.exp-score-val{font-weight:800;font-variant-numeric:tabular-nums}.lineups{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lineup-team{font-size:.82rem;font-weight:700;color:var(--accent-2);margin-bottom:6px}.lineup-list{margin:0;padding-left:22px}.lineup-list li{margin:4px 0;font-size:.86rem}.back{display:inline-block;color:var(--muted);font-size:.88rem;margin-bottom:12px}.detail-head{margin-bottom:18px}.detail-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.detail-title{font-size:1.55rem;margin:0;letter-spacing:-.03em}.detail-title .at{color:var(--muted)}.detail-sub{color:var(--muted);font-size:.9rem;margin:4px 0 0}.detail-pitchers{color:var(--muted);font-size:.85rem;margin:6px 0 0}.pred-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.pred-winner-big{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.pred-winner-big .pred-label{font-size:.8rem}.pred-winner-big strong{font-size:1.5rem;color:var(--accent-2);letter-spacing:-.02em}.prob{display:flex;align-items:center;gap:10px}.prob-track{flex:1;height:12px;background:var(--surface-2);border-radius:999px;overflow:hidden}.prob-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}.prob-label{font-weight:800;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.block{margin-bottom:18px}.block h2{font-size:.95rem;margin:0 0 8px;color:var(--text)}.factors{margin:0;padding-left:18px}.factors li{margin:6px 0;line-height:1.5}.briefing-p{line-height:1.7;margin:0 0 10px;color:#d7dce6}.sources li{margin:6px 0}.sources a{color:var(--accent);text-decoration:underline;word-break:break-all}.genmeta{color:var(--muted);font-size:.74rem;margin-top:16px}.empty{color:var(--muted);padding:24px 0;text-align:center}.chat{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.chat-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.chat-head h2{font-size:1.05rem;margin:0}.chat-status{font-size:.74rem;color:var(--muted)}.chat-status.chat-open{color:var(--accent-2)}.chat-status.chat-closed{color:var(--danger)}.chat-me{margin-bottom:10px}.chat-nick-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;gap:4px}.chat-edit{color:var(--muted);font-size:.78rem}.chat-tag{color:var(--muted);font-weight:600;font-size:.78em;margin-left:1px}.chat-nick-edit{display:flex;gap:6px}.chat-nick-edit input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 10px;font-size:.85rem;min-width:0;flex:1}.chat-nick-edit button,.chat-input button{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:700;white-space:nowrap}.chat-nick-edit button:last-child{background:var(--surface);border-color:var(--border);color:var(--muted)}.chat-list{height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.chat-empty{color:var(--muted);font-size:.85rem;text-align:center;margin:auto 0}.chat-older{color:var(--muted);font-size:.76rem;text-align:center;padding:4px 0}.chat-msg{font-size:.9rem;line-height:1.45;word-break:break-word}.chat-msg-nick{font-weight:700;color:var(--accent-2);margin-right:6px}.chat-msg-body{color:#e2e7f0}.chat-input{display:flex;gap:8px;margin-top:10px}.chat-input input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-size:.9rem}.chat-input button:disabled{opacity:.5}
