:root{--bg: #0b0f0d;--card: #151b17;--gold: #d4a94a;--text: #eee}body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;margin:0}.app{max-width:1200px;margin:0 auto;padding:16px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}nav button{margin-left:8px;background:var(--card);color:var(--text);border:1px solid #2a332c;padding:6px 12px;border-radius:6px;cursor:pointer}.bracket{display:flex;gap:24px;overflow-x:auto}.bracket-col{min-width:220px}.bracket-col h3{color:var(--gold);font-size:.9rem}.bracket-card{background:var(--card);border-radius:8px;padding:8px;margin-bottom:16px}.team-row{display:flex;justify-content:space-between;padding:2px 0}.team-row.winner{color:var(--gold);font-weight:700}.predict-row{display:flex;gap:4px;margin-top:6px}.predict-row button{flex:1;font-size:.75rem;background:#1c241e;color:var(--text);border:none;border-radius:4px;padding:4px;cursor:pointer}.chat-fab{position:fixed;bottom:20px;right:20px;width:52px;height:52px;border-radius:50%;background:var(--gold);border:none;font-size:1.4rem;cursor:pointer}.chat-panel{position:fixed;bottom:20px;right:20px;width:320px;height:420px;background:var(--card);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 20px #0006}.chat-header{display:flex;justify-content:space-between;padding:10px;background:#1c241e}.chat-header button{background:none;border:none;color:var(--text);cursor:pointer}.chat-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}.chat-msg{padding:6px 10px;border-radius:8px;max-width:85%}.chat-msg.user{align-self:flex-end;background:var(--gold);color:#111}.chat-msg.assistant{align-self:flex-start;background:#1c241e}.chat-input{display:flex;border-top:1px solid #2a332c}.chat-input input{flex:1;background:none;border:none;color:var(--text);padding:10px}.chat-input button{background:none;border:none;color:var(--gold);padding:0 14px;cursor:pointer}.group-stage{padding:1rem}.group-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem;background:var(--card);border-radius:8px}.group-filter button{padding:.5rem 1rem;border:1px solid #2a332c;background:#1c241e;color:var(--text);border-radius:6px;cursor:pointer;transition:all .2s}.group-filter button:hover{background:#2a332c}.group-filter button.active{background:var(--gold);color:#111;border-color:var(--gold)}.date-section{margin-bottom:2rem}.date-section h3{color:var(--gold);padding:.5rem 1rem;background:var(--card);border-radius:6px;margin-bottom:1rem}.match-card{background:var(--card);border-radius:8px;padding:1rem;margin-bottom:.75rem;border:1px solid #2a332c}.match-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.85rem}.group-badge{background:var(--gold);color:#111;padding:.25rem .5rem;border-radius:4px;font-weight:700}.match-time{color:#888}.match-city{color:#666;margin-left:auto}.match-teams{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:1.1rem;margin-bottom:.75rem}.team{flex:1;text-align:center}.team.home{text-align:right}.team.away{text-align:left}.vs{color:#666;font-size:.9rem}.predict-buttons{display:flex;gap:.5rem;justify-content:center}.predict-buttons button{padding:.5rem 1rem;border:1px solid #2a332c;background:#1c241e;color:var(--text);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.predict-buttons button:hover{background:var(--gold);color:#111;border-color:var(--gold)}.match-result{text-align:center;font-size:1.5rem;font-weight:700;color:var(--gold)}.standings{padding:1rem}.standings h2{color:var(--gold);margin-bottom:1.5rem;text-align:center}.empty-state{text-align:center;padding:3rem 1rem;background:var(--card);border-radius:12px;border:1px solid #2a332c}.empty-state p{font-size:1.2rem;margin-bottom:.5rem}.empty-state .hint{color:#888;font-size:.9rem}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.group-table{background:var(--card);border-radius:8px;padding:1rem;border:1px solid #2a332c}.group-table h3{color:var(--gold);margin-bottom:1rem;text-align:center}.group-table table{width:100%;border-collapse:collapse}.group-table th{background:#1c241e;color:var(--gold);padding:.5rem;text-align:center;font-size:.85rem}.group-table td{padding:.5rem;text-align:center;border-bottom:1px solid #2a332c}.group-table .team-name{text-align:left;font-weight:500}.group-table .points{color:var(--gold);font-weight:700}.group-table tr.qualified{background:#d4a94a1a}.group-table tr.qualified td:first-child{border-left:3px solid var(--gold)}.ranking{padding:1rem;max-width:800px;margin:0 auto}.ranking h2{color:var(--gold);margin-bottom:1.5rem;text-align:center}.ranking-list{display:flex;flex-direction:column;gap:.75rem}.ranking-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid #2a332c;transition:all .2s}.ranking-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.ranking-card.top-1{border-color:gold;background:linear-gradient(135deg,rgba(255,215,0,.1) 0%,var(--card) 100%)}.ranking-card.top-2{border-color:silver;background:linear-gradient(135deg,rgba(192,192,192,.1) 0%,var(--card) 100%)}.ranking-card.top-3{border-color:#cd7f32;background:linear-gradient(135deg,rgba(205,127,50,.1) 0%,var(--card) 100%)}.rank-number{font-size:1.5rem;min-width:50px;text-align:center}.user-info{flex:1}.user-name{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.user-details{display:flex;gap:1rem;font-size:.85rem;color:#888}.fan-code{color:var(--gold)}.user-points{text-align:right}.points-value{font-size:1.8rem;font-weight:700;color:var(--gold)}.points-label{font-size:.75rem;color:#888;text-transform:uppercase}
