:root{--bg: #f4f7fb;--surface: #ffffff;--surface-2: #f8fbff;--text: #13223a;--muted: #66758d;--border: #dfe6f1;--primary: #1358f5;--primary-dark: #0d3fb3;--success: #16a05d;--warning: #e99012;--danger: #df2437;--shadow: 0 18px 48px rgba(39, 58, 96, .12)}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;overflow-x:clip}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;z-index:20}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#1358f5,#6a42e8)}.brand strong,.brand span{display:block}.brand span,.topbar span,.metric small,.muted{color:var(--muted)}.sidebar nav{display:grid;gap:8px}.sidebar nav button{min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:10px;background:transparent;color:#38506f;text-align:left}.sidebar nav button.active,.sidebar nav button:hover{color:var(--primary);background:#edf3ff}.nav-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.main{min-width:0;max-width:100%}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 26px;background:#ffffffdb;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.topbar strong,.topbar span{display:block}.menu-button{display:none}.content{width:100%;padding:24px;max-width:1240px;margin:0 auto}.page-grid{display:grid;gap:18px}.app-lock-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#e5efffeb,#ffffffc7),var(--bg)}.app-lock-card{width:min(430px,100%);display:grid;gap:18px;padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.app-lock-card h1{margin:0 0 8px;font-size:1.8rem;line-height:1.12}.lock-brand{margin-bottom:0}.lock-error{margin:0;padding:10px 12px;border-radius:10px;background:#fff0f2}.hero-panel,.full-mock-card,.result-hero{display:flex;justify-content:space-between;gap:24px;padding:28px;border-radius:18px;border:1px solid #cfe0ff;background:linear-gradient(90deg,#e5effff5,#ffffffe0),var(--surface);box-shadow:var(--shadow)}.hero-panel h1,.full-mock-card h1,.result-hero h1{margin:0;font-size:clamp(1.7rem,4vw,3rem);line-height:1.08}.hero-panel p,.full-mock-card p,.result-hero p{max-width:720px;line-height:1.6}.hero-art{min-width:180px;min-height:130px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#95c5ff,#def6eb);color:#ffffffdb;font-size:3rem;font-weight:950}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.section-head h2,.panel h1,.panel h2{margin:0 0 8px}.section-head p{margin:0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.subject-card,.metric,.panel,.timer-preview,.review-card,.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 28px #273a600f}.subject-card{display:flex;gap:12px;align-items:center;min-height:86px;padding:16px;color:var(--text);text-align:left}.subject-card strong,.subject-card small{display:block}.subject-card small{color:var(--muted);margin-top:4px}.subject-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;background:#14b8a6}.subject-icon.fast{background:#22a565}.subject-icon.medium{background:#1358f5}.subject-icon.slow{background:#7c3aed}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-stat-card{min-height:142px;padding:24px;display:grid;align-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 30px #273a6014}.dashboard-stat-card>span{color:#43526a;font-weight:850}.dashboard-stat-card strong{display:block;font-size:clamp(2rem,4vw,2.65rem);line-height:1;color:var(--text)}.dashboard-stat-card.accent-primary strong{color:#0f1b7a}.dashboard-stat-card.accent-success small{color:var(--success)}.dashboard-stat-card small{display:block;color:var(--muted);font-weight:800}.dashboard-stat-body{display:flex;align-items:end;justify-content:space-between;gap:16px}.accuracy-sparkline{flex:0 0 118px;width:118px;height:44px;overflow:visible}.accuracy-sparkline polygon{fill:#16a05d26}.accuracy-sparkline polyline{fill:none;stroke:#31b873;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats-row.compact{grid-template-columns:repeat(4,minmax(110px,1fr));margin-top:18px}.metric{padding:16px}.metric span,.metric small{display:block}.metric strong{display:block;font-size:1.55rem;margin:6px 0}.full-mock-card{align-items:center}.full-mock-card.large{display:block}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill-row span,.status{padding:8px 10px;border-radius:999px;background:#eef4ff;color:#234b94;font-weight:750;font-size:.86rem}.mock-actions{display:grid;gap:12px;min-width:180px}.status.good{background:#eafaf1;color:#0f7d47}.status.warn{background:#fff5e6;color:#a15a00}.primary,.ghost,.danger,.choice,.icon-button{min-height:44px;padding:0 16px;border-radius:10px;font-weight:850}.primary{background:var(--primary);color:#fff;box-shadow:0 14px 30px #1358f533}.primary:disabled{opacity:.55;cursor:not-allowed}.ghost,.icon-button,.choice{background:#f3f7fd;color:var(--text);border:1px solid var(--border)}.danger{background:var(--danger);color:#fff}.wide{width:100%}.two-column{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.panel{padding:22px}.stack{display:grid;gap:18px;align-content:start}.field{display:grid;gap:8px;margin:14px 0;font-weight:760}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);min-height:44px;padding:10px 12px}textarea{min-height:96px;resize:vertical}.choice-row,.button-row,.segmented{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.choice.selected,.segmented button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.strict-mode-card{display:flex;align-items:center;gap:12px;padding:14px;margin:16px 0;border:1px solid var(--border);border-radius:12px;background:#f8fbff;font-weight:800}.strict-mode-card input{width:20px;min-height:20px;flex:0 0 auto}.strict-mode-card strong,.strict-mode-card small{display:block}.strict-mode-card small,.strict-note{color:var(--muted);font-weight:700}.rule{display:grid;grid-template-columns:10px minmax(72px,max-content) minmax(0,1fr);align-items:start;gap:10px;margin:12px 0;line-height:1.35}.rule strong,.rule span{min-width:0}.rule span{color:var(--muted)}.rule i,.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.rule i.green,.dot.answered{background:var(--success)}.rule i.blue,.dot.current{background:var(--primary)}.rule i.orange,.dot.review{background:var(--warning)}.rule i.purple{background:#7c3aed}.timer-preview{display:grid;place-items:center;text-align:center;min-height:190px;padding:22px}.timer-preview strong{font-size:clamp(2.6rem,8vw,4.2rem);line-height:1}.readiness-list{display:grid;gap:10px}.readiness-list details{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.readiness-list summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:850}.readiness-topic{display:flex;justify-content:space-between;gap:12px;padding-top:10px;color:var(--muted)}.test-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.test-main{min-width:0}.test-header{position:sticky;top:86px;z-index:5;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px;margin-bottom:16px;border:1px solid var(--border);border-radius:14px;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.test-header p{margin:0 0 10px;color:var(--muted);font-weight:750}.progress{height:8px;border-radius:999px;background:#dce8fb;overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.timer{min-width:86px;padding:11px;border-radius:12px;text-align:center;color:var(--primary);background:#edf3ff;font-size:1.15rem}.timer.danger{color:var(--danger);background:#fff0f2}.question-panel,.navigator{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 10px 28px #273a600f}.question-meta,.review-head{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.question-panel h1{font-size:clamp(1.2rem,4vw,1.8rem);line-height:1.35}.options{display:grid;gap:12px}.option{min-height:56px;padding:14px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:12px;background:#fff;color:var(--text);text-align:left}.option span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#f0f4fa;font-weight:900}.option.selected{border-color:var(--primary);background:#f2f6ff}.option.selected span{background:var(--primary);color:#fff}.question-image{display:block;max-width:min(100%,720px);max-height:360px;object-fit:contain;margin:14px 0;border:1px solid var(--border);border-radius:12px;background:#fff}.option{flex-wrap:wrap}.option b{font-weight:800}.option-image{display:block;max-width:min(100%,420px);max-height:220px;object-fit:contain;margin-left:40px;border:1px solid var(--border);border-radius:10px;background:#fff}.review-option-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0}.review-option-images>div{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.review-option-images .option-image{margin-left:0;max-height:180px}.check-row{display:flex;align-items:center;gap:10px;margin-top:18px}.check-row input{width:18px;min-height:18px}.test-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.nav-button{position:relative;isolation:isolate;overflow:hidden;min-width:128px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.nav-button:after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transform:translate(-24%);transition:opacity .18s ease,transform .28s ease;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.36) 45%,transparent 70%)}.nav-prev{border-color:#9cc6ff;color:#124f95;background:linear-gradient(135deg,#eef7ff,#e9fff5);box-shadow:0 12px 24px #0d76be1f}.nav-next{margin-left:auto;background:linear-gradient(135deg,#1358f5,#12a66a);box-shadow:0 16px 32px #1358f53d}.nav-submit{margin-left:auto;box-shadow:0 16px 32px #df243738}.nav-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 34px #18498233}.nav-button:hover:not(:disabled):after{opacity:1;transform:translate(28%)}.nav-button:active:not(:disabled){transform:translateY(1px) scale(.98)}.nav-button:disabled{transform:none;box-shadow:none}.navigator{position:sticky;top:86px;align-self:start}.navigator h2{margin-top:0}.legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.86rem}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.question-grid button{aspect-ratio:1;border-radius:9px;background:#f6f8fb;border:1px solid var(--border);color:var(--text);font-weight:850}.question-grid button.answered{background:#dcf8e8;color:#08683b}.question-grid button.review{background:#fff2db;color:#955000}.question-grid button.current{outline:3px solid rgba(19,88,245,.24);background:var(--primary);color:#fff}.question-grid button:disabled{cursor:not-allowed;opacity:.58}.marking-card{background:#f8fbff;border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:14px}.marking-card p{display:flex;justify-content:space-between;margin:8px 0}.navigator-toggle{display:none}.result-hero{display:block;text-align:center;position:relative;overflow:hidden;padding:34px 28px;border-radius:20px;border-width:1px}.result-hero.success{border-color:#b7ebcf;background:linear-gradient(135deg,#f0fff6,#fff 55%,#edf8ff)}.result-hero.warn{border-color:#ffdba3;background:linear-gradient(135deg,#fff8e8,#fff 55%,#f2f7ff)}.result-hero.danger{border-color:#ffc2c9;background:linear-gradient(135deg,#fff1f3,#fff 55%,#fff8ea)}.result-hero-top{display:flex;align-items:center;justify-content:center;position:relative;gap:12px;flex-wrap:wrap;min-height:32px}.result-status{margin:0;font-weight:850;line-height:1.2;text-align:center}.result-status.success{color:var(--success)}.result-status.warn{color:var(--warning)}.result-status.danger{color:var(--danger)}.result-badge{position:absolute;right:0;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:900}.result-badge.success{color:#087343;background:#dcf9e9}.result-badge.warn{color:#955000;background:#fff1d3}.result-badge.danger{color:#b3192b;background:#ffe2e6}.result-hero h1{margin:18px 0 8px;color:var(--success);font-size:clamp(3rem,8vw,5rem);line-height:.95}.result-hero h1 span{color:var(--text);font-size:.5em}.result-hero.warn h1{color:var(--warning)}.result-hero.danger h1{color:var(--danger)}.result-hero>p:not(.result-summary){display:none}.result-summary{margin:10px auto 8px;font-size:1.12rem;font-weight:780}.result-hero small{display:block;color:var(--muted);font-weight:700}.result-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.result-metric{position:relative;overflow:hidden;min-height:122px;padding:18px;border-radius:18px}.result-metric:before{content:"";position:absolute;inset:0;border-left:6px solid var(--border);pointer-events:none}.result-metric span,.result-metric strong,.result-metric small{position:relative;z-index:1}.result-metric strong{font-size:2rem}.result-metric.featured{min-height:140px;grid-column:span 2}.result-metric.featured strong{font-size:2.55rem}.result-metric.tone-success{border-color:#b7ebcf;background:linear-gradient(135deg,#fff,#ecfff5)}.result-metric.tone-success:before{border-left-color:var(--success)}.result-metric.tone-success strong{color:var(--success)}.result-metric.tone-warn{border-color:#ffdba3;background:linear-gradient(135deg,#fff,#fff7e8)}.result-metric.tone-warn:before{border-left-color:var(--warning)}.result-metric.tone-warn strong{color:var(--warning)}.result-metric.tone-danger{border-color:#ffc2c9;background:linear-gradient(135deg,#fff,#fff0f2)}.result-metric.tone-danger:before{border-left-color:var(--danger)}.result-metric.tone-danger strong{color:var(--danger)}.result-metric.tone-neutral{border-color:#dbe5f1;background:linear-gradient(135deg,#fff,#f5f8fc)}.result-metric.tone-neutral:before{border-left-color:#8493a8}.weak-list,.time-list{display:grid;gap:12px}.weak-list>div,.time-list>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,2fr) auto;align-items:center;gap:12px}.bar{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden}.bar i{display:block;height:100%;background:var(--success)}.time-bar i{background:var(--primary)}.time-list{gap:14px}.time-list>div{grid-template-columns:minmax(170px,.34fr) minmax(260px,1fr) 64px;gap:16px}.time-list>div>span{min-width:0;overflow-wrap:anywhere}.time-list strong{text-align:right;font-variant-numeric:tabular-nums}.subject-performance-panel{display:grid;gap:16px}.subject-performance-panel h2,.subject-performance-panel p{margin:0}.subject-performance-panel p{margin-top:5px}.subject-bar-chart{display:grid;gap:10px}.subject-bar-chart svg{width:100%;min-height:240px;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#fff)}.subject-bar-chart .lane-line{stroke:#d7e1ef;stroke-width:2}.subject-score-bar{fill:var(--primary)}.subject-accuracy-bar{fill:var(--success)}.subject-label,.single-attempt-label{fill:#43526a;font-size:.82rem;font-weight:950}.single-attempt-label{text-anchor:end;fill:var(--muted)}.subject-hit{fill:transparent;pointer-events:all}.subject-bar-chart .point-label{opacity:0;font-size:.74rem;font-weight:950;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;transition:opacity .15s ease;pointer-events:none}.subject-bar-chart .score-label{fill:var(--primary)}.subject-bar-chart .accuracy-label{fill:var(--success)}.subject-bar-group:hover .point-label,.subject-bar-group:focus .point-label,.subject-bar-group:focus-visible .point-label{opacity:1}.filter-bar{display:grid;grid-template-columns:1fr 220px;gap:12px;padding:12px}.history-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 28px #273a600f}.history-filter-bar .field{margin:0}.user-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.user-trend-panel{display:grid;gap:16px}.history-trend{display:grid;gap:10px}.history-trend svg{width:100%;min-height:170px;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#fff)}.history-trend line{stroke:#d7e1ef;stroke-width:2}.history-trend polyline{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.history-trend .score-line{stroke:var(--primary)}.history-trend .accuracy-line{stroke:var(--success)}.history-trend circle{stroke:#fff;stroke-width:3}.history-trend .point-hit{fill:transparent;stroke:none;pointer-events:all}.history-trend .score-dot{fill:var(--primary)}.history-trend .accuracy-dot{fill:var(--success)}.history-trend .point-label{opacity:0;font-size:.82rem;font-weight:950;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;transition:opacity .15s ease;pointer-events:none}.history-trend .score-label{fill:var(--primary)}.history-trend .accuracy-label{fill:var(--success)}.history-trend .trend-point:hover .point-label,.history-trend .trend-point:focus .point-label,.history-trend .trend-point:focus-visible .point-label{opacity:1}.history-trend-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-weight:800}.history-trend-legend span{display:inline-flex;align-items:center;gap:7px}.history-trend-legend i{width:22px;height:4px;border-radius:999px;display:inline-block}.history-trend-legend i.score{background:var(--primary)}.history-trend-legend i.accuracy{background:var(--success)}.history-day-list{display:flex;gap:8px;flex-wrap:wrap}.history-day-list span{padding:8px 10px;border-radius:999px;background:#eef4ff;color:#234b94;font-size:.84rem;font-weight:800}.history-day-list strong{margin-left:5px;color:var(--text)}.history-day-list b{margin-left:5px;color:var(--success)}.history-panel{display:grid;gap:16px}.history-panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.history-list,.history-data-grid{display:grid;gap:12px}.history-card,.history-grid-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.history-data-grid{gap:0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.history-grid-header,.history-grid-row{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(150px,1fr) minmax(90px,.6fr) minmax(90px,.6fr) minmax(160px,auto);align-items:center;gap:12px}.history-grid-header{padding:12px 14px;background:#f2f6ff;color:#43526a;font-size:.78rem;font-weight:900;text-transform:uppercase}.history-grid-row{border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}.history-cell{color:var(--muted);font-size:.9rem;font-weight:800}.history-cell strong{color:var(--text)}.history-card-main{min-width:0;display:grid;gap:6px}.history-card-main strong,.history-card-main small{display:block}.history-card-main small{color:var(--muted)}.history-type{width:fit-content;padding:6px 9px;border-radius:999px;color:#234b94;background:#eaf1ff;font-size:.78rem;font-weight:900}.history-type.full_mock{color:#0f7d47;background:#e5f9ed}.history-type.pyq{color:#7a3d00;background:#fff1d3}.history-score-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-score-pair span{display:grid;gap:4px;color:var(--muted);font-size:.84rem;font-weight:800}.history-score-pair strong{color:var(--text);font-size:1.2rem}.history-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.history-actions .ghost,.history-actions .primary{min-height:38px}.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px;color:var(--muted);font-weight:850}.history-pagination>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.ghost:disabled{opacity:.55;cursor:not-allowed}.review-card{padding:18px;border-left:5px solid var(--border)}.review-card.correct{border-left-color:var(--success)}.review-card.wrong{border-left-color:var(--danger)}.review-card.unattempted{border-left-color:var(--warning)}.review-card h2{font-size:1.1rem}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px}.admin-mode-tabs{margin-bottom:16px}.form-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:10px}.form-title-row h1,.form-title-row p{margin:0}.form-title-row p{margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-field input{width:22px;min-height:22px}.option-editor{display:grid;gap:10px}.option-editor label{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px}.option-editor span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:var(--primary);font-weight:900}.question-form-title{margin-top:28px}.question-form-title h2{margin:0}.pyq-option-editor{display:grid;gap:10px}.pyq-option-row{display:grid;grid-template-columns:34px minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:10px}.pyq-option-row span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:var(--primary);font-weight:900}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-actions .ghost,.admin-actions .file-button{flex:1 1 130px}.import-message{white-space:pre-line;border-radius:12px;padding:12px;background:#f5fff9;border:1px solid #b7ebcf}.import-message.error{background:#fff1f3;border-color:#ffc2c9}.csv-summary-card{display:grid;gap:16px;margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.csv-summary-card.error{border-color:#ffc2c9;background:#fff8f9}.csv-summary-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.csv-summary-head h2,.csv-summary-head p{margin:0}.csv-summary-head p{margin-top:5px}.csv-summary-grid,.csv-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.csv-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.csv-summary-card .metric{box-shadow:none}.csv-progress{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:12px}.csv-progress strong{color:var(--primary);font-variant-numeric:tabular-nums;text-align:right}.file-button{display:inline-grid;place-items:center}.file-button input{display:none}.admin-list{display:grid;gap:10px;max-height:560px;overflow:auto}.admin-list article{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.admin-list strong,.admin-list span{display:block}.admin-list strong{font-size:.92rem;line-height:1.35}.admin-list span{color:var(--muted);margin:5px 0}.link-button{background:transparent;color:var(--primary);font-weight:850;padding:0}.mcq-manager{display:grid;gap:14px;align-content:start}.manager-head h2,.manager-head p{margin:0}.manager-head p{margin-top:5px}.filter-stack{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.filter-stack .field{margin:0}.mcq-card-list{display:grid;gap:12px;max-height:620px;overflow:auto;padding-right:2px}.mcq-status-card{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--border);background:#fff;box-shadow:0 8px 22px #273a600f}.mcq-status-card.inactive{background:#fffaf2;border-color:#f4d6a6}.mcq-status-card strong{font-size:.95rem;line-height:1.35}.mcq-status-card>span,.mcq-status-card small{color:var(--muted)}.mcq-card-top,.mcq-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.mcq-card-footer{flex-wrap:wrap}.mcq-card-footer button{min-height:38px}.mcq-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.pyq-question-list-head{padding-top:8px;border-top:1px solid var(--border)}.pyq-paper-list,.pyq-question-list{max-height:360px}.note{margin-top:18px;border-radius:12px;padding:12px;background:#eef4ff;color:#234b94}.empty-state{display:grid;place-items:center;min-height:340px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:16px}.good-text{color:var(--success)}.warn-text{color:var(--warning)}.danger-text,.error{color:var(--danger)}.empty{color:var(--muted);padding:12px 0}.app-dialog-layer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}.app-dialog-scrim{position:absolute;inset:0;background:#0f172a85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-dialog{position:relative;width:min(440px,100%);display:grid;gap:16px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px #0f172a47}.app-dialog h2{margin:0 0 6px}.app-dialog p{margin:0;color:var(--muted);line-height:1.55}.dialog-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--primary);font-weight:950}.app-dialog.danger .dialog-icon{background:var(--danger)}.dialog-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dialog-summary-grid span{min-height:72px;display:grid;align-content:center;gap:4px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:.86rem}.dialog-summary-grid strong{color:var(--text);font-size:1.15rem}.dialog-error{padding:10px 12px;border-radius:10px;background:#fff0f2}.dialog-field{display:grid;gap:8px;font-weight:850}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.scrim{position:fixed;inset:0;z-index:19;background:#0f172a6b}.drawer{display:none}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,310px);transform:translate(-105%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.menu-button,.navigator-toggle{display:inline-flex;align-items:center}.content{padding:16px}.topbar{padding:0 14px}.topbar .ghost{display:none}.hero-panel,.full-mock-card{display:grid;padding:20px}.hero-art{min-width:0;min-height:100px}.card-grid,.dashboard-summary-grid,.stats-row,.user-stats-grid,.result-stats-grid,.two-column,.test-layout,.admin-layout,.csv-summary-grid,.csv-result-grid,.history-filter-bar,.history-card,.history-grid-row{grid-template-columns:1fr}.history-grid-header{display:none}.history-data-grid{gap:12px;overflow:visible;border:0;background:transparent}.history-grid-row{border:1px solid var(--border);border-radius:14px}.history-cell{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-cell:before{content:attr(data-label);color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.history-actions{justify-content:stretch}.history-actions button{flex:1 1 130px}.history-pagination{align-items:stretch;display:grid}.history-pagination>div{justify-content:stretch}.history-pagination button{flex:1 1 130px}.result-metric.featured{grid-column:auto}.desktop-nav{display:none}.drawer{display:block}.drawer-panel{position:fixed;inset:auto 0 0;z-index:30;max-height:86vh;overflow:auto;border-radius:22px 22px 0 0}.test-header{top:70px;grid-template-columns:1fr auto}.test-header .navigator-toggle{grid-column:1 / -1;justify-content:center}}@media(max-width:640px){.shell,.main,.content,.page-grid,.panel,.timer-preview,.question-panel,.navigator,.review-card,.metric,.subject-card,.history-card,.full-mock-card,.result-hero{max-width:100%;min-width:0}.content{padding:12px}.topbar>div{min-width:0}.topbar strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-head,.full-mock-card,.test-actions,.button-row,.csv-summary-head{align-items:stretch}.section-head,.test-actions,.csv-summary-head{display:grid}.test-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.test-actions .nav-prev{grid-column:1;justify-self:start}.test-actions .nav-next,.test-actions .nav-submit{grid-column:2;justify-self:end}.test-actions .nav-button{width:min(100%,148px);min-width:0}.dialog-summary-grid,.dialog-actions{grid-template-columns:1fr}.dialog-actions{display:grid}.subject-card{min-height:74px}.dashboard-stat-card{min-height:124px;padding:18px}.dashboard-stat-body{align-items:center}.accuracy-sparkline{flex-basis:96px;width:96px}.stats-row.compact,.form-grid,.filter-bar{grid-template-columns:1fr}.pyq-option-row{grid-template-columns:34px minmax(0,1fr)}.pyq-option-row input:last-child{grid-column:2}.metric{padding:14px}.metric strong{font-size:1.3rem}.question-panel,.panel{padding:16px}.result-hero{padding:24px 18px}.result-hero h1{font-size:3rem}.question-panel h1{font-size:1.15rem}.option{min-height:60px;align-items:flex-start}.rule{grid-template-columns:10px minmax(68px,max-content) minmax(0,1fr)}.rule span,.strict-mode-card small,.question-panel h1,.review-card h2,.history-card-main strong,.history-card-main small{overflow-wrap:anywhere}.weak-list>div,.time-list>div{grid-template-columns:1fr;gap:6px}.question-grid{grid-template-columns:repeat(6,1fr)}.history-trend .point-label,.subject-bar-chart .point-label{opacity:1;font-size:.68rem;stroke-width:4px}}
