/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.exam-save-status{text-align:center;background:var(--surface,#f4f6fa);color:inherit;margin:0;padding:.6rem 1rem;font-size:.85rem}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;display:grid}.category-card{border:1px solid var(--border,#dce3ec);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.category-card label,.category-editor>label{gap:6px;margin:10px 0;display:grid}.category-card input,.category-card textarea,.category-editor>label>input[type=number]{box-sizing:border-box;border:1px solid var(--border,#dce3ec);background:var(--surface,#fff);width:100%;color:inherit;font:inherit;border-radius:8px;padding:10px 12px}.category-card textarea{resize:vertical;white-space:pre-wrap;min-height:145px}.category-card small,.category-card>span,.category-editor p,.category-answer-fields>p{font-size:13px;line-height:1.7}.category-check{align-items:flex-start;gap:8px;display:flex!important}.category-check input{flex-shrink:0;margin-top:5px;width:auto!important}.category-review ul{margin:0;padding:0;list-style:none}.category-review li{overflow-wrap:anywhere;justify-content:space-between;gap:10px;padding:7px 0;display:flex}.category-review .term-correct{color:#168253}.category-review .term-wrong{color:#d74747}.category-review .term-duplicate,.category-review .term-extra{color:#687488}.answer-review-grid strong{white-space:pre-wrap}.line-browser-note>a,.line-browser-note>button{margin:8px 8px 8px 0;display:inline-flex}.line-browser-note>input{box-sizing:border-box;width:100%;padding:10px;font-size:14px}.mobile-exam-guard{overscroll-behavior:contain;padding-bottom:max(28px, env(safe-area-inset-bottom));overflow-y:auto}.mobile-exam-guard button{white-space:normal;min-height:48px}@media (width<=700px){.category-grid{grid-template-columns:minmax(0,1fr)}.category-card textarea,.category-card input{font-size:16px}.question-toolbar{flex-wrap:wrap}.type-switch{flex-wrap:wrap;max-width:100%}}:root{--bg:#f7f9fc;--surface:#fff;--surface-2:#f4f6fa;--text:#172039;--muted:#68718a;--line:#e6e9f0;--brand:#4f46e5;--brand-dark:#3d35c6;--brand-soft:#eeedff;--green:#15a36d;--red:#dc4c5c;--shadow:0 16px 45px #1f2a4e17}.dark{--bg:#111522;--surface:#191e2d;--surface-2:#212738;--text:#f1f3f8;--muted:#a4abc0;--line:#30374a;--brand-soft:#292755;--shadow:0 18px 48px #0000003d}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #4f46e538}.container{width:min(1160px,100% - 40px);margin-inline:auto}.student-shell{background:radial-gradient(circle at 86% 18%, #6366f117, transparent 23%), radial-gradient(circle at 6% 72%, #14b8a612, transparent 20%), var(--bg);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.topbar{z-index:3;justify-content:space-between;align-items:center;height:82px;display:flex;position:relative}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#fff;background:linear-gradient(140deg,#6d63f1,#4338ca);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 18px #4f46e53d}.brand>div:last-child{flex-direction:column;display:flex}.brand strong{letter-spacing:-.3px;font-size:19px}.brand span{color:var(--muted);letter-spacing:.4px;font-size:10px}.top-actions,.admin-top-actions{align-items:center;gap:10px;display:flex}.system-status{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 12px;font-size:12px}@supports (color:color-mix(in lab, red, red)){.system-status{background:color-mix(in srgb, var(--surface) 80%, transparent)}}.system-status i,.status-open i{background:#19b978;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #19b9781f}.icon-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.icon-button:hover{background:var(--surface-2)}.admin-link{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:650;display:flex}.student-hero{flex:1;grid-template-columns:1.2fr .82fr;align-items:center;gap:82px;min-height:630px;padding-block:46px 70px;display:grid}.hero-copy{position:relative}.hero-copy:before{content:"";border:18px solid #4f46e50f;border-radius:28px;width:88px;height:88px;position:absolute;top:-20px;left:-105px;transform:rotate(18deg)}.eyebrow{width:fit-content;color:var(--brand);background:var(--brand-soft);border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.hero-copy h1{letter-spacing:-2.2px;margin:19px 0 17px;font-size:clamp(42px,5vw,65px);line-height:1.13}.hero-copy h1 span{color:var(--brand)}.hero-copy>p{color:var(--muted);margin:0;font-size:17px;line-height:1.8}.feature-row{color:var(--muted);gap:24px;margin-top:30px;font-size:12px;display:flex}.feature-row span{align-items:center;gap:6px;display:flex}.feature-row svg{width:17px;color:var(--brand)}.lookup-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:34px;position:relative}.lookup-card:before{content:"";border:1px solid var(--brand);position:absolute;inset:-9px}@supports (color:color-mix(in lab, red, red)){.lookup-card:before{border:1px solid color-mix(in srgb, var(--brand) 18%, transparent)}}.lookup-card:before{z-index:-1;border-radius:30px}.card-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand);border-radius:15px;place-items:center;margin-bottom:17px;display:grid}.lookup-card h2,.modal h2{letter-spacing:-.5px;margin:0 0 5px;font-size:24px}.lookup-card>p,.modal>p{color:var(--muted);margin:0 0 23px;font-size:13px}label{color:var(--text);flex-direction:column;gap:7px;font-size:12px;font-weight:650;display:flex}.input-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:9px;height:50px;padding:0 13px;transition:all .2s;display:flex}.input-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px #4f46e514}.input-wrap.error{border-color:var(--red)}.input-wrap svg{color:var(--muted);flex:none}.input-wrap input{color:var(--text);background:0 0;border:0;outline:0;width:100%;font-size:15px}.clear-field{cursor:pointer;color:var(--muted);background:0 0;border:0;display:grid}.error-note{color:var(--red);margin-top:7px;font-size:11px}.primary-button,.secondary-button,.upload-button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.primary-button{color:#fff;background:var(--brand);box-shadow:0 7px 15px #4f46e530}.primary-button:hover{background:var(--brand-dark);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}.secondary-button,.upload-button{color:var(--text);background:var(--surface);border:1px solid var(--line)}.lookup-card form>.primary-button{width:100%;height:48px;margin-top:13px}.register-prompt{border-top:1px solid var(--line);color:var(--muted);justify-content:center;gap:5px;margin-top:21px;padding-top:18px;font-size:12px;display:flex}.register-prompt button,.text-button{color:var(--brand);cursor:pointer;background:0 0;border:0;font-weight:700}.student-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;padding-block:18px;font-size:10px;display:flex}.student-footer span:last-child{align-items:center;gap:5px;display:flex}.portal{flex:1;padding:30px 0 70px}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:20px;font-size:12px;display:flex}.welcome-banner{color:#fff;background:linear-gradient(110deg,#4f46e5,#6960ea);border-radius:22px;align-items:center;gap:17px;padding:27px 31px;display:flex;box-shadow:0 14px 30px #4f46e533}.student-avatar{background:#fff3;border-radius:17px;place-items:center;width:58px;height:58px;font-size:24px;font-weight:800;display:grid}.welcome-banner span{opacity:.78;font-size:11px}.welcome-banner h1{margin:2px 0;font-size:23px}.welcome-banner p{opacity:.78;margin:0;font-size:12px}.welcome-stat{text-align:center;border-left:1px solid #fff3;margin-left:auto;padding-left:34px}.welcome-stat strong{font-size:28px;display:block}.welcome-stat span{font-size:10px}.section-heading{justify-content:space-between;align-items:flex-end;margin:36px 0 18px;display:flex}.section-heading h2{margin:8px 0 0;font-size:24px}.section-heading>p{color:var(--muted);font-size:12px}.exam-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.exam-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:21px;transition:all .2s;position:relative;box-shadow:0 4px 16px #232d4b0a}.exam-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.subject-badge,.subject-dot,.subject-large-icon{border-radius:12px;place-items:center;font-weight:800;display:grid}.subject-badge{width:45px;height:45px;margin-bottom:20px;font-size:20px}.blue{color:#3e6fd3!important;background:#e9f0ff!important}.violet{color:#7e4bc6!important;background:#f1eaff!important}.emerald{color:#14926c!important;background:#e4f7f0!important}.orange{color:#d47b22!important;background:#fff0dc!important}.exam-status{font-size:10px;position:absolute;top:21px;right:19px}.exam-status span{border-radius:999px;padding:5px 8px}.status-open{color:#0b9365;background:#e5f8f1}.status-open i{width:5px;height:5px;margin-right:4px}.status-scheduled,.status-wait{color:#8c6b1f;background:#fff5d9}.status-published{color:#0b7f5a;background:#e5f8f1}.subject-code{color:var(--muted);font-size:10px}.exam-card h3{margin:2px 0 0;font-size:19px}.exam-card>p{color:var(--muted);margin:2px 0 18px;font-size:12px}.exam-meta{color:var(--muted);border-top:1px solid var(--line);gap:14px;padding-top:14px;font-size:11px;display:flex}.exam-meta span{align-items:center;gap:5px;display:flex}.exam-card>.primary-button,.exam-card>.secondary-button{width:100%;margin-top:17px}.score-result{background:var(--surface-2);border-radius:11px;justify-content:space-between;align-items:center;margin-top:14px;padding:12px;display:flex}.score-result span{color:var(--muted);font-size:9px;display:block}.score-result strong{font-size:23px}.score-result small{color:var(--muted);font-size:12px}.score-ring{color:var(--green);font-size:13px;font-weight:800}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#11172a99;place-items:center;padding:20px;animation:.16s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(520px,100%);padding:31px;position:relative;box-shadow:0 25px 70px #00000038}.modal-close{background:var(--surface-2);cursor:pointer;border:0;border-radius:10px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:17px;right:17px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.span-2{grid-column:span 2}.form-grid input,.form-grid select,.builder-form input,.builder-form select{border:1px solid var(--line);background:var(--surface);height:45px;color:var(--text);border-radius:10px;outline:0;padding:0 12px}.form-actions{justify-content:flex-end;gap:9px;margin-top:10px;display:flex}.toast{z-index:300;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;align-items:center;gap:10px;padding:11px 13px;font-size:12px;font-weight:650;display:flex;position:fixed;bottom:22px;right:22px}.toast-check{color:#fff;background:var(--green);border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.toast button{color:var(--muted);cursor:pointer;background:0 0;border:0}.exam-room{background:var(--bg);-webkit-user-select:none;user-select:none;min-height:100vh}.exam-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:21px;height:72px;padding:0 26px;display:flex;position:sticky;top:0}.exam-header .brand-mark{width:38px;height:38px}.exam-title{border-left:1px solid var(--line);flex-direction:column;padding-left:21px;display:flex}.exam-title span{color:var(--muted);font-size:9px}.exam-title strong{font-size:13px}.exam-timer{color:var(--brand);background:var(--brand-soft);border-radius:11px;align-items:center;gap:9px;margin-left:auto;padding:7px 13px;display:flex}.exam-timer div{flex-direction:column;display:flex}.exam-timer small{color:var(--muted);font-size:8px}.exam-timer strong{letter-spacing:1px;font-size:17px}.exam-body{grid-template-columns:1fr 300px;min-height:calc(100vh - 72px);display:grid}.question-area{width:100%;max-width:900px;margin-inline:auto;padding:30px max(30px,50vw - 580px)}.exam-progress{color:var(--muted);grid-template-columns:1fr auto;gap:9px;font-size:11px;display:grid}.exam-progress>div{background:var(--line);border-radius:5px;grid-column:span 2;height:5px;overflow:hidden}.exam-progress i{background:var(--brand);height:100%;transition:width .2s;display:block}.question-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-top:22px;padding:30px;box-shadow:0 8px 28px #1f2a4e0d}.question-number{color:var(--brand);font-size:13px;font-weight:800}.question-number span{float:right;color:var(--muted);background:var(--surface-2);border-radius:7px;padding:5px 8px;font-size:10px}.question-card h2{margin:14px 0 5px;font-size:20px;line-height:1.55}.question-instruction{color:var(--muted);margin-bottom:20px;font-size:11px}.option-list{gap:10px;display:grid}.option-list button{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:12px;min-height:51px;padding:8px 13px;font-size:13px;display:flex}.option-list button:hover{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.option-list button:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--line))}}.option-list button.selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:650}.option-list button>span{border:1px solid var(--line);background:var(--surface);border-radius:9px;place-items:center;width:31px;height:31px;font-weight:800;display:grid}.option-list button>svg{margin-left:auto}.question-actions{justify-content:space-between;margin-top:17px;display:flex}.question-nav{background:var(--surface);border-left:1px solid var(--line);padding:22px}.student-mini{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:19px;display:flex}.student-mini>div{background:var(--brand-soft);width:37px;height:37px;color:var(--brand);border-radius:11px;place-items:center;font-weight:800;display:grid}.student-mini>span{flex-direction:column;display:flex}.student-mini strong{font-size:11px}.student-mini small{color:var(--muted);font-size:9px}.question-nav h3{margin:22px 0 12px;font-size:13px}.number-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.number-grid button{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;font-size:10px}.number-grid button.answered{background:var(--brand-soft);color:var(--brand);border-color:#0000}.number-grid button.current{border:2px solid var(--brand);font-weight:800}.legend{color:var(--muted);gap:13px;margin:13px 0 20px;font-size:8px;display:flex}.legend span{align-items:center;gap:4px;display:flex}.legend i{border:1px solid var(--line);border-radius:2px;width:7px;height:7px}.legend i.done{background:var(--brand);border-color:var(--brand)}.security-card{color:#157355;background:#edf9f4;border-radius:11px;gap:9px;padding:12px;display:flex}.dark .security-card{background:#1d3a33}.security-card div{flex-direction:column;display:flex}.security-card strong{font-size:9px}.security-card small{opacity:.76;font-size:8px;line-height:1.5}.submit-outline{border:1px solid var(--brand);width:100%;height:40px;color:var(--brand);cursor:pointer;background:0 0;border-radius:10px;margin-top:12px;font-size:11px;font-weight:700}.warning-modal,.confirm-modal{text-align:center;max-width:440px}.warning-modal .primary-button,.confirm-modal .primary-button{width:100%}.warning-icon{color:#d87929;background:#fff1df;border-radius:17px;place-items:center;width:56px;height:56px;margin:0 auto 15px;display:grid}.warning-box{text-align:left;color:#8c611b;background:#fff8e9;border-radius:10px;flex-direction:column;margin:20px 0;padding:12px;font-size:11px;display:flex}.dark .warning-box{background:#41351f}.warning-box span{margin-top:3px;font-size:10px}.danger{background:var(--red)}.danger:hover{background:#be3b4a}.lock-screen{z-index:200;color:#fff;background:#171824;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lock-screen:before{content:"";background:radial-gradient(circle,#dc4c5c29,#0000 68%);width:440px;height:440px;position:absolute}.lock-panel{text-align:center;width:min(410px,100%);position:relative}.lock-icon{color:#ff6c7c;background:#dc4c5c24;border:1px solid #dc4c5c42;border-radius:21px;place-items:center;width:68px;height:68px;margin:0 auto 18px;display:grid}.danger-label{color:#ff7180;text-transform:uppercase;letter-spacing:1.2px;font-size:9px;font-weight:800}.lock-panel h1{margin:8px 0;font-size:27px}.lock-panel>p{color:#9ea5ba;font-size:12px;line-height:1.7}.violation-count{color:#b7bdcb;background:#ffffff0f;border-radius:10px;justify-content:center;gap:7px;margin:21px 0;padding:10px;font-size:10px;display:flex}.violation-count svg{width:16px}.lock-panel label{text-align:left;color:#fff}.lock-panel .input-wrap{background:#ffffff0f;border-color:#ffffff21;margin-top:1px}.lock-panel input{color:#fff;text-align:center;letter-spacing:6px}.lock-panel>.primary-button{width:100%;margin-top:11px}.lock-panel>small{color:#737b90;margin-top:12px;font-size:9px;display:block}.admin-shell{background:var(--bg);min-height:100vh}.admin-sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:30;flex-direction:column;width:235px;padding:22px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{justify-content:space-between;padding:0 8px 23px;display:flex}.sidebar-brand>button{background:0 0;border:0;display:none}.admin-label{color:var(--muted);letter-spacing:1.4px;padding:0 11px 8px;font-size:8px;font-weight:800}.admin-sidebar nav{gap:3px;display:grid}.admin-sidebar nav button{height:42px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 11px;font-size:12px;font-weight:650;display:flex}.admin-sidebar nav button:hover{background:var(--surface-2)}.admin-sidebar nav button.active{color:var(--brand);background:var(--brand-soft)}.nav-count{color:#fff;background:var(--red);border-radius:99px;place-items:center;min-width:19px;height:19px;margin-left:auto;font-size:8px;display:grid}.sidebar-security{color:#17805e;background:#eaf8f2;border-radius:11px;align-items:center;gap:8px;margin-top:auto;padding:11px;display:flex;position:relative}.dark .sidebar-security{background:#1f3934}.sidebar-security svg{width:17px}.sidebar-security div{flex-direction:column;display:flex}.sidebar-security strong{font-size:9px}.sidebar-security small{opacity:.75;font-size:7px}.sidebar-security i{background:#18aa78;border-radius:50%;width:6px;height:6px;margin-left:auto}.student-switch{border:1px solid var(--line);height:35px;color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin:10px 0;font-size:9px;display:flex}.admin-profile{border-top:1px solid var(--line);align-items:center;gap:8px;padding:13px 4px 0;display:flex}.admin-profile>div{color:#925c35;background:#f5dfcb;border-radius:10px;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.admin-profile span{flex-direction:column;display:flex}.admin-profile strong{font-size:9px}.admin-profile small{color:var(--muted);font-size:8px}.admin-profile svg{color:var(--muted);margin-left:auto}.admin-main{min-height:100vh;margin-left:235px}.admin-topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;height:75px;padding:0 30px;display:flex;position:sticky;top:0}.admin-topbar>div:first-of-type{flex-direction:column;display:flex}.admin-topbar span{color:var(--muted);font-size:8px}.admin-topbar h1{margin:1px 0 0;font-size:19px}.admin-top-actions{margin-left:auto}.admin-search{background:var(--surface-2);width:230px;height:37px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:0 10px;display:flex}.admin-search input{color:var(--text);background:0 0;border:0;outline:0;width:100%;font-size:10px}.notify-button{position:relative}.notify-button i{background:var(--red);border:1px solid var(--surface);border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.menu-button{background:0 0;border:0;margin-right:10px;display:none}.admin-content{max-width:1450px;margin:auto;padding:25px 30px 50px}.admin-welcome{background:linear-gradient(110deg, var(--surface), var(--brand-soft));border-radius:17px;align-items:center;min-height:135px;padding:24px 28px;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-welcome{background:linear-gradient(110deg, var(--surface), color-mix(in srgb, var(--brand-soft) 70%, var(--surface)))}}.admin-welcome{border:1px solid var(--line);position:relative;overflow:hidden}.admin-welcome:after{content:"";border:34px solid #4f46e512;border-radius:50%;width:190px;height:190px;position:absolute;right:100px}.admin-welcome h2{margin:9px 0 2px;font-size:23px}.admin-welcome p{color:var(--muted);margin:0;font-size:11px}.admin-welcome>.primary-button{z-index:1;margin-left:auto}.stat-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin:15px 0;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:11px;padding:16px;display:flex}.stat-icon{border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.stat-icon svg{width:19px}.stat-card>div:nth-child(2){flex-direction:column;display:flex}.stat-card span{color:var(--muted);font-size:9px}.stat-card strong{margin:1px 0;font-size:22px}.stat-card small{color:var(--green);font-size:8px}.stat-card>svg{color:var(--muted);width:17px;margin-left:auto}.dashboard-grid{grid-template-columns:1.6fr .8fr;gap:15px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.panel-heading h3{margin:0;font-size:13px}.panel-heading p{color:var(--muted);margin:2px 0 0;font-size:9px}.panel-heading button{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;font-size:9px;font-weight:700;display:flex}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px}th{text-align:left;color:var(--muted);background:var(--surface-2);padding:9px 15px;font-size:8px;font-weight:700}td{border-bottom:1px solid var(--line);color:var(--muted);padding:11px 15px;font-size:9px}tbody tr:last-child td{border-bottom:0}.table-subject,.student-cell{align-items:center;gap:9px;display:flex}.subject-dot{border-radius:9px;width:31px;height:31px}.table-subject div{flex-direction:column;display:flex}.table-subject strong,td strong{color:var(--text);font-size:10px}.table-subject small{font-size:8px}.table-status{border-radius:99px;padding:4px 7px;font-size:8px;font-weight:700;display:inline-flex}.table-status.open{color:#0c8a62;background:#e5f8f1}.table-status.scheduled{color:#a66b18;background:#fff3dc}.table-status.draft{background:var(--surface-2);color:var(--muted)}.row-menu{color:var(--muted);cursor:pointer;background:0 0;border:0}.row-menu svg{width:16px}.activity-list{padding:4px 18px}.activity{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:11px 0;display:flex}.activity:last-child{border-bottom:0}.activity-icon{border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.activity-icon svg{width:14px}.activity>div:last-child{flex-direction:column;display:flex}.activity strong{font-size:9px}.activity span{color:var(--muted);margin-top:2px;font-size:8px}.full-panel{min-height:500px;overflow:hidden}.page-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 22px;display:flex}.page-toolbar.standalone{border:0;padding:0 0 19px}.page-toolbar h2{margin:0;font-size:18px}.page-toolbar p{color:var(--muted);margin:3px 0 0;font-size:10px}.page-toolbar>div:last-child{gap:8px;display:flex}.filterbar{border-bottom:1px solid var(--line);align-items:center;gap:7px;min-height:48px;padding:8px 15px;display:flex}.filterbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:9px}.filterbar button.active{background:var(--brand-soft);color:var(--brand);font-weight:700}.filterbar button span{margin-left:4px}.filterbar select{border:1px solid var(--line);background:var(--surface);height:31px;color:var(--text);border-radius:8px;margin-left:auto;padding:0 8px;font-size:9px}.upload-button{position:relative}.upload-button input{opacity:0;width:1px;position:absolute}.student-cell span{background:var(--brand-soft);width:26px;height:26px;color:var(--brand);border-radius:8px;place-items:center;font-weight:800;display:grid}.score-cell{color:var(--brand)}.class-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.class-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px}.class-head{align-items:flex-start;display:flex}.class-head>div{flex-direction:column;display:flex}.class-head span{background:var(--brand-soft);width:fit-content;color:var(--brand);border-radius:6px;padding:4px 7px;font-size:9px;font-weight:800}.class-head strong{margin-top:8px;font-size:13px}.class-head button,.subject-admin-grid article>button{color:var(--muted);background:0 0;border:0;margin-left:auto}.class-info{color:var(--muted);gap:17px;margin:14px 0;font-size:9px;display:flex}.class-info span{align-items:center;gap:5px;display:flex}.class-info svg{width:14px}.room-tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-top:13px;display:flex}.room-tags button{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:7px;padding:5px 8px;font-size:8px}.subject-admin-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.subject-admin-grid article{background:var(--surface);border:1px solid var(--line);border-radius:15px;align-items:center;gap:13px;padding:18px;display:flex}.subject-large-icon{flex:none;width:48px;height:48px;font-size:21px}.subject-admin-grid article>div:nth-child(2) span{color:var(--muted);font-size:8px}.subject-admin-grid h3{margin:0;font-size:14px}.subject-admin-grid p{color:var(--muted);margin:2px 0 0;font-size:8px}.result-summary{background:var(--surface-2);align-items:center;gap:13px;padding:17px 22px;display:flex}.result-summary>div:nth-child(2) span,.result-summary p{color:var(--muted);margin:0;font-size:9px}.result-summary h3{margin:2px 0;font-size:13px}.publish-pill{color:#a76b19;background:#fff2d7;border-radius:9px;align-items:center;gap:5px;margin-left:auto;padding:7px 10px;font-size:9px;font-weight:700;display:flex}.publish-pill.done{color:#10815e;background:#e5f8f1}.publish-pill svg{width:14px}.builder-overlay{z-index:100;background:var(--bg);position:fixed;inset:0;overflow:auto}.builder-shell{min-height:100vh}.builder-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:4;align-items:center;height:69px;padding:0 25px;display:flex;position:sticky;top:0}.builder-header>div:first-child{align-items:center;gap:13px;display:flex}.builder-header>div:first-child>button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.builder-header>div:first-child>button svg{width:18px}.builder-header span{color:var(--muted);font-size:8px;display:block}.builder-header h2{margin:2px 0 0;font-size:14px}.builder-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.builder-actions>span{color:var(--green);align-items:center;gap:4px;margin-right:8px;font-size:8px;display:flex}.builder-actions>span svg{width:11px}.builder-steps{background:var(--surface);border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:65px;display:flex}.builder-steps button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-size:9px;display:flex}.builder-steps button>span{background:var(--surface-2);border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;display:grid}.builder-steps button>span svg{width:13px}.builder-steps button.active{color:var(--brand);font-weight:800}.builder-steps button.active>span{background:var(--brand);color:#fff}.builder-steps button.done>span{color:var(--green);background:#e4f7f0}.builder-steps i{background:var(--line);width:75px;height:1px;margin:0 10px}.builder-form,.publish-settings{width:min(700px,100% - 30px);margin:28px auto;padding:26px}.builder-form h3{margin:0 0 20px}.builder-form .form-grid{margin-bottom:21px}.next-step{float:right}.builder-workspace{grid-template-columns:minmax(0,740px) 235px;justify-content:center;gap:18px;padding:25px 20px 60px;display:grid}.section-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.section-card-head{background:var(--brand-soft);border-bottom:1px solid var(--brand);align-items:center;gap:10px;height:57px;padding:0 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.section-card-head{border-bottom:1px solid color-mix(in srgb, var(--brand) 18%, var(--line))}}.drag-handle{color:#a5a9b6;cursor:grab;font-size:20px}.section-card-head>input{width:100%;color:var(--brand);background:0 0;border:0;outline:0;font-size:12px;font-weight:800}.section-card-head label{white-space:nowrap;flex-direction:row;align-items:center;font-size:8px}.section-card-head label input{border:1px solid var(--line);text-align:center;border-radius:7px;width:47px;height:29px}.section-card-head>button{background:0 0;border:0}.builder-question{border-bottom:1px solid var(--line);padding:16px 18px 20px}.question-toolbar{align-items:center;gap:9px;margin-bottom:12px;display:flex}.question-toolbar strong{font-size:10px}.type-switch{background:var(--surface-2);border-radius:8px;padding:3px;display:flex}.type-switch button{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:8px;display:flex}.type-switch button.active{background:var(--surface);color:var(--brand);font-weight:800;box-shadow:0 2px 6px #0000000f}.type-switch svg{width:12px}.question-toolbar label{flex-direction:row;align-items:center;margin-left:auto;font-size:8px}.question-toolbar label input{border:1px solid var(--line);background:var(--surface);width:43px;height:28px;color:var(--text);text-align:center;border-radius:7px}.question-toolbar>button{width:27px;height:27px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.question-toolbar>button svg{width:14px}.builder-question>textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;height:62px;color:var(--text);border-radius:9px;outline:0;padding:10px;font-size:10px}.builder-options{gap:7px;margin-top:10px;display:grid}.builder-options>div{align-items:center;gap:7px;display:flex}.builder-options>div>button:first-child{border:1px solid var(--line);background:var(--surface);width:29px;height:29px;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;place-items:center;font-size:9px;display:grid}.builder-options>div>button:first-child.correct{color:#fff;background:var(--green);border-color:var(--green)}.builder-options button svg{width:12px}.builder-options>div input{border:1px solid var(--line);background:var(--surface);width:100%;height:33px;color:var(--text);border-radius:8px;padding:0 9px;font-size:9px}.builder-options>div>button:last-child{color:var(--muted);background:0 0;border:0}.add-option{width:fit-content;color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-size:8px;display:flex}.builder-options>small{color:var(--green);align-items:center;gap:4px;font-size:7px;display:flex}.builder-options>small svg{width:10px}.add-question{border:1px dashed var(--brand);color:var(--brand);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:5px;margin:14px auto;padding:8px 14px;font-size:8px;font-weight:700;display:flex}.add-question svg,.add-section svg{width:13px}.add-section{border:1px dashed var(--line);background:var(--surface);width:100%;height:45px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:5px;margin-top:11px;font-size:9px;display:flex}.text-answer{background:var(--surface-2);border-radius:10px;margin-top:10px;padding:12px}.text-answer textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-height:55px;color:var(--text);border-radius:8px;padding:9px;font-size:9px}.text-answer>div{gap:18px;margin-top:8px;display:flex}.text-answer>div label{color:var(--muted);flex-direction:row;align-items:center;font-size:8px}.builder-summary,.builder-tip{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:17px}.builder-summary h3{margin:0 0 11px;font-size:12px}.builder-summary>div{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:8px 0;font-size:9px;display:flex}.builder-summary>div strong{color:var(--text)}.builder-summary strong.mismatch{color:var(--red)}.builder-summary>p{color:#a96324;background:#fff1e6;border-radius:7px;padding:8px;font-size:7px}.dark .builder-summary>p{background:#3f3024}.builder-summary .primary-button{width:100%;margin-top:11px;font-size:9px}.builder-tip{color:var(--brand);gap:8px;margin-top:10px;display:flex}.builder-tip svg{flex:none;width:16px}.builder-tip strong{font-size:9px}.builder-tip p{color:var(--muted);margin:4px 0 0;font-size:8px}.publish-settings{text-align:center}.publish-icon{background:var(--brand-soft);width:62px;height:62px;color:var(--brand);border-radius:19px;place-items:center;margin:0 auto 15px;display:grid}.publish-settings h2{margin:0}.publish-settings>p{color:var(--muted);font-size:11px}.setting-list{text-align:left;margin:23px 0}.setting-list>label{border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:13px 0}.setting-list span{grid-template-columns:28px 1fr;display:grid}.setting-list span svg{color:var(--brand);grid-row:span 2;width:18px}.setting-list b{font-size:10px}.setting-list small{color:var(--muted);font-size:8px}.setting-list input{margin-left:auto}.publish-settings>.primary-button{width:100%}@media (width<=1000px){.student-hero{grid-template-columns:1fr 420px;gap:35px}.hero-copy h1{font-size:45px}.feature-row{flex-wrap:wrap;gap:12px}.exam-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.class-grid,.subject-admin-grid{grid-template-columns:repeat(2,1fr)}.builder-workspace{grid-template-columns:minmax(0,1fr) 220px}}@media (width<=760px){.container{width:min(100% - 26px,580px)}.system-status,.admin-link{place-items:center;width:39px;height:39px;padding:0;font-size:0;display:grid}.system-status i{margin:0}.student-hero{grid-template-columns:1fr;gap:32px;padding-top:30px}.hero-copy{text-align:center}.hero-copy .eyebrow{margin-inline:auto}.hero-copy h1{letter-spacing:-1.3px;font-size:39px}.hero-copy>p br{display:none}.feature-row{justify-content:center}.lookup-card{padding:27px}.student-footer{flex-direction:column;align-items:center;gap:7px}.exam-grid{grid-template-columns:1fr}.welcome-stat{display:none}.section-heading{flex-direction:column;align-items:flex-start}.exam-body{display:block}.question-nav{display:none}.question-area{padding:21px 14px}.exam-title{display:none}.exam-header{padding:0 12px}.question-card{padding:21px 17px}.question-card h2{font-size:17px}.question-actions .secondary-button{font-size:0}.question-actions .secondary-button svg{margin:0}.admin-sidebar{box-shadow:var(--shadow);transition:all .2s;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.sidebar-brand>button{display:block}.admin-main{margin-left:0}.menu-button{display:grid}.admin-topbar{padding:0 14px}.admin-search{display:none}.admin-content{padding:16px 13px 40px}.admin-welcome{flex-direction:column;align-items:flex-start}.admin-welcome>.primary-button{margin:15px 0 0}.stat-grid{grid-template-columns:1fr 1fr}.class-grid,.subject-admin-grid{grid-template-columns:1fr}.page-toolbar{flex-direction:column;align-items:flex-start;gap:13px}.filterbar{overflow-x:auto}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.builder-header{padding:0 11px}.builder-actions>span,.builder-actions .secondary-button{display:none}.builder-header .primary-button{width:40px;padding:0;font-size:0}.builder-steps button{font-size:0}.builder-steps i{width:32px}.builder-workspace{grid-template-columns:1fr;padding:14px 10px 40px}.builder-workspace>aside{order:-1}.builder-tip{display:none}.builder-summary{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.builder-summary h3,.builder-summary p,.builder-summary .primary-button{grid-column:span 3}.builder-summary>div{flex-direction:column}.question-toolbar{flex-wrap:wrap}.question-toolbar label{margin-left:0}.type-switch{order:5;width:100%}.type-switch button{flex:1;justify-content:center}.section-card-head label{display:none}}.field-help{color:var(--muted);margin-top:6px;font-size:11px;font-weight:500;display:block}.question-image-field{border:1px dashed var(--brand);gap:9px;margin:12px 0 18px;padding:13px;display:grid}@supports (color:color-mix(in lab, red, red)){.question-image-field{border:1px dashed color-mix(in srgb, var(--brand) 35%, var(--line))}}.question-image-field{background:var(--brand);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.question-image-field{background:color-mix(in srgb, var(--brand) 3%, var(--surface))}}.question-image-actions{grid-template-columns:auto minmax(180px,1fr);gap:9px;display:grid}.image-upload-button{cursor:pointer;white-space:nowrap}.image-upload-button input{display:none}.question-image-preview{border-top:1px solid var(--line);grid-template-columns:minmax(120px,210px) 1fr auto;align-items:end;gap:12px;padding-top:9px;display:grid}.question-image-preview img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-height:150px}.question-image-preview .danger-icon{gap:4px;width:auto;padding-inline:10px}.exam-question-image{text-align:center;margin:0 0 20px}.exam-question-image img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:14px;width:auto;max-width:min(100%,760px);max-height:390px}.exam-question-image figcaption{color:var(--muted);margin-top:6px;font-size:11px}.live-security-grid{border-bottom:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:13px;display:grid}.live-security-grid>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;padding:9px 10px}.live-security-grid span,.live-security-grid strong{display:block}.live-security-grid span{color:var(--muted);font-size:9px}.live-security-grid strong{overflow-wrap:anywhere;margin-top:2px;font-size:11px}.live-security-grid .ok strong{color:var(--green)}.live-security-grid .warn strong,.live-security-grid .danger strong{color:var(--red)}.exam-room{isolation:isolate;-webkit-user-select:none;user-select:none}.exam-room textarea,.exam-room input{-webkit-user-select:text;user-select:text}.exam-watermark{z-index:18;pointer-events:none;color:var(--text);grid-template-columns:repeat(3,1fr);place-items:center;display:grid;position:fixed;inset:-15vh -10vw;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.exam-watermark{color:color-mix(in srgb, var(--text) 10%, transparent)}}.exam-watermark{animation:12s ease-in-out infinite alternate oxzamWatermarkDrift;transform:rotate(-18deg)}.exam-watermark span{text-align:center;letter-spacing:.4px;white-space:nowrap;width:100%;padding:38px 12px;font-size:clamp(10px,1.2vw,15px);font-weight:800}@keyframes oxzamWatermarkDrift{0%{transform:translate(-18px,-10px)rotate(-18deg)}to{transform:translate(22px,14px)rotate(-18deg)}}.content-shield{z-index:90;color:#fff;text-align:center;background:#0c1224;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.content-shield>div{width:min(480px,100%)}.content-shield svg{color:#ffb84d;width:48px;height:48px}.content-shield h2{margin:13px 0 5px}.content-shield p{color:#bdc7df;margin:0 0 20px}@media (width<=760px){.question-image-actions,.question-image-preview{grid-template-columns:1fr}.image-upload-button{width:100%}.exam-watermark{grid-template-columns:repeat(2,1fr)}.live-security-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden!important}body:before{content:"OXzam ปิดการพิมพ์และการบันทึกข้อสอบเป็น PDF";color:#111;text-align:center;background:#fff;place-items:center;padding:40px;font:700 22px/1.5 system-ui,sans-serif;display:grid;position:fixed;inset:0;visibility:visible!important}}@media (width<=430px){.feature-row{display:none}.hero-copy h1{font-size:34px}.stat-grid{grid-template-columns:1fr}.welcome-banner{padding:21px}.welcome-banner h1{font-size:18px}.modal{padding:25px 20px}.page-toolbar>div:last-child{flex-wrap:wrap}.builder-summary{grid-template-columns:1fr}.builder-summary h3,.builder-summary p,.builder-summary .primary-button{grid-column:span 1}}.row-actions,.card-actions{align-items:center;gap:5px;display:flex}.row-actions button,.card-actions button{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--brand);cursor:pointer;border-radius:8px;place-items:center;display:grid}.row-actions button:hover,.card-actions button:hover{background:var(--brand-soft)}.row-actions button.delete,.card-actions button.delete,.danger-icon{color:var(--red)}.status-select{border:1px solid var(--line);background:var(--surface);min-width:88px;height:29px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 7px;font-size:8px;font-weight:700}.status-select.open{color:var(--green);border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.status-select.open{border-color:color-mix(in srgb, var(--green) 30%, var(--line))}}.status-select.closed{color:var(--red)}.status-select.scheduled{color:#a66b18}.room-tag{border:1px solid var(--line);border-radius:8px;align-items:stretch;display:inline-flex;overflow:hidden}.room-tag button{border:0;border-radius:0}.room-tag .delete-room{color:var(--red);border-left:1px solid var(--line);padding:4px}.class-head>button{border:1px solid var(--line);cursor:pointer;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.subject-admin-grid .card-actions{margin-left:auto}.editor-modal input:disabled{opacity:.62;cursor:not-allowed;background:var(--surface-2)}.small-modal{max-width:430px}.editable-section+.editable-section{margin-top:14px}.review-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0;display:grid}.review-grid>div{background:var(--surface-2);border-radius:10px;padding:15px 10px}.review-grid span{color:var(--muted);font-size:8px;display:block}.review-grid strong{margin-top:4px;font-size:14px;display:block}@media (width<=600px){.review-grid{grid-template-columns:1fr 1fr}}html{font-size:16px}body{text-rendering:optimizelegibility;font-size:15px;line-height:1.6}button,input,select,textarea{font-size:max(14px,1em)}label{font-size:13px}.primary-button,.secondary-button,.upload-button{min-height:44px;font-size:14px}.container{width:min(1180px,100% - 40px)}.oxzam-brand .brand-mark{background:linear-gradient(145deg,#312e81,#4f46e5);border-radius:15px;width:46px;height:46px;position:relative;overflow:visible}.bull-face{background:#fff8e7;border-radius:9px 9px 12px 12px;width:23px;height:24px;display:block;position:relative}.bull-face:before{content:"";background:#dcc9ad;border-radius:5px;height:7px;position:absolute;bottom:3px;left:4px;right:4px}.bull-face b{background:#25233c;border-radius:50%;width:3px;height:3px;position:absolute;top:7px}.bull-face b:first-child{left:5px}.bull-face b:last-child{right:5px}.bull-horn{z-index:0;border-top:4px solid #fff8e7;width:15px;height:11px;position:absolute;top:8px}.bull-horn.left{border-left:4px solid #fff8e7;border-radius:12px 0 0;left:-4px;transform:rotate(-14deg)}.bull-horn.right{border-right:4px solid #fff8e7;border-radius:0 12px 0 0;right:-4px;transform:rotate(14deg)}.oxzam-brand strong{letter-spacing:-.7px;font-size:23px;line-height:1}.oxzam-brand strong span{color:var(--brand);font-size:inherit;letter-spacing:inherit;display:inline}.oxzam-brand small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1}.admin-link{min-height:42px;font-size:14px}.eyebrow{font-size:13px}.hero-copy h1{font-size:clamp(42px,5vw,68px)}.hero-copy>p{font-size:clamp(16px,1.5vw,18px)}.feature-row{font-size:13px}.lookup-card>p,.modal>p{font-size:14px}.error-note{font-size:12px}.register-prompt,.back-link{font-size:13px}.student-footer{font-size:12px}.welcome-banner span,.welcome-banner p{font-size:13px}.welcome-banner h1{font-size:25px}.subject-code{font-size:12px}.exam-card>p,.exam-meta{font-size:13px}.exam-status,.score-result span{font-size:11px}.admin-sidebar{width:258px}.admin-main{margin-left:258px}.admin-label{font-size:10px}.admin-sidebar nav button{height:auto;min-height:46px;font-size:14px}.nav-count{font-size:10px}.student-switch{font-size:13px}.admin-topbar{height:auto;min-height:76px}.admin-topbar span{font-size:11px}.admin-topbar h1{font-size:22px}.admin-welcome p,.page-toolbar p{font-size:13px}.stat-card span{font-size:12px}.stat-card strong{font-size:30px}.panel-head h2,.page-toolbar h2{font-size:19px}.panel-head p,.activity strong{font-size:12px}.activity span{font-size:11px}.filterbar button,.filterbar select,.status-select{min-height:34px;font-size:12px}table th{font-size:12px}table td{font-size:13px}.student-cell span{width:32px;height:32px}.class-head span,.class-info,.room-tags button{font-size:11px}.class-head strong{font-size:15px}.subject-admin-grid article>div:nth-child(2) span,.subject-admin-grid p{font-size:11px}.subject-admin-grid h3{font-size:16px}.result-summary>div:nth-child(2) span,.result-summary p,.publish-pill{font-size:11px}.result-summary h3{font-size:15px}.empty-state{text-align:center;min-height:330px;color:var(--muted);place-content:center;justify-items:center;padding:38px 24px;display:grid}.empty-state>div{width:58px;height:58px;color:var(--brand);background:var(--brand-soft);border-radius:18px;place-items:center;display:grid}.empty-state h3{color:var(--text);margin:16px 0 4px;font-size:19px}.empty-state p{max-width:460px;margin:0 0 18px;font-size:13px}.manager-search{min-width:min(320px,42vw)}.toolbar-select{border:1px solid var(--line);background:var(--surface);max-width:270px;min-height:42px;color:var(--text);border-radius:10px;padding:0 12px}.auth-form{gap:15px;display:grid}.auth-form input,.settings-card input{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--text);border-radius:10px;padding:0 12px}.auth-form .primary-button{margin-top:4px}.loading-line{background:var(--surface-2);color:var(--muted);text-align:center;border-radius:11px;padding:17px}.wide-modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-card{padding:26px}.settings-card h2{margin:14px 0 5px;font-size:20px}.settings-card p,.settings-card li,.settings-card small{color:var(--muted);font-size:13px}.settings-card form{gap:13px;margin-top:20px;display:grid}.settings-icon{width:48px;height:48px;color:var(--brand);background:var(--brand-soft);border-radius:14px;place-items:center;display:grid}.settings-icon.firebase{color:#b86913;background:#fff3db}.settings-icon.security{color:#155e75;background:#dff7fb}.security-detection-card{grid-column:1/-1}.detection-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.detection-list li{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.detection-list svg{color:#0f879b;width:18px;min-width:18px}.integration-status{border-radius:9px;align-items:center;gap:8px;width:fit-content;margin:18px 0;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.integration-status i{border-radius:50%;width:8px;height:8px}.integration-status.connected{color:#0b7f5a;background:#e5f8f1}.integration-status.connected i{background:#10a976}.integration-status.waiting{color:#9a681e;background:#fff4da}.integration-status.waiting i{background:#e49b2c}.score-editor{align-items:center;gap:6px;display:flex}.score-editor input{border:1px solid var(--line);background:var(--surface);width:72px;height:36px;color:var(--text);border-radius:8px;padding:0 8px}.essay-answer{margin-top:22px}.essay-answer textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);min-height:150px;color:var(--text);border-radius:12px;padding:14px}.exam-timer.urgent{color:var(--red);background:var(--red)}@supports (color:color-mix(in lab, red, red)){.exam-timer.urgent{background:color-mix(in srgb, var(--red) 12%, var(--surface))}}.builder-header span,.builder-steps button,.section-card-head label,.question-toolbar strong,.question-toolbar label,.type-switch button,.builder-options>div input,.add-option,.builder-options>small,.add-question,.add-section,.text-answer textarea,.text-answer>div label,.builder-summary>div,.builder-tip p,.setting-list small{font-size:12px}.builder-header h2{font-size:17px}.section-card-head>input{font-size:14px}.builder-question>textarea{min-height:80px;font-size:14px}.builder-summary h3,.builder-tip strong,.setting-list b{font-size:14px}.builder-summary .primary-button{font-size:13px}@media (width<=1000px){.admin-sidebar{width:240px}.admin-main{margin-left:240px}.settings-grid{grid-template-columns:1fr}}@media (width<=760px){html{font-size:15px}.container{width:min(100% - 28px,600px)}.admin-sidebar{width:min(280px,86vw)}.admin-main{margin-left:0}.topbar{height:74px}.oxzam-brand .brand-mark{width:42px;height:42px}.oxzam-brand strong{font-size:21px}.hero-copy h1{font-size:clamp(35px,10vw,46px)}.lookup-card{padding:26px 22px}.welcome-banner{align-items:flex-start}.page-toolbar>div:last-child{width:100%}.manager-search,.toolbar-select{width:100%;min-width:0;max-width:none}.table-wrap{overflow-x:auto}table{min-width:700px}.builder-header h2{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;overflow:hidden}}@media (width<=430px){.top-actions{gap:7px}.admin-link{place-items:center;width:42px;padding:0;font-size:0;display:grid}.admin-link svg{width:19px}.hero-copy h1{font-size:34px}.hero-copy>p{font-size:15px}.student-avatar{width:50px;height:50px}.welcome-banner h1{font-size:19px}.settings-card{padding:21px}}.student-manager .manager-search{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;align-items:center;gap:10px;width:auto;min-width:0;min-height:46px;margin:18px 22px;padding:0 14px;display:flex}.student-manager .manager-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.room-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:8px 22px 24px;display:grid}.room-folder{border:1px solid var(--line);background:linear-gradient(145deg, var(--surface), var(--surface-2));min-width:0;color:var(--text);text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:50px 1fr auto;align-items:center;gap:13px;padding:18px;transition:all .2s;display:grid;box-shadow:0 6px 18px #1f2a4e0a}.room-folder:hover{border-color:var(--brand);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.room-folder:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--line))}}.room-folder:hover{box-shadow:var(--shadow)}.folder-icon{width:50px;height:50px;color:var(--brand);background:var(--brand-soft);border-radius:15px;place-items:center;display:grid}.room-folder>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.room-folder strong{font-size:16px}.room-folder span{color:var(--muted);font-size:12px}.room-folder>svg{width:17px;color:var(--muted)}.folder-breadcrumb{border-block:1px solid var(--line);background:var(--surface-2);align-items:center;gap:12px;padding:14px 22px;display:flex}.folder-breadcrumb button{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;display:flex}.folder-breadcrumb span{color:var(--muted);font-size:12px}.stats-link{align-items:center;gap:6px;font-size:12px;display:inline-flex}.stats-link svg{width:15px}.student-profile-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:20px;display:flex}.student-profile-head>div:nth-child(2){min-width:0}.student-profile-head span,.student-profile-head p{color:var(--muted);margin:0;font-size:12px}.student-profile-head h2{margin:2px 0}.profile-average{text-align:center;background:var(--brand-soft);min-width:92px;color:var(--brand);border-radius:14px;margin-left:auto;padding:13px}.profile-average strong{font-size:25px;display:block}.subject-stat-list{gap:10px;margin-top:18px;display:grid}.subject-stat-list article{border:1px solid var(--line);border-radius:13px;align-items:center;gap:12px;padding:13px;display:flex}.subject-stat-list .subject-badge{flex:none;margin:0}.subject-stat-copy{flex-direction:column;flex:1;min-width:0;display:flex}.subject-stat-copy span,.subject-stat-copy small{color:var(--muted);font-size:11px}.subject-stat-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subject-score{text-align:right}.subject-score strong{font-size:18px;display:block}.subject-score span{color:var(--green);font-weight:800}.proctor-shell{gap:16px;display:grid}.proctor-shell>.page-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:21px 22px}.live-strip{border:1px solid var(--line);background:var(--line);border-radius:16px;grid-template-columns:auto repeat(4,1fr);align-items:center;gap:1px;display:grid;overflow:hidden}.live-strip>*{background:var(--surface);flex-direction:column;justify-content:center;align-items:center;height:76px;display:flex}.live-strip>span{color:var(--red);letter-spacing:1px;flex-direction:row;gap:8px;padding:0 24px;font-weight:900}.live-strip>span i{background:var(--red);width:9px;height:9px;box-shadow:0 0 0 6px var(--red);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.live-strip>span i{box-shadow:0 0 0 6px color-mix(in srgb, var(--red) 16%, transparent)}}.live-strip>span i{animation:1.4s infinite livePulse}@keyframes livePulse{50%{opacity:.45}}.live-strip strong{font-size:25px;line-height:1}.live-strip small{color:var(--muted);margin-top:6px}.live-strip .risk strong{color:var(--red)}.proctor-grid{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-height:570px;display:grid;overflow:hidden;box-shadow:0 12px 34px #1f2a4e0f}.proctor-students{border-right:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:17px;display:grid}.proctor-student{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:82px;color:var(--text);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex;position:relative}.proctor-student:hover,.proctor-student.selected{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.proctor-student:hover,.proctor-student.selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 10%, transparent)}}.proctor-student.has-risk{border-color:var(--red)}@supports (color:color-mix(in lab, red, red)){.proctor-student.has-risk{border-color:color-mix(in srgb, var(--red) 42%, var(--line))}}.proctor-student>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.proctor-student>div:nth-child(2) strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.proctor-student>div:nth-child(2) span{color:var(--muted);font-size:10px}.live-state{color:var(--muted);align-items:center;gap:4px;font-size:9px;display:flex;position:absolute;top:8px;right:9px}.live-state i{background:var(--muted);border-radius:50%;width:6px;height:6px}.live-state.online{color:var(--green)}.live-state.online i{background:var(--green)}.live-state.done{color:var(--brand)}.live-state.done i{background:var(--brand)}.risk-count{color:var(--red);align-items:center;gap:3px;font-size:10px;display:flex;position:absolute;bottom:8px;right:9px}.risk-count svg{width:13px}.log-panel{background:var(--surface);min-width:0}.log-panel-head{border-bottom:1px solid var(--line);align-items:center;padding:18px;display:flex}.log-panel-head span{color:var(--muted);font-size:10px}.log-panel-head h3{margin:1px 0 0;font-size:16px}.log-panel-head button{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto}.log-timeline{max-height:510px;padding:16px 19px;overflow-y:auto}.log-event{grid-template-columns:12px 1fr;gap:10px;padding-bottom:19px;display:grid;position:relative}.log-event:before{content:"";background:var(--line);width:1px;position:absolute;top:11px;bottom:0;left:4px}.log-dot{z-index:1;background:var(--green);width:9px;height:9px;box-shadow:0 0 0 4px var(--surface);border-radius:50%;margin-top:4px;position:relative}.log-event.risk-2 .log-dot,.log-event.risk-3 .log-dot{background:var(--red)}.log-event strong{font-size:12px}.log-event p{color:var(--muted);margin:2px 0;font-size:11px}.log-event time{color:var(--muted);font-size:9px}.publish-toggle,.delete-result{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:5px;padding:0 9px;font-size:11px;display:inline-flex}.publish-toggle svg,.delete-result svg{width:14px}.publish-toggle.on{color:var(--green);border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.publish-toggle.on{border-color:color-mix(in srgb, var(--green) 35%, var(--line))}}.publish-toggle.on{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.publish-toggle.on{background:color-mix(in srgb, var(--green) 8%, var(--surface))}}.delete-result{color:var(--red)}.firebase-card{grid-column:span 1}.firebase-form{grid-template-columns:repeat(2,minmax(0,1fr))}.firebase-form label:nth-child(4),.firebase-form label:nth-child(5),.firebase-actions{grid-column:span 2}.firebase-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.firebase-help{color:var(--muted);font-size:.76rem;font-weight:500;line-height:1.45}.subject-room-access{border:1px solid var(--line);border-radius:12px;margin:0;padding:14px}.subject-room-access legend,.exam-room-access-summary>span,.log-history-picker label{color:var(--muted);font-size:.78rem;font-weight:700}.subject-room-access>small,.exam-room-access-summary small{color:var(--muted);margin-top:8px;font-size:.76rem;display:block}.room-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.room-check-grid label{border:1px solid var(--line);background:var(--surface);border-radius:9px;flex-direction:row;align-items:center;gap:7px;padding:9px 10px;display:flex}.room-check-grid input{width:16px;height:16px;margin:0}.exam-room-access-summary{border:1px solid var(--line);background:var(--primary);border-radius:12px;padding:14px}@supports (color:color-mix(in lab, red, red)){.exam-room-access-summary{background:color-mix(in srgb, var(--primary) 4%, var(--surface))}}.exam-room-access-summary>div{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.exam-room-access-summary b{color:var(--primary);background:var(--primary);border-radius:8px;padding:6px 9px}@supports (color:color-mix(in lab, red, red)){.exam-room-access-summary b{background:color-mix(in srgb, var(--primary) 10%, var(--surface))}}.exam-room-access-summary b{font-size:.82rem}.exam-room-access-summary p{color:var(--red);margin:8px 0 0}.log-history-picker{border-bottom:1px solid var(--line);gap:6px;padding:12px;display:grid}.log-history-picker select{width:100%}.unlock-pin-card{border-color:var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.unlock-pin-card{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))!important}}.unlock-pin-card{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.unlock-pin-card{background:color-mix(in srgb, var(--primary) 8%, var(--surface))}}.unlock-pin-card strong{color:var(--primary);letter-spacing:.16em;font-size:1.08rem}.result-room-groups{gap:12px;display:grid}.result-room-folder{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.result-room-folder>summary{cursor:pointer;background:var(--primary);align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}@supports (color:color-mix(in lab, red, red)){.result-room-folder>summary{background:color-mix(in srgb, var(--primary) 4%, var(--surface))}}.result-room-folder>summary::-webkit-details-marker{display:none}.result-room-folder>summary>div{flex:1;gap:2px;display:grid}.result-room-folder>summary small{color:var(--muted)}.result-folder-icon{width:38px;height:38px;color:var(--primary);background:var(--primary);border-radius:10px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.result-folder-icon{background:color-mix(in srgb, var(--primary) 10%, var(--surface))}}.folder-chevron{transition:transform .16s}.result-room-folder[open] .folder-chevron{transform:rotate(90deg)}.result-room-folder .table-wrap{border:0;border-top:1px solid var(--line);border-radius:0}@media (width<=720px){.room-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.danger-text{color:var(--red)}.instruction-field textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);min-height:110px;color:var(--text);border-radius:10px;padding:12px}.shuffle-settings{grid-template-columns:1fr 1fr;gap:10px;display:grid}.shuffle-settings label{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:14px;display:grid}.shuffle-settings input{width:18px;height:18px}.shuffle-settings span{flex-direction:column;display:flex}.shuffle-settings small{color:var(--muted);font-weight:400}.section-instruction{resize:vertical;border:1px dashed var(--line);background:var(--surface);width:calc(100% - 28px);min-height:58px;color:var(--text);border-radius:9px;margin:13px 14px 0;padding:10px}.instruction-preview{text-align:left;background:var(--surface-2);border-radius:12px;margin:18px 0;padding:15px}.instruction-preview p{color:var(--muted);margin:4px 0 0}.exam-intro{background:radial-gradient(circle at 10% 10%, var(--brand), transparent 32%), var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.exam-intro{background:radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 32%), var(--bg)}}.exam-intro-card{border:1px solid var(--line);background:var(--surface);width:min(680px,100%);box-shadow:var(--shadow);border-radius:24px;padding:34px}.intro-subject{color:var(--brand);margin-top:28px;font-weight:800}.exam-intro h1{margin:5px 0 17px;font-size:clamp(28px,5vw,42px);line-height:1.25}.intro-meta{flex-wrap:wrap;gap:9px;display:flex}.intro-meta span{background:var(--surface-2);color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:flex}.intro-meta svg{width:15px;color:var(--brand)}.instruction-box{border-left:4px solid var(--brand);background:var(--brand-soft);border-radius:12px;margin:23px 0;padding:19px}.instruction-box h2{margin:0 0 7px;font-size:18px}.instruction-box p,.instruction-box li{color:var(--muted);font-size:13px}.instruction-box ul{margin-bottom:0;padding-left:20px}.intro-actions{justify-content:flex-end;gap:9px;display:flex}.section-notice{color:var(--brand);background:var(--brand-soft);border-radius:10px;align-items:flex-start;gap:8px;margin-top:17px;padding:11px 13px;font-size:12px;display:flex}.section-notice svg{flex:none;width:16px}@media (width<=1000px){.room-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proctor-grid{grid-template-columns:1fr}.proctor-students{border-right:0;border-bottom:1px solid var(--line)}.log-panel{min-height:350px}}@media (width<=760px){.student-manager .manager-search{margin:14px}.room-folder-grid{grid-template-columns:1fr;padding:4px 14px 18px}.folder-breadcrumb{flex-wrap:wrap;padding-inline:14px}.student-profile-head{flex-wrap:wrap;align-items:flex-start}.profile-average{margin-left:0}.live-strip{grid-template-columns:repeat(2,1fr)}.live-strip>span{grid-column:span 2;height:48px}.proctor-students,.firebase-form,.shuffle-settings,.detection-list{grid-template-columns:1fr}.firebase-form label:nth-child(4),.firebase-form label:nth-child(5),.firebase-actions{grid-column:span 1}.exam-intro{padding:14px}.exam-intro-card{padding:23px 19px}.intro-actions{flex-direction:column-reverse}.intro-actions button{width:100%}}.log-panel-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.log-panel-actions button{margin-left:0}.log-panel-actions .kick-student-button{border:1px solid var(--red);align-items:center;gap:6px;min-height:34px;padding:0 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.log-panel-actions .kick-student-button{border:1px solid color-mix(in srgb, var(--red) 35%, var(--line))}}.log-panel-actions .kick-student-button{color:var(--red);background:var(--red);border-radius:9px}@supports (color:color-mix(in lab, red, red)){.log-panel-actions .kick-student-button{background:color-mix(in srgb, var(--red) 7%, var(--surface))}}.log-panel-actions .kick-student-button{font-weight:700}.result-folder-export{border:1px solid var(--line);min-height:36px;color:var(--primary);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-weight:700;display:inline-flex}.modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden auto}.modal .form-grid,.modal .form-grid>*,.modal label,.modal input,.modal select,.modal textarea{min-width:0;max-width:100%}.student-manager,.student-manager .manager-search,.admin-content,.panel,.page-toolbar,.page-toolbar>div{min-width:0}@media (width<=760px){html{font-size:15px}body{overflow-x:hidden}button,input,select,textarea{font-size:16px}.modal-backdrop{align-items:start;padding:12px;overflow-y:auto}.modal{border-radius:17px;width:100%;padding:24px 18px 20px}.modal .form-grid{grid-template-columns:minmax(0,1fr);gap:13px}.modal .span-2,.modal .form-actions{grid-column:1/-1}.modal .form-actions{grid-template-columns:1fr 1fr;display:grid}.modal .form-actions button{width:100%}.student-manager .manager-search{box-sizing:border-box;width:calc(100% - 28px);max-width:calc(100% - 28px)}.page-toolbar>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.page-toolbar>div:last-child>button,.page-toolbar>div:last-child>select{flex:180px;max-width:100%}.result-room-folder>summary{flex-wrap:wrap}.result-room-folder>summary>div{min-width:0}.result-folder-export{order:4;justify-content:center;width:100%}.log-panel-head{align-items:flex-start;gap:10px}.log-panel-actions{flex-wrap:wrap;justify-content:flex-end}.proctor-student{grid-template-columns:auto minmax(0,1fr)}.proctor-student .live-state,.proctor-student .risk-count{grid-column:2;justify-self:start}}@media (width<=390px){html{font-size:14px}.container{width:calc(100% - 20px)}.modal{padding-inline:15px}.modal .form-actions{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(30px,10vw,36px)}.lookup-card,.panel,.exam-intro-card{border-radius:16px}}.toolbar-search{border:1px solid var(--line);background:var(--surface);min-width:min(260px,100%);height:44px;color:var(--muted);border-radius:10px;align-items:center;gap:7px;padding:0 11px;display:flex}.toolbar-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.exam-access-code{border:1px solid var(--brand);align-items:center;gap:6px;min-height:34px;padding:0 10px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.exam-access-code{border:1px solid color-mix(in srgb, var(--brand) 28%, var(--line))}}.exam-access-code{background:var(--brand-soft);color:var(--brand);letter-spacing:.12em;cursor:pointer;border-radius:9px;font-weight:850}.muted-status{color:var(--muted);font-size:12px}.exam-code-setting{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;padding:14px;display:grid}.exam-code-setting>input{width:19px;height:19px}.exam-code-setting span,.exam-code-setting strong,.exam-code-setting small{display:block}.exam-code-setting small{color:var(--muted);margin-top:3px}.exam-code-setting b{background:var(--brand-soft);color:var(--brand);letter-spacing:.1em;border-radius:8px;margin-top:8px;padding:5px 9px;display:inline-block}.exam-entry-code{gap:7px;margin-bottom:14px;font-weight:750;display:grid}.exam-entry-code .input-wrap{height:50px}.exam-entry-code input{letter-spacing:.18em;font-size:18px;font-weight:800}.line-browser-note{background:#06c755;border-radius:10px;margin-bottom:14px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.line-browser-note{background:color-mix(in srgb, #06c755 10%, var(--surface))}}.line-browser-note{color:#06c755}@supports (color:color-mix(in lab, red, red)){.line-browser-note{color:color-mix(in srgb, #06c755 82%, var(--text))}}.line-browser-note{font-size:12px;font-weight:700}.exam-room,.exam-intro{min-height:100svh}.exam-body,.question-area,.question-card,.option-list,.option-list button{min-width:0}.question-card,.option-list button{overflow-wrap:anywhere}@media (width<=760px){.toolbar-search{flex:100%;width:100%;max-width:none}.exam-room,.exam-intro{min-height:100dvh}.exam-header{height:auto;min-height:64px;padding:max(7px, env(safe-area-inset-top)) 11px 7px;gap:10px}.exam-header .brand small{display:none}.exam-header .brand strong{font-size:18px}.exam-header .brand-mark{width:35px;height:35px}.exam-timer{padding:6px 9px}.exam-timer strong{font-size:15px}.exam-body{min-height:calc(100dvh - 64px)}.question-area{width:100%;padding:16px 12px calc(94px + env(safe-area-inset-bottom))}.question-card{border-radius:16px;margin-top:15px;padding:18px 15px}.question-card h2{font-size:clamp(16px,4.8vw,19px)}.option-list button{gap:9px;width:100%;padding:9px 10px;font-size:15px}.option-list button>span{flex:0 0 31px}.question-actions{z-index:35;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.question-actions{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.question-actions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -8px 28px #141c341a}.question-actions button,.question-actions .secondary-button{white-space:nowrap;width:100%;min-width:0;padding-inline:8px;font-size:14px}.exam-intro{padding:max(12px, env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));place-items:start center;overflow-y:auto}.exam-intro-card{padding:23px 17px}}@supports (-webkit-touch-callout:none){.line-browser.exam-room,.line-browser.exam-intro{min-height:-webkit-fill-available}}.score-result{gap:12px}.score-result .secondary-button{flex:none;min-height:38px;padding:0 12px;font-size:12px}.review-modal-head,.image-library-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-right:42px;display:flex}.review-modal-head h2,.image-library-head h2{margin:5px 0 0}.review-modal-head>strong{color:var(--green);background:var(--green);border-radius:10px;flex:none;padding:8px 11px}@supports (color:color-mix(in lab, red, red)){.review-modal-head>strong{background:color-mix(in srgb, var(--green) 10%, var(--surface))}}.image-library-head p{color:var(--muted);margin:5px 0 0;font-size:12px}.review-loading{min-height:180px;color:var(--muted);place-items:center;display:grid}.answer-review-list{gap:12px;display:grid}.answer-review-card{border:1px solid var(--line);border-left:5px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden}.answer-review-card.is-correct{border-left-color:var(--green)}.answer-review-card.is-wrong{border-left-color:var(--red)}.answer-review-card>header{background:var(--surface-2);justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.answer-review-card>header span,.answer-review-grid span{color:var(--muted);font-size:11px;display:block}.answer-review-card>header h3{margin:3px 0 0;font-size:15px}.answer-review-card>header b{color:var(--red);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.answer-review-card.is-correct>header b{color:var(--green)}.answer-review-card>header b svg{width:17px}.answer-review-grid{grid-template-columns:1fr 1fr auto;gap:10px;padding:14px 16px 16px;display:grid}.answer-review-grid>div{border:1px solid var(--line);border-radius:10px;min-width:0;padding:10px}.answer-review-grid strong{overflow-wrap:anywhere;margin-top:3px;font-size:13px;display:block}.review-question-image{margin:14px 16px 0}.review-question-image img{object-fit:contain;max-width:100%;max-height:270px}.question-image-actions{grid-template-columns:auto auto minmax(180px,1fr)}.question-image-actions>button{white-space:nowrap}.image-library-error{margin-bottom:12px}.image-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.image-library-grid>article{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;gap:9px;min-width:0;padding:10px;display:grid}.image-library-grid>article.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.image-library-grid>article.selected{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 18%, transparent)}}.image-library-grid img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;height:135px}.image-library-grid article>div:not(.image-library-actions){gap:2px;min-width:0;display:grid}.image-library-grid article>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.image-library-grid article small{color:var(--muted);font-size:10px}.image-library-actions{grid-template-columns:1fr auto;gap:7px;display:grid}.image-library-actions button{min-width:0;padding-inline:9px;font-size:11px}.zoomable-image-trigger{max-width:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;border-radius:14px;padding:0;display:inline-grid;position:relative}.zoomable-image-trigger>span{color:#fff;background:#11172ac2;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;bottom:9px;right:9px}.zoomable-image-trigger>span svg{width:14px;height:14px}.image-viewer-backdrop{z-index:500;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));color:#fff;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;background:#080c18f0;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;display:grid;position:fixed;inset:0}.info-note{border:1px solid var(--brand);padding:11px 13px}@supports (color:color-mix(in lab, red, red)){.info-note{border:1px solid color-mix(in srgb, var(--brand) 20%, var(--line))}}.info-note{background:var(--brand-soft);color:var(--muted);border-radius:11px;font-size:12px;line-height:1.65}.image-viewer-toolbar{justify-content:center;align-items:center;gap:8px;display:flex}.image-viewer-toolbar button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.image-viewer-toolbar button:last-child{background:#d33847cc;margin-left:12px}.image-viewer-toolbar svg{width:19px}.image-viewer-canvas{cursor:grab;touch-action:none;overscroll-behavior:contain;border-radius:14px;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.image-viewer-canvas:active{cursor:grabbing}.image-viewer-canvas img{object-fit:contain;transform-origin:50%;will-change:transform;pointer-events:none;max-width:92%;max-height:86%}.image-viewer-backdrop>small{text-align:center;color:#ffffffb8}@media (width<=760px){.score-result,.review-modal-head,.image-library-head,.answer-review-card>header{flex-direction:column;align-items:stretch}.score-result .secondary-button{width:100%}.review-modal-head,.image-library-head{padding-right:32px}.image-library-head>button{width:100%}.answer-review-grid,.question-image-actions{grid-template-columns:minmax(0,1fr)}.image-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-library-grid img{height:110px}.zoomable-image-trigger>span{bottom:7px;right:7px}}@media (width<=430px){.image-library-grid{grid-template-columns:minmax(0,1fr)}.image-library-grid img{height:180px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
