@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#030b1c;--panel:#09182e;--line:#203855;--lime:#41ddf5;--muted:#9bafc7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:#eff7ff;font-family:'Noto Sans Thai',sans-serif;font-size:14px}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.nav,main,footer{max-width:1360px;margin:auto}.nav{height:94px;padding:0 54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-family:'TT Squares',sans-serif;font-weight:800;letter-spacing:1px;font-size:20px}.brand small{display:block;font-family:'TT Squares','Noto Sans Thai',sans-serif;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:4px}.brand-mark{border:2px solid var(--lime);color:var(--lime);font-style:italic;font-size:27px;padding:5px 7px;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}.nav-link{font-size:11px;letter-spacing:1.5px;color:#bccde2}.nav-link span{color:var(--lime);margin-left:20px}.hero{display:grid;grid-template-columns:1.3fr 1fr;min-height:420px;padding:65px 54px 48px;overflow:hidden;background:radial-gradient(ellipse at 88% 50%,#143b6977,transparent 62%)}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;display:flex;align-items:center;gap:10px}.eyebrow>span{height:6px;width:6px;background:var(--lime)}h1{font-family:'TT Squares','Arial Narrow',sans-serif;font-size:clamp(42px,5.2vw,74px);font-weight:800;line-height:.98;letter-spacing:-.5px;margin:23px 0}h1 em{color:var(--lime);font-style:normal}.intro{color:#b0c4dc;line-height:1.85;margin:0 0 25px}.primary{display:inline-flex;gap:30px;align-items:center;justify-content:center;padding:12px 21px;background:var(--lime);color:#031329;font-weight:700;border:0}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}.orbit{position:absolute;width:310px;height:310px;transform:rotate(-30deg);border:1px solid #2586b855;background:repeating-linear-gradient(90deg,transparent 0 39px,#298fc41a 40px 41px)}.orbit:before,.orbit:after{content:'';position:absolute;inset:25px;border:1px solid #299fcc66}.orbit:after{inset:55px}.crest{position:relative;font-family:'TT Squares',sans-serif;font-weight:800;font-size:174px;font-style:italic;line-height:1;color:var(--lime);text-shadow:10px 10px 0 #14395c;transform:skewY(-7deg);letter-spacing:-22px}.crest span{color:#278fc1}.art-label{position:absolute;bottom:1px;right:12px;font-size:10px;letter-spacing:3px;color:#a5b9d2}.art-label b{display:block;font-family:'TT Squares',sans-serif;font-size:37px;line-height:1.2;color:#e1f4ff}.art-label small{font-size:7px;letter-spacing:1.6px}.stats{display:flex;margin:0 54px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:48px;align-items:center}.stats>div{display:flex;align-items:center;gap:12px}.stats strong{font-family:'TT Squares',sans-serif;font-size:36px;font-weight:600;line-height:1}.stats span{color:var(--muted);font-size:11px}.stats .data-info{margin-left:auto;gap:8px}.status-dot{width:6px;height:6px;background:var(--lime);border-radius:50%}.data-info button{border:1px solid var(--line);background:transparent;color:#c3d9f2;font-size:21px;padding:0 9px;margin-left:8px}.directory{padding:51px 54px 64px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.muted{color:var(--muted);font-size:9px}h2{font-size:28px;font-weight:600;margin:7px 0 0;line-height:1.4}.green{color:var(--lime)}.source-label{font-size:10px;color:var(--muted)}.controls{display:flex;gap:12px}.search{display:flex;align-items:center;gap:14px;flex:1;background:#09172c;border:1px solid #27496e;padding:0 16px}.search>span{color:var(--lime);font-family:'TT Squares','Noto Sans Thai',sans-serif;font-size:30px}.search input{background:transparent;border:0;color:#eff7ff;flex:1;min-width:0;height:52px;outline:none}.search:focus-within{border-color:var(--lime)}.search input::placeholder{color:#91a8c4;font-size:12px}.search kbd{border:1px solid var(--line);font-size:11px;padding:2px 6px;color:#91a8c4}.select-wrap select,.sort select{background:#09172c;color:#d1e4fa;border:1px solid var(--line);padding:15px;min-width:220px}.filter-row{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:12px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{background:transparent;color:#9bafc7;border:1px solid transparent;padding:8px 15px;font-size:11px}.filters button.active{background:#41ddf516;color:var(--lime);border-color:#298ba9}.filters button:hover{color:var(--lime)}.sort select{border:0;background:transparent;font-size:11px;padding:8px;min-width:0}.results-line{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:24px 0 15px;border-bottom:1px solid var(--line);margin-bottom:21px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.team-card{background:linear-gradient(135deg,#0d2440,#071328);border:1px solid var(--line);color:inherit;text-align:left;padding:21px;position:relative;transition:border-color .18s,transform .18s;min-width:0}.team-card:hover{border-color:#41ddf5;transform:translateY(-3px)}.card-top{display:flex;justify-content:space-between;color:#96b5d5;font-size:9px;letter-spacing:1px;margin-bottom:19px}.tag{color:#88edff;font-size:9px;letter-spacing:0;background:#103451;padding:2px 7px}.tag.reserve{color:#efd7a0;background:#332a1d}.team-identity{display:flex;gap:13px;align-items:center;margin-bottom:19px}.avatar{width:48px;height:48px;border:1px solid #237ca1;background:#103451;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'TT Squares',sans-serif;font-size:24px;font-weight:700;color:#a1f1ff}.team-name{font-size:17px;font-weight:600;line-height:1.4;margin:0;overflow-wrap:anywhere}.member-summary{font-size:10px;color:var(--muted);margin-top:4px}.preview-list{list-style:none;margin:0;padding:0}.preview-list li{display:flex;gap:12px;padding:5px 0;font-size:11px}.preview-list .num{font-family:'TT Squares','Noto Sans Thai',sans-serif;color:#80a3ca;font-size:9px;padding-top:2px}.preview-list .id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bed1e9}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:13px;border-top:1px solid var(--line);font-size:10px;color:#b1cbe8}.card-bottom .arrow{color:var(--lime);font-size:19px}.load-more{display:block;background:transparent;color:#d5e8fc;border:1px solid #345a81;padding:12px 32px;margin:30px auto 0;font-size:12px}.load-more span{color:var(--lime);margin-left:24px}[hidden]{display:none!important}.empty{padding:65px 15px;text-align:center;border:1px solid var(--line)}.empty strong{font-size:22px}.empty p{color:var(--muted)}footer{border-top:1px solid var(--line);padding:27px 54px;display:flex;justify-content:space-between;gap:25px;color:#91a9c7;font-size:9px}footer>span:first-child{font-family:'TT Squares',sans-serif;font-size:13px;letter-spacing:1px;color:#d4e8ff}footer b{color:var(--lime)}dialog{background:#08162c;color:#eff7ff;border:1px solid #278db2;padding:0;width:min(580px,calc(100% - 28px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#010716dd;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:2px;color:var(--muted)}.dialog-top button{background:transparent;color:white;border:0;padding:7px;font-size:18px}#detail{padding:26px}.detail-label{color:var(--lime);font-size:11px;margin-bottom:14px}.detail-title{font-size:28px;margin:0;overflow-wrap:anywhere}.detail-note{color:var(--muted);font-size:11px;line-height:1.8}.roster-heading{font-size:10px;color:#9bbada;letter-spacing:1.5px;margin-top:23px}.roster-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.roster-row .slot{font-family:'TT Squares',sans-serif;font-size:22px;color:#65cee9;width:25px;flex-shrink:0}.roster-row .riot{flex:1;overflow-wrap:anywhere}.riot small{color:#92b3d8}.copy{background:transparent;border:1px solid var(--line);color:var(--lime);padding:5px 8px;font-size:10px;flex-shrink:0}.absent{color:#99adc9;font-size:12px}.share{width:100%;margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 23px;background:var(--lime);color:#031329;z-index:10;font-size:12px}@media(min-width:1500px){.nav,main,footer{border-left:1px solid #163050;border-right:1px solid #163050}}@media(max-width:900px){.nav{padding:0 28px}.hero{padding:45px 28px;grid-template-columns:1.4fr 1fr}.crest{font-size:135px}.orbit{width:230px;height:230px}.art-label small{display:none}.stats{margin:0 28px;gap:25px;flex-wrap:wrap}.stats .data-info{margin-left:0;flex:1}.directory{padding:35px 28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-line>span:last-child{display:none}footer{padding:25px 28px;flex-wrap:wrap}}@media(max-width:700px){.nav{height:76px;padding:0 20px}.brand{font-size:17px}.brand-mark{font-size:23px}.nav-link{font-size:9px;letter-spacing:0}.nav-link span{margin-left:6px}.hero{padding:36px 20px 30px;display:block;min-height:0;position:relative}.hero-copy{position:relative;z-index:1}h1{font-size:47px}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro{font-size:12px}.hero-art{position:absolute;right:-80px;top:80px;opacity:.12;width:260px;pointer-events:none}.art-label{display:none}.stats{margin:0 20px;gap:22px;padding:20px 0}.stats strong{font-size:30px}.stats span{font-size:9px}.stats>div{gap:7px}.stats .data-info{flex-basis:100%}.directory{padding:31px 20px}.section-head{display:block}.source-label{display:block;margin-top:9px}h2{font-size:25px}.controls{flex-direction:column}.select-wrap select{width:100%;padding:11px}.filter-row{align-items:flex-start;flex-direction:column;margin-top:16px}.filters{gap:3px}.filters button{padding:7px 9px;font-size:10px}.sort select{padding-left:0}.grid{grid-template-columns:1fr;gap:12px}.team-card{padding:19px}.card-top{margin-bottom:14px}.team-name{font-size:18px}.results-line{padding-top:16px}footer{padding:24px 20px;gap:14px}footer>span:nth-child(2){order:3;flex-basis:100%}#detail{padding:20px}.detail-title{font-size:25px}.roster-row{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.team-card{transition:none}}


