:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:linear-gradient(180deg,#eff6ff,#fff);line-height:1.5;font-weight:400}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh}button,input{font:inherit}button{transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}button:hover{transform:translateY(-1px)}.page{min-height:100vh;padding:24px}.card{border-radius:24px;background:#ffffffe6;box-shadow:0 24px 80px #0f172a1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.7)}.loading-state{max-width:760px;margin:80px auto;padding:40px}.home{min-height:calc(100vh - 48px);display:grid;place-items:center}.hero{width:min(1200px,100%);padding:40px}.hero-copy{margin-bottom:24px}.eyebrow{margin:0 0 12px;color:#2563eb;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.1}h2{margin-bottom:0;font-size:1.35rem}h3{margin-bottom:0;font-size:1.1rem;line-height:1.5}.subtext{margin-bottom:0;color:#475569}.subtext.compact{max-width:780px;margin-top:10px}.section-title{font-size:.95rem;font-weight:700;color:#0f172a;margin-bottom:14px}.form-grid,.options,.quiz-shell,.home-grid,.quiz-grid{display:grid;gap:16px}.home-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;margin:24px 0}.config-panel,.stats-panel,.side-panel,.main-panel,.right-panel{padding:24px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.field{display:grid;gap:8px;font-weight:600}.field span,.hint,.summary span,.status-row span,.question-meta-line,.option-block p{color:#64748b;font-size:.95rem}.field input{width:100%;border:1px solid #cbd5e1;border-radius:14px;padding:12px 14px;outline:none;background:#fff}.field input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.option-block{padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.segmented{display:flex;gap:10px;flex-wrap:wrap}.segmented button,.primary,.ghost,.pager-row button{border:0;border-radius:999px;cursor:pointer}.segmented button{flex:1;min-width:180px;padding:12px 16px;background:#e2e8f0}.segmented button.active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.segmented.compact button{min-width:120px}.start-button{width:100%}.primary,.ghost,.pager-row button{padding:14px 20px;font-weight:600}.primary{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:0}.primary.mock{background:linear-gradient(135deg,#dc2626,#ea580c)}.primary.small{padding:10px 16px}.ghost,.pager-row button{background:#e2e8f0;border:0}.quiz-grid{grid-template-columns:220px minmax(0,1fr);align-items:start}.top-bar{padding:20px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.top-right{display:grid;gap:12px;justify-items:end}.top-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.home-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:0}.home-actions .start-button{flex:1;min-width:200px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats-grid.narrow{grid-template-columns:1fr}.stat-card{border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:14px;display:flex;justify-content:space-between;gap:12px}.stat-card strong{font-size:1.05rem}.side-panel{position:sticky;top:24px}.tag{font-size:.72rem;padding:6px 10px}.mock-tag{background:#fef2f2;color:#dc2626;margin-left:8px}.wrong-tag{background:#fff7ed;color:#ea580c;margin-left:8px}.nav-groups{max-height:calc(100vh - 180px);overflow:auto;padding-right:2px}.nav-group{margin-bottom:14px}.nav-group:last-child{margin-bottom:0}.nav-group-title{margin:0 0 6px;font-size:.72rem;font-weight:600;color:#64748b}.index-list{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.index-item{aspect-ratio:1;border:1px solid #dbe4f0;background:#fff;font-weight:700;font-size:.92rem;display:grid;place-items:center;padding:0;box-shadow:none;border-radius:8px;min-width:0;color:#334155}.index-item.single{border-color:#93c5fd}.index-item.multi{border-color:#fbbf24}.index-item.judge{border-color:#86efac}.index-item.single.active:not(.correct):not(.wrong):not(.partial):not(.selected){background:#2563eb;color:#fff;border-color:transparent}.index-item.multi.active:not(.correct):not(.wrong):not(.partial):not(.selected){background:#d97706;color:#fff;border-color:transparent}.index-item.judge.active:not(.correct):not(.wrong):not(.partial):not(.selected){background:#16a34a;color:#fff;border-color:transparent}.index-item.correct.active,.index-item.wrong.active,.index-item.partial.active,.index-item.selected.active{box-shadow:0 0 0 3px #2563eb;z-index:1;position:relative}.index-item.selected{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.index-item.correct{background:#dcfce7;border-color:#86efac}.index-item.wrong{background:#fee2e2;border-color:#fca5a5}.index-item.partial{background:#fff7ed;border-color:#fb923c}.index-item.single.correct,.index-item.multi.correct,.index-item.judge.correct{border-color:#86efac}.index-item.single.wrong,.index-item.multi.wrong,.index-item.judge.wrong{border-color:#fca5a5}.index-item.active{font-weight:700;color:#fff!important}.index-item:hover,.index-item:active{transform:none}.index-item,.index-item *{transition:none}.main-panel{min-height:70vh}.question-card,.question-block,.compact-block{padding:22px;border:1px solid #e2e8f0;border-radius:20px;background:#fff}.question-block+.question-block{margin-top:18px}.question-title{margin:12px 0 0;line-height:1.6}.question-meta-line{display:flex;justify-content:space-between;gap:12px;align-items:center}.question-meta-line .tag:after{content:""}.options-list{display:grid;gap:10px;margin-top:14px}.option-item{width:100%;text-align:left;border:1px solid #dbe4f0;background:#fff;border-radius:14px;padding:12px 14px;color:#334155;cursor:pointer}.option-item:disabled{cursor:default;pointer-events:none}.option-item.selected{border-color:#2563eb;background:#eff6ff}.option-item.correct{border-color:#16a34a;background:#ecfdf5}.option-item.wrong{border-color:#dc2626;background:#fef2f2}.option-item.missed{border-color:#fb923c;background:#fff7ed}.multi-actions{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.pager-row{display:flex;justify-content:space-between;margin-top:18px}.answer{margin-top:16px;font-weight:700;color:#16a34a}.current-seq{font-weight:700;color:#0f172a;font-size:.92rem}.wrong-badge{font-size:.7rem;padding:2px 8px;border-radius:999px;background:#fef2f2;color:#dc2626;font-weight:600}.history-page,.review-page{max-width:960px;margin:0 auto;padding:32px}.history-header,.review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.history-header h2,.review-header h2{margin-bottom:6px}.empty-state{text-align:center;padding:40px 0;color:#64748b}.history-list{display:grid;gap:10px}.history-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.history-info{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:4px}.history-date{font-weight:600;font-size:.95rem}.history-meta{font-size:.85rem;color:#64748b}.history-progress{width:120px}.progress-bar{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:999px;transition:width .3s ease}.ghost.small{font-size:.8rem;padding:6px 14px}.result-correct{color:#16a34a;font-weight:600}.result-wrong{color:#dc2626;font-weight:600}.result-partial{color:#fb923c;font-weight:600}.result-unanswered{color:#94a3b8}.review-option{cursor:default;pointer-events:none}.review-option.review-correct{border-color:#16a34a;background:#ecfdf5}.review-option.review-wrong{border-color:#dc2626;background:#fef2f2}.review-option.review-missed{border-color:#f59e0b;background:#fffbeb}@media(max-width:960px){.form-grid,.home-grid,.quiz-grid{grid-template-columns:1fr}.top-bar{flex-direction:column;align-items:stretch}.top-right{justify-items:start}.side-panel{position:static}}
