.container{max-width:1200px;margin:0 auto;padding:0 24px}.page-header{background-color:var(--color-canvas);border-bottom:1px solid var(--color-hairline);padding:64px 0 32px}.eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--color-mute);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}.page-title{font-size:40px;font-weight:600;line-height:1.05;letter-spacing:-1.6px;color:var(--color-ink);margin:0 0 12px}.page-desc{font-size:16px;line-height:24px;color:var(--color-body);margin:0 0 24px;max-width:520px}.filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter-pill,.diff-pill{height:32px;padding:0 14px;background-color:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:9999px;font-size:13px;font-weight:400;color:var(--color-body);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.filter-pill:hover,.diff-pill:hover{background-color:var(--color-canvas-soft-2);color:var(--color-ink)}.filter-pill--active,.diff-pill--active{background-color:var(--color-ink);border-color:var(--color-ink);color:#fff;font-weight:500}#continue-banner{background-color:var(--color-canvas);border-bottom:1px solid var(--color-hairline);padding:16px 0}.continue-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.continue-info{display:flex;align-items:center;gap:12px}.continue-icon{font-size:20px;flex-shrink:0}.continue-title{font-size:15px;font-weight:600;color:var(--color-ink);margin:0 0 2px}.continue-sub{font-size:13px;color:var(--color-mute);margin:0;font-family:var(--font-mono)}.continue-actions{display:flex;gap:8px;flex-shrink:0}.btn-continue{height:34px;padding:0 16px;background-color:var(--color-ink);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-continue:hover{opacity:.85}.btn-clear{height:34px;padding:0 14px;background-color:transparent;color:var(--color-mute);border:1px solid var(--color-hairline);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.btn-clear:hover{color:var(--color-ink);border-color:var(--color-hairline-strong)}.section{padding:48px 0 96px;background-color:var(--color-canvas-soft)}.practice-layout{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}.question-card{background-color:var(--color-canvas);border-radius:12px;padding:32px;box-shadow:0 0 0 1px #00000014 inset,0 2px 2px #0000000a,0 8px 16px -4px #0000000a}.question-meta{display:flex;align-items:center;gap:10px;margin-bottom:20px}.meta-topic{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-mute);text-transform:uppercase;letter-spacing:.06em;background-color:var(--color-canvas-soft-2);padding:2px 8px;border-radius:4px}.meta-diff{font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px}.meta-diff--easy{color:var(--color-success-text);background-color:var(--color-success-bg)}.meta-diff--medium{color:var(--color-warning-text);background-color:var(--color-warning-bg)}.meta-diff--hard{color:var(--color-error-text);background-color:var(--color-error-bg)}.bookmark-btn{margin-left:auto;flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-hairline);border-radius:6px;font-size:16px;color:var(--color-mute);cursor:pointer;transition:color .15s,border-color .15s,background-color .15s;line-height:1}.bookmark-btn:hover,.bookmark-btn--active{color:#f59e0b;border-color:#f59e0b;background-color:#fef3c7}.question-text{font-size:17px;font-weight:500;line-height:28px;letter-spacing:-.2px;color:var(--color-ink);margin:0 0 24px}.choices{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.choice-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 18px;background-color:var(--color-canvas);border:1.5px solid var(--color-hairline);border-radius:10px;font-size:15px;color:var(--color-ink);cursor:pointer;transition:border-color .12s,background-color .12s,box-shadow .12s}.choice-card:hover:not(:disabled):not(.choice-card--selected){border-color:var(--color-hairline-strong);background-color:var(--color-canvas-soft)}.choice-card:disabled{cursor:default}.choice-letter{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background-color:var(--color-canvas-soft-2);border:1.5px solid var(--color-hairline);font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--color-mute);transition:background-color .12s,border-color .12s,color .12s}.choice-text{flex:1;line-height:1.5}.choice-card--selected{border-color:var(--color-selected);background-color:var(--color-selected-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-selected) 15%,transparent)}.choice-card--selected .choice-letter{background-color:var(--color-selected);border-color:var(--color-selected);color:#fff}.choice-card--correct{border-color:var(--color-success);background-color:var(--color-success-bg)}.choice-card--correct .choice-letter{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.choice-card--correct .choice-text{color:var(--color-success-text);font-weight:500}.choice-card--wrong{border-color:var(--color-error);background-color:var(--color-error-bg)}.choice-card--wrong .choice-letter{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.choice-card--wrong .choice-text{color:var(--color-error-text)}.choice-card--dim{opacity:.45}.submit-btn{display:block;width:100%;height:46px;background-color:var(--color-ink);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:opacity .15s}.submit-btn:hover{opacity:.88}.feedback{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:8px;font-size:15px;font-weight:500;margin-bottom:16px}.feedback--correct{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.feedback--wrong{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.feedback-icon{font-size:16px;font-weight:700}.explanation{background-color:var(--color-canvas-soft);border-radius:8px;padding:16px;margin-bottom:24px;border:1px solid var(--color-hairline)}.explanation-label{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-mute);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}.explanation p{font-size:14px;line-height:22px;color:var(--color-body);margin:0}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-btn{height:36px;padding:0 16px;background-color:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:6px;font-size:14px;font-weight:500;color:var(--color-ink);cursor:pointer;transition:background-color .15s}.nav-btn:hover:not(:disabled){background-color:var(--color-canvas-soft-2)}.nav-btn:disabled{opacity:.35;cursor:default}.nav-btn--primary{background-color:var(--color-ink);border-color:var(--color-ink);color:#fff;padding:0 20px}.nav-btn--primary:hover:not(:disabled){opacity:.88;background-color:var(--color-ink)}.nav-counter{font-family:var(--font-mono);font-size:13px;color:var(--color-mute)}.empty-state{background-color:var(--color-canvas);border-radius:12px;padding:64px 32px;text-align:center;color:var(--color-mute);box-shadow:0 0 0 1px #0000000f inset}.sidebar{display:flex;flex-direction:column;gap:12px}.progress-card,.score-card,.review-card,.bookmarks-card{background-color:var(--color-canvas);border-radius:10px;padding:20px;box-shadow:0 0 0 1px #00000014 inset,0 1px 1px #00000005,0 2px 2px #0000000a}.sidebar-label{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-mute);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.progress-bar-wrap{margin-bottom:8px}.progress-bar-track{height:5px;background-color:var(--color-hairline);border-radius:5px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#007cf0,#7928ca);border-radius:5px;transition:width .3s ease}.progress-text{font-family:var(--font-mono);font-size:12px;color:var(--color-body);margin:0}.score-value{font-size:28px;font-weight:600;letter-spacing:-1px;color:var(--color-ink);margin:0}.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.review-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;background:none;border:1px solid var(--color-hairline);border-radius:6px;font-size:12px;color:var(--color-body);cursor:pointer;transition:background-color .12s,color .12s}.review-item:hover:not(:disabled){background-color:var(--color-canvas-soft);color:var(--color-ink)}.review-item--dim,.review-item:disabled{opacity:.45;cursor:default}.review-num{font-family:var(--font-mono);font-size:11px;font-weight:600;flex-shrink:0}.review-topic{color:var(--color-mute);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.streak-card{background-color:var(--color-canvas);border-radius:10px;padding:20px;box-shadow:0 0 0 1px #00000014 inset,0 1px 1px #00000005,0 2px 2px #0000000a}.streak-card--active{background:linear-gradient(135deg,#fff7ed,#fff);box-shadow:0 0 0 1px #ea580c2e inset,0 1px 1px #00000005,0 2px 2px #0000000a}[data-theme=dark] .streak-card--active{background:linear-gradient(135deg,#1c1108,#1a1a1a)}.streak-main{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}.streak-flame{font-size:20px;line-height:1;margin-right:2px}.streak-count{font-size:28px;font-weight:600;letter-spacing:-1px;color:var(--color-ink);line-height:1}.streak-unit{font-size:14px;font-weight:500;color:var(--color-mute)}.streak-stats{display:flex;gap:16px;padding-top:10px;border-top:1px solid var(--color-hairline)}.streak-stat{display:flex;flex-direction:column;gap:1px}.streak-stat-label{font-family:var(--font-mono);font-size:10px;color:var(--color-mute);text-transform:uppercase;letter-spacing:.06em}.streak-stat-value{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--color-body)}.reset-btn{width:100%;height:34px;background-color:transparent;color:var(--color-mute);border:1px solid var(--color-hairline);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.reset-btn:hover{color:var(--color-error-text);border-color:var(--color-error-border);background-color:var(--color-error-bg)}.sidebar-link{display:block;padding:12px 16px;background-color:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:8px;font-size:14px;font-weight:500;color:var(--color-body);text-decoration:none;transition:color .15s,border-color .15s}.sidebar-link:hover{color:var(--color-ink);border-color:var(--color-hairline-strong)}@media(max-width:960px){.practice-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:600px){.page-title{font-size:30px}.page-header{padding:40px 0 24px}.question-card{padding:20px}.sidebar{grid-template-columns:1fr}.filter-row{flex-direction:column;align-items:flex-start;gap:10px}.choice-card{padding:12px 14px;gap:10px}.choice-letter{width:24px;height:24px;font-size:11px}.question-text{font-size:15px;line-height:24px}.section{padding:32px 0 64px}}@media(max-width:380px){.filter-pill,.diff-pill{height:36px;padding:0 10px;font-size:12px}}
