/*! 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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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;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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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{.start{inset-inline-start:var(--spacing)}}:root{--ink:#172036;--muted:#64748b;--line:#e2e8f0;--paper:#fff;--purple:#6558e8;--purple2:#4f46d3;--green:#10b981;--red:#ef4444}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#f8fafc;margin:0;font-family:ui-rounded,Noto Sans Thai,system-ui,sans-serif}button{font:inherit;color:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #818cf8}.home-shell{background:radial-gradient(circle at 50% 0,#e9e7ff 0,#0000 30%),linear-gradient(#fff 0,#f8fafc 100%);min-height:100vh;padding:32px 20px 70px}.home-card{width:min(100%,620px);margin:auto}.hero-mark{background:#fff;border-radius:24px;place-items:center;width:72px;height:72px;margin:0 auto 10px;font-size:39px;display:grid;transform:rotate(-3deg);box-shadow:0 14px 36px #7c83ae33}.eyebrow{color:var(--purple);letter-spacing:.16em;text-align:center;font-size:11px;font-weight:900}.home-card h1{text-align:center;letter-spacing:-.04em;margin:7px 0 0;font-size:clamp(30px,7vw,46px);font-weight:950;line-height:1.17}.subtitle{text-align:center;color:var(--muted);margin:14px auto 22px;line-height:1.65}.notice{color:#854d0e;background:#fffbeb;border:1px solid #fde68a;border-radius:20px;gap:4px;margin-bottom:24px;padding:16px 18px;font-size:14px;line-height:1.55;display:grid}.notice b{font-size:15px}.section-label{justify-content:space-between;align-items:baseline;margin:26px 4px 12px;font-weight:900;display:flex}.section-label small{color:#94a3b8;font-weight:700}.section-label.extra{margin-top:36px}.menu-stack{gap:13px;display:grid}.menu-tile{color:#182033;text-align:left;cursor:pointer;border:0;border-radius:25px;grid-template-columns:58px 1fr 22px;align-items:center;gap:14px;width:100%;min-height:90px;padding:17px 20px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 7px 16px #0f172a14}.menu-tile:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 12px 22px #0f172a20}.menu-tile:active{transform:scale(.99)}.menu-tile .tile-icon{background:#fffa;border-radius:18px;place-items:center;width:54px;height:54px;font-size:29px;display:grid}.menu-tile span:nth-child(2){font-size:20px;font-weight:900}.menu-tile small{color:#334155aa;margin-bottom:2px;font-size:12px;font-weight:750;display:block}.menu-tile>b{color:#33415588;font-size:32px}.home-card footer{text-align:center;color:#94a3b8;padding:36px 0 0;font-size:12px}.app-shell{background:linear-gradient(#f8fafc,#fff 350px);min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-bottom:1px solid #e7eaf0;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;padding:0 max(18px,50vw - 490px);display:grid;position:sticky;top:0}.back-btn{color:#4338ca;cursor:pointer;background:#eef2ff;border:0;border-radius:13px;justify-self:start;padding:9px 14px;font-weight:850}.brand-mini{grid-column:2;align-items:center;gap:8px;font-weight:950;display:flex}.brand-mini span{font-size:23px}.content{width:min(100% - 32px,900px);margin:auto;padding:38px 0 80px}.exam-page{width:min(100% - 28px,820px)}.exam-hero{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.exam-hero .eyebrow{text-align:left}.exam-hero h2{letter-spacing:-.035em;margin:3px 0;font-size:clamp(28px,6vw,42px)}.mode-pill{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:850}.score-dock{color:#fff;background:#19213a;border-radius:22px;justify-content:space-between;align-items:center;min-height:82px;padding:16px 20px 23px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 30px #0f172a26}.score-dock>div:first-child{align-items:baseline;gap:9px;display:flex}.score-dock small{color:#cbd5e1}.score-dock b{font-size:28px}.score-dock span{color:#94a3b8;font-size:12px}.timer{font-variant-numeric:tabular-nums;background:#ffffff18;border-radius:12px;padding:8px 13px;font-size:20px;font-weight:900}.progress{background:#ffffff20;height:6px;bottom:0;left:0;right:0;position:absolute!important}.progress i{background:linear-gradient(90deg,#818cf8,#34d399);border-radius:0 5px 5px 0;height:100%;transition:width .3s;display:block}.exam-actions{gap:9px;margin:12px 0 16px;display:flex}.exam-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;flex:1;padding:11px 12px;font-size:13px;font-weight:850}.exam-actions .primary{border-color:var(--purple);background:var(--purple);color:#fff}.practice-tip{color:#047857;background:#ecfdf5;border-radius:14px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.5}.question-list{gap:18px;display:grid}.question-card{background:#fff;border:1px solid #e4e8ef;border-radius:24px;padding:24px;box-shadow:0 8px 24px #0f172a0a}.question-head{align-items:center;gap:10px;display:flex}.question-no{color:#fff;background:#1e293b;border-radius:11px;place-items:center;width:34px;height:34px;font-weight:950;display:grid}.topic-chip{color:#64748b;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.heart{color:#fb7185;cursor:pointer;background:#fff1f2;border:0;border-radius:13px;width:40px;height:40px;margin-left:auto;font-size:27px;line-height:1}.heart.on{color:#e11d48;background:#ffe4e6}.question-card h3{margin:17px 0;font-size:18px;line-height:1.65}.choices{gap:10px;display:grid}.choices button{text-align:left;cursor:pointer;background:#fbfdff;border:1.5px solid #e2e8f0;border-radius:15px;align-items:center;gap:12px;width:100%;padding:13px 14px;line-height:1.5;transition:all .15s;display:flex;position:relative}.choices button:hover:not(:disabled){background:#f5f3ff;border-color:#a5b4fc}.choices button>span{background:#e9edf4;border-radius:10px;flex:0 0 31px;place-items:center;width:31px;height:31px;font-weight:900;display:grid}.choices button>b{margin-left:auto;font-size:20px}.choices button.correct{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.choices button.correct>span{color:#fff;background:#10b981}.choices button.wrong{color:#9f1239;background:#fff1f2;border-color:#fda4af}.choices button.wrong>span{color:#fff;background:#fb7185}.choices button:disabled{opacity:1;cursor:default}.explanation{border-radius:15px;margin-top:14px;padding:15px 17px;line-height:1.6}.explanation.good{color:#065f46;background:#ecfdf5}.explanation.learn{color:#854d0e;background:#fffbeb}.ex-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.ex-title button{cursor:pointer;background:#fff9;border:0;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:800}.explanation p{margin:7px 0 0;font-size:14px}.finish-card{text-align:center;background:linear-gradient(135deg,#ede9fe,#ecfeff);border-radius:24px;margin-top:20px;padding:30px}.finish-card>div{font-size:52px}.finish-card h2{margin:4px}.finish-card p{color:#64748b}.finish-card button{background:var(--purple);color:#fff;border:0;border-radius:13px;padding:11px 20px;font-weight:900}.page-intro{align-items:center;gap:18px;margin-bottom:28px;display:flex}.page-intro>div{background:#ede9fe;border-radius:22px;flex:0 0 70px;place-items:center;width:70px;height:70px;font-size:36px;display:grid}.page-intro .eyebrow{text-align:left}.page-intro h1{letter-spacing:-.03em;margin:3px 0;font-size:clamp(27px,5vw,38px);line-height:1.2}.page-intro p{color:#64748b;margin:6px 0;line-height:1.55}.topic-list{gap:10px;display:grid}.topic-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e8ef;border-radius:18px;grid-template-columns:42px 1fr auto 18px;align-items:center;gap:13px;width:100%;padding:15px 17px;display:grid;position:relative;overflow:hidden}.topic-list>button:hover{border-color:#a5b4fc;transform:translateY(-1px)}.rank{color:#4f46e5;background:#eef2ff;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.topic-list b{display:block}.topic-list small{color:#94a3b8;margin-top:3px;display:block}.topic-list i{background:#a5b4fc;border-radius:10px;max-width:80px;height:6px}.topic-list strong{color:#94a3b8;font-size:24px}.strategy{color:#fff;background:#1e293b;border-radius:22px;grid-template-columns:200px 1fr;gap:20px;margin-bottom:18px;padding:22px;display:grid}.strategy>div{background:#ffffff10;border-radius:16px;align-content:center;padding:16px;display:grid}.strategy small,.strategy span{color:#cbd5e1}.strategy b{font-size:30px}.strategy p{color:#e2e8f0;align-self:center;margin:0;line-height:1.7}.strategy p b{font-size:inherit;color:#fff}.chart-card,.study-plan{background:#fff;border:1px solid #e4e8ef;border-radius:22px;padding:22px}.chart-card h3,.study-plan h3{margin:0 0 18px}.bar-row{grid-template-columns:26px 1fr 48px;align-items:center;gap:10px;margin:12px 0;display:grid}.bar-row>span{color:#94a3b8;font-size:12px;font-weight:900}.bar-row b{margin-bottom:5px;font-size:13px;display:block}.bar-row i{background:#f1f5f9;border-radius:10px;height:7px;display:block;overflow:hidden}.bar-row em{background:linear-gradient(90deg,#818cf8,#38bdf8);border-radius:10px;height:100%;display:block}.bar-row strong{text-align:right;color:#4f46e5;font-size:13px}.study-plan{margin-top:18px}.study-plan ol{counter-reset:steps;grid-template-columns:1fr 1fr;gap:12px;padding:0;list-style:none;display:grid}.study-plan li{counter-increment:steps;background:#f8fafc;border-radius:16px;padding:16px 16px 16px 51px;position:relative}.study-plan li:before{content:counter(steps);color:#fff;background:#4f46e5;border-radius:9px;place-items:center;width:27px;height:27px;font-weight:900;display:grid;position:absolute;top:14px;left:13px}.study-plan li b,.study-plan li span{display:block}.study-plan li span{color:#64748b;margin-top:3px;font-size:12px}.group-tabs{gap:8px;padding:2px 2px 12px;display:flex;overflow-x:auto}.group-tabs button{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex:0 0 74px;padding:10px 8px;font-size:12px;font-weight:850}.group-tabs button small{color:#94a3b8;display:block}.group-tabs button.active{color:#4338ca;background:#eef2ff;border-color:#6366f1}.empty{text-align:center;border:2px dashed #e2e8f0;border-radius:24px;place-items:center;margin-top:18px;padding:55px 24px;display:grid}.empty>span{font-size:48px}.empty h2{margin:10px 0 2px}.empty p{color:#94a3b8;margin:0}.saved-list{gap:13px;display:grid}.saved-list article{background:#fff;border:1px solid #e4e8ef;border-radius:20px;padding:20px}.saved-list article>div{align-items:center;gap:9px;display:flex}.saved-list article>div>span{background:#fef3c7;border-radius:9px;place-items:center;width:29px;height:29px;font-weight:900;display:grid}.saved-list small{color:#64748b}.saved-list button{color:#ef4444;cursor:pointer;background:0 0;border:0;margin-left:auto}.saved-list h3{line-height:1.6}.saved-list p{color:#065f46;background:#ecfdf5;border-radius:12px;margin:0;padding:12px;font-size:14px;line-height:1.6}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;display:grid}.stat-grid>div{background:#fff;border:1px solid #e4e8ef;border-radius:20px;align-items:baseline;gap:6px;padding:20px;display:flex}.stat-grid small{color:#64748b;margin-right:auto;display:block}.stat-grid b{font-size:28px}.history-list{gap:9px;display:grid}.history-list article{background:#fff;border:1px solid #e4e8ef;border-radius:17px;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;padding:14px 17px;display:grid}.attempt{color:#4f46e5;background:#eef2ff;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.history-list b,.history-list small{display:block}.history-list small{color:#94a3b8}.history-list strong{text-align:right;font-size:20px}.history-list strong small{font-size:11px}.clear-btn{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:12px;margin:24px auto 0;padding:10px 15px;display:block}.clear-btn:disabled{opacity:.4;cursor:default}.ipst-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.ipst-grid button{text-align:left;cursor:pointer;border:0;border-radius:22px;grid-template-rows:auto auto auto;grid-template-columns:55px 1fr;gap:0 14px;padding:20px;display:grid;box-shadow:0 8px 18px #0f172a10}.ipst-grid button>span{background:#fff9;border-radius:17px;grid-row:1/4;place-items:center;width:55px;height:55px;font-size:28px;display:grid}.ipst-grid small{color:#334155aa}.ipst-grid b{font-size:20px}.ipst-grid strong{margin-top:8px;font-size:12px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.group-modal{text-align:center;background:#fff;border-radius:26px;width:min(100%,460px);padding:26px;position:relative;box-shadow:0 30px 70px #0005}.modal-x{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:14px}.modal-icon{font-size:45px}.group-modal h2{margin:5px}.group-modal p{color:#64748b;margin:6px 0 20px}.group-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.group-grid button{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:11px}.group-grid button.selected{color:#be123c;background:#fff1f2;border-color:#fb7185}@media print{.topbar,.exam-actions,.practice-tip,.heart,.score-dock{display:none!important}.app-shell,.question-card{background:#fff}.content{width:100%;padding:0}.question-card{break-inside:avoid;box-shadow:none}.explanation{display:none}}@media (max-width:640px){.home-shell{padding:24px 14px 50px}.menu-tile{border-radius:22px;min-height:82px;padding:14px 16px}.menu-tile span:nth-child(2){font-size:18px}.topbar{padding:0 14px}.brand-mini{font-size:13px}.content{width:min(100% - 22px,900px);padding-top:25px}.exam-hero{flex-direction:column;align-items:flex-start;gap:8px}.mode-pill{align-self:flex-start}.score-dock{padding:14px 16px 21px}.exam-actions{grid-template-columns:1fr 1fr;display:grid}.exam-actions .primary{grid-column:1/3}.question-card{border-radius:20px;padding:17px}.question-card h3{font-size:16px}.topic-chip{white-space:nowrap;text-overflow:ellipsis;max-width:190px;overflow:hidden}.choices button{font-size:14px}.page-intro{align-items:flex-start}.page-intro>div{flex-basis:56px;width:56px;height:56px;font-size:28px}.strategy,.study-plan ol,.stat-grid{grid-template-columns:1fr}.stat-grid>div{padding:15px}.ipst-grid{grid-template-columns:1fr}.topic-list>button{grid-template-columns:40px 1fr 16px}.topic-list>button>i{display:none}}.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}.subject-tabs.compact{grid-column:2;width:190px}.subject-tabs.compact a{min-height:40px;padding:6px 10px;font-size:12px}.subject-tabs.compact a span{font-size:16px}.topbar .subject-tabs.compact+.brand-mini{grid-column:3;justify-self:end}@media (max-width:640px){.home-subject-switch{top:8px}.home-shell{padding-top:118px!important}.subject-tabs.compact{width:150px}.subject-tabs.compact a{padding:5px;font-size:11px}.topbar .brand-mini{display:none}.topbar{grid-template-columns:1fr auto!important}.topbar .subject-tabs.compact{grid-column:2}}.home-shell{padding-top:118px!important}.login-shell{background:radial-gradient(circle at 15% 10%,#dbeafe 0,#0000 30%),radial-gradient(circle at 90% 85%,#fce7f3 0,#0000 32%),linear-gradient(150deg,#f0f9ff,#faf5ff 55%,#fff7ed);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-shell:before,.login-shell:after{content:"";border:70px solid #ffffff70;border-radius:50%;width:360px;height:360px;position:absolute}.login-shell:before{bottom:-160px;left:-210px}.login-shell:after{top:-190px;right:-230px}.login-card{z-index:2;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffd;border:1px solid #fffc;border-radius:32px;width:min(100%,440px);padding:38px 36px 30px;position:relative;box-shadow:0 30px 80px #64748b2e}.login-orbit{background:linear-gradient(145deg,#fff,#eef2ff);border-radius:27px;place-items:center;width:82px;height:82px;margin:0 auto 16px;font-size:42px;display:grid;position:relative;box-shadow:0 14px 34px #6366f126}.login-orbit i{background:#cffafe;border-radius:12px;place-items:center;width:34px;height:34px;font-size:18px;font-style:normal;display:grid;position:absolute;top:-10px;right:-12px;transform:rotate(8deg)}.login-card h1{letter-spacing:-.04em;margin:7px 0 9px;font-size:clamp(28px,7vw,38px);line-height:1.2}.login-card>p{color:#64748b;margin:0 0 25px}.login-card form{text-align:left}.login-card label{color:#475569;margin:0 0 7px 4px;font-size:13px;font-weight:900;display:block}.password-box{background:#fff;border:1.5px solid #cbd5e1;border-radius:17px;grid-template-columns:40px 1fr;align-items:center;height:58px;transition:all .15s;display:grid;overflow:hidden}.password-box:focus-within{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a}.password-box.has-error{border-color:#fb7185}.password-box>span{text-align:center;font-size:20px}.password-box input{letter-spacing:.08em;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 14px 0 0;font:800 17px ui-rounded,system-ui,sans-serif}.password-box input::placeholder{color:#94a3b8;letter-spacing:0;font-size:14px}.login-card form>button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#7c3aed);border:0;border-radius:16px;justify-content:center;gap:12px;width:100%;margin-top:14px;padding:15px 18px;font-weight:900;display:flex;box-shadow:0 12px 24px #6366f136}.login-card form>button:hover:not(:disabled){transform:translateY(-1px)}.login-card form>button:disabled{opacity:.48;cursor:not-allowed}.login-card form>button b{font-size:20px;line-height:1}.login-error{color:#be123c;background:#fff1f2;border-radius:11px;margin-top:10px;padding:9px 11px;font-size:12px}.login-card>small{color:#94a3b8;margin-top:22px;display:block}.login-checking{color:#64748b;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:14px;display:flex}.login-checking i{border:3px solid #c7d2fe;border-top-color:#6366f1;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite login-spin}.login-deco{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff85;border:1px solid #ffffffc9;border-radius:24px;place-items:center;display:grid;position:absolute;box-shadow:0 18px 40px #64748b1f}.deco-one{width:80px;height:80px;font-size:40px;top:18%;left:11%;transform:rotate(-12deg)}.deco-two{width:72px;height:72px;font-size:36px;top:22%;right:10%;transform:rotate(9deg)}.deco-three{width:90px;height:90px;font-size:44px;bottom:12%;right:15%;transform:rotate(-7deg)}@keyframes login-spin{to{transform:rotate(360deg)}}@media (max-width:700px){.login-card{border-radius:26px;padding:32px 22px 26px}.login-deco{opacity:.45}.deco-one{top:10%;left:-24px}.deco-two{top:16%;right:-20px}.deco-three{bottom:7%;right:-22px}}.resume-card{text-align:left;cursor:pointer;background:linear-gradient(135deg,#eef2ff,#faf5ff);border:1.5px solid #a5b4fc;border-radius:20px;grid-template-columns:52px 1fr auto;align-items:center;gap:13px;width:100%;margin:0 0 24px;padding:15px 17px;display:grid;box-shadow:0 9px 20px #6366f118}.resume-card:hover{transform:translateY(-1px);box-shadow:0 13px 26px #6366f126}.resume-card>span{background:#fff;border-radius:16px;place-items:center;width:50px;height:50px;font-size:26px;display:grid}.resume-card small,.resume-card b,.resume-card em{display:block}.resume-card small{color:#6366f1;font-size:11px;font-weight:900}.resume-card b{margin:2px 0;font-size:16px}.resume-card em{color:#64748b;font-size:11px;font-style:normal}.resume-card strong{color:#4f46e5;font-size:13px}.exam-actions{flex-wrap:wrap}.exam-actions .save-progress{color:#047857;background:#ecfdf5;border-color:#86efac}.save-notice{color:#047857;background:#ecfdf5;border-radius:12px;margin:-5px 0 13px;padding:9px 13px;font-size:12px;font-weight:800}.question-card.active-question{border-color:#818cf8;box-shadow:0 0 0 3px #818cf818,0 12px 30px #6366f119}.question-time{font-variant-numeric:tabular-nums;border-radius:10px;margin-left:auto;padding:6px 9px;font-size:12px;font-weight:950}.question-time.running{color:#5b21b6;background:#ede9fe;animation:1.4s ease-in-out infinite timer-pulse}.question-time.done{color:#047857;background:#ecfdf5}.start-question{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;margin-left:auto;padding:7px 10px;font-size:11px;font-weight:900}.locked-choice-tip{color:#5b21b6;cursor:pointer;background:#f5f3ff;border:1px dashed #a5b4fc;border-radius:12px;width:100%;margin:0 0 10px;padding:11px;font-size:12px;font-weight:900}.question-card:not(.active-question) .choices button:disabled:not(.correct):not(.wrong){opacity:.55}.question-head .heart{margin-left:0}@keyframes timer-pulse{50%{box-shadow:0 0 0 4px #8b5cf61a}}@media (max-width:640px){.resume-card{grid-template-columns:46px 1fr auto;padding:13px}.resume-card>span{width:44px;height:44px}.exam-actions{grid-template-columns:1fr 1fr}.exam-actions .save-progress{grid-column:auto}.question-head{flex-wrap:wrap}.topic-chip{max-width:145px}.question-time,.start-question{order:4;margin-left:44px}.question-head .heart{margin-left:auto}}.score-dock .timer{grid-template-columns:auto auto;align-items:baseline;gap:7px;display:grid}.score-dock .timer small{color:#cbd5e1;font-size:10px;font-weight:800}@media (max-width:440px){.score-dock .timer{text-align:right;grid-template-columns:1fr;gap:0}.score-dock .timer small{font-size:9px}}
