:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#facc151f 0%,#0000 28%),radial-gradient(circle at 100% 0,#3b82f62e,#0000 34%),#07111f;min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{letter-spacing:0}#root{min-height:100svh}.simulator-shell{color:#f8fafc;min-height:100svh;padding:32px}.top-bar{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto 24px;display:flex}.eyebrow{color:#facc15;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:800}.top-bar h1{color:#fff;margin:0;font-size:42px;line-height:1}.subtitle{color:#cbd5e1;margin:8px 0 0}.action-group{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.primary-action,.secondary-action,.ghost-action{cursor:pointer;border-radius:8px;min-height:44px;padding:0 18px;font-weight:900}.primary-action{color:#111827;background:#facc15;border:1px solid #facc15}.secondary-action{color:#fde68a;background:#facc151f;border:1px solid #facc158c}.ghost-action{color:#e2e8f0;background:#0f172a80;border:1px solid #94a3b852}.primary-action:disabled,.secondary-action:disabled,.ghost-action:disabled{cursor:wait;opacity:.72}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]{appearance:textfield}.primary-action.compact,.secondary-action.compact{min-height:38px;padding-inline:12px;font-size:13px}.progress-tracker{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:1440px;margin:0 auto 14px;display:grid}.progress-step{background:#0f172a94;border:1px solid #94a3b833;border-radius:8px;min-height:62px;padding:10px;position:relative}.progress-step span{color:#cbd5e1;background:#94a3b829;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:inline-flex}.progress-step strong{color:#94a3b8;margin-top:7px;font-size:12px;line-height:1.15;display:block}.progress-step.is-ready{border-color:#facc1557}.progress-step.is-ready span{color:#facc15;background:#facc1529}.progress-step.is-ready strong,.progress-step.is-complete strong{color:#fff}.progress-step.is-complete{background:#facc151a}.section-nav{flex-wrap:wrap;gap:10px;max-width:1440px;margin:0 auto 18px;display:flex}.section-nav button{color:#fde68a;cursor:pointer;background:#facc1514;border:1px solid #facc155c;border-radius:999px;min-height:36px;padding:0 14px;font-weight:900}.scroll-anchor{scroll-margin-top:20px}.summary-strip,.qualification-grid,.round-panel,.groups-grid{max-width:1440px;margin-inline:auto}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.summary-item,.message-panel,.qualified-list,.group-panel{background:#0f172ac7;border:1px solid #ffffff1f;border-radius:8px;box-shadow:0 18px 50px #00000038}.summary-item{padding:16px}.summary-item span{color:#94a3b8;font-size:13px;display:block}.summary-item strong{color:#fff;margin-top:4px;font-size:26px;display:block}.summary-item.is-ready strong{color:#facc15}.message-panel{color:#fde68a;max-width:1440px;margin:0 auto 18px;padding:16px}.message-panel.soft{color:#cbd5e1}.qualification-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.qualified-list{padding:16px}.qualified-list h2,.group-header h2{color:#fff;margin:0;font-size:18px}.qualified-teams{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.qualified-teams>span{color:#fde68a;background:#facc151f;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.round-panel{margin-bottom:18px}.final-results-panel{max-width:1440px;margin:0 auto 18px}.save-simulation-panel{background:#0f172ac7;border:1px solid #facc1538;border-radius:8px;max-width:1440px;margin:0 auto 18px;padding:18px;box-shadow:0 18px 50px #0003}.round-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px;display:flex}.round-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-heading{margin-bottom:0}.section-heading span{color:#facc15;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.section-heading h2{color:#fff;margin:2px 0 0;font-size:24px}.round-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.round-grid.finals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-heading{margin-bottom:8px}.knockout-card{background:#0f172ac7;border:1px solid #facc1538;border-radius:8px;padding:14px;box-shadow:0 18px 50px #0000002e}.knockout-card>span{color:#facc15;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.knockout-card strong{color:#fff;margin-top:8px;font-size:14px;line-height:1.35;display:block}.knockout-card strong.knockout-teams-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.knockout-score-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.knockout-score-row label,.penalty-select{gap:5px;display:grid}.knockout-score-row label>.team-display,.penalty-select>span{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.knockout-score-row input,.penalty-select select{color:#fff;width:100%;min-height:34px;font:inherit;background:#0206178c;border:1px solid #94a3b859;border-radius:6px;font-weight:900}.knockout-score-row input{text-align:center}.penalty-select{margin-top:10px}.penalty-select select{padding-inline:8px}.knockout-score-row input:focus,.penalty-select select:focus{border-color:#facc15;outline:2px solid #facc152e}.podium-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.champion-card,.podium-card{background:#0f172ac7;border:1px solid #ffffff1f;border-radius:8px;padding:18px;box-shadow:0 18px 50px #0003}.champion-card{background:linear-gradient(135deg,#facc1538,#0f172ae0 62%),#0f172ae6;border-color:#facc1594;min-height:180px;padding:28px;position:relative;overflow:hidden}.champion-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#facc1542,#0000 62%);height:170px;position:absolute;inset:auto -20% -42% 32%}.champion-card>span,.champion-card small,.podium-card>span,.podium-card small{color:#cbd5e1;font-size:12px;font-weight:900;display:block}.champion-card>span{color:#facc15;font-size:15px}.champion-card strong{color:#fff;margin-top:14px;font-size:42px;line-height:1;display:block}.champion-card small{color:#fde68a;margin-top:12px;font-size:14px}.podium-card strong{color:#fff;margin-top:8px;font-size:20px;line-height:1.2;display:block}.podium-card small{color:#facc15;margin-top:6px}.shared-shell{color:#f8fafc;min-height:100svh;padding:32px}.shared-hero,.shared-participant,.shared-results-panel,.shared-actions,.shared-message{max-width:1040px;margin-inline:auto}.shared-hero{padding:28px 0 20px}.shared-hero h1{color:#fff;margin:0;font-size:44px;line-height:1}.shared-hero p:not(.eyebrow){color:#cbd5e1;margin-top:10px}.shared-participant{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.shared-participant div,.shared-message{background:#0f172ac7;border:1px solid #ffffff1f;border-radius:8px;padding:16px}.shared-participant span,.shared-message{color:#94a3b8}.shared-participant strong,.shared-message strong{color:#fff;margin-top:4px;display:block}.shared-results-panel{margin-bottom:18px}.shared-champion{margin-top:12px}.shared-actions{flex-wrap:wrap;gap:10px;display:flex}.shared-link-button{box-sizing:border-box;justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.shared-message a{color:#facc15;margin-top:14px;font-weight:900;display:inline-flex}.save-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.save-grid label{gap:6px;display:grid}.save-grid label span{color:#cbd5e1;font-size:12px;font-weight:900}.save-grid input,.save-grid select{color:#fff;min-height:40px;font:inherit;background:#0206178c;border:1px solid #94a3b859;border-radius:6px;padding-inline:10px;font-weight:800}.save-grid input:focus,.save-grid select:focus{border-color:#facc15;outline:2px solid #facc152e}.save-actions{justify-content:flex-end;margin-top:14px;display:flex}.share-result{color:#dcfce7;background:#22c55e1a;border-radius:8px;margin-top:16px;padding:14px}.share-result strong{margin-bottom:10px;display:block}.share-link-row{align-items:center;gap:10px;display:flex}.share-link-row a{overflow-wrap:anywhere;color:#fde68a;min-width:0;font-weight:900}.share-result p{color:#cbd5e1;margin-top:8px;font-size:13px}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.group-panel{padding:18px}.group-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.group-code{color:#facc15;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:900;display:block}.status-pill{color:#cbd5e1;background:#94a3b826;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.status-pill.complete{color:#facc15;background:#facc1529}.match-list{gap:8px;display:grid}.match-row{grid-template-columns:minmax(132px,1fr) 48px 28px 48px minmax(132px,1fr);align-items:center;gap:8px;display:grid}.team-display{color:#e2e8f0;align-items:center;gap:7px;min-width:0;max-width:100%;display:inline-flex}.team-display.align-right{text-align:right;justify-content:flex-end}.team-flag{flex:0 0 1.6rem;justify-content:center;align-items:center;width:1.6rem;min-width:1.6rem;font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;font-size:1.2rem;line-height:1;display:inline-flex}.team-flag-img{object-fit:cover;border-radius:2px;width:18px;height:13px;box-shadow:0 0 0 1px #ffffff2e}.team-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.team-code{color:#fde68a;background:#facc151a;border:1px solid #facc1557;border-radius:999px;flex:none;padding:2px 6px;font-size:.7rem;font-weight:900;line-height:1.2}.qualified-teams .team-display,.knockout-score-row .team-display,.champion-card .team-display,.podium-card .team-display{max-width:100%}.champion-card .team-display,.podium-card .team-display{font-size:inherit}.champion-card .team-name{color:#fff;font-size:inherit;line-height:1}.podium-card .team-name{color:#fff;font-size:inherit}.align-right{text-align:right}.versus{color:#94a3b8;text-align:center;text-transform:uppercase;font-size:12px;font-weight:800}.match-row input{box-sizing:border-box;color:#fff;width:100%;height:36px;font:inherit;text-align:center;background:#0206178c;border:1px solid #94a3b859;border-radius:6px;font-weight:900}.match-row input:focus{border-color:#facc15;outline:2px solid #facc152e}.standings-wrap{margin-top:16px;overflow-x:auto}.table-note{color:#fde68a;margin:0 0 8px;font-size:12px;font-weight:800}.table-note.complete{color:#facc15}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:center;border-bottom:1px solid #ffffff14;padding:7px 6px}th{color:#facc15;font-weight:900}td{color:#dbeafe}td:nth-child(2),th:nth-child(2){text-align:left;min-width:110px}td:nth-child(3),th:nth-child(3){min-width:128px}.standing-tag{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:3px 8px;font-size:11px;font-weight:900;line-height:1.15;display:inline-flex}.standing-tag.provisional{color:#cbd5e1;background:#94a3b826}.standing-tag.qualifies{color:#86efac;background:#22c55e29}.standing-tag.third{color:#fde68a;background:#facc1529}.standing-tag.eliminated{color:#fca5a5;background:#f8717124}@media (width<=980px){.simulator-shell{padding:20px}.top-bar,.summary-strip,.progress-tracker,.qualification-grid,.round-grid,.round-grid.finals-grid,.podium-grid,.shared-participant,.save-grid,.groups-grid{grid-template-columns:1fr}.top-bar,.round-heading{flex-direction:column;align-items:stretch}.round-actions{justify-content:stretch}.round-actions button{flex:160px}.action-group{justify-content:stretch}.action-group button{flex:180px}.save-actions,.share-link-row{flex-direction:column;align-items:stretch}.top-bar h1{font-size:34px}.shared-shell{padding:20px}.shared-hero h1{font-size:34px}}@media (width<=560px){.simulator-shell,.group-panel{padding:14px}.match-row{grid-template-columns:minmax(94px,1fr) 42px 22px 42px minmax(94px,1fr);gap:6px}.team-country,.team-name{font-size:12px}.team-code,.team-code-badge{display:none}}@media (width<=768px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.simulator-shell{box-sizing:border-box;width:100%;max-width:100%;padding:14px 10px!important}.top-bar{flex-direction:column!important;align-items:stretch!important;gap:14px!important;display:flex!important}.top-bar h1{line-height:1.05;font-size:2rem!important}.action-group{width:100%;flex-wrap:wrap!important;justify-content:stretch!important;gap:8px!important;display:flex!important}.action-group button{min-height:40px;flex:auto!important}.progress-tracker,.section-nav{-webkit-overflow-scrolling:touch;gap:8px!important;padding-bottom:8px!important;display:flex!important;overflow-x:auto!important}.progress-step,.section-nav button{white-space:nowrap;flex:none!important}.progress-step{min-width:130px!important}.summary-strip,.qualification-grid,.groups-grid{grid-template-columns:1fr!important;gap:12px!important;display:grid!important}.group-panel{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden;padding:14px!important}.group-header{gap:8px}.group-header h2{font-size:1.1rem}.status-pill{padding:4px 8px;font-size:10px}.match-list{gap:7px!important}.match-row{grid-template-columns:minmax(0,1fr) 36px 20px 36px minmax(0,1fr)!important;align-items:center!important;gap:5px!important;padding:7px 0!important;display:grid!important}.match-row .team-display{gap:4px!important;min-width:0!important;max-width:100%!important}.match-row .team-display.align-right{text-align:right!important;justify-content:flex-end!important}.match-row .team-name{color:#e2e8f0!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:82px!important;font-size:10.5px!important;line-height:1.1!important;overflow:hidden!important}.match-row .team-code{display:none!important}.match-row .team-flag{flex-basis:18px!important;width:18px!important;min-width:18px!important}.match-row .team-flag-img{width:16px!important;height:11px!important}.match-row input{text-align:center!important;justify-self:center!important;width:36px!important;min-width:36px!important;height:32px!important;padding:0!important;font-size:.95rem!important}.match-row .versus{color:#93c5fd;font-size:11px;font-weight:900;justify-self:center!important}.standings-block{width:100%;min-width:0;max-width:100%}.standings-scroll{-webkit-overflow-scrolling:touch;padding-bottom:8px;width:100%!important;max-width:100%!important;display:block!important;overflow:auto hidden!important}.standings-table{border-collapse:collapse;table-layout:fixed!important;width:660px!important;min-width:660px!important;max-width:none!important}.standings-table th,.standings-table td{white-space:nowrap!important;padding:7px 6px!important;font-size:10.5px!important}.standings-table th:first-child,.standings-table td:first-child{width:32px!important}.standings-table th:nth-child(2),.standings-table td:nth-child(2){width:170px!important}.standings-table th:nth-child(3),.standings-table td:nth-child(3){width:105px!important}.standings-table .team-display{justify-content:flex-start!important}.standings-table .team-name{max-width:100px!important;font-size:10.5px!important}.standings-table .team-code{padding:1px 4px!important;font-size:.58rem!important}.standings-scroll::-webkit-scrollbar{height:7px}.standings-scroll::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.standings-scroll::-webkit-scrollbar-thumb{background:#facc15bf;border-radius:999px}.round-grid,.round-grid.finals-grid,.podium-grid,.save-grid{grid-template-columns:1fr!important;gap:12px!important;display:grid!important}.knockout-score-row{grid-template-columns:1fr!important;gap:10px!important}}
