:root{color-scheme:dark;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Microsoft YaHei,sans-serif;background:#0a0d10;color:#eff6f4}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(135deg,rgba(20,78,57,.28),transparent 32%),linear-gradient(180deg,#0a0d10,#101619)}button{font:inherit}select,textarea{font:inherit;color:#eff6f4}select,textarea{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid rgba(255,255,255,.08);background:#080c0deb}.brand{display:flex;align-items:center;gap:12px;min-height:56px;color:#6ee7a8}.brand strong,.brand span{display:block}.brand span{color:#8ea19b;font-size:12px}.nav-list{display:grid;gap:8px;margin-top:28px}.nav-button,.small-button,.icon-button,.segmented button,.match-card{border:1px solid rgba(255,255,255,.1);background:#ffffff0b;color:#eff6f4;cursor:pointer}.nav-button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border-radius:8px}.nav-button.active,.segmented button.active{border-color:#6ee7a88c;background:#6ee7a824;color:#bdf7d7}.main{width:100%;max-width:1440px;padding:24px clamp(16px,3vw,42px) 48px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:22px}.topbar>div:nth-child(2){min-width:0;flex:1}.topbar-action{margin-left:auto}.user-menu{display:flex;align-items:center;gap:9px;margin-left:auto;min-width:0;color:#9db0aa;font-size:13px}.user-menu a{color:#eff6f4;max-width:140px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.user-menu img,.user-avatar{width:28px;height:28px;flex:0 0 28px;border-radius:50%}.user-avatar{display:inline-block;background:linear-gradient(135deg,#60a5fa,#6ee7a8)}.callback-screen{display:grid;min-height:100vh;place-items:center;padding:20px}.eyebrow{margin:0 0 4px;color:#8ea19b;font-size:12px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:30px;line-height:1.15}h2{margin-bottom:0;font-size:16px}.stack{display:grid;gap:18px}.toolbar,.panel-head,.match-card-head,.match-meta,.meta-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar{min-height:48px}.meta-line{justify-content:flex-start;color:#9db0aa;font-size:13px}.small-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;border-radius:8px}.small-button:disabled{opacity:.55;cursor:wait}.fit{width:fit-content}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented button{min-height:36px;padding:0 13px;border-radius:8px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric,.panel,.state-box{border:1px solid rgba(255,255,255,.09);background:#ffffff0e;border-radius:8px}.metric{padding:16px}.metric span{display:block;color:#9db0aa;font-size:13px}.metric strong{display:block;margin-top:6px;font-size:28px}.metric-live strong{color:#fb7185}.metric-upcoming strong{color:#60a5fa}.metric-finished strong{color:#facc15}.metric-neutral strong{color:#6ee7a8}.panel{padding:16px}.panel-head{margin-bottom:14px}.panel-head span{color:#9db0aa}.match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.match-card{display:grid;gap:14px;min-height:152px;padding:14px;border-radius:8px;text-align:left}.match-card:hover,.small-button:hover,.nav-button:hover,.segmented button:hover{border-color:#6ee7a87a}.teams-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.teams-row>strong{font-size:22px}.team-mini{display:flex;align-items:center;gap:8px;min-width:0}.team-mini.right{justify-content:flex-end}.team-mini span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-mini img,.crest-placeholder{width:24px;height:24px;flex:0 0 24px;border-radius:50%}.crest-placeholder,.big-crest{display:inline-block;background:linear-gradient(135deg,#334155,#6ee7a8)}.status{min-width:54px;padding:4px 8px;border-radius:999px;font-size:12px;text-align:center;background:#94a3b82e;color:#cbd5e1}.status-live,.status-halftime{background:#fb71852e;color:#fecdd3}.status-finished{background:#facc1529;color:#fde68a}.status-enabled,.status-complete{background:#6ee7a82e;color:#bbf7d0}.status-disabled,.status-failed{background:#fb71852e;color:#fecdd3}.status-queued{background:#60a5fa2e;color:#bfdbfe}.status-running{background:#c084fc2e;color:#e9d5ff}.match-meta,.freshness,.empty-text,.muted{color:#9db0aa;font-size:13px}.match-meta span{display:inline-flex;align-items:center;gap:5px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.table-wrap{overflow-x:auto}table{width:100%;min-width:420px;border-collapse:collapse;font-size:14px}th,td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}th{color:#9db0aa;font-weight:600}.zone-title td,.zone-champions-league td{border-left:3px solid #6ee7a8}.zone-europa td{border-left:3px solid #60a5fa}.zone-relegation td{border-left:3px solid #fb7185}.bracket{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:14px;overflow-x:auto;padding-bottom:8px}.bracket-round{display:grid;align-content:start;gap:10px}.bracket-match{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a}.worldcup-base{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.team-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.team-chip,.stadium-card,.chat-message{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a}.team-chip{display:grid;gap:5px;min-height:76px;padding:11px}.team-chip span,.stadium-card span,.stadium-card small{color:#9db0aa;font-size:13px}.stadium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.stadium-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:76px;padding:12px}.stadium-card svg{color:#60a5fa}.stadium-card div{display:grid;gap:4px;min-width:0}.stadium-card strong,.stadium-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-panel{gap:14px}.assistant-controls,.chat-input-row{display:grid;gap:10px}.assistant-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.assistant-controls select{min-height:38px;padding:0 10px}.chat-log{display:grid;gap:10px;max-height:520px;overflow:auto}.chat-message{max-width:min(820px,100%);padding:12px}.chat-message p{margin:0;white-space:pre-wrap}.chat-user{justify-self:end;background:#6ee7a81c}.chat-assistant{justify-self:start}.grounding-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.grounding-links a{color:#93c5fd;font-size:13px}.chat-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.chat-input-row textarea{min-height:76px;resize:vertical;padding:10px}.scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;padding:22px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#6ee7a81f,#60a5fa14)}.team-block{display:grid;justify-items:center;gap:10px;min-width:0;text-align:center}.team-block img,.big-crest{width:64px;height:64px;border-radius:50%}.score-core{display:grid;justify-items:center;gap:8px;min-width:122px}.score-core strong{font-size:36px}.score-core span,.score-core small{color:#9db0aa}.timeline{display:grid;gap:16px}.timeline-track{position:relative;height:42px}.timeline-track:before{content:"";position:absolute;left:0;right:0;top:20px;height:3px;border-radius:999px;background:linear-gradient(90deg,#6ee7a8,#facc15,#fb7185)}.event-dot{position:absolute;top:12px;width:18px;height:18px;transform:translate(-50%);border-radius:50%;border:2px solid #0a0d10;background:#6ee7a8}.event-yellow_card{background:#facc15;border-radius:4px}.event-red_card{background:#fb7185;border-radius:4px}.event-substitution{background:#60a5fa}.event-list{display:grid;gap:8px}details{padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff09}details p{margin:8px 0 0;color:#9db0aa}.state-box{display:grid;justify-items:start;gap:8px;padding:22px;color:#cbd5e1}.state-box svg{color:#6ee7a8}.data-rows{display:grid;gap:10px;max-height:420px;overflow:auto}.admin-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.admin-card{display:grid;align-content:start;gap:9px;min-height:132px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a}.admin-card>div:first-child{display:grid;gap:4px;min-width:0}.admin-card strong,.admin-card span,.admin-card p{overflow-wrap:anywhere}.admin-card strong{font-size:15px}.admin-card span,.admin-card p{color:#9db0aa;font-size:13px}.admin-card p{margin:0}.error-card{border-color:#fb718547;background:#fb71850e}pre{margin:0;padding:10px;border-radius:8px;overflow:auto;background:#00000038;color:#cbd5e1;font-size:12px}.usage-list{display:grid;gap:12px}.usage-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:12px}.usage-row div{display:grid;gap:3px}.usage-row span{color:#9db0aa;font-size:12px}meter{width:100%}.mobile-only{display:none}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 860px){body{background:#0a0d10}.app-shell{grid-template-columns:1fr}.main{padding:14px 12px 32px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:min(82vw,280px);transform:translate(-100%);transition:transform .16s ease}.sidebar-open{transform:translate(0)}.mobile-only{display:inline-flex}.summary-grid,.two-column,.assistant-controls,.chat-input-row,.scoreboard{grid-template-columns:1fr}.toolbar,.panel-head,.match-card-head,.match-meta{align-items:flex-start;flex-wrap:wrap}.match-grid,.groups-grid,.admin-card-grid,.stadium-grid{grid-template-columns:1fr}.teams-row{grid-template-columns:1fr;justify-items:center;text-align:center}.team-mini,.team-mini.right{justify-content:center}.bracket{grid-auto-flow:row;grid-auto-columns:auto}.stadium-card{grid-template-columns:auto minmax(0,1fr)}.stadium-card small{grid-column:2}table{min-width:360px}h1{font-size:24px}.usage-row{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.user-menu{width:100%;margin-left:0}.chat-message{max-width:100%}}
