:root{--dashboard-mastery-mastered:#16a34a;--dashboard-mastery-strong:#22c55e;--dashboard-mastery-developing:#f59e0b;--dashboard-mastery-weak:#f97316;--dashboard-mastery-critical:#dc2626;--dashboard-mastery-untested:#9ca3af;--dashboard-status-good:#16a34a;--dashboard-status-medium:#f59e0b;--dashboard-status-poor:#dc2626}.dashboard-wrapper{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.dashboard-wrapper h1,.dashboard-wrapper h2,.dashboard-wrapper h3{font-family:var(--papers-heading)!important;font-style:normal!important;font-weight:700!important;letter-spacing:-.01em!important}.dashboard-wrapper h1{margin:0 0 .25rem}.dashboard-wrapper h2{margin-top:2.5rem;margin-bottom:.75rem;font-size:1.5rem;color:var(--papers-primary-strong)}html.dark .dashboard-wrapper h2{color:var(--papers-primary)}.dashboard-subtitle{color:var(--papers-fg-muted);font-size:.95rem;margin:0 0 1.5rem}.dashboard-gate{text-align:center;padding:4rem 1rem}.dashboard-gate h2{margin-top:0}.dashboard-gate p{max-width:500px;margin:.5rem auto 1.5rem;color:var(--papers-fg-muted)}.dashboard-btn-secondary{background:linear-gradient(135deg,var(--papers-accent-dim),var(--papers-primary))}.dashboard-wrapper .attempt-rec-card{border-width:1px}.dashboard-review-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.dashboard-wrapper .attempt-rec-critical{border-color:#dc2626}.dashboard-wrapper .attempt-rec-weak{border-color:#f59e0b}.dashboard-wrapper .attempt-rec-positive{border-color:#16a34a}.dashboard-wrapper .attempt-rec-neutral{border-color:var(--papers-primary)}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:1rem 0}.dashboard-stat-card{text-align:center;padding:1.25rem .75rem;border-radius:var(--papers-radius);border:1px solid var(--papers-border);background:var(--papers-card);box-shadow:var(--papers-shadow);transition:border-color .15s ease,box-shadow .15s ease}.dashboard-stat-card:hover{border-color:var(--papers-primary);box-shadow:var(--papers-shadow-hover)}.dashboard-stat-number{font-family:var(--papers-heading);font-size:2rem;font-weight:700;color:var(--papers-primary-strong);line-height:1.1}html.dark .dashboard-stat-number{color:var(--papers-primary)}.dashboard-stat-label{font-family:var(--papers-mono);font-size:.72rem;color:var(--papers-fg-muted);margin-top:.35rem;text-transform:uppercase;letter-spacing:.05em}.dashboard-section-group{margin-bottom:1.5rem}.dashboard-section-group h3{font-weight:700;font-size:1.1rem;color:var(--papers-primary-strong);margin:0 0 .5rem}html.dark .dashboard-section-group h3{color:var(--papers-primary)}.dashboard-subject-row{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;font-size:.9rem}.dashboard-subject-name{min-width:0;flex:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;color:inherit}.dashboard-subject-name:hover{text-decoration:underline;color:var(--papers-primary)}.dashboard-mastery-badge{display:inline-block;padding:.1rem .5rem;border-radius:var(--radius-pill);font-family:var(--papers-mono);font-size:.68rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.dashboard-mastery-mastered{background:var(--dashboard-mastery-mastered)}.dashboard-mastery-strong{background:var(--dashboard-mastery-strong)}.dashboard-mastery-developing{background:var(--dashboard-mastery-developing)}.dashboard-mastery-weak{background:var(--dashboard-mastery-weak)}.dashboard-mastery-critical{background:var(--dashboard-mastery-critical)}.dashboard-mastery-untested{background:var(--dashboard-mastery-untested)}.dashboard-trend{font-size:.85rem;flex-shrink:0;width:1.2em;text-align:center}.dashboard-section-bar{padding:.6rem 0}.dashboard-section-label{font-weight:700;font-size:.9rem;margin-bottom:.15rem}.dashboard-section-stats{font-family:var(--papers-mono);font-size:.78rem;color:var(--papers-fg-muted);margin-bottom:.3rem}.dashboard-recent-list{display:flex;flex-direction:column;gap:.5rem}.dashboard-recent-item{display:flex;align-items:center;gap:1rem;padding:.6rem .9rem;border-radius:var(--papers-radius);border:1px solid var(--papers-border);background:var(--papers-card);box-shadow:var(--papers-shadow);font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.dashboard-recent-item:hover{border-color:var(--papers-primary);box-shadow:var(--papers-shadow-hover)}.dashboard-recent-label{flex:1;font-weight:700}.dashboard-recent-score{font-family:var(--papers-heading);font-weight:700;color:var(--papers-primary-strong)}html.dark .dashboard-recent-score{color:var(--papers-primary)}.dashboard-recent-date{font-family:var(--papers-mono);color:var(--papers-fg-muted);font-size:.78rem}.dashboard-sparkline{display:inline-block;vertical-align:middle;flex-shrink:0;color:var(--papers-primary-strong)}html.dark .dashboard-sparkline{color:var(--papers-primary)}.dashboard-collapse-toggle{cursor:pointer;user-select:none;display:flex;align-items:center;gap:.3rem}.dashboard-collapse-toggle:hover{opacity:.8}.dashboard-collapse-arrow{font-size:.7rem;transition:transform .15s;width:1em;flex-shrink:0;color:var(--papers-fg-muted)}.dashboard-collapse-count{font-family:var(--papers-mono);font-weight:400;font-size:.76rem;color:var(--papers-fg-muted);margin-left:auto;text-transform:none;letter-spacing:0}.dashboard-section-expandable{cursor:pointer}.dashboard-section-expandable:hover{opacity:.9}.dashboard-section-header{display:flex;align-items:center;gap:.3rem}.dashboard-section-header .dashboard-section-label{flex:1}.dashboard-section-header .dashboard-section-stats{flex-shrink:0;margin-bottom:0}.dashboard-topic-item{display:flex;align-items:center;gap:.5rem;padding:.2rem 0 .2rem 1.2rem;font-size:.85rem}.dashboard-topic-link{flex:1;text-decoration:none;color:inherit}.dashboard-topic-link:hover{text-decoration:underline;color:var(--papers-primary)}.dashboard-mastery-sm{font-size:.62rem;padding:.05rem .4rem}.dashboard-section-topics{margin-top:.5rem;padding-top:.3rem;border-top:1px solid var(--papers-border)}.dashboard-recent-meta{font-family:var(--papers-mono);font-size:.76rem;color:var(--papers-fg-muted);white-space:nowrap}.dashboard-recent-delta{font-family:var(--papers-mono);font-size:.75rem;font-weight:700;margin-left:.3rem}.dashboard-recent-delta.positive{color:var(--dashboard-status-good)}.dashboard-recent-delta.negative{color:var(--dashboard-status-poor)}.dashboard-streak-grid{display:flex;gap:4px;flex-wrap:wrap;padding:.5rem 0}.dashboard-streak-dot{width:14px;height:14px;border-radius:var(--papers-radius-sm);background:var(--papers-card-muted);border:1px solid var(--papers-border)}.dashboard-streak-dot.low{background:var(--papers-primary-tint);border-color:var(--papers-primary)}.dashboard-streak-dot.high{background:var(--papers-primary);border-color:var(--papers-primary)}.dashboard-readiness-card{margin:1rem 0;padding:1rem 1.25rem;border-radius:var(--papers-radius);border:1px solid var(--papers-border);background:var(--papers-card);box-shadow:var(--papers-shadow)}.dashboard-readiness-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dashboard-readiness-target{font-family:var(--papers-heading);font-weight:700;font-size:1.1rem}.dashboard-readiness-pct{font-family:var(--papers-heading);font-size:1.5rem;font-weight:700}.dashboard-readiness-pct.good{color:var(--dashboard-status-good)}.dashboard-readiness-pct.medium{color:var(--dashboard-status-medium)}.dashboard-readiness-pct.poor{color:var(--dashboard-status-poor)}.dashboard-readiness-detail{font-family:var(--papers-mono);font-size:.8rem;color:var(--papers-fg-muted);margin-top:.4rem}.dashboard-readiness-bar-track{height:8px;border-radius:var(--radius-pill);background:var(--papers-card-muted);overflow:hidden}.dashboard-readiness-bar{height:100%;border-radius:var(--radius-pill)}.dashboard-readiness-bar.good{background:var(--dashboard-status-good)}.dashboard-readiness-bar.medium{background:var(--dashboard-status-medium)}.dashboard-readiness-bar.poor{background:var(--dashboard-status-poor)}.dashboard-next-card{margin:1rem 0;padding:1rem 1.25rem;border-radius:var(--papers-radius);border:1px solid var(--papers-border);background:var(--papers-card);box-shadow:var(--papers-shadow)}.dashboard-next-header{font-family:var(--papers-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--papers-fg-muted);margin-bottom:.25rem}.dashboard-next-name{font-family:var(--papers-heading);font-weight:700;font-size:1.1rem;margin-bottom:.2rem}.dashboard-next-reason{font-size:.85rem;color:var(--papers-fg-muted);margin-bottom:.5rem}.dashboard-plan-btn{display:inline-block;margin:.5rem 0 1rem;padding:.5rem 1.25rem;border-radius:var(--papers-radius-sm);background:var(--papers-primary);color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;transition:background .15s ease}.dashboard-plan-btn:hover{background:var(--papers-primary-strong);color:#fff}html.dark .dashboard-plan-btn:hover{background:var(--papers-primary)}.dashboard-copy-btn{margin:1.5rem 0;padding:.5rem 1.25rem;border-radius:var(--papers-radius-sm);border:1px solid var(--papers-border);background:0 0;cursor:pointer;font-family:var(--papers-mono);font-size:.82rem;color:var(--papers-fg-muted);transition:border-color .15s ease,color .15s ease}.dashboard-copy-btn:hover{border-color:var(--papers-primary);color:var(--papers-primary-strong)}html.dark .dashboard-copy-btn:hover{color:var(--papers-primary)}@media(max-width:640px){.dashboard-wrapper{padding:1rem 1rem 3rem}.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-subject-row{flex-wrap:wrap}.dashboard-subject-name{max-width:100%;flex-basis:100%}.dashboard-readiness-pct{font-size:1.2rem}.dashboard-streak-dot{width:10px;height:10px}}