:root{--bg:#1b1030;--bg-deep:#120a22;--surface:#241640;--surface-2:#2e1b4f;--line:#402a66;--pink:#ff3b7f;--gold:#ffc94a;--teal:#29d6c8;--cream:#fdf3e4;--muted:#b9a9d9;--shadow:0 18px 40px -18px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#fbf4e6;--bg-deep:#f2e6d0;--surface:#fff;--surface-2:#fff6e6;--line:#e7d6b8;--pink:#e12a6e;--gold:#c98a00;--teal:#0e9c90;--cream:#241640;--muted:#6b5c8a;--shadow:0 18px 36px -20px #50321447;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#fbf4e6;--bg-deep:#f2e6d0;--surface:#fff;--surface-2:#fff6e6;--line:#e7d6b8;--pink:#e12a6e;--gold:#c98a00;--teal:#0e9c90;--cream:#241640;--muted:#6b5c8a;--shadow:0 18px 36px -20px #50321447;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(60rem 40rem at 85% -10%, color-mix(in srgb, var(--pink) 16%, transparent), transparent 60%), radial-gradient(50rem 34rem at -10% 110%, color-mix(in srgb, var(--teal) 14%, transparent), transparent 60%), var(--bg);color:var(--cream);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Sarabun,Kanit,system-ui,sans-serif}h1,h2,h3,.display{text-wrap:balance;letter-spacing:.01em;font-family:Chonburi,Kanit,system-ui,sans-serif}.label{text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-family:Kanit,system-ui,sans-serif;font-size:.72rem;font-weight:600}button{font-family:inherit}a{color:var(--teal)}::selection{background:var(--pink);color:#fff}.wrap{max-width:640px;margin:0 auto;padding:1.75rem 1.1rem 5rem}.hero{text-align:center;padding:1.2rem 0 1.6rem}.badge-row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.9rem;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-family:Kanit,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.title{color:var(--pink);margin:.1rem 0 .3rem;font-size:clamp(2.4rem,9vw,3.4rem);line-height:1.05}.subtitle{color:var(--cream);margin:0 0 .3rem;font-family:Kanit,sans-serif;font-size:1.05rem;font-weight:600}.tagline{color:var(--muted);max-width:30rem;margin:0 auto;font-size:.92rem;line-height:1.6}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:.5rem;margin:1.2rem 0 1.1rem;padding:.3rem;display:flex}.tab{text-align:center;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:.55rem .4rem;font-family:Kanit,sans-serif;font-size:.85rem;font-weight:600}.tab[aria-selected=true]{background:var(--pink);color:#fff}.progress-track{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:8px;margin-bottom:1.2rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--pink), var(--gold));height:100%;transition:width .35s}.progress-label{color:var(--muted);justify-content:space-between;margin-bottom:.4rem;font-family:Kanit,sans-serif;font-size:.78rem;display:flex}.qcard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:1.4rem 1.3rem 1.5rem;position:relative;overflow:hidden}.qcard:before{content:"";background:linear-gradient(90deg, var(--pink), var(--teal), var(--gold));height:4px;position:absolute;inset:0 0 auto}.qnum{color:var(--pink);letter-spacing:.08em;margin-bottom:.5rem;font-family:Kanit,sans-serif;font-size:.82rem;font-weight:700}.qtext{margin:0 0 1.15rem;font-family:Kanit,sans-serif;font-size:1.18rem;font-weight:600;line-height:1.5}.choices{gap:.65rem;display:grid}.choice{text-align:left;border:1.5px solid var(--line);background:var(--surface-2);width:100%;color:var(--cream);cursor:pointer;border-radius:13px;align-items:center;gap:.7rem;padding:.85rem .95rem;font-family:Sarabun,sans-serif;font-size:1rem;transition:transform .12s,border-color .12s,background .12s;display:flex}.choice:hover{border-color:var(--pink);transform:translateY(-1px)}.choice .k{background:var(--bg-deep);width:1.7rem;height:1.7rem;color:var(--gold);border:1px solid var(--line);border-radius:8px;flex:none;place-items:center;font-family:Kanit,sans-serif;font-size:.85rem;font-weight:700;display:grid}.result{text-align:center;padding:1rem .3rem}.score-big{color:var(--gold);font-variant-numeric:tabular-nums;margin:.3rem 0 0;font-family:Chonburi,sans-serif;font-size:clamp(3.6rem,20vw,5.5rem);line-height:1}.score-of{color:var(--muted);margin-bottom:1rem;font-family:Kanit,sans-serif;font-size:.9rem}.verdict-pill{letter-spacing:.04em;border-radius:999px;margin-bottom:1.1rem;padding:.35rem 1rem;font-family:Kanit,sans-serif;font-size:.85rem;font-weight:700;display:inline-block}.verdict-pill.pass{background:color-mix(in srgb, var(--teal) 22%, transparent);color:var(--teal);border:1px solid var(--teal)}.verdict-pill.fail{background:color-mix(in srgb, var(--pink) 20%, transparent);color:var(--pink);border:1px solid var(--pink)}.title-card{background:linear-gradient(160deg, var(--surface-2), var(--surface));border:1.5px dashed var(--pink);border-radius:18px;margin:0 0 1.3rem;padding:1.4rem 1.1rem}.title-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-family:Kanit,sans-serif;font-size:.72rem}.title-card h2{color:var(--pink);margin:0;font-size:clamp(1.5rem,7vw,2rem);line-height:1.25}.story-box{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;margin:0 0 1.3rem;padding:1.1rem 1.1rem 1.2rem}.story-box p{color:var(--cream);margin:.5rem 0 0;font-size:.92rem;line-height:1.75}.note-box{background:var(--bg-deep);border:1px solid var(--line);color:var(--muted);text-align:left;border-radius:12px;margin-top:.9rem;padding:.7rem .9rem;font-size:.82rem}.result-actions{gap:.7rem;margin-top:.4rem;display:grid}.name-row{gap:.6rem;display:flex}input.text-input,textarea.text-input,select.text-input{border:1.5px solid var(--line);background:var(--surface-2);color:var(--cream);border-radius:12px;flex:1;width:100%;padding:.75rem .9rem;font-family:Sarabun,sans-serif;font-size:1rem}input.text-input:focus,textarea.text-input:focus{outline:2px solid var(--pink);outline-offset:1px}button.primary,button.secondary,button.ghost,a.primary,a.secondary,a.ghost{cursor:pointer;border:1.5px solid #0000;border-radius:13px;padding:.85rem 1.1rem;font-family:Kanit,sans-serif;font-size:.95rem;font-weight:700}button.primary,a.primary{background:var(--pink);color:#fff}button.primary:hover,a.primary:hover{background:color-mix(in srgb, var(--pink) 85%, black)}button.primary:disabled{opacity:.5;cursor:default}button.secondary{border-color:var(--teal);color:var(--teal);background:0 0}button.ghost{border-color:var(--line);color:var(--muted);background:0 0}.status-line{color:var(--muted);text-align:center;min-height:1.1rem;margin-top:.3rem;font-family:Kanit,sans-serif;font-size:.82rem}.feed-heading{align-items:center;gap:.6rem;margin:1.6rem 0 .8rem;display:flex}.feed-heading hr{border:none;border-top:1px dashed var(--line);flex:1}.feed{flex-direction:column;gap:.6rem;display:flex}.feed-item-full{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.55rem;padding:.8rem .9rem;animation:.35s drop;display:flex}@keyframes drop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.feed-idx-row{justify-content:flex-end;display:flex}.fq{margin:0;font-family:Kanit,sans-serif;font-size:.92rem;font-weight:600;line-height:1.45}.feed-pills{flex-wrap:wrap;gap:.4rem;display:flex}.feed-pill{border:1px solid var(--line);background:var(--bg-deep);color:var(--muted);border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.feed-pill.picked{border-color:var(--pink);background:color-mix(in srgb, var(--pink) 16%, transparent);color:var(--cream);font-weight:600}.feed-idx{color:var(--muted);font-family:Kanit,sans-serif;font-size:.72rem}.lb-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.lb-head h2{color:var(--pink);margin:0;font-size:1.5rem}.lb-sub{color:var(--muted);margin:.2rem 0 1.1rem;font-size:.85rem}.lb-list{flex-direction:column;gap:.55rem;display:flex}.lb-row{background:var(--surface);border:1px solid var(--line);border-radius:13px;grid-template-columns:2rem 1fr auto;align-items:center;gap:.7rem;padding:.65rem .85rem;display:grid}.lb-row.top1{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.lb-row.top1 .lb-rank{color:var(--gold)}.lb-rank{color:var(--muted);text-align:center;font-family:Chonburi,sans-serif;font-size:1.05rem}.lb-name{font-family:Kanit,sans-serif;font-size:.98rem;font-weight:700}.lb-title{color:var(--muted);margin-top:.1rem;font-size:.78rem}.lb-score{color:var(--teal);font-variant-numeric:tabular-nums;text-align:right;font-family:Kanit,sans-serif;font-size:1.05rem;font-weight:800}.lb-score-sub{color:var(--muted);margin-top:.1rem;font-family:Kanit,sans-serif;font-size:.68rem;font-weight:500}.lb-empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px;padding:2.4rem 1rem;font-size:.9rem}.form-field{gap:.4rem;margin-bottom:1rem;display:grid}.form-field label{color:var(--muted);font-family:Kanit,sans-serif;font-size:.82rem;font-weight:600}.choice-edit-row{align-items:center;gap:.6rem;display:flex}.choice-edit-row input[type=checkbox]{width:1.3rem;height:1.3rem;accent-color:var(--pink);flex:none}.remove-choice{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:.2rem .4rem;font-size:1.1rem}.mode-chip{color:var(--muted);border:1px dashed var(--line);border-radius:999px;margin-bottom:1rem;padding:.25rem .7rem;font-family:Kanit,sans-serif;font-size:.72rem;display:inline-block}footer.note{text-align:center;color:var(--muted);margin-top:2.2rem;font-size:.75rem;line-height:1.7}.signature{color:var(--muted);margin:.2rem 0 0;font-size:.72rem}.sponsor-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.7rem;margin:1.1rem 0;padding:.2rem .05rem .4rem;display:flex;overflow-x:auto}.sponsor-carousel::-webkit-scrollbar{height:4px}.sponsor-tile{scroll-snap-align:start;aspect-ratio:4/3;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;text-align:left;color:inherit;border-radius:14px;flex-direction:column;flex:0 0 calc(33.3333% - .466667rem);padding:0;font-family:inherit;display:flex;overflow:hidden}.sponsor-tile-image{background-position:50%;background-size:cover;flex:1}.sponsor-tile-desc{background:var(--surface-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:.55rem .7rem;font-size:.78rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:420px;max-height:90vh;padding:1.4rem;overflow-y:auto}.modal-close{justify-content:flex-end;display:flex}.admin-login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;max-width:360px;margin:3rem auto 0;padding:1.6rem}.admin-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:.7rem;padding:.75rem .9rem;display:flex}.admin-row-body{flex-direction:column;flex:1;gap:.4rem;display:flex}.fa-text{color:var(--muted);white-space:pre-wrap;font-size:.82rem}
