@import "https://fonts.googleapis.com/css2?family=Anuphan:wght@400;500;600;700;800&family=Nunito:wght@700;800;900&display=swap";:root{--ink:#15223b;--muted:#667085;--blue:#2867e8;--purple:#7c3aed;--line:#e8edf5;--bg:#f5f8ff}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Anuphan,sans-serif}button,input{font:inherit}button{cursor:pointer}.eyebrow{letter-spacing:.18em;color:var(--purple);font-family:Nunito,sans-serif;font-size:.78rem;font-weight:900}.home-shell{background:radial-gradient(circle at 15% 8%,#ddd6fe 0,#0000 28%),radial-gradient(circle at 88% 12%,#bfdbfe 0,#0000 25%),linear-gradient(#f7f4ff,#eef6ff);min-height:100vh;padding:42px 18px}.home-card{background:#fff;border:1px solid #fff;border-radius:38px;max-width:680px;margin:auto;padding:42px;box-shadow:0 28px 80px #45598326}.hero-icon{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:26px;place-items:center;width:82px;height:82px;margin:0 auto 16px;font-size:2.7rem;display:grid;box-shadow:0 15px 35px #7c3aed45}.home-card>.eyebrow,.home-card>h1,.home-card>.subtitle{text-align:center}.home-card h1{letter-spacing:-.04em;margin:8px 0 12px;font-size:clamp(2rem,7vw,3.25rem);line-height:1.14}.subtitle{color:var(--muted);margin-bottom:24px;font-size:1.05rem}.notice{color:#4c1d95;background:#f0ebff;border:1px solid #ddd6fe;border-radius:20px;flex-direction:column;gap:5px;padding:18px 20px;display:flex}.resume-card{text-align:left;width:100%;color:var(--ink);background:linear-gradient(135deg,#fff7cc,#fef3c7);border:0;border-radius:20px;align-items:center;gap:14px;margin-top:14px;padding:18px;display:flex;box-shadow:inset 0 0 0 1px #fcd34d}.resume-card>span{font-size:1.8rem}.resume-card div{flex-direction:column;flex:1;display:flex}.resume-card small,.resume-card em{color:#7c5b11;font-style:normal}.resume-card strong{color:#a16207}.section-title{justify-content:space-between;align-items:end;margin:34px 4px 12px;font-weight:800;display:flex}.section-title small{color:var(--muted);font-weight:500}.menu-stack{gap:12px;display:grid}.menu-tile{color:#172033;text-align:left;border:0;border-radius:22px;align-items:center;gap:16px;padding:18px 20px;transition:all .15s;display:flex;box-shadow:0 7px #15223b0d}.menu-tile:hover{transform:translateY(-2px)}.menu-tile>span{font-size:2rem}.menu-tile div{flex-direction:column;flex:1;display:flex}.menu-tile small{opacity:.67}.menu-tile b{font-size:1.16rem}.menu-tile>strong{font-size:1.8rem}.home-card footer{text-align:center;color:#98a2b3;margin-top:34px;font-size:.83rem}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 max(18px,50vw - 520px);display:flex;position:sticky;top:0}.topbar button{color:#4338ca;background:#eef2ff;border:0;border-radius:12px;padding:10px 15px;font-weight:700}.topbar div{font-family:Nunito;font-size:1.2rem;font-weight:900}.topbar span{color:#fff;background:#7c3aed;border-radius:9px;padding:6px}.content{width:min(1040px,100% - 32px);margin:36px auto 80px}.exam-hero,.page-intro{background:linear-gradient(135deg,#ede9fe,#dbeafe);border-radius:28px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:28px 32px;display:flex}.exam-hero h1,.page-intro h1{margin:4px 0;font-size:2rem}.exam-hero>span{background:#fff;border-radius:999px;padding:11px 15px;font-weight:700}.page-intro{justify-content:flex-start;gap:20px}.page-intro>span{font-size:3.6rem}.page-intro p{color:var(--muted);margin:5px 0}.score-dock{color:#fff;z-index:10;background:#14213d;border-radius:22px;grid-template-columns:1fr 1fr;gap:12px;padding:18px 24px;display:grid;position:sticky;top:82px;box-shadow:0 12px 35px #11182733}.score-dock div{align-items:baseline;gap:10px;display:flex}.score-dock div:nth-child(2){justify-content:flex-end}.score-dock b{font-family:Nunito;font-size:1.7rem}.score-dock small,.score-dock span{color:#cbd5e1}.score-dock>i{background:#334155;border-radius:10px;grid-column:1/-1;height:6px;overflow:hidden}.score-dock em{background:linear-gradient(90deg,#a78bfa,#60a5fa);border-radius:10px;height:100%;display:block}.exam-actions{flex-wrap:wrap;gap:9px;margin:18px 0;display:flex}.exam-actions button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 14px;font-weight:700}.exam-actions .primary{color:#fff;background:#7c3aed;border-color:#7c3aed}.exam-actions .save{color:#854d0e;background:#fef3c7;border-color:#fcd34d}.save-notice{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:13px;margin:-8px 0 18px;padding:12px 16px}.question-list{gap:18px;display:grid}.question-card{background:#fff;border:2px solid #0000;border-radius:24px;padding:26px;box-shadow:0 10px 30px #324b7210}.question-card.active{border-color:#8b5cf6;box-shadow:0 12px 35px #7c3aed20}.question-head{align-items:center;gap:10px;display:flex}.question-head>span{color:#6d28d9;background:#ede9fe;border-radius:11px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.question-head small{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:6px 10px;font-weight:700}.question-head time,.question-head>button:not(.heart){color:#92400e;background:#fef3c7;border:0;border-radius:9px;margin-left:auto;padding:7px 10px}.question-head time{margin-left:auto}.question-head time.running{color:#dc2626;font-weight:800}.heart{color:#ec4899;background:#fff0f5;border:0;border-radius:50%;width:38px;height:38px;font-size:1.35rem}.heart.on{color:#fff;background:#ec4899}.question-card h2{margin:20px 0;font-size:1.2rem;line-height:1.65}.start-card{color:#6d28d9;background:#ede9fe;border:0;border-radius:12px;padding:12px 16px;font-weight:800}.choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choices button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:15px;align-items:center;gap:11px;padding:13px;display:flex}.choices button:not(:disabled):hover{background:#faf5ff;border-color:#8b5cf6}.choices button span{background:#f1f5f9;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.choices button b{margin-left:auto}.choices button.correct{color:#166534;background:#dcfce7;border-color:#4ade80}.choices button.wrong{color:#991b1b;background:#fee2e2;border-color:#f87171}.explanation{background:#f0fdf4;border-left:4px solid #22c55e;border-radius:12px;margin-top:15px;padding:16px}.explanation p{margin:6px 0}.explanation code,.formula-grid code{color:#166534;background:#fff;border:1px solid #bbf7d0;border-radius:8px;padding:6px 9px;display:inline-block}.finish{text-align:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:24px;margin-top:22px;padding:30px}.finish>span{font-size:3rem}.finish button{color:#fff;background:#f97316;border:0;border-radius:12px;padding:12px 20px;font-weight:800}.topic-list,.chart-card,.saved-list,.history-list{gap:11px;display:grid}.topic-list>button,.bar,.history-list article{text-align:left;color:var(--ink);background:#fff;border:0;border-radius:17px;align-items:center;gap:14px;padding:16px;display:flex}.topic-list>button>span,.bar>span,.history-list article>span{color:#6d28d9;background:#ede9fe;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.topic-list>button>div,.bar>div,.history-list article>div{flex-direction:column;flex:1;display:flex}.topic-list small,.history-list small{color:var(--muted)}.topic-list i,.bar i{background:#eef2ff;border-radius:8px;height:5px;margin-top:8px;overflow:hidden}.topic-list em,.bar em{background:#8b5cf6;height:100%;display:block}.strategy{color:#fff;background:#14213d;border-radius:22px;grid-template-columns:220px 1fr;gap:20px;margin-bottom:18px;padding:24px;display:grid}.strategy div{flex-direction:column;display:flex}.strategy b{color:#c4b5fd;font-size:2rem}.formula-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.formula-grid article{background:#fff;border-radius:20px;padding:20px}.formula-grid article>span{color:#6d28d9;background:#ede9fe;border-radius:13px;place-items:center;width:44px;height:44px;font:900 1.2rem Nunito;display:grid}.formula-grid h2{font-size:1.05rem}.group-tabs{gap:8px;padding-bottom:12px;display:flex;overflow:auto}.group-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:72px;padding:9px}.group-tabs button.active{color:#fff;background:#7c3aed}.group-tabs small{display:block}.saved-list article{background:#fff;border-radius:18px;padding:20px}.saved-list article>small{color:#7c3aed;font-weight:700}.saved-list article>button,.clear{color:#b91c1c;background:#fee2e2;border:0;border-radius:9px;padding:8px 12px}.history-list article strong{text-align:right;flex-direction:column;display:flex}.sst-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.sst-grid button{text-align:left;color:var(--ink);border:0;border-radius:20px;flex-direction:column;padding:22px;display:flex}.sst-grid span{font-size:2rem}.sst-grid b{font-size:1.35rem}.sst-grid strong{margin-top:10px}.empty{text-align:center;background:#fff;border-radius:24px;padding:55px}.empty>span{font-size:3.5rem}.modal{z-index:50;background:#111827aa;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal section{text-align:center;background:#fff;border-radius:26px;width:min(480px,100%);padding:28px;position:relative}.modal section>span{font-size:3rem}.modal .x{background:0 0;border:0;font-size:1.8rem;position:absolute;top:12px;right:16px}.modal section>div{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.modal section>div button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px}.modal section>div button.selected{color:#fff;background:#ec4899}.login-shell{background:radial-gradient(circle at 10% 20%,#c4b5fd,#0000 28%),radial-gradient(circle at 90% 80%,#93c5fd,#0000 28%),#f4f2ff;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:center;z-index:2;background:#ffffffeb;border-radius:34px;width:min(470px,100%);padding:42px;box-shadow:0 30px 90px #312e8150}.login-icon{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border-radius:27px;place-items:center;width:86px;height:86px;margin:0 auto 18px;font-size:2.6rem;display:grid;position:relative}.login-icon i{color:#713f12;background:#facc15;border-radius:50%;place-items:center;width:34px;height:34px;font:900 1rem Nunito;display:grid;position:absolute;top:-9px;right:-9px}.login-card h1{margin:8px 0;font-size:2.1rem;line-height:1.18}.login-card>p{color:var(--muted)}.login-card form{text-align:left}.login-card label{font-size:.9rem;font-weight:700}.password{border:2px solid #ddd6fe;border-radius:14px;align-items:center;margin:7px 0;padding:0 14px;display:flex}.password.error{border-color:#f87171}.password input{background:0 0;border:0;outline:0;width:100%;padding:14px;font-size:1.1rem}.login-card form>button{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);border:0;border-radius:14px;width:100%;margin-top:10px;padding:14px;font-weight:800}.login-card form>button:disabled{opacity:.45}.login-error{color:#b91c1c;font-size:.9rem}.login-card>small{color:#98a2b3;margin-top:18px;display:block}.checking{color:#6d28d9;padding:20px}.deco{opacity:.55;font-size:4rem;position:absolute}.d1{top:12%;left:8%;transform:rotate(-15deg)}.d2{top:16%;right:10%;transform:rotate(12deg)}.d3{bottom:9%;right:9%}@media (max-width:700px){.home-shell{padding:0}.home-card{box-shadow:none;border-radius:0;padding:28px 18px}.content{width:min(100% - 20px,1040px);margin-top:18px}.topbar{height:62px}.score-dock{top:70px}.choices,.formula-grid{grid-template-columns:1fr}.exam-hero,.page-intro{padding:20px}.page-intro>span{font-size:2.6rem}.strategy{grid-template-columns:1fr}.sst-grid{grid-template-columns:1fr 1fr}.question-card{padding:18px}.question-head small{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.question-head>button:not(.heart){font-size:.75rem}.exam-actions button{flex:1}.login-card{padding:34px 22px}.deco{display:none}}@media print{.topbar,.exam-actions,.score-dock,.heart,.start-card{display:none!important}.question-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.content{width:100%;margin:0}}.home-shell{padding-top:130px!important}.home-subject-switch{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffed;border:1px solid #dbe3f1;border-radius:22px;width:min(410px,100% - 28px);padding:7px;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #33415525}.home-subject-switch:before{content:"สอบเข้า ม.1 จุฬาภรณ์ • เลือกวิชา";text-align:center;color:#64748b;letter-spacing:.02em;padding:1px 7px 6px;font-size:11px;font-weight:850;display:block}.subject-tabs{grid-template-columns:1fr 1fr;gap:7px;display:grid}.subject-tabs a{color:#64748b;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:8px 18px;font-weight:900;text-decoration:none;transition:all .18s;display:flex}.subject-tabs a:hover{background:#f1f5f9;transform:translateY(-1px)}.subject-tabs a.active.science{color:#fff;background:linear-gradient(135deg,#0ea5e9,#14b8a6);box-shadow:0 7px 17px #0ea5e935}.subject-tabs a.active.math{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);box-shadow:0 7px 17px #7c3aed35}.subject-tabs a span{font-size:20px}.topbar .subject-tabs.compact{width:190px}.topbar .subject-tabs.compact a{min-height:40px;padding:6px 10px;font-size:12px}.topbar .subject-tabs.compact a span{font-size:16px}.topbar .brand-mini{align-items:center;gap:8px;display:flex}@media (max-width:700px){.home-subject-switch{top:8px}.home-shell{padding-top:112px!important}.topbar .subject-tabs.compact{width:150px}.topbar .subject-tabs.compact a{padding:5px;font-size:11px}.topbar .brand-mini{display:none}}.exam-actions .start-exam{min-width:178px}.exam-actions button:disabled{cursor:not-allowed;opacity:.45}.start-exam-tip{color:#5b21b6;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #c4b5fd;border-radius:16px;margin:14px 0 18px;padding:14px 18px;font-weight:700;line-height:1.6}.waiting-time{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;margin-left:auto;padding:6px 10px;font-size:.78rem;font-weight:700}.question-waiting{color:#64748b;text-align:center;background:#f8fafc;border-radius:13px;margin:12px 0 16px;padding:11px 14px;font-size:.9rem;font-weight:600}.paused-notice{color:#92400e;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fbbf24;border-radius:16px;margin:14px 0 18px;padding:14px 18px;font-weight:750;line-height:1.6}.question-paused{color:#92400e;text-align:center;background:#fffbeb;border-radius:13px;margin:12px 0 16px;padding:11px 14px;font-size:.9rem;font-weight:650}.question-head time.paused{color:#92400e;background:#fef3c7}@media (max-width:600px){.exam-actions .start-exam{flex-basis:100%;order:-2;min-height:48px}.exam-actions .save{order:-1}.waiting-time{font-size:.7rem}.start-exam-tip{font-size:.9rem}}
