:root{--accent:#7c3aed;--accent-hover:#6d28d9;--accent-bg:#7c3aed1a;--accent-border:#7c3aed59;--bg:#f7f6fb;--surface:#fff;--border:#e6e3ef;--text:#3f3b4a;--text-h:#1c1a24;--text-muted:#8b869a;--code-bg:#f4f2fa;--code-text:#6d28d9;--green-bg:#e8f8ee;--green-text:#1e9e5a;--red-bg:#fdeaec;--red-text:#dc3545;--gray-bg:#f0eff5;--gray-text:#8b869a;--shadow-sm:0 1px 2px #1f143c0a;--shadow-md:0 6px 16px #1f143c14;--shadow-lg:0 12px 32px #1f143c1f;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--text-h);margin:0;font-weight:600}p{margin:0}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.app-content{flex:1;min-width:0;padding:28px 36px 60px}.page{max-width:1200px;margin:0 auto}.page-title{margin:4px 0 20px;font-size:26px}.page-with-sidebar{justify-content:center;align-items:flex-start;gap:28px;display:flex}.page-with-sidebar__main{flex:760px;min-width:0;max-width:760px}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;width:240px;min-height:100vh;padding:20px 14px}.sidebar__brand{align-items:center;gap:10px;padding:4px 10px 22px;display:flex}.sidebar__brand-badge{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.sidebar__brand-name{color:var(--text-h);font-weight:600}.sidebar__section{margin-bottom:18px}.sidebar__section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;padding:0 10px 6px;font-size:11px;font-weight:600;display:flex}.sidebar__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar__link{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:500;display:flex}.sidebar__link:hover{background:var(--gray-bg)}.sidebar__link--active{background:var(--accent-bg);color:var(--accent)}.breadcrumbs{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px;font-size:13px;display:flex}.breadcrumbs__item{align-items:center;gap:4px;display:flex}.breadcrumbs__link:hover{color:var(--accent)}.breadcrumbs__current{color:var(--text-h);font-weight:500}.breadcrumbs__sep{color:var(--text-muted);opacity:.6}.question-list{flex-direction:column;gap:10px;display:flex}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.question-card__header{text-align:left;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.question-card__question{color:var(--text-h);flex:1;font-size:14.5px;font-weight:500}.question-card__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.question-card__chevron--open{color:var(--accent);transform:rotate(180deg)}.question-card__body{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:16px 18px 20px;display:flex}.question-card__meta{align-items:center;gap:8px;display:flex}.question-card__menu-slot{margin-left:auto}.question-card__answer{color:var(--text);line-height:1.65}.status-badge{border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600}.status-badge--learned{background:var(--green-bg);color:var(--green-text)}.status-badge--not-learned{background:var(--red-bg);color:var(--red-text)}.pill{background:var(--gray-bg);color:var(--text);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.pill--rating{background:var(--accent-bg);color:var(--accent)}.pill--difficulty{background:var(--gray-bg);color:var(--text)}.inline-code{font-family:var(--mono);background:var(--code-bg);color:var(--code-text);border-radius:5px;padding:2px 6px;font-size:.92em}.card-menu{position:relative}.card-menu__trigger{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;padding:6px 8px;display:flex}.card-menu__trigger:hover{background:var(--gray-bg);color:var(--text-h)}.card-menu__dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:20;flex-direction:column;gap:2px;min-width:160px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.card-menu__item{border-radius:var(--radius-sm);text-align:left;color:var(--text);background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13.5px;display:flex}.card-menu__item:hover:not(:disabled){background:var(--accent-bg);color:var(--accent)}.card-menu__item:disabled{color:var(--text-muted);opacity:.5;cursor:not-allowed}.code-block{border-radius:var(--radius-sm);background:#1e1b29;position:relative;overflow:hidden}.code-block pre{margin:0;padding:16px;overflow-x:auto}.code-block code{font-family:var(--mono);color:#e5e0f5;font-size:13.5px;line-height:1.6}.code-block__copy{color:#e5e0f5;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;display:flex;position:absolute;top:8px;right:8px}.code-block__copy:hover{background:#ffffff29}.filter-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:18px;padding:20px;display:flex;position:sticky;top:28px}.filter-sidebar__header{justify-content:space-between;align-items:center;display:flex}.filter-sidebar__header h3{font-size:15px}.filter-sidebar__reset{color:var(--accent);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.filter-group__title{color:var(--text-muted);margin-bottom:9px;font-size:12.5px;font-weight:600}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:8px;padding:9px 12px;display:flex}.search-input input{font:inherit;color:var(--text-h);background:0 0;border:none;outline:none;flex:1}.skill-grid{flex-wrap:wrap;gap:6px;display:flex}.skill-tag{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:500;display:flex}.skill-tag:hover{border-color:var(--accent-border)}.skill-tag--active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.skill-tag--static{cursor:default}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:6px 13px;font-size:13px;font-weight:500}.chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.segmented__item{background:var(--surface);border:none;border-right:1px solid var(--border);color:var(--text);flex:1;padding:8px 6px;font-size:12.5px;font-weight:500}.segmented__item:last-child{border-right:none}.segmented__item--active{background:var(--accent);color:#fff}.favorite-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.favorite-toggle input{accent-color:var(--accent)}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;padding:28px;line-height:1.6}.details-header{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.details-header__icon{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.details-header__subtitle{color:var(--text-muted);margin-top:6px;font-size:14px}.actions-bar{justify-content:center;gap:10px;margin-bottom:18px;display:flex}.actions-bar__btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;display:flex}.actions-bar__btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.actions-bar__btn--active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.actions-bar__btn:disabled{opacity:.45;cursor:not-allowed}.prev-next{justify-content:center;gap:12px;margin-bottom:28px;display:flex}.prev-next__btn{color:var(--accent);background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-size:13.5px;font-weight:500;display:flex}.prev-next__btn:disabled{color:var(--text-muted);opacity:.5;cursor:not-allowed}.answer-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-bottom:18px;padding:22px;display:flex}.answer-section__title{font-size:16px}.answer-section__text{color:var(--text);white-space:pre-line;line-height:1.7}.progress-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;padding:22px;display:flex;position:sticky;top:28px}.progress-sidebar__title{margin-bottom:6px;font-size:15px}.progress-sidebar__subtitle{color:var(--text-muted);margin-bottom:12px;font-size:13px}.progress-sidebar__block{margin-top:18px}.progress-sidebar__label{color:var(--text-muted);margin-bottom:8px;font-size:12.5px;font-weight:600}.keyword-tag{background:var(--accent-bg);color:var(--accent);border:none;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:500}.keyword-tag:hover{background:var(--accent);color:#fff}.progress-bar{background:var(--gray-bg);border-radius:999px;height:8px;overflow:hidden}.progress-bar--large{height:12px}.progress-bar__fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.analytics-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:22px}.analytics-card__title{margin-bottom:10px;font-size:16px}.analytics-card__summary{color:var(--text-muted);margin-bottom:12px;font-size:13.5px}.chart-legend{color:var(--text-muted);gap:16px;margin-bottom:14px;font-size:12.5px;display:flex}.chart-legend__item{align-items:center;gap:6px;display:flex}.chart-legend__swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.chart-legend__swatch--learned{background:var(--accent)}.chart-legend__swatch--remaining{background:var(--gray-bg);border:1px solid var(--border)}.bar-chart{flex-direction:column;gap:10px;display:flex}.bar-chart__row{align-items:center;gap:12px;display:flex}.bar-chart__label{width:110px;color:var(--text);flex-shrink:0;font-size:13px}.bar-chart__track-outer{flex:1;height:14px}.bar-chart__track{background:var(--gray-bg);border-radius:999px;min-width:4px;height:14px;overflow:hidden}.bar-chart__track--single{background:var(--accent)}.bar-chart__segment--learned{background:var(--accent);height:100%}.bar-chart__value{text-align:right;width:52px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.home__subtitle{color:var(--text-muted);margin-bottom:26px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:20px;display:flex}.stat-card__value{color:var(--accent);font-size:26px;font-weight:700}.stat-card__label{color:var(--text-muted);font-size:13px}.quick-links{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.quick-link-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--accent);align-items:flex-start;gap:12px;padding:18px;display:flex}.quick-link-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-border)}.quick-link-card__title{color:var(--text-h);font-size:14.5px;font-weight:600}.quick-link-card__desc{color:var(--text-muted);margin-top:3px;font-size:12.5px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover)}.btn--success{background:var(--green-bg);color:var(--green-text);border-color:#0000}.btn--danger{background:var(--red-bg);color:var(--red-text);border-color:#0000}.interview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:680px;padding:32px;display:flex}.interview-card__meta{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.interview-card__question{color:var(--text-h);font-size:20px;font-weight:600;line-height:1.5}.interview-card__answer{text-align:left;width:100%;color:var(--text);flex-direction:column;gap:14px;line-height:1.65;display:flex}.interview-card__actions{gap:12px;display:flex}.interview-card__skip{color:var(--text-muted);background:0 0;border:none;align-items:center;gap:6px;font-size:12.5px;display:flex}.interview-card__skip:hover{color:var(--accent)}
