/* Branding and typography matched to techweek.lamphunpao.go.th */
:root{--sky-1:#4db4ff;--sky-2:#1287e8;--sky-3:#0a6ed1;--navy:#15437e;--navy-deep:#0d2f5c;--orange:#ff7a1a;--orange-hot:#ff5e00;--orange-soft:#ffb25e;--ink:#0e2a4d;--paper:#f4f9ff}
body{font-family:'Prompt',sans-serif;color:var(--ink);background:var(--paper)}
header{position:fixed;left:0;right:0;background:rgba(10,60,120,.35);border-bottom:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s;z-index:100}
header.scrolled{background:rgba(13,47,92,.92);box-shadow:0 4px 20px rgba(0,0,0,.25)}
.header-inner{min-height:64px;gap:20px}.brand{font-family:'Russo One',sans-serif;font-size:1.05rem;font-weight:400;letter-spacing:.5px;gap:.5rem;color:white;white-space:nowrap;line-height:1.4}.brand-logo{height:34px;width:auto;border-radius:8px;flex:none}.brand-name{display:inline}.brand .lt,footer .lt{color:var(--orange-soft)}.brand .yr{font-family:'Zen Dots',cursive;font-size:.8rem;color:var(--orange);border:2px solid var(--orange);border-radius:6px;padding:.05rem .35rem}
nav{gap:1.4rem;font-size:.85rem}nav a{color:white;font-weight:500;opacity:.9;transition:.2s}nav a:hover,nav a[aria-current=page]{opacity:1;color:var(--orange-soft)}.nav-cta{background:linear-gradient(135deg,var(--orange),var(--orange-hot));color:white!important;font-weight:600;padding:.45rem 1.1rem;border-radius:999px;box-shadow:0 4px 14px rgba(255,94,0,.4);opacity:1!important}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(255,94,0,.55)}
.hero{background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 45%,var(--sky-3) 100%);padding-top:64px}.hero-grid{padding-top:60px;padding-bottom:70px}.return-badge{background:linear-gradient(135deg,#ffa42b,var(--orange-hot));font-weight:800;font-size:clamp(1rem,2.2vw,1.35rem);padding:.45rem 1.4rem .55rem;border-radius:13px;box-shadow:0 6px 0 var(--navy-deep),0 14px 30px rgba(0,0,0,.25)}.return-badge span{color:#bfeaff;text-shadow:2px 2px 0 var(--navy)}
.lamphun{font-family:'Russo One',sans-serif;font-weight:400;color:var(--orange);font-size:clamp(1.4rem,3vw,2.5rem);letter-spacing:.35em;text-shadow:2px 3px 0 var(--navy-deep),0 10px 24px rgba(0,0,0,.3)}
.hero h1{font-family:'Russo One',sans-serif;font-weight:400;line-height:.92;letter-spacing:.02em;font-size:clamp(3.4rem,8.4vw,7.6rem);text-shadow:2px 2px 0 #d8e6f5,5px 5px 0 var(--navy),8px 8px 0 var(--navy),11px 11px 0 var(--navy-deep),14px 16px 0 rgba(13,47,92,.85),18px 24px 40px rgba(0,0,0,.45)}
.hero h1 span{font-family:'Zen Dots',cursive;color:var(--orange);font-size:clamp(2.2rem,5.2vw,4.4rem);letter-spacing:.08em;margin-top:.25em;font-weight:400;text-shadow:3px 4px 0 var(--navy-deep),0 12px 26px rgba(0,0,0,.35)}.hero-sub,.visual-label{font-family:'Russo One',sans-serif;font-weight:400}.hero-date{text-shadow:0 2px 8px rgba(0,0,0,.35)}.hero-location{font-weight:400;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.button{font-family:'Prompt',sans-serif;padding:.85rem 2.1rem;border-radius:999px;font-weight:700;font-size:1.05rem;transition:.25s}.orange{background:linear-gradient(135deg,#ffa42b,var(--orange-hot));color:white;box-shadow:0 5px 0 #b93f00,0 16px 30px rgba(0,0,0,.3)}.orange:hover{transform:translateY(-3px);box-shadow:0 8px 0 #b93f00,0 20px 36px rgba(0,0,0,.35)}.outline{background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.75);backdrop-filter:blur(4px)}.outline:hover{background:rgba(255,255,255,.28)}.blue{background:linear-gradient(135deg,var(--sky-2),var(--sky-3));box-shadow:0 4px 14px #0a6ed133}.reset{font-size:.85rem;border-radius:999px;padding:12px 20px}
.countdown div{background:rgba(13,47,92,.55);border:1px solid rgba(255,255,255,.25);border-radius:14px;backdrop-filter:blur(6px)}.countdown b{font-family:'Zen Dots',cursive;font-weight:400;font-size:1.6rem;color:var(--orange-soft)}.countdown span{font-size:.72rem}.intro-stats b,.participant-stats b,.card-number,.preparation li>span{font-family:'Zen Dots',cursive;font-weight:400}.intro-stats b{font-size:30px}.participant-stats b{font-size:28px}
.eyebrow{display:inline-block;font-family:'Zen Dots',cursive;font-size:.65rem;letter-spacing:.15em;color:var(--orange-hot);background:#fff1e6;border:1px solid #ffd7b8;padding:.3rem .9rem;border-radius:999px;font-weight:400}.card-content .eyebrow{font-family:'Prompt',sans-serif;font-size:12px;letter-spacing:0}.hero-bottom{background:var(--navy);font-family:'Prompt',sans-serif}.hero-bottom span{font-family:'Zen Dots',cursive;font-size:9px}
h2{font-weight:800;color:var(--navy-deep)}h2 span{color:var(--orange-hot)}.card-content h3{font-family:'Russo One','Prompt',sans-serif;font-weight:400;font-size:21px}.competition-card{border-radius:22px}.mode{font-family:'Zen Dots',cursive;font-size:9px;letter-spacing:.08em}.event-band{background:linear-gradient(135deg,var(--navy-deep),var(--navy))}.event-band h2{color:white}.event-band .eyebrow{background:#ffffff12;border-color:#ffffff40;color:var(--orange-soft)}footer{background:var(--navy-deep)}.footer-grid>div:first-child>b{font-family:'Russo One',sans-serif;font-weight:400}.footer-grid em{font-family:'Zen Dots',cursive;color:var(--orange)}
.page-hero{background:linear-gradient(180deg,var(--sky-1),var(--sky-2) 55%,var(--sky-3));padding-top:120px}.page-hero .eyebrow{background:#ffffff1a;color:white;border-color:#ffffff55}.page-hero h1{font-family:'Prompt',sans-serif;font-weight:800}.page-hero h1 span{color:var(--orange-soft)}.rule-info h2{font-family:'Russo One',sans-serif;font-weight:400}.rule-info>.eyebrow{color:var(--orange-hot);font-size:9px}.notice{border-color:var(--orange);background:#e6f3ff}.category-tabs a{transition:.2s}.category-tabs a:hover{background:var(--navy);border-color:var(--navy)}.list-heading h2{font-weight:700}
@media(max-width:1100px){.brand{font-size:.85rem}.brand .yr{font-size:.65rem}nav{gap:14px;font-size:12px}.nav-cta{padding:8px 15px}.hero-actions .button{font-size:.85rem;padding:13px 23px}}
@media(max-width:900px){.menu-toggle{display:block;color:white;background:none;border:0;font-size:25px;cursor:pointer}nav{display:none;position:absolute;top:64px;left:0;right:0;padding:22px;background:rgba(13,47,92,.98);flex-direction:column;align-items:stretch;gap:18px;font-size:14px;border-bottom:1px solid #ffffff22}nav.open{display:flex}.header-inner{min-height:64px}.brand{font-size:1rem}.brand .yr{font-size:.75rem}}
@media(max-width:760px){.hero{padding-top:64px}.hero-grid{padding-top:45px}.hero h1{font-size:clamp(3.4rem,16vw,6rem)}.hero h1 span{font-size:clamp(2.2rem,11vw,4rem)}.lamphun{font-size:clamp(1.4rem,6vw,2rem)}.brand{font-size:.82rem;gap:.4rem}.brand .yr{font-size:.62rem}.brand-logo{height:34px;width:auto}.hero-actions .button{font-size:.9rem;padding:.85rem 1.5rem}.intro-stats b{font-size:24px}.participant-stats b{font-size:23px}.eyebrow{font-size:.55rem;letter-spacing:.1em}.page-hero{padding-top:105px}.rule-actions .button{padding:.85rem 1.5rem}.footer-grid>div:first-child>b{font-size:15px}}
@media(prefers-reduced-motion:reduce){header,.button,.nav-cta{transition:none}}

/* Organizer mark on the robot and editable competition awards */
.robot-body{display:flex;align-items:center;justify-content:center;padding-top:0}
.robot-organizer-logo{width:90px;height:87px;object-fit:contain;filter:drop-shadow(0 2px 3px #83380040)}
.awards{background:#eaf3fc;padding:80px 0}.awards-intro{font-size:14px;color:#4a6382;margin-bottom:0}.award-events{display:grid;gap:24px}.award-event{background:white;border:1px solid #d5e5f3;border-radius:22px;padding:28px}.award-event-heading{display:flex;align-items:center;gap:17px;margin-bottom:24px}.award-game-icon{width:52px;height:52px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;background:#e8f4ff;color:var(--sky-3);font-size:30px}.award-event-heading h3{font-family:'Russo One',sans-serif;font-weight:400;font-size:21px;line-height:1.4;margin:0 0 4px}.award-event-heading p{font-size:12px;color:#617890;margin:0}.award-places{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.award-place{display:flex;gap:16px;align-items:center;padding:23px 18px;border-radius:15px;border:1px solid #e2ebf3;background:#f7fbff}.award-rank{font-family:'Zen Dots',cursive;font-size:28px;color:#8ba3ba}.place-1{background:#fff5e9;border-color:#ffd8ad}.place-1 .award-rank{color:var(--orange)}.place-2 .award-rank{color:#6184a3}.place-3 .award-rank{color:#b47b56}.award-place h4{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 7px}.award-detail{font-size:11px;color:#687e94;margin:0}
@media(min-width:901px) and (max-width:1180px){nav{gap:10px;font-size:11px}.brand{font-size:.8rem}.nav-cta{padding:8px 12px}}
@media(max-width:1000px){.award-places{gap:10px}.award-place{flex-direction:column;align-items:flex-start;gap:8px}.award-place h4{font-size:12px}}
@media(max-width:760px){.awards{padding:55px 0}.award-event{padding:22px}.award-places{grid-template-columns:1fr}.award-place{flex-direction:row;align-items:center;gap:18px}.award-event-heading h3{font-size:18px}.award-place h4{font-size:13px}.awards-intro{font-size:12px}}

/* Category artwork from EasyKids Robotics Competition */
.competition-image{position:absolute;z-index:2;width:70%;height:122px;object-fit:contain;left:50%;top:16px;transform:translateX(-50%);filter:drop-shadow(0 6px 8px #082e5533)}
.competition-image.image-ringmaster{width:84%;height:110px;top:26px}.competition-image.image-line{height:130px;width:65%;top:12px}.competition-image.image-sumo{height:120px}.competition-image.image-ai{width:64%}
.rule-icon img{width:85%;height:85%;object-fit:contain}.award-game-icon img{width:85%;height:85%;object-fit:contain}

.schedule-section,.registration-section{padding-top:45px;padding-bottom:75px}.schedule-days{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.schedule-day{font:inherit;text-align:left;background:white;color:var(--navy-deep);border:2px solid #d7e6f2;border-radius:20px;padding:25px;cursor:pointer}.schedule-day span,.schedule-day b,.schedule-day small{display:block}.schedule-day span{font-size:12px;letter-spacing:1px}.schedule-day b{font-size:23px;margin:7px 0}.schedule-day small{font-size:12px;color:#61809b}.schedule-day.active{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:white;border-color:var(--navy)}.schedule-day.active span{color:var(--orange-soft)}.schedule-day.active small{color:#c1e6ff}.pending-pill{display:inline-block;background:#fff1e6;color:#b34c00;border:1px solid #ffd7b8;border-radius:999px;padding:5px 12px;font-size:11px;white-space:nowrap}.schedule-timeline{margin-top:25px;border:1px solid #d7e6f2;border-radius:20px;background:white;overflow:hidden}.schedule-timeline article{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:28px;border-bottom:1px solid #e6eef5}.schedule-timeline article:last-child{border:0}.schedule-time{color:#e06912;font-size:13px;font-weight:600}.schedule-timeline h3{font-size:17px;margin:0 0 8px}.schedule-timeline p,.schedule-heading p{font-size:13px;color:#617890;margin:0}.schedule-heading{margin-top:55px}.schedule-tracks{display:grid;gap:14px}.schedule-track{display:flex;align-items:center;gap:20px;padding:23px;border-radius:16px;border:1px solid #d7e6f2;background:white}.schedule-track img{width:65px;height:60px;object-fit:contain}.schedule-track>div{flex:1}.schedule-track h3{font-family:'Russo One',sans-serif;font-weight:400;font-size:19px;margin:0 0 7px}.schedule-track p{font-size:12px;color:#617890;margin:0}.schedule-register{text-align:center;background:#e7f2fd;border-radius:22px;padding:40px;margin-top:35px}.schedule-register h2{font-size:25px}.registration-pending{max-width:780px;margin:10px auto;background:white;border:1px solid #d7e6f2;border-radius:22px;padding:60px 35px;text-align:center}.registration-pending h2{font-size:30px;margin-top:25px}.registration-pending p{font-size:14px;color:#617890}.registration-pending .button{margin:16px 0}.button:disabled,.button:disabled:hover{cursor:default;transform:none;box-shadow:none;background:#ebd5c4;color:#7b5e4a}.registration-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:25px}
@media(min-width:901px) and (max-width:1250px){nav{gap:8px;font-size:10px}.brand{font-size:.78rem}.nav-cta{padding:8px 10px}}
@media(max-width:760px){.schedule-days{gap:10px}.schedule-day{padding:18px 12px}.schedule-day b{font-size:17px}.schedule-day span,.schedule-day small{font-size:10px}.schedule-timeline article{grid-template-columns:1fr;gap:10px;padding:22px}.schedule-track{flex-wrap:wrap;gap:15px}.schedule-track>div{min-width:180px}.schedule-track .pending-pill{margin-left:80px}.schedule-track h3{font-size:17px}.schedule-register{padding:30px 20px}.schedule-register h2{font-size:23px}.registration-pending{padding:35px 22px}.registration-pending h2{font-size:24px}.registration-pending .button{font-size:14px}.list-heading h2{font-size:20px}}

.competition-image.image-line{width:88%;height:140px;top:6px}

/* Give Thai tone marks room and consistent heading baselines. */
h2,h3,h4{line-height:1.65;letter-spacing:normal}h2{padding-top:.18em}h2 span{display:inline;vertical-align:baseline}.section-heading .eyebrow{display:table;line-height:1.65;margin-bottom:20px}.schedule-heading h2{margin-top:0;padding-top:.2em}.page-hero h1,.page-hero h1 span{line-height:1.6;letter-spacing:normal}.intro h2,.preparation h2{line-height:1.6}
.results-section{padding-top:45px;padding-bottom:75px}.result-cards{display:grid;gap:25px;margin-top:25px}.result-card{background:white;border:1px solid #d7e6f2;border-radius:22px;padding:28px}.result-card-heading{display:flex;align-items:center;gap:20px;margin-bottom:24px}.result-card-heading img{width:75px;height:65px;object-fit:contain}.result-card-heading>div{flex:1}.result-card-heading h2{font-family:'Russo One',sans-serif;font-size:22px;font-weight:400;line-height:1.4;margin:0 0 7px;padding:0}.result-card-heading p{font-size:12px;color:#617890;margin:0}.result-division{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e1eaf3;padding:18px 0}.result-division h3{font-size:14px;margin:0 0 4px}.result-division p{font-size:11px;color:#617890;margin:0}.result-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.result-podium>div{padding:20px;text-align:center;background:#f4f9ff;border-radius:14px;border:1px solid #dfebf6}.result-podium>div:first-child{background:#fff5e9;border-color:#ffd8ad}.result-podium b{font-family:'Zen Dots',cursive;color:var(--orange);font-size:25px;font-weight:400;display:block}.result-podium span{font-size:12px;display:block;margin:8px 0}.result-podium p{font-size:11px;color:#617890;margin:0}[hidden]{display:none!important}
@media(min-width:901px) and (max-width:1350px){nav{gap:8px;font-size:10px}.brand{font-size:.72rem}.brand .yr{font-size:.6rem}.nav-cta{padding:8px 10px}}
@media(max-width:760px){.result-card{padding:22px}.result-card-heading{flex-wrap:wrap;gap:15px}.result-card-heading>div{min-width:170px}.result-card-heading h2{font-size:18px}.result-division{align-items:flex-start;flex-direction:column;gap:10px}.result-podium{gap:7px}.result-podium>div{padding:15px 7px}.result-podium span{font-size:10px}.result-podium b{font-size:22px}}

/* Compact schedule masthead reuses the homepage robot. */
.compact-hero{padding-top:96px;padding-bottom:30px}.compact-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:center}.compact-hero-copy h1{font-size:46px;line-height:1.45;margin-bottom:16px}.compact-hero-copy h1 span{line-height:1.45}.compact-hero-art{position:relative;height:255px}.compact-hero-art .robot{top:-42px;left:50%;transform:translateX(-50%) rotate(-8deg) scale(.64);transform-origin:center center}.compact-robot-shadow{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:215px;height:25px;border-radius:50%;background:#0d2f5c33;filter:blur(4px)}
@media(max-width:760px){.compact-hero{padding-top:90px;padding-bottom:28px}.compact-hero-grid{grid-template-columns:minmax(0,1fr) 130px;gap:8px}.compact-hero-copy h1{font-size:clamp(25px,5.5vw,36px)}.compact-hero-copy .eyebrow{font-size:8px;letter-spacing:.05em;padding:5px 8px}.compact-hero-copy p:last-child{font-size:11px}.compact-hero-art{height:170px}.compact-hero-art .robot{top:-82px;transform:translateX(-50%) rotate(-8deg) scale(.4)}.compact-robot-shadow{width:120px;height:16px;bottom:4px}}
@media(max-width:390px){.compact-hero-grid{grid-template-columns:minmax(0,1fr) 95px}.compact-hero-art .robot{transform:translateX(-50%) rotate(-8deg) scale(.32)}.compact-robot-shadow{width:90px}.compact-hero-copy h1{font-size:25px}}

.free-registration-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px;padding:9px 18px;border:1px solid #ffe1a2;border-radius:14px;background:#0d2f5c55;color:white}.free-registration-badge strong{font-size:26px;color:#ffcf80;font-weight:800}.free-registration-badge span{font-size:13px}.free-registration-callout{display:flex;flex-direction:column;gap:4px;background:#fff3df;border:2px solid #ffb25e;border-radius:18px;padding:22px;margin-bottom:24px}.free-registration-callout strong{font-size:44px;line-height:1.5;color:var(--orange-hot);font-weight:800}.free-registration-callout span{font-size:14px;color:var(--navy)}
@media(max-width:760px){.free-registration-badge{justify-content:center;gap:8px}.free-registration-badge strong{font-size:23px}.free-registration-badge span{font-size:11px}.free-registration-callout strong{font-size:36px}}

.free-registration-badge{flex-direction:column;align-items:flex-start;gap:0}.free-registration-badge strong,.free-registration-badge span{display:block}@media(max-width:760px){.free-registration-badge{align-items:center}}

.registration-deadline{font-weight:700;font-size:15px;margin:0 0 20px}.hero .registration-deadline{color:#fff1d8}.registration-pending .registration-deadline{color:var(--orange-hot)}

.published-schedule{margin-top:25px}.schedule-stage{font-size:12px;font-weight:600;padding:7px 15px;border-radius:999px;background:#e6f3ff;color:var(--navy);white-space:nowrap}.schedule-stage.practice{background:#fff1e6;color:#b34c00}.awards-ceremony{display:flex;align-items:center;gap:25px;margin-top:25px;padding:28px;border-radius:18px;background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:white}.awards-ceremony time{font-family:'Zen Dots','Prompt',sans-serif;font-size:25px;color:var(--orange-soft)}.awards-ceremony h3{font-size:21px;margin:0}.awards-ceremony p{font-size:13px;margin:5px 0 0}@media(max-width:760px){.schedule-day-panel .list-heading .pending-pill{white-space:normal}.awards-ceremony{gap:16px;padding:22px}.awards-ceremony time{font-size:19px}.schedule-stage{margin-left:80px}}

.schedule-days{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-day b{font-size:21px}@media(max-width:760px){.schedule-days{grid-template-columns:1fr}.schedule-day b{font-size:19px}}

/* Readable Thai typography across all pages. Keep display fonts on branding only. */
body{font-family:'Prompt',sans-serif;font-size:16px;font-weight:400;line-height:1.8;text-rendering:optimizeLegibility}
h2,h3,h4{font-family:'Prompt',sans-serif;font-weight:600;line-height:1.65;letter-spacing:0}h2{font-weight:600}.page-hero h1{font-weight:600}.card-content h3,.rule-info h2,.award-event-heading h3,.schedule-track h3,.result-card-heading h2{font-family:'Prompt',sans-serif;font-weight:600;line-height:1.65;letter-spacing:0}
.eyebrow,.card-content .eyebrow,.rule-info>.eyebrow{font-family:'Prompt',sans-serif;font-size:12px;letter-spacing:.08em;font-weight:500;line-height:1.8}
nav{font-size:14px}.button,.nav-cta{font-weight:600}.hero-date{font-weight:600}.hero-location{font-size:18px}.card-content>p:not(.eyebrow),.card-meta,.preparation p,.notice p,.page-hero p:last-child,.event-band p{font-size:15px;line-height:1.85}.card-meta{min-height:0}.card-content h3{font-size:22px;min-height:0}.card-content>p:not(.eyebrow){min-height:0}
.rule-info>p,.rule-details b,.rule-details span,.award-event-heading p,.award-place h4,.award-detail,.filters label,.filters input,.filters select,.participant-stats span,.list-heading span,.empty p,.source-note,.result-division h3,.result-division p,.result-card-heading p,.result-podium span,.result-podium p{font-size:14px;line-height:1.8}
.schedule-day b{font-size:22px;font-weight:600;line-height:1.8}.schedule-day span,.schedule-day small{font-size:13px;line-height:1.8}.schedule-track h3{font-size:20px}.schedule-track p,.schedule-stage,.pending-pill,.schedule-time,.schedule-timeline p,.schedule-heading p{font-size:14px;line-height:1.8}.schedule-stage,.pending-pill{white-space:normal}.schedule-day-panel .list-heading{align-items:center}.schedule-timeline h3{font-size:19px;font-weight:600}.awards-intro,.registration-pending p{font-size:15px}.award-place h4{font-weight:600}.text-link{font-size:14px}.intro-stats span{font-size:14px}table{font-size:14px}footer{font-size:14px}.copyright{font-size:12px;letter-spacing:0}.mode{font-family:'Prompt',sans-serif;font-size:11px;letter-spacing:.05em}
@media(min-width:901px) and (max-width:1350px){nav{font-size:12px;gap:10px}.brand{font-size:.75rem}}
@media(max-width:1100px){.menu-toggle{display:block;color:white;background:none;border:0;font-size:25px;cursor:pointer}nav{display:none;position:absolute;top:64px;left:0;right:0;padding:22px;background:rgba(13,47,92,.98);flex-direction:column;align-items:stretch;gap:18px;font-size:15px;border-bottom:1px solid #ffffff22}nav.open{display:flex}.brand{font-size:1rem}.brand .yr{font-size:.75rem}}
@media(max-width:760px){body{font-size:15px}.eyebrow,.rule-info>.eyebrow{font-size:11px}.section-heading .text-link{font-size:13px}.brand{font-size:.82rem}.brand .yr{font-size:.62rem}.schedule-day span,.schedule-day small{font-size:13px}.schedule-day b{font-size:21px}.schedule-track h3{font-size:18px}.schedule-track p{font-size:14px}.compact-hero-copy .eyebrow{font-size:10px}.compact-hero-copy p:last-child{font-size:13px}.participant-stats span{font-size:12px}.hero-actions .button{font-size:15px}.rule-actions .button{font-size:14px}.award-event-heading h3{font-size:18px}.award-place h4{font-size:14px}.award-detail{font-size:13px}.result-podium span,.result-podium p{font-size:12px}.list-heading span{font-size:13px}.registration-deadline{font-size:15px}}

/* Prominent competition divisions with readable contrast. */
.schedule-track .schedule-division{margin-top:10px}.division-badge{display:inline-block;padding:7px 16px;border-radius:9px;border:1px solid;font-family:'Prompt',sans-serif;font-size:17px;font-weight:600;line-height:1.6;letter-spacing:0}.division-junior{color:#15437e;background:#e5f1ff;border-color:#b6d6f5}.division-senior{color:#873d00;background:#fff0de;border-color:#ffc68b}.result-division h3{display:inline-block;font-size:17px;font-weight:600;color:var(--navy-deep);background:#e5f1ff;border:1px solid #b6d6f5;padding:6px 13px;border-radius:9px}.card-meta{font-size:15px;font-weight:500;color:var(--navy-deep);line-height:1.9}.rule-details>div:first-child span{font-size:16px;font-weight:500;color:var(--navy-deep)}
@media(max-width:760px){.division-badge{font-size:16px;padding:7px 14px}.result-division h3{font-size:16px}.schedule-track>div{min-width:0;flex-basis:calc(100% - 80px)}.schedule-track h3{overflow-wrap:anywhere}.card-meta{font-size:14px}.rule-details>div:first-child span{font-size:15px}}
/* Compact division labels and phone-friendly reading layout. */
.division-badge{font-size:14px;padding:4px 11px;line-height:1.65;border-radius:7px}.schedule-track .schedule-division{margin-top:7px}.result-division h3{font-size:14px;padding:4px 10px}.schedule-track{min-width:0}.schedule-track>div{min-width:0}.schedule-track h3{overflow-wrap:break-word}.card-meta{font-size:14px}
@media(max-width:760px){
.container{width:calc(100% - 32px)}body{font-size:15px;line-height:1.8}
.division-badge{font-size:13px;padding:4px 10px}.result-division h3{font-size:14px}
.schedule-track{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 13px;padding:17px 15px;align-items:start}.schedule-track img{width:48px;height:48px}.schedule-track>div{min-width:0;flex-basis:auto}.schedule-track h3{font-size:16px;line-height:1.65;margin-bottom:4px}.schedule-track .schedule-division{font-size:13px}.schedule-track>.schedule-stage,.schedule-track>.pending-pill{grid-column:2;justify-self:start;margin-left:0;font-size:12px;padding:4px 10px}.schedule-days{gap:12px}.schedule-day{padding:17px 20px}.schedule-day b{font-size:20px}.schedule-day span,.schedule-day small{font-size:12px}.schedule-day-panel .list-heading{align-items:flex-start}.schedule-day-panel .list-heading h2{font-size:20px}.schedule-day-panel .pending-pill{font-size:13px}.awards-ceremony{flex-wrap:wrap;padding:20px}.awards-ceremony h3{font-size:19px}
.section-heading{flex-wrap:wrap;align-items:flex-start;gap:10px}.section-heading h2{font-size:27px}.section-heading .eyebrow{margin-bottom:14px}
.compact-hero-grid{grid-template-columns:minmax(0,1fr) 110px;gap:8px}.compact-hero-copy h1{font-size:28px;line-height:1.55}.compact-hero-copy h1 span{line-height:1.55}.compact-hero-copy .eyebrow{font-size:9px;letter-spacing:.02em;padding:4px 7px}.compact-hero-art .robot{transform:translateX(-50%) rotate(-8deg) scale(.34)}.compact-hero-copy p:last-child{font-size:12px;line-height:1.8}
.card-content{padding:22px}.card-content h3{font-size:20px}.card-content>p:not(.eyebrow){font-size:14px}.card-meta{font-size:13px;line-height:1.9}.rule-card{padding:20px}.rule-info h2{font-size:20px;overflow-wrap:break-word}.rule-details b,.rule-details span,.rule-details>div:first-child span{font-size:14px}.rule-actions{gap:14px}.rule-actions .button{font-size:13px;padding:12px 17px}.category-tabs{gap:8px}.category-tabs a{font-size:12px;line-height:1.6;padding:8px 12px;max-width:100%;overflow-wrap:break-word}
.award-event{padding:20px}.award-event-heading{gap:12px}.award-event-heading h3{font-size:17px;overflow-wrap:break-word}.award-event-heading>div{min-width:0}.award-place h4{font-size:13px}.award-detail{font-size:12px}.result-card{padding:20px}.result-card-heading{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px 12px}.result-card-heading img{width:48px;height:48px}.result-card-heading>div{min-width:0}.result-card-heading h2{font-size:17px;overflow-wrap:break-word}.result-card-heading>.pending-pill{grid-column:2;justify-self:start}.result-division p{font-size:12px}.filters input,.filters select{font-size:16px;min-height:46px}.filters{padding:20px;gap:18px}.button{min-height:44px}.participant-stats>div{padding:15px 10px}.participant-stats span{font-size:11px}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}th,td{padding:13px;min-width:110px}.notice{padding:18px 20px}.notice p{font-size:14px}.hero-actions{gap:14px}.hero-actions .button{font-size:14px;padding:13px 20px}.intro,.preparation{gap:24px}.preparation li{gap:18px}.event-band .container{gap:22px}.event-band p{font-size:14px}.registration-pending{padding:30px 20px}.registration-links{gap:16px}footer{font-size:13px}.footer-grid{gap:28px}
}
@media(max-width:390px){.container{width:calc(100% - 28px)}.brand{font-size:.74rem;gap:5px}.brand-logo{height:29px}.brand .yr{font-size:.56rem}.compact-hero-grid{grid-template-columns:minmax(0,1fr) 88px}.compact-hero-copy h1{font-size:25px}.hero h1{font-size:clamp(54px,16vw,64px)}.hero-date{font-size:20px}.hero-sub{font-size:12px;letter-spacing:4px}.hero-actions{flex-direction:column;align-items:stretch}.countdown div{width:62px}.countdown{gap:7px}.floating-chip{padding:10px 12px}.chip-two{font-size:23px}.intro-stats span{font-size:11px}.intro-stats b{font-size:23px}.result-podium span{font-size:11px}}

.participant-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.participant-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.participant-stats>div{padding:20px}.participant-stats span{font-size:13px}}

.table-wrap td:nth-child(3){white-space:pre-line;min-width:210px;line-height:1.8}.table-wrap td{vertical-align:top}

.event-band .container.event-summary{display:block}.event-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.event-summary-heading>div{min-width:0}.event-summary-heading .button{white-space:nowrap;flex-shrink:0;padding:15px 27px}.event-summary-heading h2{margin:0 0 10px}.event-band .event-summary-venue{font-size:15px;color:#d2e6fb}.event-summary-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.event-summary-day{border:1px solid #ffffff30;border-radius:15px;background:#ffffff08;padding:23px}.event-summary-day span{display:block;font-size:14px;font-weight:500;color:#e6f2ff}.event-summary-day strong{display:block;font-size:23px;font-weight:600;color:var(--orange-soft);margin:8px 0}.event-summary-day p{font-size:14px!important;color:#d2e6fb;line-height:1.8}.notice .line-contact{font-size:inherit;white-space:nowrap;font-weight:600;text-decoration:underline}
@media(max-width:760px){.event-summary-heading{flex-direction:column;align-items:flex-start;gap:22px}.event-summary-heading h2{font-size:26px}.event-summary-heading .button{font-size:14px;padding:13px 22px}.event-summary-days{grid-template-columns:1fr;gap:12px}.event-summary-day{padding:20px}.event-summary-day strong{font-size:21px}}

.division-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.schedule-track .division-badges{margin-top:7px}.division-badges .division-badge{white-space:nowrap}

.honor-trophy-banner{position:relative;margin:0 0 25px;padding:18px 22px;border-radius:16px;background:linear-gradient(120deg,#0d2f5cea,#15437ee0);border:1px solid #ffcb75;box-shadow:0 8px 25px #0d2f5c30;border-left:5px solid #ffb25e}.honor-trophy-kicker{display:block;color:#ffd68b;font-size:27px;font-weight:700;line-height:1.6;text-shadow:0 2px 4px #0d2f5c40}.honor-trophy-banner strong{display:block;color:white;font-size:18px;font-weight:500;line-height:1.8;margin-top:5px}.honor-mobile-break{display:none}.honor-awards-credit{color:var(--navy);font-size:18px;font-weight:500;margin:0 0 18px}
@media(max-width:760px){.honor-trophy-banner{text-align:center;padding:17px 18px;max-width:420px;margin:0 auto 25px}.honor-trophy-kicker{font-size:24px}.honor-trophy-banner strong{font-size:16px}.honor-mobile-break{display:block}.honor-awards-credit{font-size:16px}}
@media(max-width:390px){.honor-trophy-kicker{font-size:22px}.honor-trophy-banner strong{font-size:15px}}

/* Recompose the homepage hero as one compact introduction. */
.hero-grid{min-height:610px;grid-template-columns:1.15fr 1fr;gap:45px;padding-top:40px;padding-bottom:55px}.hero-copy .lamphun{font-size:22px;letter-spacing:.3em;margin:0 0 12px}.hero-copy h1{font-size:clamp(48px,5.3vw,72px);line-height:1.05;margin:0 0 10px;letter-spacing:.01em;text-shadow:2px 2px 0 #d8e6f5,5px 5px 0 var(--navy),8px 8px 0 var(--navy-deep)}.hero-copy h1 span{display:inline-block;font-size:.6em;line-height:1.2;margin:10px 0 0;letter-spacing:.04em}.hero-copy .hero-sub{font-size:15px;letter-spacing:.12em;margin:14px 0 24px}.hero-prize{padding-left:16px;border-left:3px solid var(--orange-soft);margin:0 0 24px}.hero-prize strong{display:block;font-size:23px;font-weight:600;color:#ffd68b;line-height:1.6}.hero-prize span{display:block;font-size:15px;color:#edf6ff;line-height:1.8;margin-top:3px}.hero-event-info{margin-bottom:24px}.hero-copy .hero-date{font-size:22px;margin:0}.hero-copy .hero-location{font-size:15px;margin:4px 0 0}.hero-registration-note{font-size:12px;color:#dcefff;margin:18px 0 0;line-height:1.8}.hero-actions .button{font-size:14px;padding:13px 23px}.hero-visual{height:460px}.hero-visual .robot{top:35px;transform:translateX(-50%) rotate(-8deg) scale(.82)}.hero-visual .robot-platform{top:350px;width:280px}.hero-visual .chip-one{top:48px}.hero-visual .chip-two{top:255px}.hero-visual .countdown-label{bottom:-33px}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;min-height:0;padding-top:35px;padding-bottom:20px;gap:18px}.hero-copy .lamphun{font-size:19px}.hero-copy h1{font-size:clamp(44px,10vw,64px)}.hero-copy h1 span{font-size:.6em;margin-top:0}.hero-copy .hero-sub{font-size:13px;letter-spacing:.1em;margin:15px 0 20px}.hero-prize{border:0;padding:0;margin-bottom:20px}.hero-prize strong{font-size:21px}.hero-prize span{font-size:14px}.hero-event-info{margin-bottom:20px}.hero-copy .hero-date{font-size:21px}.hero-copy .hero-location{font-size:14px}.hero-registration-note{font-size:12px;margin-top:15px}.hero-visual{height:115px;max-width:380px}.hero-visual .robot,.hero-visual .robot-platform,.hero-visual .floating-chip{display:none}.hero-visual .countdown{bottom:35px}.hero-visual .countdown div{padding:8px;width:70px}.hero-visual .countdown b{font-size:22px}.hero-visual .countdown-label{bottom:0;margin:0}.hero-bottom{padding:13px 16px}.hero-actions{flex-direction:row;align-items:center}.hero-actions .button{font-size:13px;padding:12px 19px}}
@media(max-width:390px){.hero-copy h1{font-size:43px}.hero-copy .hero-date{font-size:19px}.hero-prize strong{font-size:20px}.hero-actions .button{padding:12px 15px;font-size:12px}.hero-visual .countdown div{width:64px}}
/* Final layout checks across desktop and narrow mobile screens. */
.compact-hero{overflow:hidden}.compact-hero-grid>div{min-width:0}.compact-hero-art{min-width:0;overflow:hidden}.compact-hero-copy .eyebrow{max-width:100%;overflow-wrap:anywhere}.cards{align-items:stretch}.competition-card{display:flex;flex-direction:column;min-width:0}.card-content{display:flex;flex-direction:column;flex:1}.card-content h3{overflow-wrap:break-word}.card-content .card-meta{margin-top:auto}.card-content .text-link{min-height:40px}.card-art{flex-shrink:0}.rule-info,.award-event-heading>div,.result-card-heading>div{min-width:0}.roster-heading{flex-wrap:wrap;gap:14px}.roster-heading h2{margin-right:auto}.roster-heading .button{padding:10px 18px;font-size:13px}.table-wrap caption{text-align:left;padding:14px;font-size:13px;color:#617890}.empty{margin-bottom:25px}.skip{z-index:200}.menu-toggle{min-width:44px;min-height:44px}.category-tabs a{min-height:40px;display:inline-flex;align-items:center}.source-note{line-height:1.8}
@media(max-width:760px){.compact-hero-art .robot{transform:translateX(-50%) rotate(-8deg) scale(.29)}.award-places{gap:10px}.award-place{padding:17px}.award-rank{font-size:24px}.table-wrap{border:0;background:transparent;overflow:visible}.table-wrap table,.table-wrap tbody{display:block;width:100%}.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-wrap caption{display:block;padding:0 0 12px}.table-wrap tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;padding:18px;background:white;border:1px solid #d8e6f2;border-radius:15px}.table-wrap td,.table-wrap td:nth-child(3){display:block;min-width:0;border:0;padding:0;overflow-wrap:anywhere;font-size:14px;line-height:1.8}.table-wrap td::before{content:attr(data-label);display:block;color:#617890;font-size:11px;font-weight:500;margin-bottom:3px;white-space:normal}.table-wrap td:nth-child(2),.table-wrap td:nth-child(3),.table-wrap td:nth-child(4),.table-wrap td:nth-child(5){grid-column:1/-1}.table-wrap td:nth-child(3){white-space:pre-line}.roster-heading #list-status{width:100%;font-size:12px}.result-card-heading>.pending-pill{font-size:12px}.award-event-heading{align-items:flex-start}.notice .button{margin-top:10px}}
.filters select{height:48px;appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2315437e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.filters input{height:48px}.button:disabled{opacity:.65}.button:disabled:hover{transform:none}.nav-cta[aria-disabled=true]{opacity:.65;cursor:default}
.registration-closed{opacity:.65;cursor:default;box-shadow:none}.registration-closed:hover{transform:none}

/* Award artwork uses isolated CSS windows from the generated asset sheet. */
.hero-prize .hero-cash-prize{font-size:clamp(19px,2.2vw,27px);line-height:1.4;color:#fff}
.hero-cash-prize b{font-size:1.45em;color:#ffd16a;font-weight:700;white-space:nowrap}
.hero-prize span{font-size:14px}
/* Individual transparent artwork: no sprite cropping or overlapping frames. */
.award-place{gap:16px;align-items:center;padding:22px 18px;min-height:174px;border-radius:18px;background:#fff;box-shadow:0 3px 12px rgba(20,67,126,.025)}
.award-place.place-1{background:linear-gradient(135deg,#fffaf0,#fff5e5);border-color:#edcc88}
.award-place.place-2{background:linear-gradient(135deg,#fff,#f1f5fa);border-color:#d6dfea}
.award-place.place-3{background:linear-gradient(135deg,#fff,#fff3ec);border-color:#ead6c8}
.award-visual,.place-1 .award-visual{display:flex;align-items:center;justify-content:center;width:110px;height:126px;flex:0 0 110px;position:static}
.award-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(28,49,77,.1))}
.award-place>div{min-width:0}
.award-place h4{line-height:1.6;margin:0 0 8px;font-size:15px;color:#13385d}
.award-detail{font-size:13px;line-height:1.8;margin:0;color:#57718a}
.award-cash{display:block;color:#a75c0b;font-size:13px;font-weight:600;line-height:1.8;margin-top:2px}
@media(max-width:1100px) and (min-width:761px){.award-place{flex-direction:column;text-align:center;gap:8px;padding:20px 14px}.award-visual,.place-1 .award-visual{flex-basis:126px}}
@media(max-width:760px){.hero-prize .hero-cash-prize{font-size:20px}.hero-prize span{font-size:13px}.award-place{padding:18px 16px;gap:15px;min-height:160px}.award-visual,.place-1 .award-visual{width:100px;flex-basis:100px;height:118px}.award-place h4{font-size:14px}.award-detail{font-size:13px}.award-cash{font-size:13px}}
@media(max-width:390px){.hero-prize .hero-cash-prize{font-size:18px}.hero-cash-prize b{font-size:1.35em}}

/* Full neck ribbons blend the clean white product backdrop into award cards. */
.place-2 .award-image,.place-3 .award-image{mix-blend-mode:multiply;filter:none}

/* Event community: revealed once the official OpenChat invite is supplied. */
.community-section[hidden]{display:none}
.community-section{padding:54px 0;background:#fff}
.community-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:38px;align-items:center;padding:32px;border:1px solid #d3e6f8;border-radius:24px;background:linear-gradient(120deg,#f1f8ff,#fff)}
.community-copy{min-width:0}
.community-copy h2{font-size:clamp(23px,3vw,32px);line-height:1.5;margin:12px 0;color:#143d70}
.community-copy h2 span{color:#f5720c}
.community-copy>p{font-size:14px;line-height:1.8}
.community-topics{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0}
.community-topics li{font-size:12px;padding:6px 12px;border-radius:999px;background:#e4f1ff;color:#164477}
.community-action .button{background:#06a94f;color:#fff;border:0;box-shadow:0 4px 0 #04833d}
.community-copy .community-hint{font-size:12px;color:#5f7893;margin:16px 0 0}
.community-qr{text-align:center;background:#fff;border:1px solid #d9e8f5;border-radius:20px;padding:18px}
.community-qr img{display:block;width:200px;max-width:100%;height:auto;margin:auto}
.community-qr p{font-size:12px;color:#164477;margin:10px 0 0}
@media(max-width:760px){.community-section{padding:32px 0}.community-grid{grid-template-columns:1fr;gap:22px;padding:22px}.community-qr{width:230px;max-width:100%;justify-self:center}.community-action .button{width:100%;text-align:center}}

/* Compact OpenChat invitation in the main hero. */
.hero-openchat{display:flex;align-items:center;gap:14px;margin-top:18px;padding:10px 14px 10px 10px;width:fit-content;max-width:100%;background:rgba(9,53,113,.35);border:1px solid rgba(255,255,255,.3);border-radius:16px}
.hero-openchat-qr{display:block;flex:0 0 88px;width:88px;height:88px;background:white;border-radius:8px;overflow:hidden}
.hero-openchat-qr img{display:block;width:100%;height:100%}
.hero-openchat>div{min-width:0}
.hero-openchat strong{font-family:'Prompt',sans-serif;font-size:15px;color:#fff;line-height:1.5}
.hero-openchat p{font-size:12px;line-height:1.6;color:#e5f2ff;margin:3px 0 7px}
.hero-openchat-link{display:inline-flex;align-items:center;min-height:32px;padding:5px 13px;background:#06a94f;color:#fff;border-radius:999px;font-size:12px;font-weight:600;text-decoration:none}
.hero-openchat-link:hover{background:#04883f}
@media(max-width:760px){.hero-openchat{margin:16px auto 0;text-align:left;gap:12px}.hero-openchat p{font-size:11px}.hero-openchat strong{font-size:14px}}
@media(max-width:390px){.hero-openchat{padding-right:10px}.hero-openchat p{max-width:160px}}
