:root{--bg: #0b0f17;--bg-2: #111827;--panel: #151c2c;--panel-2: #1b2436;--line: #25304a;--txt: #e7ecf4;--txt-dim: #94a3b8;--accent: #22d3a6;--accent-2: #38bdf8;--warn: #fbbf24;--surprise: #f472b6;--radius: 14px;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--maxw: 1100px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -10%,#16213a 0%,var(--bg) 55%) fixed;color:var(--txt);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.muted{color:var(--txt-dim)}.app-loading{min-height:70vh;display:flex;align-items:center;justify-content:center;color:var(--txt-dim);font-size:1.1rem}.app{max-width:var(--maxw);margin:0 auto;padding:16px 14px 60px}.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0 14px;border-bottom:1px solid var(--line)}.brand h1{font-size:1.35rem;margin:0;letter-spacing:-.02em}.tagline{margin:4px 0 0;color:var(--txt-dim);font-size:.92rem;max-width:46ch}.lang-picker select{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:.9rem}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 10px}.btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--txt);padding:11px 16px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s}.btn:hover{border-color:var(--accent-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#05210f;border:none;box-shadow:var(--shadow)}.btn-ghost{background:transparent;display:none}.btn-ghost.visible{display:inline-block}.n-picker{display:inline-flex;align-items:center;gap:8px;color:var(--txt-dim);font-size:.9rem}.n-picker select{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.badge{display:none;background:var(--panel-2);color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:.82rem;font-weight:600}.badge.visible{display:inline-block}.progress{height:6px;background:var(--panel);border-radius:999px;overflow:hidden;opacity:0;transition:opacity .2s}.progress.active{opacity:1}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .12s linear}.sim-done{color:var(--txt-dim);font-size:.85rem;min-height:1.1em;margin:8px 0 0;opacity:0;transition:opacity .3s}.sim-done.visible{opacity:1}.uncertainty{margin:10px 0 4px;padding:10px 12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.3);border-radius:12px;color:#fde9b8;font-size:.88rem}.tabs{display:flex;gap:6px;margin:16px 0 12px;border-bottom:1px solid var(--line)}.tab{background:none;border:none;color:var(--txt-dim);padding:10px 12px;font-size:.95rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--txt);border-bottom-color:var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block;animation:fade .25s ease}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}h2{font-size:1.15rem;margin:6px 0 10px}h3{font-size:1rem;margin:0 0 8px}.hint{color:var(--txt-dim);font-size:.88rem;margin:0 0 12px}.ranking-layout{display:grid;grid-template-columns:1fr;gap:16px}.ranking{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ranking-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 12px}.ranking-row.clickable{cursor:pointer}.ranking-row.clickable:hover{border-color:var(--accent-2)}.ranking-rank{width:22px;text-align:center;color:var(--txt-dim);font-variant-numeric:tabular-nums;font-weight:700}.ranking-main{flex:1;min-width:0}.ranking-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.ranking-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-pct{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.bar-track{height:8px;background:var(--bg-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:999px;transition:width .9s cubic-bezier(.22,.61,.36,1)}.ranking-aside{display:flex;flex-direction:column;gap:14px}.info-block:empty{display:none}.chip-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:.82rem}.chip-surprise{border-color:#f472b666;color:var(--surprise)}.team-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.team-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.team-card-head h3{margin:0}.team-card-elo{color:var(--txt-dim);font-size:.82rem}.team-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.team-card-cell{background:var(--bg-2);border-radius:10px;padding:10px 8px;text-align:center}.team-card-val{font-size:1.15rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.team-card-label{font-size:.72rem;color:var(--txt-dim);margin-top:2px}.bracket-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}.bracket-board{display:flex;gap:14px;min-width:max-content;align-items:stretch}.bracket-col{display:flex;flex-direction:column;justify-content:space-around;gap:10px;min-width:168px}.bracket-col-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--txt-dim);margin-bottom:4px}.bracket-thirdplace{margin-top:16px;max-width:200px}.match-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.match-card.has-pick{border-color:var(--accent);box-shadow:0 0 0 1px #22d3a666}.match-card.is-played{opacity:.92}.team-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:none;border-bottom:1px solid var(--line);color:var(--txt);padding:9px 10px;cursor:pointer;font-size:.9rem;text-align:left}.team-row:last-of-type{border-bottom:none}.team-row:hover:not(:disabled){background:var(--panel-2)}.team-row:disabled{cursor:default}.team-row.is-tbd .team-name{color:var(--txt-dim)}.team-row.is-winner{background:#22d3a61f}.team-row.is-pinned{background:#22d3a633;font-weight:700}.team-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-prob{color:var(--accent);font-size:.78rem;font-variant-numeric:tabular-nums}.match-foot{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-2)}.match-tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--txt-dim)}.match-why{width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);cursor:pointer;font-size:.75rem;line-height:1}.match-why:hover{color:var(--accent-2);border-color:var(--accent-2)}.explain-section{margin-top:18px}.explain-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.explain-line{margin:0 0 6px;font-size:.92rem}.explain-line:last-child{margin-bottom:0}.reliability-wrap{display:flex;justify-content:center}.calib-head{display:flex;gap:16px;justify-content:center;margin-bottom:8px;flex-wrap:wrap}.calib-metric{font-size:.85rem;color:var(--txt-dim)}.calib-metric b{color:var(--txt);font-size:1.05rem}.calib-svg{width:100%;max-width:360px;height:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px}.calib-grid{stroke:var(--line);stroke-width:1;opacity:.5}.calib-diag{stroke:var(--txt-dim);stroke-dasharray:4 4;stroke-width:1.5}.calib-line{fill:none;stroke:var(--accent-2);stroke-width:2}.calib-pt{fill:var(--accent);stroke:#0b0f17;stroke-width:1}.calib-axis{fill:var(--txt-dim);font-size:11px}.site-footer{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--txt-dim);font-size:.85rem}.model-note{margin:0 0 4px}.footer-note{margin:0 0 10px}.promo{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 13px;font-size:.88rem}.promo-cta{color:var(--accent);text-decoration:none;font-weight:600}.promo-cta:hover{text-decoration:underline}#promo-postsim{margin-top:14px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%) translateY(20px);background:var(--accent);color:#04210f;padding:10px 18px;border-radius:999px;font-weight:700;font-size:.9rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}@media (min-width: 760px){.app{padding:22px 20px 70px}.brand h1{font-size:1.7rem}.ranking-layout{grid-template-columns:1.4fr 1fr;align-items:start}}.brand{display:flex;align-items:center;gap:10px}.brand-logo{display:inline-flex;flex:0 0 auto}.brand-text{line-height:1.05}.brand-word{font-size:1.7rem;margin:0;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-tagline{margin:2px 0 0;font-size:.76rem;color:var(--txt-dim)}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--txt-dim);cursor:pointer;font-weight:700;font-size:1rem}.icon-btn:hover{color:var(--accent-2);border-color:var(--accent-2)}.hero{text-align:center;padding:18px 0 6px}.hero-tagline{color:var(--txt-dim);margin:0 auto 16px;max-width:44ch;font-size:.95rem}.hero-cta{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:3px;width:100%;max-width:440px;padding:18px 22px;border:none;border-radius:18px;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#05210f;font-size:1.18rem;font-weight:800;letter-spacing:-.01em;box-shadow:0 10px 30px #22d3a640;transition:transform .1s ease,box-shadow .2s}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 14px 38px #38bdf859}.hero-cta:active{transform:translateY(0)}.hero-cta:disabled{cursor:default}.hero-cta-label{line-height:1.1}.hero-cta-counter{font-size:.8rem;font-weight:700;opacity:.85;font-variant-numeric:tabular-nums;min-height:1em}.hero-cta.running{animation:cta-pulse 1.1s ease-in-out infinite}@keyframes cta-pulse{0%,to{box-shadow:0 10px 30px #22d3a640}50%{box-shadow:0 12px 44px #38bdf88c}}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:14px 0 4px}.hero-hint{color:var(--txt-dim);font-size:.8rem;margin:8px 0 0}.model-selector{margin:14px 0 2px}.model-selector.hidden{display:none}.model-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--txt-dim);margin-bottom:6px}.segmented{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.seg{flex:1 0 auto;min-width:max-content;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 13px;cursor:pointer;color:var(--txt);transition:border-color .15s,background .15s}.seg:hover{border-color:var(--accent-2)}.seg.active{border-color:var(--accent);background:#22d3a61f;box-shadow:inset 0 0 0 1px #22d3a64d}.seg-name{font-weight:700;font-size:.9rem;white-space:nowrap}.seg-brier{font-size:.7rem;color:var(--txt-dim);font-variant-numeric:tabular-nums}.seg.active .seg-brier{color:var(--accent)}.flag{display:inline-block}.flag-dot{width:.85em;height:.85em;border-radius:50%;vertical-align:-1px}.sparkline{width:96px;height:26px;flex:0 0 auto}.sparkline-area{fill:#22d3a62e;stroke:none}.sparkline-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.sparkline-dot{fill:var(--accent-2)}.team-card-road{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.team-card-road-label{font-size:.78rem;color:var(--txt-dim)}.bracket-scroll{scroll-snap-type:x proximity}.bracket-col{scroll-snap-align:start}.team-row.is-path{background:#38bdf81a}.team-row.is-path .team-name{color:#bfe6ff}.match-card.on-path{border-color:var(--accent-2);box-shadow:0 0 0 1px #38bdf840}.share-card{margin-top:18px;background:linear-gradient(135deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}.share-card h3{margin:0 0 4px}.share-card .hint{margin:0}.share-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.btn-share{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#05210f;border:none;font-size:1rem;padding:12px 26px}.btn-wa{background:#25d366;color:#04210f;border:none;text-decoration:none;display:inline-flex;align-items:center;padding:12px 22px;font-weight:700;border-radius:12px}.btn-wa:hover{filter:brightness(1.06)}.btn-primary-soft{background:var(--panel-2);border:1px solid var(--accent);color:var(--accent)}.compare-progressbar{height:5px;background:var(--panel);border-radius:999px;overflow:hidden;margin:12px 0;opacity:0;transition:opacity .2s}.compare-progressbar.active{opacity:1}.compare-progressbar>div{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .2s}.compare-legend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 14px;font-size:.82rem;color:var(--txt-dim)}.cl-item{display:inline-flex;align-items:center;gap:6px}.cl-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.cl-0 .cl-dot,.compare-bar.cl-0 .compare-fill{background:var(--accent)}.cl-1 .cl-dot,.compare-bar.cl-1 .compare-fill{background:var(--accent-2)}.cl-2 .cl-dot,.compare-bar.cl-2 .compare-fill{background:var(--warn)}.cl-3 .cl-dot,.compare-bar.cl-3 .compare-fill{background:var(--surprise)}.compare-grid{display:flex;flex-direction:column;gap:12px}.compare-row{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.compare-team{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}.compare-bars{display:flex;flex-direction:column;gap:5px}.compare-bar{position:relative;height:16px;background:var(--bg-2);border-radius:6px;overflow:hidden}.compare-fill{height:100%;width:0;border-radius:6px;transition:width .8s cubic-bezier(.22,.61,.36,1)}.compare-val{position:absolute;right:6px;top:0;line-height:16px;font-size:.7rem;font-weight:700;color:var(--txt)}.tour{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#0408108c;backdrop-filter:blur(2px);animation:fade .2s ease}.tour.leaving{opacity:0;transition:opacity .2s}.tour-card{width:100%;max-width:460px;margin:0 12px calc(18px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);animation:tour-slide .25s cubic-bezier(.22,.61,.36,1)}@keyframes tour-slide{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.tour-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.tour-body{font-size:1.02rem;margin:8px 0 14px}.tour-dots{display:flex;gap:6px;margin-bottom:14px}.tour-dot{width:8px;height:8px;border-radius:50%;background:var(--line)}.tour-dot.on{background:var(--accent)}.tour-actions{display:flex;justify-content:space-between;align-items:center}.tour-skip{background:none;border:none;color:var(--txt-dim);cursor:pointer;font-size:.9rem;padding:6px}.tour-next{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#05210f;border:none;border-radius:12px;padding:10px 22px;font-weight:700;cursor:pointer}@media (min-width: 760px){.tour{align-items:center}.brand-word{font-size:2rem}.hero-cta{font-size:1.3rem}}@media (prefers-reduced-motion: reduce){.bar-fill,.progress-fill,.toast,.tab-panel,.hero-cta,.compare-fill,.tour-card,.seg{transition:none;animation:none}}
