/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#14213d;--purple:#6945d9;--purple-dark:#4c2bbd;--lime:#c9ff45;--cloud:#f5f4fb;--muted:#687086;--line:#e5e3ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Arial,Noto Sans Thai,sans-serif}button,input{font:inherit}button,a{transition:all .2s}.topbar{z-index:20;justify-content:space-between;align-items:center;max-width:1200px;height:76px;margin:auto;padding:0 28px;display:flex;position:relative}.brand{color:var(--ink);align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand b{color:var(--purple)}.brand-mark{background:var(--purple);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:24px;font-weight:900;display:grid}.topbar nav{align-items:center;gap:28px;display:flex}.topbar nav a{color:#485066;font-size:14px;font-weight:700;text-decoration:none}.admin-link{border:1px solid var(--line);border-radius:12px;padding:11px 17px}.hero{background:linear-gradient(135deg,#f7f5ff 0%,#f0edff 55%,#eae5ff 100%);grid-template-columns:1fr 1fr;align-items:center;min-height:650px;padding:55px max(28px,50vw - 580px);display:grid;position:relative;overflow:hidden}.hero:before{content:"";opacity:.08;background:#744de5;border-radius:50%;width:520px;height:520px;position:absolute;top:-120px;right:-80px}.eyebrow{letter-spacing:.18em;color:var(--purple);margin-bottom:18px;font-size:12px;font-weight:900;display:inline-block}.hero h1{letter-spacing:-.055em;max-width:650px;margin:0;font-size:clamp(48px,5.7vw,78px);line-height:1.03}.hero h1 em{color:var(--purple);font-style:normal}.hero-copy>p{color:var(--muted);max-width:570px;margin:25px 0;font-size:18px;line-height:1.75}.hero-actions{align-items:center;gap:14px;display:flex}.primary{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:14px;padding:15px 21px;font-weight:800;box-shadow:0 10px 25px #6945d933}.primary:hover{background:var(--purple-dark);transform:translateY(-2px)}.primary span{margin-left:12px}.secondary{color:var(--ink);background:#ffffffa0;border:1px solid #d6d1e6;border-radius:14px;padding:14px 20px;font-weight:800;text-decoration:none}.round{color:var(--muted);margin-top:34px;font-size:13px}.round strong{color:var(--ink);margin:7px 0 0 16px;display:block}.live-dot{background:#2fc678;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 0 5px #2fc67822}.hero-visual{place-items:center;height:520px;display:grid;position:relative}.board{background:#1c2335;border:8px solid #2b3348;border-radius:26px 26px 55px 55px;width:330px;height:285px;position:relative;transform:rotate(-4deg);box-shadow:0 35px 65px #3b237e3d}.screen{color:#fd527e;background:#06080d;border-radius:8px;grid-template-columns:1fr 1fr;place-items:center;width:138px;height:110px;font-size:45px;display:grid;position:absolute;top:50px;left:97px;box-shadow:inset 0 0 25px #000}.pixels{color:var(--lime);font-size:24px;font-weight:900}.button-a,.button-b{background:#dedfe5;border:6px solid #4b5364;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:900;display:grid;position:absolute;top:184px}.button-a{left:68px}.button-b{right:68px}.pin{color:#b4bfd1;font-size:24px;line-height:1.35;position:absolute;top:42px}.pin.left{left:20px}.pin.right{right:20px}.gold-pins{justify-content:space-between;display:flex;position:absolute;bottom:-29px;left:42px;right:42px}.gold-pins i{background:linear-gradient(90deg,#dda935,#ffd877,#c9911d);border-radius:0 0 24px 24px;width:47px;height:58px}.float-card{color:var(--muted);background:#fff;border:1px solid #ebe8f4;border-radius:15px;align-items:center;gap:9px;padding:13px 16px;font-size:12px;font-weight:700;display:flex;position:absolute;box-shadow:0 14px 35px #33206b21}.float-card b{color:var(--purple);font-size:20px}.card-ai{top:14%;left:2%}.card-code{top:22%;right:0}.card-build{bottom:8%;right:6%}.orbit{border:1px dashed #8e74e755;border-radius:50%;position:absolute}.orbit-a{width:460px;height:420px}.orbit-b{width:550px;height:500px}.leader-section{max-width:1160px;margin:auto;padding:100px 28px}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;display:flex}.section-head h2,.steps h2{letter-spacing:-.035em;margin:0 0 8px;font-size:38px}.section-head p,.steps>p{color:var(--muted)}.purple{color:var(--purple)}.tabs{background:var(--cloud);border-radius:13px;padding:5px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:11px 20px;font-weight:800}.tabs .active{color:var(--purple);background:#fff;box-shadow:0 3px 12px #33206b14}.score-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 16px 45px #2c1b5d0c}.score-row{border-top:1px solid var(--line);grid-template-columns:80px 2.3fr 1.3fr 100px 150px;align-items:center;gap:16px;padding:18px 24px;font-size:14px;display:grid}.score-title{color:#7a8194;background:#f8f7fc;border-top:0;font-size:12px;font-weight:800}.rank{background:#f1eff7;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.identity{align-items:center;gap:13px;display:flex}.identity i{width:42px;height:42px;color:var(--purple);background:#ede8ff;border-radius:13px;place-items:center;font-style:normal;font-weight:900;display:grid}.identity b,.identity small{display:block}.identity small{color:var(--muted);margin-top:5px}.points{color:var(--purple);font-size:22px}.stars{color:#f2b52d;letter-spacing:2px;white-space:nowrap}.steps{background:var(--cloud);text-align:center;padding:90px max(28px,50vw - 580px)}.step-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px;display:grid}.step-grid article{border:1px solid var(--line);background:#fff;border-radius:20px;padding:26px}.step-grid article>span{width:42px;height:42px;color:var(--purple);background:#ebe5ff;border-radius:12px;place-items:center;margin-bottom:24px;font-weight:900;display:grid}.step-grid b{font-size:18px}.step-grid p{color:var(--muted);font-size:14px;line-height:1.7}footer{max-width:1160px;color:var(--muted);justify-content:space-between;align-items:center;margin:auto;padding:35px 28px;font-size:13px;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11142a99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(580px,100%);max-height:92vh;padding:34px;position:relative;overflow:auto;box-shadow:0 30px 90px #0005}.modal h2{margin:0 0 5px;font-size:32px}.modal>p{color:var(--muted);margin-bottom:24px}.close{cursor:pointer;background:#f3f1f8;border:0;border-radius:50%;width:34px;height:34px;font-size:23px;position:absolute;top:16px;right:20px}.modal label{margin:15px 0 7px;font-size:13px;font-weight:800;display:block}.modal label small{color:var(--muted);font-weight:500}.modal input{border:1px solid #dcd9e7;border-radius:11px;outline:none;width:100%;margin-top:7px;padding:13px}.modal input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6945d91a}.form-grid{grid-template-columns:1.5fr 1fr;gap:12px;display:grid}.full{width:100%;margin-top:22px}.form-success{color:#117447;background:#e8fbf1;border-radius:10px;padding:12px}.form-error{color:#b73333;background:#fff0f0;border-radius:10px;padding:12px}@media (width<=900px){.topbar nav a:not(.admin-link){display:none}.hero{grid-template-columns:1fr;padding-top:75px}.hero-visual{height:430px}.section-head{flex-direction:column;align-items:flex-start}.score-row{grid-template-columns:55px 2fr 90px 120px}.score-row>span:nth-child(3){display:none}.step-grid{grid-template-columns:1fr}.leader-section{padding-top:70px}}@media (width<=600px){.topbar{padding:0 18px}.brand{font-size:15px}.admin-link{padding:9px!important}.hero{padding-left:20px;padding-right:20px}.hero h1{font-size:46px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.secondary{text-align:center}.hero-visual{height:370px;margin:-25px -70px;transform:scale(.78)}.leader-section{padding-left:14px;padding-right:14px}.tabs{width:100%}.tabs button{flex:1}.score-card{overflow-x:auto}.score-row{min-width:650px}.section-head h2,.steps h2{font-size:30px}.form-grid{grid-template-columns:1fr}footer{text-align:center;flex-direction:column;gap:15px}}:root{--ink:#252a3a;--purple:#6550b8;--purple-dark:#51409a;--pink:#c95288;--cyan:#319ba3;--lime:#6da65f;--yellow:#d6a928;--blue:#405bc8;--cloud:#f3f5f7;--muted:#697184;--line:#dde1e7}body{color:var(--ink);background:#fff}.topbar{background:#405bc8;max-width:none;padding-left:max(28px,50vw - 580px);padding-right:max(28px,50vw - 580px);box-shadow:0 1px #3149ad}.topbar .brand,.topbar nav a,.topbar .brand b{color:#fff}.topbar nav a:hover{color:#e3e8ff}.admin-link{background:#ffffff12;border-color:#7182d4}.brand-mark{color:#405bc8;background:#fff;border-radius:10px;width:42px;height:42px;font-size:23px;box-shadow:0 4px 12px #23368c33}.hero{color:var(--ink);background:linear-gradient(135deg,#f5f7ff 0%,#edf1fb 52%,#edf8f6 100%)}.hero:before{opacity:.18;background:#92d5d2}.hero .eyebrow{color:#405bc8}.hero h1 em{color:#6550b8;text-shadow:none}.hero-copy>p,.hero .round{color:#626b7d}.hero .round strong{color:#252a3a}.primary{background:#6550b8;box-shadow:0 8px 20px #6550b82b}.primary:hover{background:#51409a}.secondary{color:#394158;background:#fff;border-color:#cfd5e1}.secondary:hover{background:#f4f6fa}.float-card{border:1px solid #e0e4ea;box-shadow:0 12px 28px #34446716}.float-card b{color:#c95288}.card-code b{color:#319ba3}.card-build b{color:#6550b8}.board{box-shadow:0 26px 55px #3444672b}.screen{border:3px solid #6550b8}.pixels{color:#e2bd43}.purple,.points{color:#6550b8}.leader-section{background:#fff}.tabs{background:#eef0f5}.tabs .active{color:#fff;background:#6550b8}.score-card{box-shadow:0 12px 35px #34446712}.score-title{color:#515a6d;background:#eef1f6}.identity i{color:#6550b8;background:#eeeafb}.rank-1{color:#6d5812;background:#f4e7b9}.rank-2{color:#26757b;background:#dceced}.rank-3{color:#8d3d62;background:#f2dce6}.steps{background:#f3f5f7}.step-grid article{border-top:4px solid #6550b8;box-shadow:0 8px 22px #34446710}.step-grid article:nth-child(2){border-top-color:#319ba3}.step-grid article:nth-child(3){border-top-color:#c95288}.step-grid article>span{color:#6550b8;background:#eeeafb}footer{color:#697184;background:#f7f8fa;border-top:1px solid #dde1e7;max-width:none;padding-left:max(28px,50vw - 580px);padding-right:max(28px,50vw - 580px)}footer .brand{color:#252a3a}footer .brand b{color:#405bc8}footer .brand-mark{color:#fff;box-shadow:none;background:#405bc8}.register-success{text-align:center;padding:28px 8px 8px}.success-icon{color:#388250;background:#e8f5ec;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 22px;font-size:40px;font-weight:900;display:grid}.register-success .eyebrow{margin-bottom:10px;display:block}.register-success h2{margin-bottom:10px}.register-success p{color:var(--muted);max-width:420px;margin:0 auto 10px;line-height:1.7}.student-auth-page,.student-page{background:linear-gradient(135deg,#f5f7ff,#edf8f6);min-height:100vh}.student-head{color:#fff;background:#405bc8;justify-content:space-between;align-items:center;height:76px;padding:0 max(28px,50vw - 580px);display:flex}.student-head .brand,.student-head>a,.student-head .brand b{color:#fff}.student-head button{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #fff6;border-radius:10px;padding:9px 15px;font-weight:700}.student-auth-shell{grid-template-columns:1fr 440px;align-items:center;gap:70px;max-width:950px;margin:auto;padding:90px 28px;display:grid}.student-auth-copy h1,.student-welcome h1{margin:0 0 15px;font-size:46px;line-height:1.15}.student-auth-copy p,.student-welcome p{color:var(--muted);line-height:1.8}.student-auth-card,.student-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:30px;box-shadow:0 18px 50px #34446714}.student-auth-card label{font-size:14px;font-weight:800;display:block}.student-auth-card input{border:1px solid #d7dce5;border-radius:11px;outline:none;width:100%;margin-top:9px;padding:14px}.student-auth-card input:focus{border-color:#6550b8;box-shadow:0 0 0 3px #6550b81c}.auth-help{text-align:center;color:var(--muted);margin:20px 0 0;font-size:13px}.auth-help a{color:#6550b8;font-weight:700}.student-dashboard{max-width:1000px;margin:auto;padding:70px 28px}.student-welcome{text-align:center;margin-bottom:38px}.student-grid{grid-template-columns:1.2fr .8fr;gap:22px;display:grid}.profile-card{text-align:center}.student-avatar{color:#6550b8;background:#eeeafb;border-radius:22px;place-items:center;width:78px;height:78px;margin:0 auto 16px;font-size:34px;font-weight:900;display:grid}.profile-card h2{margin:0}.profile-card>p{color:var(--muted)}.profile-card dl{text-align:left;margin:25px 0 0}.profile-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.profile-card dt{color:var(--muted)}.profile-card dd{text-align:right;margin:0;font-weight:800}.score-summary{text-align:center}.score-summary>span{color:var(--muted);font-weight:700}.score-summary>strong{color:#6550b8;margin:20px;font-size:82px;line-height:1;display:block}.student-stars{color:#d6a928;letter-spacing:4px;font-size:24px}.score-summary p{color:var(--muted);line-height:1.7}.student-action{margin-top:10px;text-decoration:none;display:inline-block}@media (width<=760px){.student-auth-shell,.student-grid{grid-template-columns:1fr}.student-auth-shell{gap:30px;padding-top:55px}.student-auth-copy{text-align:center}.student-auth-copy h1,.student-welcome h1{font-size:36px}.student-head{padding:0 18px}.student-head .brand{font-size:14px}}.account-page{background:#f4f6f8;min-height:100vh}.student-head nav{gap:24px;display:flex}.student-head nav a{color:#fff;font-weight:700;text-decoration:none}.account-shell{max-width:1120px;margin:auto;padding:62px 28px 90px}.account-card{background:#fff;border:1px solid #e2e6eb;border-radius:16px;padding:32px;box-shadow:0 8px 26px #34446712}.account-card h1{text-align:center;margin:0 0 24px;font-size:32px}.round-banner,.active-round{color:#35616a;text-align:center;background:#dff3f5;border:1px solid #a9dfe4;border-radius:9px;padding:13px}.round-banner{margin-bottom:24px}.active-round{margin-bottom:30px}.account-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.account-grid label{color:#363c49;font-weight:800}.account-grid input,.account-grid select{width:100%;font:inherit;background:#fff;border:1px solid #d8dde5;border-radius:9px;margin-top:7px;padding:13px;display:block}.account-grid label:first-child input,.account-grid label:nth-child(2) input{background:#eef3fc}.account-grid small{color:#697184;margin-top:6px;font-weight:500;display:block}.account-submit{color:#fff;cursor:pointer;background:#405bc8;border:0;border-radius:9px;width:100%;margin-top:28px;padding:14px;font-size:18px;font-weight:800}.account-submit:disabled{opacity:.65}@media (width<=760px){.account-grid{grid-template-columns:1fr}.student-head nav{gap:10px;font-size:12px}.account-shell{padding:30px 14px}.account-card{padding:22px 16px}}.group-leaderboard{border-top:1px solid var(--line);margin-top:70px;padding-top:55px}.redeem-card{margin-top:24px}.redeem-card>div{text-align:center}.redeem-card h2{margin:0 0 8px;font-size:26px}.redeem-card>div p{color:var(--muted)}.redeem-card form{grid-template-columns:1fr auto;gap:12px;max-width:650px;margin:22px auto 0;display:grid}.redeem-card input{min-width:0;font:inherit;text-transform:uppercase;border:1px solid #d7dce5;border-radius:12px;padding:14px}.redeem-card .primary{padding-left:28px;padding-right:28px}.redeem-card>p{max-width:650px;margin:14px auto 0}@media (width<=600px){.redeem-card form{grid-template-columns:1fr}.redeem-card .primary{width:100%}}