/* Supplied event key visual, kept uncropped at every screen size. */
.hero{display:block;padding:0;min-height:0;background:#050b13}.kv{width:100%;background:#020610}.kv img{display:block;width:100%;height:auto;aspect-ratio:12/7;object-fit:contain}.hero-copy{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 54px 34px;background:linear-gradient(110deg,#061127,#0b2744)}.hero-copy h1{font-size:48px;line-height:1;margin:12px 0 10px}.hero-copy .intro{margin:0;font-size:13px}.hero-copy .primary{flex-shrink:0}.hero-art{display:none}@media(max-width:900px){.hero-copy{padding:27px 28px}.hero-copy h1{font-size:42px}}@media(max-width:700px){.hero{padding:0}.hero-copy{display:block;padding:25px 20px 28px}.hero-copy h1{font-size:40px}.hero-copy .intro{font-size:12px}.hero-copy .primary{margin-top:20px}.kv img{width:100%;height:auto}}

/* Cyan light and midnight blue from the event KV. */
body{background:radial-gradient(ellipse at 90% 0%,#09284a 0,transparent 46%),var(--bg)}.nav{background:#040e22}.brand-mark{box-shadow:0 0 18px #28c6ed24}.hero-copy{border-bottom:1px solid #236086}.primary{background:linear-gradient(100deg,#79efff,#25c6ed);box-shadow:0 0 20px #13bfe41a}.primary:hover{background:linear-gradient(100deg,#a6f7ff,#50def8)}.hero-copy h1 em{text-shadow:0 0 22px #28d0f540}.status-dot{box-shadow:0 0 8px #41ddf580}.team-card:hover{box-shadow:0 0 20px #24bbeb12}.tag.reserve{color:#efd7a0;background:#332a1d}.copy:hover{background:#0e3352}.filters button.active{box-shadow:inset 0 -2px #41ddf5}.sort select option{background:#09172c;color:#eff7ff}

.brand-logo{width:58px;height:69px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 7px #17b6e22a)}@media(max-width:700px){.brand-logo{width:43px;height:51px}.brand{gap:10px}}@media(max-width:360px){.brand{font-size:15px}.brand small{letter-spacing:2px}.nav-link{font-size:8px}}

@font-face{font-family:'TT Squares';src:url('assets/fonts/tt-squares-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'TT Squares';src:url('assets/fonts/tt-squares-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'TT Squares';src:url('assets/fonts/tt-squares-black.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'TT Squares';src:url('assets/fonts/tt-squares-italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'TT Squares';src:url('assets/fonts/tt-squares-bolditalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
body{font-family:'TT Squares','Noto Sans Thai',sans-serif}.brand{font-weight:700;font-size:18px;letter-spacing:.4px}.brand small{font-family:'TT Squares','Noto Sans Thai',sans-serif}.hero-copy h1{font-weight:900;font-size:44px;line-height:1.15;letter-spacing:-1px}.stats strong{font-weight:700}.avatar{font-weight:700;font-size:22px}.roster-row .slot{font-weight:700}.team-name{font-weight:700}.eyebrow{letter-spacing:1.4px}.nav-link{letter-spacing:1px}@media(max-width:700px){.brand{font-size:15px}.brand small{font-size:8px;letter-spacing:2px}.hero-copy h1{font-size:35px}.stats strong{font-size:27px}.nav-link{font-size:8px;letter-spacing:.4px}}@media(max-width:360px){.brand{font-size:13px}.brand-logo{width:38px;height:46px}.nav-link{font-size:7px}}

/* Every logo uses the same square canvas and retains its original proportions. */
.avatar{width:64px;height:64px;position:relative;overflow:hidden;background:#08182d}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#08182d}.detail-identity{display:flex;align-items:center;gap:18px}.detail-logo{width:88px;height:88px;flex-shrink:0}.detail-title{min-width:0}@media(max-width:700px){.detail-logo{width:72px;height:72px}.detail-identity{gap:14px}.detail-title{font-size:22px}}
