*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Noto Sans Thai",Tahoma,Arial,sans-serif;color:#172033;background:#eef5fc}a{color:inherit}.pub-top{height:66px;background:#0b315b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1480px)/2));position:sticky;top:0;z-index:50;box-shadow:0 3px 14px #0b315b22}.pub-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.pub-brand>span{font-size:29px}.pub-brand b{display:block;font-size:18px}.pub-brand small{display:block;font-size:10px;opacity:.8}.pub-actions{display:flex;gap:8px}.pub-actions a,.pub-actions button{border:1px solid #ffffff30;background:#ffffff0d;color:#fff;border-radius:10px;padding:9px 13px;text-decoration:none;font:700 12px inherit;cursor:pointer}.pub-actions button{background:#138ad2}.pub-page{width:min(1480px,calc(100% - 32px));margin:18px auto 34px}.cover{position:relative;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #23496a18}.cover img{display:block;width:100%;height:auto;object-fit:contain}.cover-tag{position:absolute;left:20px;bottom:18px;background:#0b315be8;color:#fff;border-radius:13px;padding:10px 15px;box-shadow:0 6px 20px #0003}.cover-tag b,.cover-tag span{display:block;font-size:10px}.cover-tag strong{font-size:20px;color:#ffd34e}.welcome{margin-top:12px;background:#fff;border-radius:18px;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 8px 24px #23496a10}.welcome>div>span,.card header small{color:#1978c8;font-size:9px;font-weight:900;letter-spacing:.14em}.welcome h1{margin:5px 0 4px;font-size:27px}.welcome h1 b{color:#1268b5}.welcome p,.card header p{margin:0;color:#68768a;font-size:12px}.livebox{min-width:170px;padding:13px 16px;border-radius:14px;background:linear-gradient(135deg,#0b315b,#1268b5);color:#fff}.livebox span,.livebox em{display:block;font-size:8px}.livebox b{display:block;font-size:25px;margin:2px 0}.livebox em{font-style:normal;color:#91f2c2}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.kpis>div{background:#fff;border-radius:16px;padding:13px 15px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 22px #23496a0e}.kpis i{font-style:normal;width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#e9f4ff;font-size:21px}.kpis span{font-size:10px;color:#68768a}.kpis b{display:block;color:#172033;font-size:24px;margin-top:1px}.content-grid,.bottom-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:12px;margin-top:12px}.card{background:#fff;border-radius:18px;box-shadow:0 8px 25px #23496a10;border:1px solid #dce9f4}.card>header{padding:17px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7}.card h2{margin:3px 0 2px;font-size:20px}.schedule>header nav{display:flex;gap:5px}.schedule>header nav a{min-width:38px;height:38px;padding:0 9px;display:grid;place-items:center;border-radius:9px;text-decoration:none;background:#edf6ff;color:#145f9d;font-size:12px;font-weight:800}.match-list{padding:7px 10px 12px}.match{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 9px;border-bottom:1px solid #edf2f7}.match:last-child{border-bottom:0}.match.is-live{background:#fff4f5;border-radius:11px}.match time{font-weight:900;color:#1268b5}.match b{font-size:12px}.match span{display:block;color:#78869a;font-size:10px;margin-top:2px}.match span strong{color:#172033}.match em{font-style:normal;font-size:8px;font-weight:900;color:#1176bb;background:#eaf5ff;padding:5px 7px;border-radius:999px}.match.is-live em{background:#ff4161;color:#fff}.empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#7d8da0;font-size:27px}.empty b{font-size:13px;color:#39475a}.empty span{font-size:10px}.empty.compact{min-height:160px}.live-card{padding-bottom:14px}.score{padding:25px 18px;text-align:center}.score>small{color:#67809a;font-size:10px}.score>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:22px 0}.score>div span{font-size:12px;font-weight:800}.score>div b{font-size:30px;color:#0b315b}.score>div i{font-style:normal;color:#20a5e5}.score>em{font-size:9px;color:#75869a;font-style:normal}.display-btn{display:block;margin:0 14px;text-align:center;text-decoration:none;background:#0b315b;color:#fff;padding:10px;border-radius:10px;font-size:10px;font-weight:800}.ranking{margin-top:12px;padding-bottom:14px}.ranking>header>a{font-size:10px;color:#1477bf;text-decoration:none}.rank-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 14px}.rank{border:1px solid color-mix(in srgb,var(--team) 50%,#d8e5ef);border-radius:15px;padding:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--team) 8%,#fff),#fff)}.flag{height:75px;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--team) 80%,#fff),var(--team));display:grid;place-items:center;color:#fff;box-shadow:inset 0 -10px 22px #0001}.flag b{font-size:18px;text-shadow:0 1px 3px #0004}.rank>span{display:block;text-align:center;font-size:9px;margin-top:8px}.rank>span strong{font-size:19px;color:var(--team)}.points{margin-top:6px;padding:9px;text-align:center;background:#f7fafc;border-radius:9px}.points small{display:block;font-size:8px;color:#74859a}.points b{font-size:24px}.rank footer{text-align:center;font-size:9px;margin-top:7px}.bottom-grid{grid-template-columns:1.35fr .65fr}.result{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid #edf2f7}.result b{font-size:11px}.result small{display:block;font-size:9px;color:#7b8a9b}.result strong{font-size:17px;color:#0b315b}.public-info{padding-bottom:16px}.public-info p{padding:14px 16px;color:#66778a;font-size:11px;line-height:1.7}.public-info button{display:block;margin:0 16px;width:calc(100% - 32px);border:0;background:#138ad2;color:#fff;padding:11px;border-radius:10px;font-weight:800;cursor:pointer}.pub-footer{text-align:center;color:#8290a0;font-size:9px;padding:10px 10px 25px}dialog{width:min(430px,calc(100% - 28px));border:0;border-radius:18px;padding:24px;box-shadow:0 30px 90px #0b315b55}dialog::backdrop{background:#06182eaa;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:9px}.close button{border:0;background:#edf3f8;width:30px;height:30px;border-radius:50%;font-size:20px;cursor:pointer}.login-head{display:flex;gap:12px;align-items:center}.login-head>span{font-size:34px}.login-head small{font-size:8px;color:#138ad2;font-weight:900;letter-spacing:.14em}.login-head h2{margin:2px 0;font-size:21px}.login-head p{margin:0;color:#748397;font-size:10px}.login-form{margin-top:18px}.login-form label{display:block;font-size:11px;font-weight:800;margin-top:10px}.login-form input{width:100%;height:43px;border:1px solid #d5e1eb;border-radius:9px;margin-top:5px;padding:0 11px;font:inherit}.login-form button{width:100%;margin-top:15px;border:0;border-radius:10px;padding:12px;background:#0b6fc2;color:#fff;font-weight:900;cursor:pointer}.error{margin-top:12px;background:#fff0f1;color:#b42336;padding:9px;border-radius:8px;font-size:10px}@media(max-width:900px){.pub-page{width:min(100% - 20px,1480px);margin-top:10px}.pub-top{height:60px;padding:0 12px}.pub-brand b{font-size:15px}.pub-brand small{font-size:8px}.pub-actions a{display:none}.cover{border-radius:14px}.welcome{padding:16px}.welcome h1{font-size:21px}.kpis{grid-template-columns:repeat(2,1fr)}.content-grid,.bottom-grid{grid-template-columns:1fr}.rank-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.pub-brand small{display:none}.pub-actions button{padding:8px 10px;font-size:10px}.pub-page{width:calc(100% - 12px)}.cover-tag{left:8px;bottom:8px;padding:6px 9px}.cover-tag b,.cover-tag span{font-size:7px}.cover-tag strong{font-size:14px}.welcome{display:block}.welcome h1{font-size:18px}.welcome p{font-size:10px}.livebox{margin-top:12px}.kpis{gap:6px}.kpis>div{padding:9px}.kpis i{width:35px;height:35px;font-size:17px}.kpis b{font-size:19px}.card{border-radius:13px}.card>header{padding:13px 12px}.card h2{font-size:16px}.match{grid-template-columns:58px minmax(0,1fr);gap:7px;padding:10px 5px}.match em{grid-column:2;justify-self:start}.match time{font-size:10px}.rank-grid{gap:6px;padding:8px}.flag{height:57px}.flag b{font-size:14px}.score>div b{font-size:24px}}
/* 5.7.3.4 Public Championship Ranking */
.championship-ranking{margin-top:12px;background:#031323;border:1px solid #16405f;border-radius:18px;overflow:hidden;color:#fff;box-shadow:0 12px 34px #071b2d25}.championship-head{min-height:142px;padding:28px 20px 20px;background:linear-gradient(90deg,#06182dE8,#06182dB8),url('../img/team-spirit-four-colors-256.webp') center/cover no-repeat;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.championship-head small{font-size:9px;font-weight:900;letter-spacing:.16em;color:#69d7ff}.championship-head h2{margin:8px 0 10px;font-size:32px;line-height:1.1}.championship-head p{margin:0;color:#94a8bc;font-size:9px;letter-spacing:.18em}.championship-tools{display:flex;align-items:center;gap:8px}.championship-tools span,.championship-tools a{border:1px solid #22516f;border-radius:999px;padding:7px 11px;font-size:8px;font-weight:900;color:#b8eaff;text-decoration:none;background:#07223a}.championship-tools a{background:#0b3553;color:#fff}.championship-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 6px 12px}.champ-team{position:relative;min-width:0;border:1px solid var(--team);border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#071421,#020b14);box-shadow:inset 0 0 35px color-mix(in srgb,var(--team) 10%,transparent)}.champ-ready{position:absolute;z-index:3;left:7px;top:8px;border:1px solid #244a64;border-radius:999px;padding:6px 10px;background:#08243bd9;font-size:8px;font-weight:800;color:#c5d5e1}.champ-ready b{margin-left:5px;color:#64ddff;font-size:12px;letter-spacing:.06em}.champ-visual{height:205px;background:color-mix(in srgb,var(--team) 12%,#04101d);overflow:hidden}.champ-visual img{width:100%;height:100%;object-fit:cover;display:block}.champ-body{padding:11px 8px 12px}.champ-body h3{display:flex;align-items:center;gap:7px;margin:0;font-size:18px}.champ-body h3 i{width:8px;height:8px;border-radius:50%;background:var(--team);box-shadow:0 0 12px var(--team)}.champ-body>small{display:block;margin:2px 0 10px;color:#8299aa;font-size:7px}.champ-points{border:1px solid #173247;border-radius:10px;padding:9px 10px;background:#020c17}.champ-points span,.champ-points em{display:block;color:#8298a8;font-size:7px;font-style:normal}.champ-points strong{display:block;font-size:27px;line-height:1.15}.champ-medals{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.champ-medals>div{min-width:0;text-align:center;border:1px solid #172c3d;border-radius:8px;padding:6px 2px;background:#0b1722;font-size:15px}.champ-medals span{display:block;color:#8ba0b0;font-size:6px;margin:2px 0}.champ-medals b{display:block;font-size:14px}.championship-empty{grid-column:1/-1;color:#9fb2c1}
@media(max-width:1100px){.championship-grid{grid-template-columns:repeat(2,1fr);padding:10px}.championship-head h2{font-size:27px}.champ-visual{height:220px}}
@media(max-width:650px){.championship-head{min-height:120px;padding:20px 14px 14px;display:block}.championship-head h2{font-size:23px}.championship-tools{margin-top:13px}.championship-tools span{display:none}.championship-grid{grid-template-columns:1fr;gap:9px;padding:8px}.champ-visual{height:auto;aspect-ratio:16/8}.champ-body h3{font-size:17px}.champ-medals>div{padding:7px 2px}}
/* 5.7.7 Public Daily Results + Win/Loss Performance */
.public-daily-results{margin-top:12px;background:#fff;border:1px solid #dce9f4;border-radius:18px;overflow:hidden;box-shadow:0 8px 25px #23496a10}.daily-results-head{padding:18px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;background:linear-gradient(135deg,#f7fbff,#eef7ff);border-bottom:1px solid #dfeaf4}.daily-results-head small{font-size:9px;font-weight:900;letter-spacing:.15em;color:#1978c8}.daily-results-head h2{margin:5px 0 3px;font-size:25px}.daily-results-head p{margin:0;color:#708197;font-size:10px}.daily-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.daily-summary span,.daily-summary a{padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #dce9f4;font-size:9px;text-decoration:none;color:#52677d}.daily-summary b{font-size:15px;color:#0b315b;margin-left:3px}.daily-summary a{background:#0b6fc2;color:#fff;border-color:#0b6fc2;font-weight:900}.performance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}.performance-card{position:relative;overflow:hidden;border-radius:17px;border:2px solid color-mix(in srgb,var(--team) 72%,#d7e4ef);background:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--team) 12%,transparent)}.performance-rank{position:absolute;z-index:3;top:10px;left:10px;width:58px;height:58px;border-radius:16px;background:#07192bdc;color:#fff;display:grid;place-items:center;align-content:center;border:1px solid #ffffff30}.performance-rank span{font-size:7px}.performance-rank b{font-size:25px;line-height:1;color:#fff}.performance-visual{height:145px;background:color-mix(in srgb,var(--team) 14%,#eef7ff);overflow:hidden}.performance-visual img{width:100%;height:100%;object-fit:cover;display:block}.performance-body{padding:12px}.performance-body h3{margin:0 0 9px;font-size:19px;color:#172033}.win-main{display:flex;align-items:baseline;gap:6px;border-radius:13px;padding:10px 12px;background:linear-gradient(135deg,color-mix(in srgb,var(--team) 12%,#fff),#fff);border:1px solid color-mix(in srgb,var(--team) 30%,#e5edf4)}.win-main span{font-size:10px;font-weight:900;color:#53667b}.win-main strong{font-size:38px;line-height:1;color:var(--team)}.win-main em{font-style:normal;font-size:9px;color:#7b8b9d}.wl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.wl>div{text-align:center;background:#f5f8fb;border-radius:10px;padding:8px 3px}.wl span{display:block;font-size:7px;color:#718297}.wl b{display:block;font-size:18px;color:#172033;margin-top:2px}.performance-empty{grid-column:1/-1}
@media(max-width:1100px){.performance-grid{grid-template-columns:repeat(2,1fr)}.performance-visual{height:180px}}@media(max-width:650px){.daily-results-head{display:block;padding:15px}.daily-results-head h2{font-size:20px}.daily-summary{justify-content:flex-start;margin-top:12px}.performance-grid{grid-template-columns:1fr;padding:9px;gap:9px}.performance-visual{height:auto;aspect-ratio:16/7}.win-main strong{font-size:34px}}

/* FIX 2026-11-05: Public Championship cards; preserve full character at all zoom levels. */
.championship-ranking{width:100%;min-width:0}
.championship-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 12px 16px;align-items:stretch}
.championship-grid>.champ-team{min-width:0;width:100%;display:flex;flex-direction:column;align-self:stretch;isolation:isolate;overflow:hidden}
.championship-grid .champ-visual{position:relative;flex:0 0 auto;height:clamp(225px,22vw,315px);overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--team) 20%,#061321),#061321)}
.championship-grid .champ-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 73%}
.championship-grid .champ-body{flex:1;display:flex;flex-direction:column;min-width:0;padding:12px 10px 12px}
.championship-grid .champ-points{min-width:0;padding:10px 12px}
.championship-grid .champ-points em{overflow-wrap:anywhere;line-height:1.5;font-size:clamp(8px,.75vw,11px)}
.championship-grid .champ-medals{margin-top:auto;padding-top:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.championship-grid .champ-medals>div{min-width:0;padding:8px 2px;overflow-wrap:anywhere}
.championship-grid .champ-medals span{font-size:clamp(8px,.68vw,10px);line-height:1.35}
.championship-grid .champ-medals b{font-size:clamp(13px,1.2vw,18px)}
@media(max-width:1100px){.championship-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px}.championship-grid .champ-visual{height:clamp(245px,35vw,360px)}.championship-grid .champ-medals span{font-size:10px}}
@media(max-width:650px){.championship-grid{grid-template-columns:minmax(0,1fr);padding:10px;gap:12px}.championship-grid .champ-visual{height:clamp(240px,68vw,350px);aspect-ratio:auto}.championship-grid .champ-visual img{object-position:center 73%}.championship-grid .champ-body{padding:12px}.championship-grid .champ-medals span{font-size:10px}.championship-head{min-width:0}.championship-tools{flex-wrap:wrap}}

