:root{--bg: #0a0e1a;--bg-grad-top: #12203f;--surface: #101a30;--surface-2: #0c1424;--border: #1e2c4a;--border-soft: #1c2740;--text: #eaf0ff;--text-dim: #9fb3d6;--text-muted: #6b7a9c;--brand: #2563eb;--brand-light: #38bdf8;--brand-soft: #7ec4ff;--green: #35d6a4;--amber: #f5c451;--red: #ff9a9a;--red-bar: #b91c4a;--radius: 12px;--radius-lg: 16px;--maxw: 440px;--font: "Sora", "Noto Sans Lao", "Noto Sans Thai", system-ui, sans-serif}body[data-lang=lo]{--font: "Noto Sans Lao", "Sora", system-ui, sans-serif}body[data-lang=th]{--font: "Noto Sans Thai", "Sora", system-ui, sans-serif}body[data-lang=en]{--font: "Sora", "Noto Sans Lao", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;justify-content:center}.app-shell{width:100%;max-width:var(--maxw);min-height:100vh;background:var(--bg);position:relative;padding-bottom:74px}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}.lao{font-family:var(--font)}::-webkit-scrollbar{width:0;height:0}.px-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s,transform .15s,box-shadow .2s}button.px-card:active{transform:scale(.985)}button.px-card:hover{border-color:#2a3d68;box-shadow:0 6px 22px #00000059}.verdict-card{background:radial-gradient(120% 140% at 0% 0%,rgba(37,99,235,.22),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(53,214,164,.14),transparent 55%),linear-gradient(160deg,#14213d,#0e1830);border:1px solid rgba(56,189,248,.28);box-shadow:0 8px 30px #0e204480,inset 0 1px #7ec4ff1f}@media (prefers-reduced-motion: no-preference){.fade-in{animation:fade .35s ease both}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bar-fill{transition:width .5s cubic-bezier(.22,1,.36,1)}.pulse-dot{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg-grad-top) 0%,var(--bg) 100%)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(46px);pointer-events:none}.hero:before{width:240px;height:240px;top:-120px;left:-60px;background:radial-gradient(circle,rgba(37,99,235,.5),transparent 70%);animation:drift 9s ease-in-out infinite alternate}.hero:after{width:200px;height:200px;top:-90px;right:-50px;background:radial-gradient(circle,rgba(53,214,164,.32),transparent 70%);animation:drift 11s ease-in-out infinite alternate-reverse}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(26px,18px) scale(1.15)}}.stagger>*{animation:rise .5s cubic-bezier(.22,1,.36,1) both}.stagger>*:nth-child(1){animation-delay:.03s}.stagger>*:nth-child(2){animation-delay:.08s}.stagger>*:nth-child(3){animation-delay:.13s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.23s}.stagger>*:nth-child(6){animation-delay:.28s}.stagger>*:nth-child(7){animation-delay:.33s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.shine{background:linear-gradient(100deg,#38bdf8 20%,#eaf0ff,#38bdf8 60%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 3.2s linear infinite}@keyframes shine{to{background-position:-200% 0}}.glow-cta{background:linear-gradient(145deg,#2563eb,#1e40af);box-shadow:0 4px 18px #2563eb73;transition:transform .15s,box-shadow .2s}.glow-cta:active{transform:scale(.97)}.glow-cta:hover{box-shadow:0 6px 26px #2563eb99}.pill-tab{transition:background .2s,color .2s,transform .12s}.pill-tab:active{transform:scale(.94)}.hm-cell{border-radius:6px;transition:transform .15s}.hm-cell:hover{transform:scale(1.12)}.donut-arc{transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1)}.nav-active-icon{animation:bounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes bounce{0%{transform:scale(.7)}60%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.hero:before,.hero:after,.shine,.stagger>*,.nav-active-icon{animation:none!important}}
