:root{--primary: #1a73e8;--primary-dark: #1557b0;--primary-bg: #e8f0fe;--success: #1e8e3e;--success-bg: #e6f4ea;--success-border: #a8dab5;--error: #c5221f;--error-bg: #fce8e6;--error-border: #f5b7b1;--text: #202124;--text-secondary: #5f6368;--text-disabled: #9aa0a6;--bg: #ffffff;--bg-muted: #f8f9fa;--surface: #f1f3f4;--border: #dadce0;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(60, 64, 67, .06);--shadow-md: 0 1px 3px rgba(60, 64, 67, .1), 0 1px 2px rgba(60, 64, 67, .06);--transition: .2s ease}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Roboto,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed}.home{max-width:720px;margin:0 auto;padding:48px 24px 80px}.home-header{margin-bottom:40px}.home-header h1{font-size:32px;font-weight:500;margin:0 0 8px;letter-spacing:-.5px}.home-header p{color:var(--text-secondary);margin:0;font-size:16px}.home-section{margin-top:36px}.home-section-title{font-size:14px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin:0 0 16px}.home-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.home-section-head .home-section-title{margin:0}.home-section-note{font-size:13px;color:var(--text-secondary);background:var(--surface);padding:3px 10px;border-radius:var(--radius-pill);font-weight:500}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.btn-card{display:flex;align-items:center;justify-content:center;padding:18px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:15px;font-weight:500;text-align:center;transition:all var(--transition);cursor:pointer;box-shadow:var(--shadow-sm);text-decoration:none;min-height:56px}.btn-card:hover{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.btn-card.disabled{background:var(--bg-muted);color:var(--text-disabled);cursor:not-allowed;pointer-events:none;box-shadow:none}.btn-card.disabled .badge-soon{display:inline-block;margin-left:8px;font-size:11px;background:var(--surface);color:var(--text-disabled);padding:2px 8px;border-radius:var(--radius-pill);font-weight:500}.lesson-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.lesson-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm);transition:all var(--transition)}.lesson-card:hover{border-color:var(--primary);background:var(--primary-bg)}.lesson-card.disabled{background:var(--bg-muted);cursor:not-allowed;box-shadow:none;color:var(--text-disabled)}.lesson-card.disabled:hover{border-color:var(--border);background:var(--bg-muted)}.lesson-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.lesson-card-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.lesson-card-num{font-size:13px;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.4px}.lesson-card.disabled .lesson-card-num{color:var(--text-disabled)}.lesson-card-name{font-size:15px;font-weight:500;color:var(--text)}.lesson-card.disabled .lesson-card-name{color:var(--text-disabled)}.lesson-card-count{font-size:12px;color:var(--primary);background:var(--primary-bg);padding:3px 10px;border-radius:var(--radius-pill);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.lesson-card .badge-soon{display:inline-block;font-size:11px;background:var(--surface);color:var(--text-disabled);padding:3px 10px;border-radius:var(--radius-pill);font-weight:500;white-space:nowrap}.lesson-card-detail{font-size:13px;line-height:1.5;color:var(--text-secondary)}.lesson-card.disabled .lesson-card-detail{color:var(--text-disabled)}.btn-primary-lg{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;background:var(--primary);color:#fff;font-size:15px;font-weight:500;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition);text-decoration:none}.btn-primary-lg:hover{background:var(--primary-dark);color:#fff}.quick-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.progress-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.progress-stat{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 18px;flex:1;min-width:110px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm)}.progress-stat-num{font-size:24px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.3px;line-height:1.1}.progress-stat-suffix{font-size:14px;color:var(--text-secondary);font-weight:400;margin-left:2px}.progress-stat-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;font-weight:500}.progress-stat.correct .progress-stat-num{color:var(--success)}.progress-stat.wrong .progress-stat-num{color:var(--error)}.btn-reset{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:5px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;transition:all var(--transition)}.btn-reset:hover{background:var(--error-bg);border-color:var(--error-border);color:var(--error)}.action-count{display:inline-block;margin-left:6px;font-size:12px;background:var(--primary-bg);color:var(--primary);padding:1px 8px;border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;font-weight:500}.btn-outline:hover .action-count{background:var(--bg)}.quiz-wrap{max-width:760px;margin:0 auto;padding:24px 20px 100px}.quiz-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.quiz-mode-label{font-size:13px;color:var(--text-secondary);font-weight:500}.quiz-mode-label strong{color:var(--text);font-weight:500}.quiz-home-link{font-size:13px;color:var(--text-secondary)}.quiz-home-link:hover{color:var(--primary)}.progress-row{display:flex;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}.progress-bar{display:flex;gap:6px;flex:1;min-width:0;flex-wrap:wrap}.progress-seg{flex:1;min-width:18px;max-width:48px;height:8px;background:var(--surface);border:1.5px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition);padding:0}.progress-seg:hover{transform:scaleY(1.4)}.progress-seg.answered{background:var(--primary)}.progress-seg.visited{background:transparent;border-color:var(--primary)}.progress-seg.current{background:var(--primary);transform:scaleY(1.6)}.progress-seg.current.visited{background:transparent}.progress-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.progress-counter{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.badge-correct{background:var(--success-bg);color:var(--success)}.badge-wrong{background:var(--error-bg);color:var(--error)}.question-block{margin-bottom:28px}.question-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.question-topic,.question-id-chip,.question-lesson-chip{display:inline-block;font-size:12px;padding:4px 10px;border-radius:var(--radius-pill);font-weight:500}.question-topic{color:var(--text-secondary);background:var(--surface)}.question-id-chip{color:var(--primary);background:var(--primary-bg);font-variant-numeric:tabular-nums;font-family:Roboto Mono,ui-monospace,SFMono-Regular,monospace}.question-lesson-chip{color:var(--text-secondary);background:var(--surface)}.question-chips.spoiler .question-topic,.question-chips.spoiler .question-lesson-chip{color:transparent;text-shadow:0 0 7px var(--text-secondary);user-select:none;cursor:help}.question-text{font-size:19px;line-height:1.55;color:var(--text);margin:0;font-weight:400}.question-num{color:var(--text-secondary);font-weight:500;margin-right:6px}.hint-toggle{margin-top:14px;display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--primary);font-size:13px;padding:4px 0;font-weight:500}.hint-toggle:hover{text-decoration:underline}.hint-text{margin-top:8px;padding:12px 16px;background:var(--primary-bg);border-radius:var(--radius-sm);font-size:14px;color:var(--text);line-height:1.5}.hint-text[hidden]{display:none}.options{display:flex;flex-direction:column;gap:12px;margin-top:8px}.option{display:block;width:100%;text-align:left;background:var(--bg-muted);border:1.5px solid transparent;border-radius:var(--radius-md);padding:16px 18px;font-size:15px;line-height:1.5;color:var(--text);transition:all var(--transition);cursor:pointer;font-family:inherit}.option:hover:not(:disabled){background:var(--surface)}.option:disabled{cursor:default}.option-row{display:flex;gap:12px;align-items:flex-start}.option-label{font-weight:500;color:var(--text-secondary);flex-shrink:0;min-width:18px}.option-text{flex:1}.option.correct{background:var(--success-bg);border-color:var(--success-border)}.option.wrong{background:var(--error-bg);border-color:var(--error-border)}.option-feedback{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);font-size:14px;line-height:1.5}.option-feedback-label{display:inline-flex;align-items:center;gap:6px;font-weight:600;margin-bottom:6px}.option.correct .option-feedback-label{color:var(--success)}.option.wrong .option-feedback-label{color:var(--error)}.option-feedback-text{color:var(--text)}.quiz-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:40px}.btn-secondary{background:transparent;color:var(--text-secondary);border:none;padding:12px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;transition:all var(--transition)}.btn-secondary:hover:not(:disabled){background:var(--surface);color:var(--text)}.btn-secondary:disabled{color:var(--text-disabled);opacity:.5}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px 28px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;transition:background var(--transition)}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary);padding:11px 26px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;transition:all var(--transition)}.btn-outline:hover{background:var(--primary-bg)}.result{max-width:480px;margin:48px auto 0;padding:40px 32px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-score{font-size:56px;font-weight:500;color:var(--primary);letter-spacing:-1.5px;font-variant-numeric:tabular-nums;line-height:1}.result-message{font-size:18px;color:var(--text);margin:16px 0 24px}.result-badges{display:flex;justify-content:center;gap:12px;margin-bottom:32px}.result-badges .badge{font-size:14px;padding:6px 14px}.result-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.result-actions button{min-width:200px}.browse-wrap{max-width:760px;margin:0 auto;padding:32px 20px 80px}.browse-header{margin-bottom:24px}.browse-topbar{margin-bottom:16px}.browse-header h1{font-size:28px;font-weight:500;margin:0 0 6px;letter-spacing:-.5px}.browse-subtitle{margin:0;color:var(--text-secondary);font-size:14px}.browse-subtitle code{background:var(--surface);padding:2px 6px;border-radius:4px;font-size:13px}.browse-search{display:flex;gap:8px;margin-bottom:12px;position:sticky;top:0;background:var(--bg);padding:8px 0;z-index:10}#search-input{flex:1;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-pill);font-size:15px;font-family:inherit;color:var(--text);background:var(--bg-muted);transition:all var(--transition);outline:none}#search-input:focus{border-color:var(--primary);background:var(--bg);box-shadow:0 0 0 4px #1a73e81f}.browse-filters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filter-field{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.filter-field select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-family:inherit;font-size:14px;color:var(--text);cursor:pointer}.result-count{margin-left:auto;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.question-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.question-item[hidden]{display:none}.question-item-link{display:block;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);transition:all var(--transition);box-shadow:var(--shadow-sm)}.question-item-link:hover{border-color:var(--primary);background:var(--primary-bg)}.question-item.highlight .question-item-link{border-color:var(--primary);box-shadow:0 0 0 3px #1a73e82e}.question-item-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.question-item-text{font-size:14px;line-height:1.5;color:var(--text)}.browse-empty{text-align:center;color:var(--text-secondary);padding:32px 16px}.empty{text-align:center;padding:64px 24px;color:var(--text-secondary)}.empty h2{color:var(--text);font-weight:500;margin-bottom:8px}@media(max-width:600px){.home,.quiz-wrap{padding-left:16px;padding-right:16px}.question-text{font-size:17px}.result-score{font-size:44px}}
