@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css";:root{font-family:Pretendard Variable,Pretendard,Noto Sans KR,Malgun Gothic,Arial,sans-serif;color:#111827;background:#f4f7fb;--bg: #f4f7fb;--card: #ffffff;--text: #111827;--muted: #64748b;--line: #dbe5f1;--line-strong: #b8c7dc;--primary: #1d4ed8;--primary-dark: #1e3a8a;--primary-soft: #eaf2ff;--accent: #0f766e;--accent-soft: #e7f8f2;--fire: #b33a32;--fire-dark: #7f2a24;--fire-soft: #fff5f4;--safety: #f59e0b;--steel: #334155;--steel-soft: #eef2f7;--warning: #b45309;--warning-soft: #fff7ed;--danger: #dc2626;--danger-soft: #fef2f2;--success: #047857;--success-soft: #ecfdf5}*{box-sizing:border-box}body{background:linear-gradient(135deg,rgba(179,58,50,.025) 0 12%,transparent 12% 100%),linear-gradient(180deg,#f9fbff 0%,var(--bg) 48%,#eef3f8 100%);margin:0}.container{max-width:760px;margin:0 auto;padding:24px 20px 52px}.landing-container{max-width:1360px}.random-container,.mock-container{max-width:1180px}.page-header{margin-bottom:14px}h1{margin:0;font-size:2rem}.subtitle{margin:6px 0 0;color:var(--muted)}.screen-header{align-items:center;background:#ffffffeb;border:1px solid var(--line);border-top:3px solid var(--steel);border-radius:8px;box-shadow:0 10px 28px #0f172a0f;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding:14px 16px}.screen-header h1{font-size:1.45rem}.home-button{background:var(--card);border:1px solid var(--line);border-radius:8px;color:#374151;cursor:pointer;font:inherit;font-weight:700;min-height:40px;padding:0 12px;white-space:nowrap}.home-button:hover{background:var(--primary-soft);border-color:#bfdbfe;color:var(--primary)}.landing-hero{background:linear-gradient(115deg,rgba(179,58,50,.045),transparent 34%),linear-gradient(180deg,#ffffffd1,#fff0);border:1px solid rgba(184,199,220,.72);border-radius:8px;margin-bottom:18px;overflow:hidden;padding:34px 24px 30px;position:relative;text-align:center}.landing-hero:before{background:repeating-linear-gradient(90deg,rgba(15,23,42,.08) 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,rgba(15,23,42,.05) 0 1px,transparent 1px 34px);content:"";top:0;right:0;bottom:0;left:0;opacity:.42;pointer-events:none;position:absolute}.landing-hero>*{position:relative}.landing-eyebrow{align-items:center;color:var(--fire);display:inline-flex;font-size:.92rem;font-weight:750;gap:8px;margin:0 0 10px}.landing-eyebrow:before{background:var(--fire);border-radius:999px;box-shadow:0 0 0 4px #b33a3217;content:"";height:8px;width:8px}.landing-hero h1{color:#111827;font-size:clamp(2.1rem,4vw,3.15rem);font-weight:850;letter-spacing:0;line-height:1.15}.title-break{white-space:nowrap}.landing-description{color:#263445;font-size:1.04rem;line-height:1.6;margin:12px auto 0}.hero-badges{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:18px}.hero-badges span{background:#ffffffdb;border:1px solid var(--line);border-radius:999px;color:#334155;font-size:.9rem;font-weight:650;padding:9px 14px}.hero-badges span:nth-child(1){border-color:#fecaca;color:var(--fire-dark)}.hero-badges span:nth-child(2){border-color:#fde68a;color:#92400e}.hero-badges span:nth-child(3){border-color:#fed7aa;color:var(--warning)}.hero-badges span:nth-child(4){border-color:#bfdbfe;color:var(--primary)}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:4px}.entry-card,.coming-card,.mock-hero-card,.random-support-card,.grade-filter-panel,.reference-section,.ad-placeholder{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #0f172a08}.exam-entry-panel{align-items:stretch;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 360px;margin-top:4px}.mock-hero-card{background:linear-gradient(125deg,#fff5f494,#ffffffe6 38%),#fff;border-color:#d7e0eb;box-shadow:0 18px 42px #0f172a14;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);min-height:330px;overflow:hidden;position:relative}.mock-hero-card:before{background:linear-gradient(90deg,var(--steel),var(--primary),rgba(179,58,50,.7));content:"";height:3px;left:0;position:absolute;right:0;top:0}.mock-hero-copy{align-content:center;display:grid;gap:16px;padding:34px}.mock-hero-copy .entry-mark{background:var(--steel-soft);border-color:var(--line);color:var(--steel)}.mock-hero-copy h2,.random-support-card h2{color:#0f172a;font-size:1.7rem;font-weight:800;line-height:1.25;margin:0}.mock-hero-copy p,.random-support-card p,.grade-helper{color:var(--muted);line-height:1.58;margin:0}.grade-panel{align-content:center;background:#f8fafcc7;border-left:1px solid var(--line);display:grid;gap:16px;padding:34px}.grade-panel-header{align-items:center;display:flex;justify-content:space-between}.grade-panel-header span{color:var(--muted);font-size:.9rem;font-weight:700}.grade-panel-header strong{color:var(--primary);font-size:1.35rem;font-weight:850}.grade-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.grade-filter-panel{display:grid;gap:14px;margin-bottom:14px;padding:16px}.random-grade-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grade-option{background:#fff;border:1px solid var(--line);border-radius:8px;color:#334155;cursor:pointer;display:grid;font:inherit;gap:4px;min-height:72px;padding:12px;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.grade-option strong{font-size:1.08rem;font-weight:850}.grade-option span{color:var(--muted);font-size:.82rem;font-weight:700}.grade-option.active{background:var(--primary-soft);border-color:#bfdbfe;box-shadow:0 0 0 3px #1d4ed814;color:var(--primary)}.grade-option.active span{color:var(--primary)}.grade-option:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.grade-option:disabled span{color:#94a3b8}.mock-start-button,.random-support-card button{border:none;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:800;min-height:50px;padding:0 18px}.mock-start-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 10px 22px #1d4ed829}.mock-start-button:disabled{background:#94a3b8;cursor:not-allowed}.grade-helper{font-size:.9rem}.exam-policy-note{border-left:3px solid var(--fire);color:#475569;font-size:.9rem;font-weight:650;padding-left:10px}.random-support-card{align-content:center;display:grid;gap:18px;padding:30px}.random-support-card>div{display:grid;gap:10px}.random-support-card p{line-height:1.72}.random-support-card button{background:var(--primary)}.entry-card{display:grid;gap:16px;min-height:242px;padding:30px;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.entry-card:hover{border-color:#bfdbfe;box-shadow:0 14px 34px #0f172a14;transform:translateY(-2px)}.entry-mark{align-items:center;background:var(--primary-soft);border:1px solid #bfdbfe;border-radius:999px;color:var(--primary);display:inline-flex;font-weight:800;height:50px;justify-content:center;width:50px}.mock-entry .entry-mark{background:var(--accent-soft);border-color:#99f6e4;color:var(--accent)}.entry-card h2,.coming-card h2,.reference-section h2{margin:0}.entry-card h2{color:#0f172a;font-size:1.55rem;font-weight:800}.entry-card p,.coming-card p{color:var(--muted);line-height:1.55;margin:0}.entry-card button{align-self:end;border:none;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:750;min-height:48px;padding:0 16px;transition:background .16s ease,transform .16s ease}.entry-card button:hover{transform:translateY(-1px)}.primary-entry{border-color:#bfdbfe}.primary-entry button{background:var(--primary)}.mock-entry{background:linear-gradient(180deg,#fff,#fff7f7);border-color:#d7e0eb;box-shadow:0 10px 26px #0f172a12;position:relative}.mock-entry:before{background:linear-gradient(90deg,var(--steel),var(--primary),rgba(179,58,50,.7));border-radius:8px 8px 0 0;content:"";height:3px;left:-1px;position:absolute;right:-1px;top:-1px}.entry-feature-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.entry-feature-list li{background:#fff;border:1px solid #d7e0eb;border-radius:999px;color:var(--steel);font-size:.82rem;font-weight:750;padding:6px 9px}.mock-entry button{background:var(--primary)}.coming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.coming-card{background:#ffffffc7;opacity:.76;min-height:132px;padding:22px 24px;pointer-events:none;position:relative}.coming-badge{background:#eef2f7;border-radius:999px;color:#64748b;display:inline-block;font-size:.75rem;font-weight:800;margin-bottom:12px;padding:6px 9px}.reference-section{margin-top:20px;padding:22px}.reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;margin-top:14px}.reference-item{align-items:center;border:1px solid transparent;border-bottom-color:#eef2f7;border-radius:8px;color:#374151;cursor:default;display:flex;gap:9px;font-weight:650;padding:13px 10px;transition:background .16s ease,color .16s ease,padding-left .16s ease}.reference-item:hover{background:var(--steel-soft);border-color:var(--line);color:var(--steel);padding-left:12px}.reference-arrow{align-items:center;background:#eff6ff;border-radius:999px;color:var(--primary);display:inline-flex;flex:0 0 22px;font-size:1rem;height:22px;justify-content:center;line-height:1;width:22px}.landing-notice{margin-top:16px}.ad-placeholder{align-items:center;color:#94a3b8;display:flex;font-weight:700;justify-content:center;margin-top:16px;min-height:96px;padding:18px;text-align:center}.landing-support,.landing-admin{display:flex;justify-content:flex-end;margin-top:12px}.landing-support{justify-content:center}.landing-support button,.landing-admin button{background:transparent;border:none;color:#6b7280;cursor:pointer;font:inherit;font-size:.86rem;padding:6px 0}.landing-support button:hover,.landing-admin button:hover{color:#374151;text-decoration:underline}.notice-box{background:#ffffffe6;border:1px solid var(--line);border-left:3px solid var(--safety);border-radius:8px;color:var(--muted);font-size:.88rem;line-height:1.45;margin-bottom:14px;padding:10px 12px}.notice-box p{margin:0}.notice-box p+p{margin-top:3px}.filters{background:#ffffffeb;border:1px solid var(--line);border-top:3px solid var(--steel);border-radius:8px;margin-bottom:16px}.random-overview-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(420px,.72fr) minmax(0,1.28fr);margin-bottom:16px}.random-overview-grid .grade-filter-panel,.random-overview-grid .daily-practice-panel{margin-bottom:0}.random-overview-grid .daily-practice-panel{grid-template-columns:minmax(250px,.82fr) minmax(360px,1fr)}.daily-practice-panel{align-items:center;background:linear-gradient(120deg,#eaf2ffd1,#ffffffeb 46%),#fff;border:1px solid #d7e0eb;border-top:3px solid var(--primary);border-radius:8px;box-shadow:0 10px 28px #0f172a0d;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);margin-bottom:16px;padding:16px}.daily-practice-copy{display:grid;gap:5px;min-width:0}.daily-practice-copy span{color:var(--primary);font-size:.84rem;font-weight:850}.daily-practice-copy strong{color:#0f172a;font-size:1.28rem;line-height:1.28}.daily-practice-copy p{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.42;margin:0;text-wrap:balance}.daily-practice-stats{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(70px,1fr)) minmax(112px,1.25fr);margin:0;min-width:0}.daily-practice-stats div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 10px}.daily-practice-stats dt{color:var(--muted);font-size:.78rem;font-weight:850;margin-bottom:4px}.daily-practice-stats dd{color:var(--primary-dark);font-size:1.16rem;font-weight:850;line-height:1.12;margin:0;overflow-wrap:normal;white-space:nowrap;word-break:keep-all}.daily-practice-stats .reward-ready{background:#f0fdf4;border-color:#a7f3d0}.daily-practice-stats .reward-ready dd{color:var(--success)}.random-dev-tools{grid-column:1 / -1;margin-top:-4px}.random-milestone-toast{align-items:center;animation:milestone-pop .52s cubic-bezier(.2,.85,.2,1.18) both;background:radial-gradient(circle at 12% 30%,rgba(255,255,255,.9),transparent 28%),linear-gradient(135deg,#dbeafefa,#f0fdf4fa),#fff;border:1px solid rgba(37,99,235,.28);border-left:5px solid var(--primary);border-radius:8px;box-shadow:0 18px 40px #0f172a29;display:flex;gap:16px;grid-column:1 / -1;justify-content:flex-start;margin-top:-2px;overflow:hidden;padding:15px 16px;position:relative}.random-milestone-toast:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);content:"";height:120%;left:-35%;position:absolute;top:-10%;transform:rotate(10deg);width:26%;animation:milestone-shine 1.15s ease-out .12s both}.milestone-badge{align-items:center;background:var(--primary);border-radius:8px;box-shadow:0 10px 24px #2563eb38;color:#fff;display:grid;flex:0 0 72px;height:72px;justify-items:center;line-height:1;padding:10px;position:relative;z-index:1}.milestone-badge strong{color:#fff;font-size:1.72rem;letter-spacing:0}.milestone-badge span{color:#ffffffe6;font-size:.78rem;font-weight:850}.milestone-copy{display:grid;flex:1 1 auto;gap:4px;min-width:0;position:relative;z-index:1}.milestone-copy span{color:var(--primary);font-size:.82rem;font-weight:900}.milestone-copy strong{color:#0f172a;font-size:1.18rem;line-height:1.24}.milestone-copy p{color:#475569;font-size:.92rem;font-weight:700;line-height:1.42;margin:0}.random-milestone-toast button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--steel);cursor:pointer;flex:0 0 auto;font:inherit;font-size:.82rem;font-weight:850;padding:8px 10px;position:relative;z-index:1}.random-milestone-toast button:hover{border-color:var(--primary);color:var(--primary)}.random-milestone-toast.milestone-50{background:radial-gradient(circle at 12% 30%,rgba(255,255,255,.88),transparent 28%),linear-gradient(135deg,#e0f2fefa,#fef9c3f0),#fff;border-color:#0e74904d;border-left-color:#0891b2}.random-milestone-toast.milestone-50 .milestone-badge{background:#0891b2;box-shadow:0 10px 24px #0891b23d}.random-milestone-toast.milestone-50 .milestone-copy span{color:#0e7490}.random-milestone-toast.milestone-100{background:radial-gradient(circle at 12% 30%,rgba(255,255,255,.9),transparent 28%),linear-gradient(135deg,#fef3c7fa,#f0fdf4fa),#fff;border-color:#d9770657;border-left-color:#d97706}.random-milestone-toast.milestone-100 .milestone-badge{background:#d97706;box-shadow:0 10px 24px #d9770640}.random-milestone-toast.milestone-100 .milestone-copy span{color:#b45309}@keyframes milestone-pop{0%{opacity:0;transform:translateY(-10px) scale(.975)}70%{opacity:1;transform:translateY(2px) scale(1.012)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes milestone-shine{0%{left:-35%;opacity:0}35%{opacity:1}to{left:115%;opacity:0}}.mode-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:14px}.mode-tabs button{border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:#374151;cursor:pointer;font:inherit;font-weight:700;min-height:42px}.mode-tabs button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.filters label{display:grid;gap:6px;min-width:0}.filters span{color:#374151;font-size:.9rem;font-weight:700}.filters select{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:#111827;font:inherit;padding:0 10px}.card{background:linear-gradient(180deg,#fffffffa,#fffffff0),var(--card);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:8px;padding:22px;box-shadow:0 12px 34px #0f172a12}.question-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.question-meta{background:var(--steel-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:800;margin:0;padding:4px 9px}.question-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.mock-progress{background:var(--primary-soft);border:1px solid #dbeafe;border-radius:999px;color:var(--primary);font-size:.92rem;font-weight:700;margin:0;padding:5px 10px;white-space:nowrap}.mock-progress-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.last-question-badge{background:#fefce8;border:1px solid #facc15;border-radius:999px;color:#854d0e;font-size:.82rem;font-weight:800;padding:5px 9px;white-space:nowrap}.report-trigger,.inline-report-btn{border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:#475569;cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;padding:7px 10px;white-space:nowrap}.report-trigger:hover,.inline-report-btn:hover{border-color:#bfdbfe;background:var(--primary-soft);color:var(--primary)}.inline-report-btn{margin-top:10px}.question-info{background:#f8fafc;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;font-size:.95rem;margin:0 0 18px;padding:14px}.question-info div{min-width:0}.question-info dt{color:var(--muted);font-size:.8rem;font-weight:700;margin-bottom:2px}.question-info dd{margin:0;overflow-wrap:anywhere}.question{color:#0f172a;font-size:1.38rem;line-height:1.58;margin:0 0 18px}.structured-question{display:grid;gap:14px}.structured-question h2{color:#0f172a;font-size:1.38rem;line-height:1.48;margin:0}.condition-table{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;font-size:.98rem;overflow:hidden}.condition-table-head,.condition-row{display:grid;grid-template-columns:68px minmax(0,1fr)}.condition-table-head{background:var(--steel-soft);border-bottom:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:850}.condition-row+.condition-row{border-top:1px solid var(--line)}.condition-table-head span,.condition-row span{padding:11px 13px}.condition-table-head span+span,.condition-row span+span{border-left:1px solid var(--line)}.condition-label{align-items:center;color:var(--primary-dark);display:flex;font-weight:850;justify-content:center}.condition-text{color:#263445;font-weight:700;line-height:1.45}.question-media{margin:0 0 18px}.question-media img{background:#fff;border:1px solid var(--line);border-radius:8px;display:block;max-height:420px;max-width:100%;object-fit:contain}.question-media figcaption{color:var(--muted);font-size:.84rem;margin-top:6px}.question-media-placeholder{background:#ffffbf;border:1px dashed #facc15;border-radius:8px;color:#854d0e;margin:0 0 18px;padding:14px 16px}.question-media-placeholder span{display:block;font-size:.84rem;font-weight:800}.question-media-placeholder p{color:#475569;font-size:.92rem;margin:4px 0 0}.choices{padding:0;margin:0;list-style:none;display:grid;gap:12px}.choice-btn{width:100%;text-align:left;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:var(--text);min-height:58px;padding:14px 16px;font-size:1rem;line-height:1.5;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.choice-btn:hover,.choice-btn.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #2563eb14}.choice-btn:hover{transform:translateY(-1px)}.choice-no{background:var(--steel-soft);border:1px solid var(--line);border-radius:999px;color:var(--steel);display:inline-flex;height:1.8em;justify-content:center;margin-right:8px;width:1.8em;font-weight:800}.choice-btn.selected .choice-no,.choice-btn:hover .choice-no{background:#fff;border-color:#bfdbfe;color:var(--primary)}.actions{display:flex;gap:10px;margin-top:18px}.actions button{padding:12px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font:inherit;font-weight:800;min-height:46px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.actions button:hover:not(:disabled){background:var(--primary-dark)}.actions button:disabled{opacity:.5;cursor:not-allowed}.mock-actions{background:linear-gradient(180deg,#ffffffdb,#fff 38%);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px -22px -22px;padding:14px 22px;position:sticky;bottom:0}.actions button.submit-secondary{background:var(--card);border:1px solid var(--line-strong);color:#374151}.actions button.submit-secondary:hover{border-color:#bfdbfe;background:var(--primary-soft);color:var(--primary)}.actions button.submit-primary{background:linear-gradient(135deg,var(--fire),var(--fire-dark));color:#fff}.review-card{display:grid;gap:14px}.review-info{margin-bottom:0}.review-answer-actions{margin-top:14px}.review-controls{border-top:1px solid var(--line);display:grid;gap:12px;margin-top:4px;padding-top:14px}.review-controls label{display:grid;gap:6px}.review-controls span{color:#374151;font-size:.9rem;font-weight:700}.review-controls .review-image-decision{background:#f8fafc;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:12px}.review-image-decision-header,.review-image-options{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px}.review-image-decision-header small{color:var(--muted);font-size:.82rem;font-weight:700}.review-controls .review-image-checkbox{align-items:center;display:inline-flex;gap:8px}.review-controls .review-image-checkbox input{accent-color:var(--primary);height:18px;width:18px}.review-controls .review-image-checkbox span{font-weight:700}.review-controls select,.review-controls textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:#111827;font:inherit;padding:10px}.review-controls select{min-height:42px}.review-controls textarea{min-height:92px;resize:vertical}.review-saved-at{color:var(--muted);font-size:.85rem;margin:0}.review-queue-filters{display:flex;flex-wrap:wrap;gap:8px}.review-queue-filters button{background:var(--card);border:1px solid var(--line-strong);border-radius:999px;color:#374151;cursor:pointer;font:inherit;font-size:.9rem;font-weight:800;min-height:34px;padding:0 12px}.review-queue-filters button:hover{background:var(--primary-soft);border-color:#bfdbfe}.review-queue-filters button.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.review-nav-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.review-download-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.download-help{background:#f8fafc;border:1px solid var(--line);border-radius:8px;color:#475569;font-size:.9rem;line-height:1.4;margin:0;padding:10px 12px}.download-help a{color:var(--primary);font-weight:700}.result{margin-top:16px;padding:14px;border-radius:8px;line-height:1.5}.result.correct{background:var(--success-soft);border:1px solid #a7f3d0;color:#064e3b}.result.wrong{background:var(--danger-soft);border:1px solid #fecaca;color:#7f1d1d}.modal-backdrop{align-items:center;background:#0f172a6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:50}.report-dialog{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 60px #0f172a38;max-height:calc(100vh - 36px);max-width:520px;overflow:auto;padding:20px;width:100%}.confirm-dialog{max-width:440px}.confirm-message{color:#334155;line-height:1.55;margin:16px 0 0}.confirm-dialog-actions{margin-top:18px}.report-dialog-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.report-dialog-eyebrow{color:var(--primary);font-size:.82rem;font-weight:800;margin:0 0 4px}.report-dialog h2{color:#0f172a;font-size:1.24rem;margin:0}.modal-close{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:1.3rem;height:36px;justify-content:center;line-height:1;width:36px}.report-question-summary{background:#f8fafc;border:1px solid var(--line);border-radius:8px;margin:16px 0;padding:12px}.report-question-summary p{color:var(--muted);font-size:.88rem;font-weight:700;margin:0 0 3px}.report-question-summary strong{color:#111827}.report-form{display:grid;gap:12px}.report-form label{display:grid;gap:6px}.report-optional-fields{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.report-form span{color:#374151;font-size:.9rem;font-weight:800}.report-form input,.report-form select,.report-form textarea{border:1px solid var(--line-strong);border-radius:8px;color:#111827;font:inherit;padding:10px;width:100%}.report-form input,.report-form select{min-height:44px}.report-form textarea{min-height:126px;resize:vertical}.report-error{background:var(--danger-soft);border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.92rem;margin:0;padding:10px 12px}.report-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.report-dialog-actions button,.report-success button{border:none;border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;font:inherit;font-weight:800;min-height:44px;padding:10px 14px}.report-dialog-actions button.submit-secondary{background:var(--card);border:1px solid var(--line-strong);color:#374151}.report-dialog-actions button:disabled{cursor:not-allowed;opacity:.5}.report-success{background:var(--success-soft);border:1px solid #a7f3d0;border-radius:8px;color:#064e3b;display:grid;gap:8px;padding:14px}.report-success p{margin:0}.empty-message{margin:0;color:#475569;font-weight:700;text-align:center}.mock-start{display:grid;gap:16px;justify-items:start}.mock-start p{color:#374151;font-size:1rem;line-height:1.55;margin:0}.mock-start button,.mock-result .actions button{padding:12px 16px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.mock-limit-card{background:linear-gradient(135deg,#eff6fff5,#fffffffa),#fff;border:1px solid #d7e0eb;border-left:4px solid var(--primary);border-radius:8px;display:grid;gap:16px;padding:18px;width:100%}.mock-limit-card h2{color:#0f172a;font-size:1.12rem;margin:0 0 8px}.mock-last-result-summary{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.mock-last-result-summary div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.mock-last-result-summary dt{color:var(--muted);font-size:.78rem;font-weight:800;margin-bottom:4px}.mock-last-result-summary dd{color:#0f172a;font-size:1.08rem;font-weight:850;margin:0}.mock-limit-actions{margin-top:0}.mock-start .mock-limit-actions .submit-secondary{background:#fff;border:1px solid var(--line-strong);color:#334155}.mock-start .mock-limit-actions .submit-secondary:hover{background:var(--primary-soft);border-color:#bfdbfe;color:var(--primary)}.mock-card{overflow:visible}.mock-card{border-top-color:var(--steel)}.mock-exam-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 340px;overflow:visible}.mock-question-panel{min-width:0}.mock-side-panel{align-self:start;display:grid;gap:14px;position:sticky;top:16px;z-index:1}.mock-exam-status{background:var(--steel-soft);border:1px solid var(--line);border-top:3px solid var(--steel);border-radius:8px;display:grid;gap:10px;grid-template-columns:1fr;padding:14px}.mock-exam-status div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px}.mock-exam-status span{color:var(--muted);display:block;font-size:.78rem;font-weight:800;margin-bottom:5px}.mock-exam-status strong{color:#0f172a;display:block;font-size:1.08rem}.mock-exam-status .timer-block strong{color:var(--primary);font-size:1.45rem;letter-spacing:0}.mock-exam-status.warning .timer-block{border-color:#facc15;background:#fefce8}.mock-exam-status.warning .timer-block strong{color:#a16207}.mock-exam-status.danger .timer-block{border-color:#fecaca;background:var(--danger-soft)}.mock-exam-status.danger .timer-block strong{color:var(--danger)}.mock-question-map{background:var(--steel-soft);border:1px solid var(--line);border-top:3px solid var(--steel);border-radius:8px;display:grid;gap:14px;padding:14px}.question-map-group{display:grid;gap:8px}.question-map-title{align-items:center;color:#0f172a;display:flex;font-size:.9rem;font-weight:800;justify-content:space-between}.question-map-title em{color:var(--muted);font-style:normal;font-weight:700}.question-map-grid{display:grid;gap:7px;grid-template-columns:repeat(5,minmax(0,1fr))}.question-map-btn{border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:#475569;cursor:pointer;font:inherit;font-size:.86rem;font-weight:800;min-height:34px;padding:0}.question-map-btn:hover,.question-map-btn.answered{border-color:#bfdbfe;background:var(--primary-soft);color:var(--primary)}.question-map-btn.current{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}.question-map-btn.unanswered{background:#fff}.question-map-legend{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 12px;padding-top:10px}.question-map-legend span{align-items:center;display:inline-flex;font-size:.78rem;font-weight:700;gap:5px}.legend-dot{border:1px solid var(--line-strong);border-radius:999px;display:inline-block;height:9px;width:9px}.legend-dot.current{background:var(--primary-dark);border-color:var(--primary-dark)}.legend-dot.answered{background:var(--primary-soft);border-color:#bfdbfe}.legend-dot.unanswered{background:#fff}.mock-question-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mock-submit-actions{margin-top:0}.mock-submit-actions button{width:100%}.dev-tools{margin-top:4px}.dev-tools button{background:var(--card);border:1px solid var(--line);border-radius:8px;color:#6b7280;cursor:pointer;font-size:.82rem;padding:7px 9px}.dev-tools button:hover{background:#f8fafc;border-color:var(--line-strong)}.pass-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:.95rem;font-weight:800;margin-bottom:14px;padding:6px 12px}.pass-badge.pass{background:var(--success-soft);color:var(--success)}.pass-badge.fail{background:var(--danger-soft);color:var(--danger)}.mock-result{display:grid;gap:16px}.mock-result-summary{background:linear-gradient(135deg,rgba(255,245,244,.5),transparent 42%),linear-gradient(180deg,#fff,#f8fbff);border:1px solid #d7e0eb;border-top:3px solid var(--steel);border-radius:8px;display:grid;gap:16px;padding:18px}.mock-result-main{align-items:center;display:flex;gap:16px;justify-content:space-between}.mock-result-main .pass-badge{font-size:1rem;margin:0;padding:7px 14px}.mock-total-score{text-align:right}.mock-total-score span{color:var(--muted);display:block;font-size:.86rem;font-weight:800;margin-bottom:4px}.mock-total-score strong{color:var(--primary-dark);display:block;font-size:2.25rem;line-height:1}.mock-total-score em{color:var(--muted);display:block;font-size:.8rem;font-style:normal;font-weight:800;margin-top:6px}.mock-result-verdict{color:#334155;font-size:1rem;font-weight:750;line-height:1.45;margin:10px 0 0}.mock-result-insights{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.insight-card{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;gap:5px;min-height:112px;padding:13px 14px}.insight-card span,.mock-section-heading span{color:var(--muted);font-size:.78rem;font-weight:850}.insight-card strong{color:#0f172a;font-size:1.08rem}.insight-card p{color:#475569;font-size:.88rem;line-height:1.38;margin:0}.insight-card.pass{border-color:#a7f3d0}.insight-card.pass strong{color:var(--success)}.insight-card.fail{background:snow;border-color:#fecaca}.insight-card.fail strong{color:var(--danger)}.insight-card.focus{border-color:#bfdbfe}.insight-card.focus strong{color:var(--primary-dark)}.mock-subject-report,.mock-time-report{background:#f8fafcc2;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;padding:14px}.mock-section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.mock-section-heading h3{color:#0f172a;font-size:1rem;margin:0}.subject-score-list{display:grid;gap:10px}.subject-score-card{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:12px}.subject-score-card.risk{border-color:#fecaca}.subject-score-head,.subject-score-foot{align-items:center;display:flex;gap:12px;justify-content:space-between}.subject-score-head strong{color:#0f172a}.subject-score-head span,.subject-score-foot em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:800}.subject-score-foot span{color:var(--primary-dark);font-size:1rem;font-weight:850}.subject-score-card.risk .subject-score-foot span,.subject-score-card.risk .subject-score-foot em{color:var(--danger)}.score-track{background:#e8eef6;border-radius:999px;height:12px;overflow:hidden;position:relative}.score-fill{background:linear-gradient(90deg,var(--primary),var(--primary-dark));border-radius:inherit;height:100%;min-width:4px}.subject-score-card.risk .score-fill{background:linear-gradient(90deg,var(--fire),var(--danger))}.score-cutline{background:var(--safety);bottom:-2px;position:absolute;top:-2px;transform:translate(-1px);width:2px;left:40%;z-index:1}.time-meter{background:#e8eef6;border-radius:999px;height:12px;overflow:hidden}.time-meter div{background:linear-gradient(90deg,var(--steel),var(--primary));border-radius:inherit;height:100%}.mock-time-stats{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.mock-time-stats div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px}.mock-time-stats dt{color:var(--muted);font-size:.78rem;font-weight:850;margin-bottom:4px}.mock-time-stats dd{color:#0f172a;font-size:1rem;font-weight:850;margin:0}.mock-core-scores,.mock-answer-stats{display:grid;gap:10px;margin:0}.mock-core-scores{grid-template-columns:repeat(3,minmax(0,1fr))}.mock-core-scores div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.mock-core-scores dt,.mock-answer-stats dt{color:var(--muted);font-size:.8rem;font-weight:800;margin-bottom:4px}.mock-core-scores dd{color:#0f172a;font-size:1.12rem;font-weight:800;margin:0}.mock-answer-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mock-answer-stats div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px}.mock-answer-stats dd{color:#334155;font-size:1.02rem;font-weight:800;margin:0}.mock-result-actions{margin-top:0}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}.score-grid div{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:14px}.score-grid dt{color:var(--muted);font-size:.82rem;font-weight:700;margin-bottom:4px}.score-grid dd{color:#0f172a;font-size:1.18rem;font-weight:800;margin:0}.review-section{margin-top:0}.review-title{color:#0f172a;font-size:1.12rem;margin:0 0 10px}.review-empty{background:#f8fafc;border:1px solid var(--line);border-radius:8px;color:var(--muted);margin:0;padding:10px 12px}.compact-review-section{border:1px solid var(--line);border-radius:8px;overflow:hidden}.review-toggle{align-items:center;background:#fff;border:none;color:#0f172a;cursor:pointer;display:flex;font:inherit;font-weight:800;justify-content:space-between;min-height:48px;padding:0 14px;width:100%}.review-toggle:hover{background:#f8fafc}.review-toggle strong{color:var(--primary);font-size:.9rem}.compact-review-section .review-empty{border-bottom:none;border-left:none;border-radius:0;border-right:none}.review-list{display:grid;gap:10px;list-style-position:inside;margin:0;padding:12px}.review-list li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px}.review-list p{margin:5px 0 0}.review-meta{color:#475569;font-size:.86rem;font-weight:800}.review-question{color:#0f172a;font-weight:700;line-height:1.38}.review-answer-grid{display:grid;gap:4px}.review-answer-grid p,.review-explanation{color:#374151;font-size:.9rem;line-height:1.38}.source-page-note{color:#64748b;font-size:.84rem;font-weight:800}@media (max-width: 900px){.exam-entry-panel,.random-overview-grid,.random-overview-grid .daily-practice-panel,.mock-hero-card{grid-template-columns:1fr}.grade-panel{border-left:none;border-top:1px solid var(--line)}.mock-exam-layout{grid-template-columns:1fr}.mock-side-panel{position:static}.mock-exam-status{grid-template-columns:repeat(4,minmax(0,1fr))}.question-map-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.reference-grid,.random-grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-practice-panel{grid-template-columns:1fr}}@media (min-width: 901px){.mock-side-panel{max-height:calc(100vh - 32px);overflow-y:auto;position:sticky;top:16px}}@media (max-width: 640px){.container{padding:16px 12px 36px}h1{font-size:1.5rem}.subtitle{font-size:.95rem}.screen-header{align-items:flex-start;padding:12px}.landing-hero{padding:24px 4px 18px}.landing-hero h1{font-size:1.85rem;line-height:1.18}.title-break{display:block}.landing-description{font-size:.98rem}.hero-badges{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-badges span{align-content:center;text-align:center}.daily-practice-stats{grid-template-columns:1fr}.random-milestone-toast{align-items:stretch;flex-direction:column}.milestone-badge{align-content:center;flex-basis:auto;height:auto;justify-items:start;width:fit-content}.random-milestone-toast button{align-self:flex-start}.entry-grid,.coming-grid,.reference-grid{grid-template-columns:1fr}.entry-card{min-height:auto;padding:18px}.mock-hero-copy,.grade-panel,.random-support-card{padding:18px}.mock-hero-copy h2,.random-support-card h2{font-size:1.5rem}.grade-grid{gap:8px}.grade-option{min-height:66px;padding:10px}.entry-feature-list li{font-size:.78rem}.filters{gap:10px;padding:12px}.mode-tabs{grid-template-columns:1fr}.question-card-header{align-items:flex-start;margin-bottom:10px}.question{font-size:1.12rem}.filters,.question-info{grid-template-columns:1fr}.card{padding:14px}.mock-actions{margin:18px -14px -14px;padding:12px 14px}.mock-exam-layout{grid-template-columns:1fr}.mock-side-panel{position:static}.mock-exam-status{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.mock-exam-status .timer-block{grid-column:1 / -1}.question-map-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.actions{flex-direction:column}.mock-actions,.mock-question-actions,.review-nav-actions,.review-download-actions,.mock-core-scores,.mock-answer-stats,.mock-result-insights,.mock-time-stats,.score-grid{grid-template-columns:1fr}.mock-section-heading,.subject-score-head,.subject-score-foot{align-items:flex-start;flex-direction:column;gap:5px}.mock-result-main{align-items:flex-start;flex-direction:column}.mock-total-score{text-align:left}.mock-total-score strong{font-size:2rem}.actions button{width:100%}}