/* SDMS public daily performance v57702: one featured winner, never a missing fourth card */
.performance-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.performance-card{min-width:0;display:flex;flex-direction:column}
.performance-card.is-leader{grid-column:span 2;grid-row:span 1;box-shadow:0 14px 38px color-mix(in srgb,var(--team) 24%,transparent);border-width:3px}
.performance-card.is-leader .performance-visual{height:220px}
.performance-card.is-leader .performance-body h3{font-size:24px}
.performance-card.is-leader .win-main strong{font-size:52px}
.performance-body{flex:1;display:flex;flex-direction:column}
.performance-body h3{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.leader-label{font-size:11px;line-height:1.3;background:color-mix(in srgb,var(--team) 12%,white);color:#25344a;padding:5px 8px;border-radius:999px}
.performance-card .performance-visual img{object-fit:cover;object-position:center 45%}
.performance-card.is-missing{border-style:dashed;opacity:.82}
.color-warning{color:#a34e05;background:#fff7e7;padding:8px;border-radius:8px;font-size:10px;margin:0 0 8px}
.performance-card .wl{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:auto;padding-top:8px}
.performance-card .wl span{font-size:9px;line-height:1.35}
.performance-card .wl b{font-size:17px}
@media(max-width:1100px){.performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-card.is-leader{grid-column:span 2}}
@media(max-width:650px){.performance-grid{grid-template-columns:minmax(0,1fr)}.performance-card.is-leader{grid-column:span 1}.performance-card.is-leader .performance-visual{height:auto;aspect-ratio:16/8}.performance-card .wl{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-card .wl span{font-size:8px}}

/* Public all-events board: 2026-11-05 */
.public-event-report{margin:16px 0;background:#0a1c31;color:#fff;border:1px solid #31516f;border-radius:20px;padding:20px;overflow:hidden;box-shadow:0 18px 42px #001e3b28}.public-report-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.public-report-heading small{letter-spacing:.15em;color:#77d6ff;font-weight:800;font-size:10px}.public-report-heading h2{font-size:clamp(20px,2.5vw,30px);margin:5px 0}.public-report-heading p{font-size:12px;color:#b2c5d8;margin:0}.public-report-all{border-radius:10px;background:#188bcc;color:white;padding:10px 15px;text-decoration:none;font-size:12px;white-space:nowrap;font-weight:800}.public-report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:14px}.public-report-kpis span{border-radius:12px;background:#15314c;border:1px solid #2c5371;padding:11px;font-size:11px;color:#afcbe1}.public-report-kpis b{display:block;font-size:24px;color:#fff}.public-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.public-report-card{position:relative;min-width:0;background:linear-gradient(145deg,#173c5c,#0c253e);border:1px solid #345d7c;border-radius:15px;padding:16px;color:white;text-decoration:none;display:flex;flex-direction:column;animation:sd-card-rise .65s ease both;animation-delay:var(--delay);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.public-report-card:before{content:"";position:absolute;top:0;left:14px;right:14px;height:2px;background:linear-gradient(90deg,transparent,#6ce1ff,transparent);opacity:.8}.public-report-card:hover{transform:translateY(-7px);border-color:#71d9ff;box-shadow:0 14px 35px #06abfe28}.public-report-card>small{font-size:10px;color:#80d9ff}.public-report-card h3{font-size:16px;min-height:48px;margin:6px 0 12px;line-height:1.5}.public-report-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.public-report-numbers span{padding:6px 3px;background:#ffffff10;border-radius:7px;text-align:center;font-size:9px;color:#b1cbe0}.public-report-numbers b{display:block;font-size:18px;color:white}.public-report-progress{height:6px;background:#ffffff24;border-radius:10px;overflow:hidden;margin-top:15px}.public-report-progress i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#5df0ed,#6f8dff)}.public-report-card footer{display:flex;justify-content:space-between;gap:6px;margin-top:9px;font-size:10px;color:#bfd2e6}.public-report-card footer b{color:#84e0ff}.unknown-team{height:100%;display:grid;place-items:center;font-size:20px;color:white;background:linear-gradient(130deg,#12314c,#40516e)}.performance-card,.champ-team{transition:transform .3s ease,box-shadow .3s ease}.performance-card:hover,.champ-team:hover{transform:translateY(-6px);box-shadow:0 18px 42px color-mix(in srgb,var(--team) 32%,transparent)}.performance-card.is-leader{animation:sd-feature-glow 3.8s ease-in-out infinite}.performance-card .performance-visual{position:relative}.performance-card .performance-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,#ffffff36 50%,transparent 63%);transform:translateX(-150%);transition:transform .8s ease;pointer-events:none}.performance-card:hover .performance-visual:after{transform:translateX(160%)}@keyframes sd-feature-glow{0%,100%{box-shadow:0 12px 30px color-mix(in srgb,var(--team) 17%,transparent)}50%{box-shadow:0 16px 48px color-mix(in srgb,var(--team) 36%,transparent)}}@keyframes sd-card-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.public-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.public-event-report{padding:12px}.public-report-heading{display:block}.public-report-all{display:inline-block;margin-top:12px;white-space:normal}.public-report-grid{grid-template-columns:1fr}.public-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.public-report-card,.performance-card.is-leader{animation:none!important}.public-report-card,.performance-card,.champ-team{transition:none!important}}

/* Completed-only, compact public Operations Center summary */
.clean-home-report{background:#f6faff;color:#173552;border-color:#d9e6f3;box-shadow:0 12px 30px #0a3c6620}.clean-home-report .public-report-heading h2{color:#123a5c}.clean-home-report .public-report-heading p{color:#657b94}.clean-home-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clean-home-level{background:#fff;border:1px solid #d7e3ee;border-radius:14px;overflow:hidden;min-width:0}.clean-home-level>header{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#eaf3fb;padding:12px 15px}.clean-home-level h3{margin:0;font-size:16px}.clean-home-level header span{font-size:11px;color:#56728b}.clean-home-rows{padding:5px 13px;min-height:90px}.clean-home-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f7}.clean-home-row:last-child{border-bottom:0}.clean-home-row span{min-width:0}.clean-home-row b{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.clean-home-row small{display:block;color:#72869b;font-size:11px}.clean-home-row strong{white-space:nowrap;color:#146197;font-size:17px}.clean-home-empty{padding:14px;color:#72869b;font-size:12px}.clean-home-more{display:block;text-decoration:none;background:#f1f7fc;padding:10px 14px;color:#17608d;font-size:12px;font-weight:800}.clean-home-more:hover{background:#d9effd}.clean-home-notice{color:#8a5829;font-size:11px;margin:12px 0 0}@media(max-width:750px){.clean-home-columns{grid-template-columns:1fr}.clean-home-level>header{flex-wrap:wrap}}

/* 2026-11-05: original dragon artwork and card design preserved; only featured sizing/order changed. */
.championship-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:12px}
.championship-grid>.champ-team{min-width:0;grid-column:span 1}
.championship-grid>.champ-team.is-champion-leader{grid-column:span 2;border-width:2px;box-shadow:0 16px 44px color-mix(in srgb,var(--team) 30%,transparent), inset 0 0 35px color-mix(in srgb,var(--team) 14%,transparent)}
.championship-grid>.is-champion-leader .champ-visual{height:clamp(290px,28vw,380px)}
.championship-grid>.is-champion-leader .champ-points strong{font-size:clamp(32px,3.4vw,48px)}
.championship-grid>.is-champion-leader .champ-ready{background:color-mix(in srgb,var(--team) 30%,#05233a);border-color:var(--team)}
.championship-grid .dragon-data-warning{display:block;font-size:11px;color:#ffc98a;margin:3px 0 8px}
.championship-grid .is-team-unlinked{border-style:dashed;opacity:.82}
@media(max-width:1200px){.championship-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.championship-grid>.champ-team.is-champion-leader{grid-column:span 2}.championship-grid>.is-champion-leader .champ-visual{height:clamp(270px,42vw,390px)}}
@media(max-width:650px){.championship-grid{grid-template-columns:minmax(0,1fr)}.championship-grid>.champ-team.is-champion-leader{grid-column:span 1}.championship-grid>.is-champion-leader .champ-visual{height:clamp(250px,65vw,350px)}}
@media(prefers-reduced-motion:reduce){.championship-grid>.champ-team{animation:none!important}}


/* SDMS Dragon Ranking - Hover Lightning FX (visual only, 2026-11-05)
   All effects are scoped to the four original .champ-team cards.
   No changes to layout, imagery, color data, score calculations or DOM structure. */
@media (hover:hover) and (pointer:fine) {
  .championship-ranking .champ-team {
    isolation:isolate;
    transform-origin:center center;
    will-change:auto;
    transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  }
  .championship-ranking .champ-team .champ-visual {
    position:relative;
    isolation:isolate;
  }
  .championship-ranking .champ-team .champ-visual::before,
  .championship-ranking .champ-team .champ-visual::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    opacity:0;
    pointer-events:none;
    filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px var(--team));
  }
  /* Jagged bolts hug both sides of the dragon portrait and never cover the score. */
  .championship-ranking .champ-team .champ-visual::before {
    background:linear-gradient(180deg,#fff 0%,#baf9ff 26%,var(--team) 68%,#fff 100%);
    clip-path:polygon(5% 0%,11% 0%,7% 19%,17% 16%,8% 40%,13% 39%,3% 70%,6% 46%,0% 50%,9% 24%,3% 27%, 5% 0%, 93% 2%,100% 2%,93% 28%,99% 23%,90% 53%,95% 50%,86% 85%,90% 58%,84% 62%,94% 33%,87% 38%,93% 2%);
  }
  .championship-ranking .champ-team .champ-visual::after {
    background:linear-gradient(0deg,#fff,var(--team) 38%,#a2ebff 72%,#fff);
    clip-path:polygon(0% 88%,13% 63%,8% 66%,18% 37%,13% 43%,20% 12%,18% 32%,24% 29%,14% 57%,20% 54%,8% 80%,12% 76%,0% 98%, 100% 95%,86% 78%,92% 80%,82% 60%,88% 64%,79% 42%,86% 50%,82% 28%,91% 57%,85% 54%,96% 83%,92% 80%,100% 95%);
  }
  .championship-ranking .champ-team:hover {
    animation:sd-dragon-hover-shake .42s ease-in-out 2;
    border-color:#e9fbff;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--team) 90%,#fff),
      0 0 14px 3px color-mix(in srgb,var(--team) 65%,transparent),
      0 0 34px 6px color-mix(in srgb,var(--team) 38%,transparent),
      inset 0 0 27px color-mix(in srgb,var(--team) 18%,transparent);
  }
  .championship-ranking .champ-team:hover .champ-visual::before {
    opacity:.95;
    animation:sd-dragon-bolt-one .17s steps(2,end) infinite alternate;
  }
  .championship-ranking .champ-team:hover .champ-visual::after {
    opacity:.85;
    animation:sd-dragon-bolt-two .23s steps(2,end) infinite alternate;
  }
  .championship-ranking .champ-team:hover .champ-visual img {
    filter:drop-shadow(0 0 7px color-mix(in srgb,var(--team) 75%,#fff));
  }
}
@keyframes sd-dragon-hover-shake {
  0%,100% {transform:translate(0,0) rotate(0)}
  15% {transform:translate(-2px,0) rotate(-.45deg)}
  30% {transform:translate(2px,1px) rotate(.45deg)}
  45% {transform:translate(-2px,-1px) rotate(-.35deg)}
  65% {transform:translate(2px,0) rotate(.3deg)}
  80% {transform:translate(-1px,1px) rotate(-.2deg)}
}
@keyframes sd-dragon-bolt-one {
  0% {opacity:.95;transform:translateX(0) scaleX(1)}
  33% {opacity:.48;transform:translateX(1.5%) scaleX(.98)}
  66% {opacity:1;transform:translateX(-1%) scaleX(1.03)}
  100% {opacity:.7;transform:translateX(.5%) scaleX(1)}
}
@keyframes sd-dragon-bolt-two {
  0% {opacity:0;transform:translateY(1%)}
  35% {opacity:.95;transform:translateY(-1%)}
  70% {opacity:.3;transform:translateY(1%)}
  100% {opacity:.85;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce) {
  .championship-ranking .champ-team:hover {animation:none !important}
  .championship-ranking .champ-team:hover .champ-visual::before,
  .championship-ranking .champ-team:hover .champ-visual::after {animation:none !important;opacity:.45}
  .championship-ranking .champ-team,
  .championship-ranking .champ-team .champ-visual img {transition:none !important}
}
