:root{color-scheme:dark;--bg:#080d16;--panel:#121b2a;--panel2:#182236;--text:#f1f3f7;--muted:#9daac0;--gold:#d7b66c;--gold-soft:#342d22;--border:#2b374a;--green:#85d6ae;--radius:15px;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0,#20273c 0,transparent 50%),var(--bg);color:var(--text);line-height:1.45}button,select,input{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{color:inherit}button:disabled{cursor:default;opacity:.5}.shell{max-width:1500px;margin:auto;padding:32px 36px 50px}.brandline{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:20px}.brand{font-size:12px;letter-spacing:3px;font-weight:800;color:var(--gold)}.private{font-size:11px;letter-spacing:1px;border:1px solid var(--border);border-radius:30px;padding:6px 12px;color:var(--muted)}h1{font-size:clamp(32px,5vw,57px);line-height:1.05;margin:25px 0 12px;letter-spacing:-1.6px}h1 span{font-weight:400;color:var(--gold)}.subtitle{font-size:13px;letter-spacing:1.7px;font-weight:700}.hero{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.hero-meta{color:var(--muted);font-size:13px;text-align:right}.hero-meta strong{display:block;color:white;font-size:24px}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:18px;background:#101827;border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.control label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.control select{background:var(--panel2);color:white;border:1px solid #364359;border-radius:8px;min-height:42px;padding:8px 30px 8px 12px}.modes{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:4px;gap:3px}.modes button{border:0;background:transparent;border-radius:7px;padding:9px 15px;font-size:13px;color:var(--muted);min-height:40px}.modes button[aria-pressed=true]{background:var(--gold);color:#15131a;font-weight:700}.control.actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.action{background:var(--panel2);border:1px solid var(--border);border-radius:8px;min-height:42px;padding:9px 13px;font-size:13px}.action.primary{border-color:#7f693c;color:var(--gold)}.mode-description{font-size:13px;color:var(--muted);margin:18px 0;display:flex;justify-content:space-between;gap:20px}.mode-description strong{color:var(--gold);font-weight:600}.section-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:12px;margin:20px 0}.section-tabs button{flex:none;border:1px solid var(--border);background:transparent;border-radius:8px;padding:9px 13px;font-size:13px}.section-tabs button[aria-current=true]{border-color:var(--gold);background:var(--gold-soft);color:var(--gold)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.section-head h2{font-size:22px;margin:4px 0}.section-head p{color:var(--muted);font-size:12px;margin:5px 0}.legend{display:flex;gap:16px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:6px}.dot.actual{background:var(--green)}.bracket-viewport{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#111b2b,#0c1422);margin:18px 0;scrollbar-color:#52617b #101827}.bracket-canvas{position:relative;padding:0 24px}.round-heading{position:absolute;top:18px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.connector-layer{position:absolute;inset:0;pointer-events:none}.game-card{position:absolute;text-align:left;display:block;width:290px;height:172px;border:1px solid #34425b;border-radius:11px;background:var(--panel);padding:14px;box-shadow:0 8px 22px #0002;overflow:hidden}.game-card:hover{border-color:#7786a0;background:#172136}.game-card.conditional{border-style:dashed}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin-bottom:8px}.teams{display:grid;gap:5px}.team-row{display:flex;align-items:center;gap:8px;min-height:26px;font-size:14px;font-weight:600}.team-row .name{flex:1}.team-row .score{font-weight:800;font-size:18px}.team-row.projected .name{color:var(--gold)}.team-row.actual .name,.team-row.actual .score{color:var(--green)}.team-row.unresolved{font-weight:400;color:var(--muted);font-size:13px}.team-row .role{font-size:9px;color:var(--muted);font-weight:400;flex:none}.card-bottom{font-size:10px;border-top:1px solid var(--border);margin-top:9px;padding-top:8px;color:var(--muted);line-height:1.3;display:flex;justify-content:space-between;gap:8px}.card-bottom .line{color:var(--gold);font-weight:700;max-width:200px}.pill{font-size:9px;border:1px solid var(--border);padding:2px 5px;border-radius:4px;white-space:nowrap}.pill.actual{color:var(--green);border-color:#416451}.empty{color:var(--muted);padding:24px;font-size:14px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}.overview-card{background:var(--panel);border:1px solid var(--border);padding:19px;border-radius:12px;text-align:left;min-height:150px}.overview-card h3{margin:0 0 8px;font-size:18px}.overview-card .meta{font-size:11px;color:var(--muted);margin-bottom:13px}.overview-card .summary{font-size:12px;line-height:1.7;color:var(--muted)}.overview-card:hover{border-color:var(--gold)}.future-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.future-phases article{border:1px solid var(--border);border-radius:11px;background:#0e1521;padding:17px}.future-phases h3{font-size:15px;margin:0 0 6px}.future-phases p{font-size:12px;color:var(--muted);margin:6px 0}.note{padding:16px;border-left:2px solid var(--gold);background:#131b29;font-size:12px;color:var(--muted);margin-top:25px}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:25px;color:var(--muted);font-size:10px}.footer a{color:var(--gold)}dialog{border:1px solid var(--border);border-radius:18px;background:#111a29;color:white;width:min(640px,calc(100vw - 28px));padding:0;max-height:88vh;overflow:auto;box-shadow:0 25px 80px #000a}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;border-bottom:1px solid var(--border)}.dialog-head h2{margin:0;font-size:20px}.close{font-size:24px;background:transparent;border:0;min-width:38px;min-height:38px;color:var(--muted)}.dialog-body{padding:24px}.detail-match{font-size:22px;margin:0 0 15px}.detail-grid{display:grid;grid-template-columns:140px 1fr;gap:10px;font-size:13px}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;overflow-wrap:anywhere}.detail-block{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.detail-block h3{font-size:13px;color:var(--gold);margin:0 0 10px}.detail-block p{font-size:13px;color:var(--muted);margin:6px 0}.statusbar{font-size:12px;color:var(--muted);min-height:22px}.statusbar.error{color:#ffb8ad}.hidden{display:none!important}
@media(max-width:1000px){.overview-grid{grid-template-columns:repeat(2,1fr)}.control.actions{margin-left:0}.hero-meta{display:none}.shell{padding:25px 22px}.legend{display:none}}
@media(max-width:600px){.shell{padding:19px 14px 35px}.brand{font-size:10px;letter-spacing:2px}.private{font-size:9px;padding:5px 8px}h1{font-size:38px;margin-top:21px}.subtitle{font-size:11px;letter-spacing:1px;line-height:1.6}.hero{margin-bottom:20px}.controls{padding:13px;gap:14px}.control.mode{order:3;width:100%}.modes{width:100%}.modes button{flex:1;padding:8px 9px;font-size:12px}.control.actions{width:100%;order:4}.action{flex:1;white-space:nowrap;font-size:12px}.control select{max-width:150px}.mode-description{display:block;font-size:12px}.mode-description span{display:block;margin-bottom:5px}.section-head h2{font-size:20px}.bracket-canvas{padding:0 16px}.overview-grid{gap:10px}.overview-card{padding:14px}.future-phases{grid-template-columns:1fr}.detail-grid{grid-template-columns:105px 1fr}.detail-match{font-size:20px}.dialog-body{padding:19px}.footer{font-size:9px}}

/* Maintenance: touch targets and native scroll; no gesture-cancelling listeners. */
button,select{touch-action:manipulation;min-height:44px}.close{min-width:44px;min-height:44px}.section-tabs{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.section-tabs button{min-width:44px;min-height:44px}.modes button{min-height:44px}.bracket-viewport{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.boot-message{padding:16px;background:#342d22;color:#f1f3f7;font:16px Arial;line-height:1.5}[hidden]{display:none!important}
@media(max-width:600px){.control select{font-size:16px;min-height:44px}.controls .control:not(.mode):not(.actions){flex:1;min-width:0}.control select{width:100%;max-width:none}.section-tabs{position:relative;z-index:1}.modes button{min-height:48px}}

.detail-date{font-size:14px;color:var(--muted);margin:0 0 18px}.fan-ratings h3,.fan-line h3,.fan-result h3{font-size:12px;letter-spacing:1px;margin:0 0 9px;color:var(--muted)}.fan-rating-row{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid var(--border);font-size:16px}.fan-rating-row strong{font-variant-numeric:tabular-nums;color:white;flex-shrink:0}.fan-line{padding:15px;margin:18px 0;border:1px solid #7f693c;border-radius:10px;background:var(--gold-soft)}.fan-line h3{color:var(--gold)}.fan-line p{color:var(--gold);font-size:24px;font-weight:700;line-height:1.25;margin:0 0 8px;overflow-wrap:anywhere}.fan-line span{font-size:13px}.fan-result p{font-size:15px;margin:0}.fan-scenarios{font-size:13px;color:var(--muted);margin:10px 0 18px}.detail-match{overflow-wrap:anywhere}.fan-rating-row span{min-width:0;overflow-wrap:anywhere}.note:empty{display:none}
