/* Winterclick — a light, warm world for competitive little crews. */
:root {
  --bg:#f6f4ed;
  --surface:#fffdf8;
  --surface-2:#eeeee5;
  --line:#daddd2;
  --muted:#657260;
  --text:#243b3b;
  --lime:#315c50;
  --orange:#d57946;
  --heading:'Space Grotesk',Manrope,Arial,sans-serif;
  --body:Manrope,Arial,sans-serif;
  color-scheme:light;
  background:var(--bg);
  color:var(--text);
}
body { font-size:14px; line-height:1.7; background:var(--bg); }
h1,h2,h3,h4 { line-height:1.12; letter-spacing:-.045em; font-weight:700; }
h1 { font-size:56px; }
h2 { font-size:34px; }
h3 { font-size:24px; }
h4 { font-size:20px; }
button,a,input,select,textarea { outline-color:#315c50; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #315c50; outline-offset:4px; }
::selection { background:#c8e0cb; color:#173c30; }
.container { width:min(1280px,calc(100% - 96px)); }
.eyebrow { font-size:10px; letter-spacing:.11em; color:#687b79; font-weight:700; }
.tiny-square { background:#d57946; width:6px; height:6px; }
.small-text { font-size:12px; }
.skip-link { border-radius:7px; background:#315c50; color:#fff; }
.prototype-strip { min-height:32px; height:auto; padding-block:7px; background:#e8ede4; border-color:#d5ded2; font-size:9px; letter-spacing:.035em; color:#456559; }
.prototype-strip>.container { gap:15px; min-height:18px; }
.prototype-strip .muted { color:#62796d; }
.strip-divider { color:#a7b7a8; margin-inline:10px; }
.strip-right { color:#667c6e; }
.design-switch { display:inline-flex; align-items:center; gap:6px; font-size:9px; color:#456559; }
.design-switch .icon { width:12px; height:12px; }
.site-header { background:#f6f4ed; height:91px; border-color:#e0e2d8; }
.header-inner { gap:26px; }
.brand { gap:10px; }
.brand-mark { color:#315c50; width:34px; }
.brand b { font-family:var(--heading); font-size:28px; letter-spacing:-.065em; font-weight:700; }
.brand small { color:#6b8076; font-size:7px; letter-spacing:.08em; margin-top:5px; font-weight:600; }
.main-nav { gap:25px; }
.main-nav>a { font-size:12px; font-weight:600; color:#6c7a73; }
.main-nav>a:hover,.main-nav>a.active { color:#284e41; }
.main-nav>a.active:after { background:#315c50; height:2px; bottom:24px; }
.header-actions { gap:17px; }
.admin-toggle { color:#526c60; font-size:11px; gap:7px; }
.admin-toggle:hover { color:#254e3d; }
.admin-toggle.selected { color:#315c50; }
.header-live { background:#315c50; border:1px solid #315c50; color:#fff; padding:12px 15px; border-radius:7px; font-size:10px; letter-spacing:.01em; }
.header-live>i { background:#bfe1be; box-shadow:none; }
.header-live:hover { background:#254a40; }
.live-dot { background:#528c5a; box-shadow:none; }
.menu-toggle { color:#315c50; }
.editor-bar { background:#e3eedf; color:#315843; border-color:#c3d7bf; font-size:11px; }
.editor-bar .muted { color:#668062; font-size:10px; }
.button { min-height:45px; border-radius:7px; padding:12px 20px; font-size:12px; font-weight:700; letter-spacing:0; gap:11px; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:#315c50; color:#fffdf8; border-color:#315c50; }
.button.primary:hover { background:#244b40; border-color:#244b40; }
.button.ghost { background:#fffdf8; color:#385a50; border-color:#c8d3c7; }
.button.ghost:hover { background:#eef2e8; border-color:#8ba58f; }
.button.danger { background:#fff9f3; color:#a44732; border-color:#d5a78e; }
.button.small { font-size:11px; }
.button.big { font-size:13px; min-height:52px; }
.text-link { color:#476d5d; font-size:11px; font-weight:700; }
.text-link:hover { color:#a85c35; }
.section { padding-top:55px; }
.section-head h2,.bottom-grid .section-head h2 { font-size:31px; line-height:1.14; margin-top:9px; }
.section-head .eyebrow { font-size:10px; letter-spacing:.09em; color:#6d7e74; }
.section-caption { font-size:11px; color:#748278; }
.panel,.upcoming-box,.match-card,.game-card { background:#fffdf8; border-color:#daddd2; border-radius:12px; overflow:hidden; }
.panel { box-shadow:0 3px 0 #daddd233; }
.match-card { color:#243b3b; box-shadow:0 3px 0 #daddd244; }
.match-card:hover { border-color:#95af9f; background:#fffffb; }
.match-card.is-live { border-color:#aec8ad; }
.match-card.is-live .match-top { background:#edf3e6; }
.match-top { height:45px; padding-inline:18px; font-size:11px; border-color:#e2e6da; }
.match-top>span:first-child { color:#416650; }
.match-stage { color:#859181; font-size:9px; }
.game-dot { width:5px; border-radius:2px; }
.status { border-radius:5px; padding:5px 8px; font-size:9px; letter-spacing:.04em; }
.status.live { background:#dcebd5; color:#3f6d40; }
.status.live i { background:#4e8250; animation:none; }
.status.done { background:#edf0e9; color:#687b65; }
.status.scheduled { background:#edf2f3; color:#667f89; }
.status.paused { background:#f7ead2; color:#987336; }
.match-versus { padding:26px 18px; gap:13px; }
.match-team { font-size:19px; font-weight:700; line-height:1.14; letter-spacing:-.03em; gap:13px; }
.match-team>span:not(.emblem) { overflow-wrap:anywhere; }
.match-team small { color:#748579; font-size:10px; font-weight:500; white-space:normal; line-height:1.5; margin-top:7px; }
.match-team small span { color:#98a694; }
.match-score { font-size:38px; gap:12px; letter-spacing:-.055em; color:#2c493c; }
.match-score strong { font-weight:700; }
.match-score>span { color:#b1bdac; font-size:25px; }
.match-score .versus { color:#94a38e; font-size:17px; letter-spacing:.03em; }
.match-bottom { background:#fafbf5; border-color:#e2e6da; min-height:42px; padding:10px 18px; font-size:9px; color:#73846e; }
.match-bottom b { color:#3f6349; }
.match-bottom .icon { color:#55765a; }
.featured-match .match-top { height:46px; }
.featured-match .match-versus { min-height:145px; padding:27px; }
.featured-match .match-team { font-size:23px; gap:17px; }
.featured-match .match-score { font-size:48px; gap:15px; padding-inline:10px; }
.featured-match .match-bottom { height:auto; min-height:43px; }
.emblem { color:var(--team); }
.box-label { font-size:11px; letter-spacing:.035em; padding:16px 18px; border-color:#e2e5da; }
.box-label>span { color:#82927c; font-size:9px; letter-spacing:.02em; }
.next-match { min-height:88px; padding:14px 18px; }
.next-match:hover { background:#f3f6eb; }
.next-time { color:#435f49; font-size:22px; font-weight:600; letter-spacing:-.05em; }
.next-time small { color:#8a9880; font-size:8px; }
.next-teams>span { color:#3f5c45; font-size:10px; }
.next-format { color:#91a087; font-size:9px; }
.ticker-strip { background:#ecf0e5; border-color:#dce2d0; border-radius:8px; padding:12px 16px; }
.ticker-strip>span { color:#4c7652; font-size:9px; }
.ticker-strip p { color:#6e7f66; font-size:11px; }
.ticker-strip .icon-link { color:#5a7d5b; }
.game-card { transition:transform .2s,border-color .2s; }
.game-card:hover { transform:translateY(-3px); }
.game-card-art { border-color:#e1e4d9; }
.game-card-art:after { background:linear-gradient(0deg,#21372799,transparent 70%); }
.game-day { color:#fffaf2; font-size:9px; }
.game-card-art .status { color:#f6f9ef; background:#314a38e6; }
.game-card-content { padding:24px; }
.game-card-content>.eyebrow { font-size:9px; letter-spacing:.07em; }
.game-card h3 { font-size:26px; margin-top:10px; color:#304c37; }
.game-card p { color:#798870; font-size:12px; line-height:1.65; }
.game-card-end span { color:#819072; font-size:10px; }
.game-card-end { margin-top:25px; }
.progress-track { background:#e5e9da; height:3px; border-radius:2px; }
.bottom-grid { gap:30px; }
.table-wrap { scrollbar-color:#c0ceba #f4f6ed; }
.data-table th { color:#89947e; font-size:10px; font-weight:600; padding:15px 17px; background:#f6f8f0; border-color:#e2e6d8; }
.data-table td { color:#445c42; font-size:12px; border-color:#e7eadf; padding:14px 17px; }
.data-table td.rank { color:#98a48c; font-size:22px; font-weight:500; }
.data-table td.rank.first { color:#ad7449; }
.data-table tr:has(.rank.first) { background:#faf0df55; }
.table-team { color:#3d5c41; font-size:12px; }
.table-team small { color:#91a184; font-size:10px; margin-top:4px; }
.table-team:hover { color:#ad7449; }
.points-cell.empty { color:#aeb8a0; }
.data-table td.total-points { color:#416546; font-size:27px; font-weight:700; }
.total-points small { color:#9da68d; font-size:8px; }
.panel-foot { color:#89977e; font-size:10px; background:#fafbf6; padding:14px 18px; border-color:#e2e6d8; }
.schedule-panel { padding-bottom:19px; }
.mini-tabs { border-color:#e2e6d8; }
.mini-tabs button { color:#95a087; font-size:11px; min-height:49px; }
.mini-tabs button.active { color:#526f4b; }
.mini-tabs button.active:after { background:#64815b; }
.schedule-item time { color:#91a07e; font-size:21px; font-weight:500; letter-spacing:-.05em; }
.schedule-line:before { background:#dae1cd; }
.schedule-line>i { border-color:#bbc9a9; background:#fffdf8; }
.schedule-item.highlight time { color:#a16b42; }
.schedule-item.highlight .schedule-line>i { background:#d49b66; border-color:#d49b66; }
.schedule-item small { color:#99a789; font-size:8px; }
.schedule-item h3 { color:#4c6548; font-size:12px; letter-spacing:-.01em; }
.schedule-item p { color:#91a080; font-size:10px; }
.schedule-note { color:#9ca98d; font-size:9px; }
.finale-cta { background:#e5ece0; border:1px solid #cedbc5; border-radius:12px; }
.finale-cta>.eyebrow { color:#79946b; font-size:9px; }
.finale-cta h2 { color:#34533e; font-size:36px; line-height:1.12; }
.finale-cta h2 span { color:#819879; }
.giant-seven { color:#94b18322; font-style:normal; }
.site-footer { background:#edeedf; border-top:1px solid #dadfce; padding-top:40px; }
.footer-top { min-height:125px; }
.footer-top>p { font-size:21px; line-height:1.35; color:#4a6246; letter-spacing:-.025em; }
.footer-links,.footer-links button { color:#75846b; font-size:11px; }
.footer-bottom { color:#96a18b; border-color:#d9dfcb; font-size:10px; padding-block:21px; }
.page { padding-top:52px; padding-bottom:65px; }
.page-heading { margin-bottom:35px; }
.page-heading .eyebrow { color:#88957b; font-size:10px; margin-bottom:15px; }
.page-heading h1 { font-size:48px; line-height:1.1; letter-spacing:-.045em; color:#2e4b3b; }
.page-heading p { color:#7b8d74; font-size:13px; line-height:1.85; max-width:590px; }
.game-tabs { border:0; border-radius:12px; overflow:hidden; background:#e8ece0; padding:5px; gap:5px; }
.game-tabs>a { border:0; background:transparent; color:#8b997d; border-radius:8px; padding:17px 21px; }
.game-tabs>a.active { background:#fffdf8; color:#3c5e42; box-shadow:0 1px 5px #4a633212; }
.game-tabs>a.active:after { display:none; }
.game-tab-num { color:#b8c0a9; font-size:24px; }
.game-tabs>a.active .game-tab-num { color:#b77f4f; }
.game-tabs small { color:#9da68c; font-size:8px; letter-spacing:.05em; }
.game-tabs .icon { color:#9eae8a; }
.game-tabs>a.active .icon { color:#66895f; }
.tournament-intro { border-color:#dce2d2; }
.tournament-intro h2 { color:#2f4d39; font-size:36px; margin-top:11px; }
.tournament-intro .eyebrow { font-size:9px; }
.tournament-intro p { color:#8c9b7d; font-size:12px; }
.tournament-intro p>span { color:#c1cbb3; }
.tournament-progress b { color:#557651; font-size:40px; letter-spacing:-.06em; }
.tournament-progress b>span { color:#b8c3a7; font-size:27px; }
.tournament-progress small { color:#9eac8f; font-size:9px; }
.tournament-layout { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
.tournament-main,.tournament-aside { min-width:0; }
.subheading h3 { color:#536b4b; font-size:22px; }
.filter-tabs { padding:3px; background:#e9eddf; border-radius:7px; gap:2px; }
.filter-tabs button { color:#91a080; font-size:10px; padding:7px 10px; border-radius:5px; }
.filter-tabs button.active { color:#45663e; background:#fffdf8; }
.match-list .match-team { font-size:18px; }
.match-list .match-team small { font-size:10px; }
.match-list .match-score { font-size:34px; }
.standings-panel .data-table th { font-size:9px; padding:14px 9px; }
.standings-panel .data-table td { font-size:11px; padding:15px 9px; }
.standings-panel .table-team { font-size:10px; }
.standings-panel .data-table .rank { font-size:21px; }
.rules-details { background:#f0f3e8; border-color:#dbe3cd; border-radius:10px; font-size:12px; overflow:hidden; }
.rules-details summary { color:#647c55; font-size:12px; padding:17px; }
.rules-details>div { color:#819774; padding:3px 17px 20px; }
.rule-chips>span { background:#e3ebd8; color:#7a936b; border-radius:5px; font-size:10px; }
.rule-chips b { color:#4f7247; font-size:24px; }
.note { background:#eef3e7; color:#829578; border-color:#dce7cf; border-radius:8px; font-size:11px; }
.note .icon { color:#739464; }
.sg-round { border-radius:10px; background:#fffdf8; padding:20px; }
.sg-round:hover { border-color:#abc49b; }
.sg-round-number small { color:#9eae8e; font-size:8px; }
.sg-round-number b { color:#9db58a; font-size:33px; }
.sg-round-center>span { color:#9cb28a; font-size:8px; }
.sg-round-center>small { color:#94aa80; font-size:10px; }
.sg-round-center strong { color:#4e7045; font-size:13px; }
.sg-round-end b { color:#5f8a4d; font-size:28px; }
.sg-round-end small { font-size:9px; }
.sg-round-end .icon { color:#83a66b; }
.playoff-section { border-color:#d7e2ca; }
.bracket-column>h4 { color:#8b9f7a; font-size:10px; letter-spacing:.06em; }
.bracket-match { border-color:#d9e3cb; border-radius:9px; background:#fffdf8; }
.bracket-match span { color:#58754b; font-size:12px; }
.bracket-match b { color:#aac196; }
.bracket-column:first-child .bracket-match:after { background:#bed2ac; }
.bracket-finals .bracket-match.final { border-color:#b8cba3; }
.final-label { color:#6d8e53; background:#eef4e4; font-size:10px; border-radius:8px 8px 0 0; }
.scoring-ribbon { background:#f0f2e6; border-color:#dce2cc; border-radius:11px; }
.scoring-ribbon>div { border-color:#d8e1c9; }
.scoring-ribbon>div>span { color:#a3b18b; font-size:23px; }
.scoring-ribbon>div:first-child>span { color:#ae8350; }
.scoring-ribbon b { color:#496a3f; font-size:34px; }
.scoring-ribbon small { color:#9baa87; font-size:8px; }
.scoring-ribbon p { color:#7b9067; font-size:11px; }
.scoring-ribbon p>span { color:#a2b48c; }
.ranking-panel .data-table th { font-size:10px; }
.ranking-panel .data-table td { font-size:13px; }
.ranking-panel .total-points { font-size:29px!important; }
.ranking-explainer h2 { color:#49633c; font-size:32px; }
.ranking-explainer .eyebrow { color:#95a580; font-size:9px; }
.ranking-explainer>p { color:#8b9d75; font-size:13px; }
.team-card { background:#fffdf8; border-color:#d9dfce; border-radius:13px; }
.team-card:hover { box-shadow:0 5px 15px #60734a0a; }
.team-number { color:#a8b29b; font-size:22px; font-weight:500; }
.team-art { height:200px; background:color-mix(in srgb,var(--team) 8%,#f7f6ed); }
.team-art:after { bottom:0; width:100%; height:1px; background:#e2e5d9; }
.team-card-info { padding:24px; }
.team-card-info>small { font-size:9px; letter-spacing:.07em; }
.team-card-info h2 { font-size:28px; line-height:1.12; letter-spacing:-.045em; overflow-wrap:anywhere; color:#3f5b3c; }
.team-roster { border-color:#e0e6d5; font-size:13px; color:#5f7952; }
.team-roster i { color:#9eaf8c; font-size:8px; }
.team-profile-link { color:#889d75; font-size:11px; }
.edit-control { width:31px; height:31px; border-radius:6px; background:#edf5e5; border-color:#bcd3aa; color:#5d8549; }
.edit-control:hover { background:#deebd2; }
.event-facts { background:#fffdf8; border-radius:11px; overflow:hidden; border-color:#d9e1cd; }
.event-facts small { color:#9cab89; font-size:9px; }
.event-facts>div { color:#566e47; font-size:14px; }
.event-facts .icon { color:#7d9c62; }
.day-selector { border-color:#d8e2ca; border-radius:10px 10px 0 0; overflow:hidden; }
.day-selector button { background:#edf1e3; color:#8b9f77; border-color:#d8e2ca; }
.day-selector button span { color:#a1b38c; font-size:9px; }
.day-selector button strong { font-size:23px; }
.day-selector button.active { background:#deebcf; color:#557644; }
.day-selector button.active span { color:#8ea974; }
.large-schedule { border-radius:0 0 10px 10px; border-color:#d8e2ca; }
.large-schedule .schedule-item h3 { font-size:16px; }
.large-schedule .schedule-item p { font-size:12px; }
.large-schedule .schedule-item small { font-size:9px; }
.large-schedule .schedule-item time { font-size:26px; }
.gallery-empty { background:#edf2e4; border-color:#cddbc0; border-radius:10px; min-height:210px; }
.gallery-empty>span { color:#b0c19c; font-size:27px; }
.gallery-empty h3 { color:#64814e; font-size:25px; }
.gallery-empty p { color:#9cb086; font-size:12px; }
.gallery-photo { border-radius:10px; }
.gallery-photo span { background:#304a31c9; color:#f6faee; }
.faq-section summary { color:#567247; font-size:14px; }
.faq-section summary .icon { color:#91ad78; }
.faq-section details>p { color:#8d9f7a; font-size:13px; }
.stream-stage { background:linear-gradient(#edf2e4e6,#edf2e4e6),url('/assets/winterclick-hero.png') center / cover; border-color:#d7e4c9; border-radius:12px; }
.stream-top,.stream-bottom { color:#9bae87; font-size:9px; letter-spacing:.06em; }
.stream-play { border-color:#bacfa6; background:#e0edd2; border-radius:8px; color:#769b59; }
.stream-content .eyebrow { color:#91ad76; font-size:9px; letter-spacing:.09em; }
.stream-content h2 { color:#4c6e3d; font-size:35px; line-height:1.12; }
.stream-content p { color:#8fa67a; font-size:12px; }
.stream-content .small-text { color:#9fb48b; font-size:11px; }
.stream-content .button { font-size:11px; min-height:40px; }
.feed-item { border-color:#d7e4c9; }
.feed-node { background:#eef6e7; border-color:#bed5a9; }
.feed-item:first-child .feed-node { background:#9abb80; border-color:#9abb80; }
.feed-item small { color:#a1b889; font-size:9px; }
.feed-item p { color:#708a5a; font-size:12px; }
.new-label { color:#87a66b; font-size:8px; }
.feed-footer { color:#a1b48a; font-size:10px; }
.live-timing { color:#8fa478; font-size:12px; }
.live-timing b { color:#6d8b54; font-size:22px; }
.live-timing small { color:#a9b994; font-size:9px; }
#ticker-form input { background:#f7fbf0; border-color:#d2e2c1; color:#567745; font-size:12px; border-radius:6px; }
#ticker-form button { background:#4d7541; color:#fff; border-radius:6px; }
.draw-toolbar { font-size:10px; border-color:#d8e2cc; }
.draw-toolbar>span:nth-child(2) { color:#8ba178; }
.draw-toolbar b { color:#58794a; }
.draw-pool { border-radius:12px; background:#fffdf8; border-color:#d7e1cb; }
.draw-pool .eyebrow { color:#96ac81; font-size:9px; }
.draw-pool h3 { font-size:24px; color:#547446; }
.pool-person { background:#f0f5e8; border-color:#e4ebd8; color:#769265; border-radius:6px; font-size:12px; }
.pool-person .icon { color:#a2bc8b; }
.pool-person.drawn { opacity:.5; }
.pool-person.drawn .icon { color:#769b5c; }
.draw-center { border:1px solid #d5dfd2; border-radius:18px; background:#e4edf0; min-height:430px; padding:30px 20px; }
.draw-center>.eyebrow { color:#829d9c; font-size:9px; }
.draw-center h2 { color:#375e5f; font-size:47px; line-height:1.1; letter-spacing:-.045em; }
.draw-center h2>span { color:#759d9e; }
.draw-center>p { color:#83a09c; font-size:12px; line-height:1.85; }
.draw-symbol { width:54px; color:#91b1af; margin-bottom:12px; }
.draw-actions p { color:#94a789; font-size:12px; max-width:700px; margin:15px auto 0; }
.revealed-players small { color:#95aaa0; font-size:9px; }
.revealed-players>i { color:#b1c4b9; }
.draw-center .reveal-emblem~h2 { font-size:34px; overflow-wrap:anywhere; max-width:100%; }
.draw-result { border-radius:9px; border-color:#d6e2ca; background:#fffdf8; }
.draw-result>span.muted { color:#b1c39b; font-size:21px; }
.draw-result b { color:#64814e; font-size:12px; }
.draw-result small { color:#9eb28a; font-size:10px; }
.draw-result>.icon { color:#8eaf6b; }
.draw-spinner { color:#6c9593; }
.modal { background:#fffdf8; color:#35513c; border-color:#c6d5ba; border-radius:14px; box-shadow:0 20px 90px #1e342c35; scrollbar-color:#c9d8bd #f4f7ee; }
.modal::backdrop { background:#354b425e; backdrop-filter:blur(5px); }
.modal-header { background:#fffdf8; border-color:#e0e7d5; padding:25px 28px; }
.modal-header h2 { color:#355639; font-size:29px; line-height:1.15; }
.modal-header .eyebrow { color:#98ae85; font-size:9px; }
.icon-button { background:#eef4e5; border-color:#d4e3c4; color:#72935b; border-radius:7px; }
.icon-button:hover { background:#e0edd2; }
.modal-body>p { color:#839b70; font-size:13px; }
.modal-subtitle { color:#5b7a47; font-size:20px; line-height:1.2; }
.detail-note { color:#9bac8a!important; font-size:11px!important; }
.detail-top { color:#92a67f; font-size:11px; }
.detail-match { border-color:#dae5ce; }
.detail-match h3 { color:#557844; font-size:23px; letter-spacing:-.035em; overflow-wrap:anywhere; }
.detail-match small { color:#98ae82; font-size:10px; }
.detail-match>strong { color:#3f6633; font-size:51px; letter-spacing:-.06em; }
.detail-match>strong>span { color:#b7caa4; }
.map-detail-list { border-color:#d5e1c8; border-radius:9px; overflow:hidden; background:#f4f8ed; }
.map-detail-list>div { border-color:#dce8cf; }
.map-number { color:#afc19b; font-size:24px; }
.map-detail-list>div>span:nth-child(2) { color:#6b8a54; font-size:12px; }
.map-detail-list small { color:#9db384; font-size:8px; }
.map-detail-list b { color:#567e3c; font-size:27px; }
.race-controls .eyebrow { color:#8dac73; font-size:9px; }
.race-controls button { background:#edf5e4; border-color:#d1e1bf; color:#7a9d5d; border-radius:6px; font-size:8px; }
.race-controls button:hover { background:#e0edcf; }
.race-controls b { color:#5f873e; font-size:24px; }
.sg-winner small { color:#a5b58d; font-size:9px; }
.sg-winner h3 { color:#5b7b40; font-size:30px; }
.sg-winner>b { color:#73994d; font-size:38px; }
.sg-detail-list b { color:#6e8b53; font-size:12px; }
.sg-detail-list>div>span:not(.emblem) { color:#a0b086; font-size:11px; }
.sg-detail-list strong { color:#77994d; font-size:27px; }
.cs-map-card { background:#eef4e5; border-radius:10px; }
.cs-map-card img { border-color:#d8e4c8; border-radius:6px; }
.cs-map-card small { color:#a2b68b; font-size:9px; }
.cs-map-card h3 { color:#64864a; font-size:25px; }
.cs-map-card p { color:#93ab79; font-size:11px; }
.form-field { color:#66834e; font-size:12px; }
.form-field input,.form-field textarea,.form-field select,.form-map-grid input { background:#fcfdf8; border-color:#c8d9b5; color:#4f7338; border-radius:7px; font-size:13px; padding:12px 13px; }
.form-field input::file-selector-button { background:#e5efd8; border-radius:4px; color:#6e914d; font-size:11px; }
.form-field small { color:#a0b489; font-size:10px; }
.form-error { color:#a45335; font-size:11px; }
.form-error:not(:empty) { background:#fff2e7; border-color:#e2b99a; border-radius:6px; }
.edit-team-header { color:#607e47; }
.edit-team-header small { color:#9caf86; font-size:10px; }
.form-match-label { color:#6b8852; font-size:14px; }
.form-match-label>span { color:#b0c299; font-size:12px; }
.form-map-grid>span { color:#a1b38a; font-size:9px; }
.form-map-grid>label { color:#7f9966; font-size:12px; }
.finalist-options>label { color:#728e55; background:#f7fbef; border-color:#d8e5c7; border-radius:7px; font-size:11px; }
.finalist-options>label:has(input:checked) { background:#e4efcf; border-color:#a6c080; }
.finalist-options input { accent-color:#6f9449; }
.settings-rules>div { color:#78945e; font-size:12px; border-color:#dce6cf; }
.settings-rules b { background:#f4ebd1; color:#9c7f39; border-radius:4px; font-size:9px; }
.reset-block { border-color:#dce6cf; }
.reset-block h3 { color:#69874c; font-size:24px; }
.reset-block p { color:#96aa7e; font-size:12px; }
.confirmation-text { color:#859f6c; font-size:13px; }
.team-detail { background:#f6f9ef; border-radius:10px; padding:16px; }
.team-detail .eyebrow { color:#99af80; font-size:9px; }
.player-avatar { background:#e4efd6; border-color:#c7dcac; color:var(--team); border-radius:8px; font-size:28px; }
.player-avatar.amateur { background:#eef5e5; color:#a2bc88; border-color:#d6e6c1; }
.player-duo h3 { color:#759454; font-size:25px; }
.player-duo small { color:#a5ba8d; font-size:9px; }
.duo-plus { color:#bed1a9; }
.team-stats { border-color:#d6e4c6; }
.team-stats b { color:#75994f; font-size:31px; }
.team-stats span { color:#a6ba8e; font-size:9px; }
.empty-state { border-color:#d4e1c4; background:#f2f7e8; border-radius:12px; }
.empty-state>.icon { color:#adc58e; }
.empty-state h3 { color:#789956; font-size:27px; }
.empty-state p { color:#a0b685; font-size:12px; }
#toast { background:#fffdf8; color:#426438; border-color:#bdcea9; border-radius:9px; box-shadow:0 8px 30px #3d562329; font-size:12px; }

/* Core copy uses a darker shared ink; secondary labels retain soft seasonal accents. */
.note,.rules-details>div,.panel-foot,.feed-item p,.faq-section details>p,.ranking-explainer>p,.modal-body>p,.confirmation-text,.reset-block p,.detail-note,.form-field small,.empty-state p,.gallery-empty p,.draw-actions p,.draw-center>p,.stream-content p,.stream-content .small-text,.footer-bottom { color:#657260!important; }
.form-field,.form-field input,.form-field textarea,.form-field select,.form-map-grid input,.settings-rules>div,.player-duo h3,.team-stats b,.sg-detail-list b,.sg-detail-list strong,.map-detail-list b,.detail-match h3,.detail-match>strong,.modal-subtitle,.modal-header h2,.team-card-info h2,.team-roster,.draw-result b,.pool-person,.game-card h3,.tournament-intro h2,.subheading h3,.page-heading h1,.ranking-explainer h2,.gallery-empty h3,.faq-section summary { color:#385744; }
.schedule-item p,.schedule-item small,.schedule-note,.table-team small,.next-time small,.next-format,.game-card p,.game-card-end span,.data-table th,.total-points small,.team-profile-link,.team-roster i,.team-card-info>small,.rules-details summary,.form-map-grid>label,.form-map-grid>span,.map-detail-list small,.detail-match small,.draw-pool .eyebrow,.revealed-players small,.draw-result small,.player-duo small,.team-stats span,.edit-team-header small,.form-match-label>span,.sg-round-center>small,.sg-round-center>span,.sg-round-number small,.game-tabs small,.event-facts small,.day-selector button span,.feed-item small,.feed-footer,.live-timing small { color:#657260; }
.page-heading p,.section-head .eyebrow,.page-heading .eyebrow,.section-caption,.tournament-intro p,.tournament-progress small,.match-stage,.match-team small,.match-bottom,.next-teams>span,.ticker-strip p,.scoring-ribbon p,.scoring-ribbon small,.ranking-explainer .eyebrow,.footer-links,.footer-links button,.stream-top,.stream-bottom,.stream-content .eyebrow,.new-label,.draw-toolbar>span:nth-child(2),.draw-center>.eyebrow,.modal-header .eyebrow,.detail-top,.race-controls .eyebrow,.sg-winner small,.sg-detail-list>div>span:not(.emblem),.cs-map-card small,.cs-map-card p,.form-field>span,.form-match-label,.settings-rules b,.filter-tabs button,.mini-tabs button,.day-selector button,.live-timing { color:#657260; }
.status.done { color:#5e725a; }
.data-table td.rank,.schedule-item time { color:#6a7a60; }

@media(max-width:1200px) {
  .container { width:calc(100% - 64px); }
  .header-inner { gap:20px; }
  .main-nav { gap:18px; }
  .main-nav>a { font-size:11px; }
  .header-actions { gap:13px; }
  .brand b { font-size:26px; }
  .featured-match .match-team { font-size:20px; gap:12px; }
  .featured-match .match-score { font-size:42px; padding-inline:6px; }
  .game-card-content { padding:20px; }
  .game-card h3 { font-size:23px; }
  .team-card-info h2 { font-size:25px; }
  .match-list .match-team { font-size:17px; }
}
@media(max-width:1000px) {
  .container { width:calc(100% - 48px); }
  .main-nav { gap:15px; }
  .main-nav>a { font-size:10px; }
  .header-live { font-size:9px; padding:11px 12px; }
  .brand b { font-size:25px; }
  .brand small { font-size:6px; }
  .tournament-layout { grid-template-columns:1fr; }
  .tournament-aside { display:grid; grid-template-columns:1fr 1fr; gap:18px; position:static; }
  .tournament-aside>.note { margin-top:0; }
  .rules-details { margin-top:0; }
  .featured-match .match-team { font-size:20px; }
  .game-card h3 { font-size:21px; }
  .game-card p { font-size:11px; }
  .team-card-info h2 { font-size:24px; }
  .draw-center h2 { font-size:40px; }
  .draw-center .reveal-emblem~h2 { font-size:29px; }
  .draw-pool { padding:18px; }
  .draw-pool h3 { font-size:21px; }
  .stream-content h2 { font-size:29px; }
}
@media(max-width:800px) {
  .site-header { height:78px; }
  .main-nav { top:78px; background:#f8f8ef; border-color:#d4dec9; padding:16px 24px; box-shadow:0 10px 20px #3e542418; }
  .main-nav>a { font-size:13px; padding:13px 10px; }
  .main-nav>a.active { background:#e9efdf; border-radius:6px; }
  .main-nav>a.active:after { display:none; }
  .header-actions { gap:16px; }
  .admin-toggle span { display:block; font-size:11px; }
  .section-head h2,.bottom-grid .section-head h2 { font-size:29px; }
  .page-heading h1 { font-size:43px; }
  .tournament-intro h2 { font-size:33px; }
  .game-tabs>a { padding:15px; }
  .game-tabs>a>span:nth-child(2) { font-size:12px; }
  .game-tabs small { font-size:7px; }
  .match-list .match-team { font-size:17px; }
  .team-card-info h2 { font-size:26px; }
  .scoring-ribbon p { border-color:#d8e2ca; }
  .ranking-explainer { gap:30px; }
  .ranking-explainer h2 { font-size:28px; }
  .draw-center { min-height:360px; }
  .draw-center h2 { font-size:44px; }
  .draw-center .reveal-emblem~h2 { font-size:34px; }
  .stream-stage { min-height:350px; }
  .stream-content h2 { font-size:34px; }
  .day-selector button strong { font-size:23px; }
  .footer-top>p { font-size:20px; }
}
@media(max-width:520px) {
  .container { width:calc(100% - 36px); }
  body { font-size:13px; }
  .prototype-strip { min-height:31px; padding-block:6px; font-size:8px; }
  .prototype-strip .muted,.prototype-strip .strip-divider { display:none; }
  .design-switch { font-size:8px; }
  .site-header { height:73px; }
  .header-inner { gap:12px; }
  .main-nav { top:73px; }
  .brand { gap:8px; }
  .brand-mark { width:28px; }
  .brand b { font-size:24px; }
  .brand small { font-size:5px; }
  .header-actions { gap:12px; }
  .admin-toggle span { display:none; }
  .header-live { padding:9px 11px; font-size:9px; }
  .header-live>i { width:5px; height:5px; }
  .button { font-size:11px; min-height:43px; padding:11px 17px; }
  .section { padding-top:38px; }
  .section-head { gap:14px; margin-bottom:20px; }
  .section-head h2,.bottom-grid .section-head h2 { font-size:26px; }
  .section-head .eyebrow { font-size:9px; }
  .section-head .text-link { font-size:10px; }
  .featured-match .match-top { height:43px; padding-inline:13px; font-size:10px; }
  .featured-match .match-versus { min-height:166px; padding:23px 12px; gap:8px; }
  .featured-match .match-team { font-size:18px; gap:10px; flex-direction:column; text-align:center; }
  .featured-match .match-team.away { flex-direction:column; text-align:center; }
  .featured-match .match-team small { font-size:9px; }
  .featured-match .match-score { font-size:38px; gap:9px; padding:0; }
  .featured-match .emblem.lg { width:53px; height:53px; }
  .match-bottom { font-size:8px; padding:10px 12px; gap:8px; line-height:1.5; }
  .match-bottom>span:last-child { font-size:8px; }
  .status { font-size:8px; padding:5px 7px; }
  .next-time { font-size:23px; }
  .next-time small,.next-format { font-size:8px; }
  .next-teams>span { font-size:11px; }
  .ticker-strip { padding:12px; gap:10px; }
  .ticker-strip>span { font-size:8px; }
  .ticker-strip p { font-size:10px; }
  .game-card-content { padding:23px; }
  .game-card h3 { font-size:27px; }
  .game-card p { font-size:12px; }
  .game-card-content>.eyebrow { font-size:9px; }
  .game-card-end span { font-size:10px; }
  .data-table th { font-size:9px; padding:14px 11px; }
  .data-table td { padding:15px 11px; font-size:12px; }
  .data-table td.rank { font-size:21px; }
  .table-team { font-size:11px; gap:9px; }
  .table-team small { font-size:9px; }
  .data-table td.total-points { font-size:26px; }
  .total-points small { font-size:8px; }
  .panel-foot { font-size:10px; line-height:1.7; padding:13px; }
  .box-label { font-size:10px; }
  .box-label>span { font-size:8px; }
  .mini-tabs button { font-size:11px; }
  .schedule-item time { font-size:21px; }
  .schedule-item small { font-size:8px; }
  .schedule-item h3 { font-size:12px; }
  .schedule-item p { font-size:10px; }
  .finale-cta { padding:28px 24px; }
  .finale-cta h2 { font-size:29px; }
  .finale-cta>.eyebrow { font-size:8px; }
  .finale-cta .button { font-size:11px; }
  .footer-top>p { font-size:18px; line-height:1.4; }
  .footer-links,.footer-links button { font-size:10px; }
  .footer-bottom { font-size:9px; line-height:1.7; }
  .page { padding-top:35px; }
  .page-heading h1 { font-size:35px; line-height:1.12; overflow-wrap:anywhere; }
  .page-heading .eyebrow { font-size:9px; }
  .page-heading p { font-size:12px; }
  .page-heading>.button { font-size:11px; }
  .game-tabs { padding:4px; gap:4px; }
  .game-tabs>a { padding:12px 10px; gap:7px; }
  .game-tab-num { font-size:20px; }
  .game-tabs>a>span:nth-child(2) { font-size:10px; }
  .tournament-intro { gap:15px; }
  .tournament-intro h2 { font-size:28px; }
  .tournament-intro p { font-size:11px; line-height:1.8; }
  .tournament-intro .eyebrow { font-size:8px; }
  .tournament-progress b { font-size:31px; }
  .tournament-progress b>span { font-size:20px; }
  .tournament-progress small { font-size:8px; }
  .subheading { gap:10px; flex-wrap:wrap; }
  .subheading h3 { font-size:20px; }
  .filter-tabs button { font-size:10px; padding:6px 9px; }
  .match-list .match-team { font-size:16px; gap:9px; }
  .match-list .match-team small { font-size:9px; }
  .match-list .match-score { font-size:29px; gap:9px; }
  .match-list .match-top { font-size:10px; }
  .tournament-aside { display:flex; flex-direction:column; gap:16px; }
  .standings-panel .table-team { font-size:10px; }
  .standings-panel .data-table th { font-size:8px; }
  .standings-panel .data-table td { font-size:10px; }
  .standings-panel .data-table .rank { font-size:20px; }
  .note { font-size:11px; padding:14px; }
  .sg-round { padding:17px 13px; gap:13px; }
  .sg-round-number b { font-size:28px; }
  .sg-round-number small,.sg-round-center>span { font-size:7px; }
  .sg-round-center strong { font-size:12px; }
  .sg-round-center>small { font-size:9px; }
  .sg-round-end b { font-size:25px; }
  .sg-round-end small { font-size:8px; }
  .bracket { gap:25px; }
  .bracket-match span { padding:13px 11px; font-size:10px; gap:10px; }
  .bracket-column>h4 { font-size:8px; }
  .final-label { padding:11px; font-size:8px; }
  .scoring-ribbon b { font-size:29px; }
  .scoring-ribbon small { font-size:7px; }
  .scoring-ribbon>div>span { font-size:19px; }
  .scoring-ribbon p { font-size:11px; }
  .ranking-panel .data-table th { font-size:9px; }
  .ranking-panel .data-table td { font-size:12px; }
  .ranking-panel .total-points { font-size:27px!important; }
  .ranking-explainer h2 { font-size:28px; }
  .ranking-explainer .eyebrow { font-size:9px; }
  .ranking-explainer>p { font-size:12px; }
  .team-grid { gap:14px; }
  .team-art { height:160px; }
  .team-card-info { padding:19px 15px; }
  .team-card-info h2 { font-size:23px; }
  .team-card-info>small { font-size:8px; }
  .team-number { font-size:19px; }
  .team-roster { gap:8px; font-size:12px; }
  .team-roster i { font-size:8px; }
  .team-profile-link { font-size:9px; }
  .event-facts small { font-size:8px; }
  .event-facts>div { font-size:13px; }
  .day-selector button span { font-size:8px; }
  .day-selector button strong { font-size:18px; }
  .large-schedule .schedule-item time { font-size:23px; }
  .large-schedule .schedule-item small { font-size:8px; }
  .large-schedule .schedule-item h3 { font-size:13px; }
  .large-schedule .schedule-item p { font-size:11px; }
  .gallery-empty h3 { font-size:24px; }
  .gallery-empty p { font-size:11px; }
  .faq-section summary { font-size:13px; }
  .faq-section details>p { font-size:12px; }
  .stream-stage { min-height:340px; }
  .stream-content h2 { font-size:29px; }
  .stream-content p { font-size:11px; }
  .stream-content .eyebrow,.stream-top,.stream-bottom { font-size:8px; }
  .stream-content .small-text { font-size:10px; }
  .live-center-grid .featured-match .match-team { font-size:18px; }
  .live-timing { font-size:10px; }
  .live-timing b { font-size:20px; }
  .live-timing small { font-size:8px; }
  .draw-toolbar { font-size:9px; gap:10px; }
  .draw-toolbar .text-link { font-size:9px; }
  .draw-center { min-height:350px; }
  .draw-center h2 { font-size:39px; }
  .draw-center .reveal-emblem~h2 { font-size:30px; }
  .draw-center>.eyebrow { font-size:8px; }
  .draw-center>p { font-size:12px; }
  .draw-pool { padding:17px 12px; }
  .draw-pool h3 { font-size:19px; }
  .draw-pool .eyebrow { font-size:8px; }
  .pool-person { font-size:11px; }
  .draw-actions p { font-size:11px; }
  .draw-page .note { font-size:11px; }
  .draw-result b { font-size:12px; }
  .draw-result small { font-size:10px; }
  .modal-header h2 { font-size:25px; }
  .modal-header .eyebrow { font-size:8px; }
  .modal-subtitle { font-size:18px; }
  .detail-top { font-size:9px; }
  .detail-match h3 { font-size:19px; }
  .detail-match small { font-size:9px; }
  .detail-match>strong { font-size:41px; }
  .map-detail-list>div>span:nth-child(2) { font-size:12px; }
  .map-detail-list small { font-size:8px; }
  .map-detail-list b { font-size:24px; }
  .race-controls button { font-size:7px; }
  .race-controls b { font-size:22px; }
  .race-controls .eyebrow { font-size:8px; }
  .modal-actions .button { font-size:11px; }
  .form-field { font-size:12px; }
  .form-field input,.form-field textarea,.form-field select { font-size:16px; }
  .form-field small { font-size:10px; }
  .finalist-options>label { font-size:10px; }
  .sg-winner h3 { font-size:25px; }
  .sg-winner>b { font-size:34px; }
  .sg-winner small { font-size:8px; }
  .sg-detail-list b { font-size:11px; }
  .sg-detail-list>div>span:not(.emblem) { font-size:10px; }
  .player-duo h3 { font-size:24px; }
  .player-duo small { font-size:8px; }
  .team-stats b { font-size:29px; }
  .team-stats span { font-size:8px; }
  .settings-rules>div { font-size:11px; }
  .settings-rules b { font-size:8px; }
  .cs-map-card h3 { font-size:24px; }
  .cs-map-card p { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
