@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";:root{--rl-neutral-0: #ffffff;--rl-neutral-25: #fdfdfd;--rl-neutral-50: #fafafa;--rl-neutral-100: #f5f5f5;--rl-neutral-200: #e5e5e5;--rl-neutral-300: #d4d4d4;--rl-neutral-400: #a3a3a3;--rl-neutral-500: #737373;--rl-neutral-600: #525252;--rl-neutral-700: #404040;--rl-neutral-800: #262626;--rl-neutral-900: #171717;--rl-neutral-950: #0a0a0a;--rl-green-50: #f3faf0;--rl-green-100: #e3f5dc;--rl-green-200: #c7ebbb;--rl-green-300: #9bd988;--rl-green-400: #6ec057;--rl-green-500: #4aa635;--rl-green-600: #317928;--rl-green-700: #275f1f;--rl-green-800: #1f4a19;--rl-green-900: #183a14;--rl-lime-100: #ecfcca;--rl-lime-300: #d8f999;--rl-lime-600: #497d00;--rl-mint-100: #dcfce7;--rl-mint-300: #b9f8cf;--rl-mint-600: #008236;--rl-blue-500: #0075ff;--rl-amber-500: #eab308;--rl-red-500: #e7000b;--rl-fg-1: var(--rl-neutral-900);--rl-fg-2: var(--rl-neutral-700);--rl-fg-3: var(--rl-neutral-500);--rl-fg-4: var(--rl-neutral-400);--rl-fg-invert: var(--rl-neutral-25);--rl-fg-accent: var(--rl-green-600);--rl-bg: var(--rl-neutral-0);--rl-bg-subtle: var(--rl-neutral-50);--rl-bg-muted: var(--rl-neutral-100);--rl-surface: var(--rl-neutral-25);--rl-surface-raised: #ffffff;--rl-border-subtle: var(--rl-neutral-200);--rl-border: var(--rl-neutral-200);--rl-border-strong: var(--rl-neutral-300);--rl-action: var(--rl-neutral-900);--rl-action-hover: var(--rl-neutral-800);--rl-action-press: var(--rl-neutral-950);--rl-focus-ring: color-mix(in oklab, var(--rl-green-500) 40%, transparent);--rl-success-bg: var(--rl-mint-100);--rl-success-fg: var(--rl-mint-600);--rl-success-bd: var(--rl-mint-300);--rl-warn-bg: #fef9c3;--rl-warn-fg: #854d0e;--rl-warn-bd: #fde68a;--rl-danger-bg: #fee2e2;--rl-danger-fg: #b91c1c;--rl-danger-bd: #fecaca;--rl-info-bg: #e0f2fe;--rl-info-fg: #075985;--rl-info-bd: #bae6fd;--rl-font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--rl-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--rl-text-xs: 11px;--rl-text-sm: 12px;--rl-text-base: 13px;--rl-text-md: 14px;--rl-text-lg: 16px;--rl-text-xl: 20px;--rl-text-2xl: 24px;--rl-text-3xl: 32px;--rl-text-4xl: 40px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--radius-sm: 6px;--radius: 8px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(23,23,23,.06);--shadow-sm: 0 0 0 1px rgba(23,23,23,.08), 0 1px 3px rgba(23,23,23,.06);--shadow-md: 0 0 0 1px rgba(23,23,23,.06), 0 4px 10px -2px rgba(23,23,23,.08);--shadow-lg: 0 0 0 1px rgba(23,23,23,.06), 0 12px 24px -6px rgba(23,23,23,.12);--shadow-focus: 0 0 0 3px var(--rl-focus-ring);--shadow-dark-cta: 0 0 0 1px var(--rl-neutral-900), 0 1px 3px rgba(23,23,23,.06), inset 0 0 0 1px rgba(253,253,253,.12);--t-fast: .12s cubic-bezier(.2, 0, 0, 1);--t-base: .18s cubic-bezier(.2, 0, 0, 1);--clr-bg: var(--rl-bg);--clr-surface: var(--rl-surface);--clr-surface-raised: var(--rl-surface-raised);--clr-border: var(--rl-border-subtle);--clr-border-strong: var(--rl-border-strong);--clr-text: var(--rl-fg-1);--clr-muted: var(--rl-fg-3);--clr-emerald: var(--rl-green-600);--clr-emerald-hover: var(--rl-green-700);--clr-emerald-dim: var(--rl-mint-100);--clr-emerald-border: var(--rl-mint-300);--clr-blue: var(--rl-blue-500);--clr-blue-dim: var(--rl-info-bg);--clr-error: var(--rl-danger-fg);--clr-error-dim: var(--rl-danger-bg);--clr-warning: var(--rl-warn-fg);--clr-warning-dim: var(--rl-warn-bg);--clr-success: var(--rl-green-600);--color-bg: var(--rl-bg);--color-surface: var(--rl-surface);--color-text: var(--rl-fg-1);--color-muted: var(--rl-fg-3);--color-accent: var(--rl-neutral-900);--color-accent-hover: var(--rl-neutral-800);--color-border: var(--rl-border-subtle);--color-error: var(--rl-danger-fg);--color-tag-bg: var(--rl-mint-100);--color-tag-text: var(--rl-mint-600);--color-success: var(--rl-green-600)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;font-family:var(--rl-font-sans);font-size:var(--rl-text-md);line-height:1.5;letter-spacing:-.005em;color:var(--rl-fg-1);background:var(--rl-bg-subtle);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rl-neutral-200);border-radius:var(--radius-pill);border:2px solid var(--rl-bg-subtle)}::-webkit-scrollbar-thumb:hover{background:var(--rl-neutral-300)}#app{min-height:100vh;display:flex;flex-direction:column;background:var(--rl-bg-subtle)}main{flex:1;max-width:960px;margin:var(--sp-8) auto;padding:0 var(--sp-6);width:100%}h1,h2,h3{margin-top:0;font-weight:600;color:var(--rl-fg-1);letter-spacing:-.02em;line-height:1.2;text-wrap:pretty}h1{font-size:28px;letter-spacing:-.025em;margin-bottom:var(--sp-4)}h2{font-size:var(--rl-text-xl);letter-spacing:-.015em;margin-bottom:var(--sp-3)}h3{font-size:15px;letter-spacing:-.01em;margin-bottom:var(--sp-2)}p{margin:var(--sp-2) 0}a{color:var(--rl-fg-1);text-decoration:none;transition:color var(--t-fast);font-weight:500}a:hover{color:var(--rl-green-600)}code{font-family:var(--rl-font-mono);font-size:.92em;background:var(--rl-bg-muted);color:var(--rl-fg-1);padding:1px 6px;border-radius:4px;border:1px solid var(--rl-border-subtle)}.muted{color:var(--rl-fg-3);font-size:var(--rl-text-md)}.error{color:var(--rl-danger-fg);font-size:var(--rl-text-md);margin-top:var(--sp-2)}button,.button{font:inherit;font-family:var(--rl-font-sans);font-size:var(--rl-text-base);font-weight:500;letter-spacing:-.005em;line-height:18px;padding:8px 14px;border-radius:var(--radius);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);white-space:nowrap;text-decoration:none;transition:background-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}button:focus-visible,.button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}button:disabled,.button:disabled{opacity:.45;cursor:not-allowed}button.primary,.button.primary{background:var(--rl-neutral-900);color:var(--rl-neutral-25);box-shadow:var(--shadow-dark-cta)}button.primary:hover:not(:disabled),.button.primary:hover:not(:disabled){background:var(--rl-neutral-950)}button.primary:focus-visible,.button.primary:focus-visible{box-shadow:var(--shadow-focus),var(--shadow-dark-cta)}button.secondary,.button.secondary{background:var(--rl-neutral-25);color:var(--rl-fg-1);box-shadow:var(--shadow-sm)}button.secondary:hover:not(:disabled),.button.secondary:hover:not(:disabled){background:var(--rl-bg-subtle)}button.small{font-size:var(--rl-text-sm);padding:4px 10px;line-height:16px}button.linklike{background:none;border:none;color:var(--rl-fg-2);padding:0;font:inherit;font-weight:500;cursor:pointer;display:inline;letter-spacing:-.005em;transition:color var(--t-fast)}button.linklike:hover{color:var(--rl-green-600);text-decoration:underline}input,textarea,select{font:inherit;font-family:var(--rl-font-sans);font-size:var(--rl-text-md);color:var(--rl-fg-1);padding:8px 12px;border:1px solid var(--rl-border-subtle);border-radius:var(--radius);background:var(--rl-bg);width:100%;transition:border-color var(--t-fast),box-shadow var(--t-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:20px}input::placeholder,textarea::placeholder{color:var(--rl-fg-4);opacity:1}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--rl-neutral-900);box-shadow:var(--shadow-focus)}textarea{resize:vertical;line-height:1.55;font-size:var(--rl-text-md);padding:12px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23737373' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}label{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-4);font-size:var(--rl-text-base);font-weight:500;color:var(--rl-fg-1);letter-spacing:-.005em}form{display:flex;flex-direction:column}.app-header{height:56px;padding:0 var(--sp-6);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);background:#ffffffd9;backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--rl-border-subtle);position:sticky;top:0;z-index:100}.app-header .brand{font-family:var(--rl-font-sans);font-weight:600;font-size:15px;color:var(--rl-fg-1);letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center;gap:8px;position:relative;padding-left:16px}.app-header .brand:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:2px;background:var(--rl-green-600)}.app-header .brand:hover{color:var(--rl-fg-1);text-decoration:none}.app-header nav{display:flex;align-items:center;gap:var(--sp-5);font-size:var(--rl-text-base);min-width:0}.app-header nav a{color:var(--rl-fg-2);text-decoration:none;font-weight:500;letter-spacing:-.005em;padding:4px 0;border-bottom:2px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}.app-header nav a:hover,.app-header nav a.router-link-active{color:var(--rl-fg-1);border-bottom-color:var(--rl-green-600);text-decoration:none}.app-header nav .muted{font-size:var(--rl-text-sm);color:var(--rl-fg-3);font-weight:500;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing{padding-top:var(--sp-12)}.landing h1{font-size:48px;letter-spacing:-.035em;font-weight:600;line-height:1.05;max-width:720px;margin-bottom:var(--sp-5);color:var(--rl-fg-1)}.landing p{font-size:var(--rl-text-lg);color:var(--rl-fg-2);max-width:560px;line-height:1.55}.landing-cta{display:flex;gap:var(--sp-3);margin-top:var(--sp-8);flex-wrap:wrap}.landing-cta .primary,.landing-cta .secondary{text-decoration:none}.auth-page{max-width:420px}.auth-page h1{margin-bottom:var(--sp-6);font-size:28px}.auth-page form{background:var(--rl-surface-raised);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-xs)}.auth-page button[type=submit]{align-self:flex-start;margin-top:var(--sp-2)}.auth-page .muted{margin-top:var(--sp-5);font-size:var(--rl-text-md)}.catalogue .verify-banner{background:var(--rl-warn-bg);border:1px solid var(--rl-warn-bd);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-6)}.catalogue .verify-banner p{margin:0 0 var(--sp-3);color:var(--rl-warn-fg);font-size:var(--rl-text-md);line-height:1.5}.catalogue .verify-banner strong{color:var(--rl-warn-fg);font-weight:600}.catalogue .verify-actions{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.catalogue .verify-actions .success{color:var(--rl-mint-600);font-size:var(--rl-text-md);font-weight:500}.filter-bar{margin-bottom:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}.filter-dropdowns{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.filter-dropdowns select{width:auto;min-width:160px;font-size:var(--rl-text-base);padding:6px 32px 6px 12px;background-color:var(--rl-bg)}.filter-search{display:flex;gap:var(--sp-2);align-items:center}.filter-search input[type=search]{flex:1;max-width:360px;width:auto}.catalogue .course-list,.my-courses-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-4);grid-template-columns:1fr}@media(min-width:640px){.catalogue .course-list,.my-courses-list{grid-template-columns:1fr 1fr}}.course-card,.my-course-card{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--sp-2);transition:box-shadow var(--t-base),transform var(--t-base),border-color var(--t-base)}.course-card:hover,.my-course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.course-card h2,.my-course-card h2{margin:0;font-size:15px;color:var(--rl-fg-1);letter-spacing:-.01em;line-height:1.3;font-weight:600}.course-meta{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;font-size:var(--rl-text-xs);font-family:var(--rl-font-mono);text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--rl-fg-3)}.course-meta .exam-body,.course-meta .level{background:var(--rl-bg-muted);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-pill);padding:2px 8px;color:var(--rl-fg-2);letter-spacing:.04em}.course-card .description{flex:1;color:var(--rl-fg-2);font-size:var(--rl-text-md);margin:0;line-height:1.55}.course-actions{display:flex;align-items:center;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--rl-border-subtle)}.course-actions .price{font-family:var(--rl-font-sans);font-weight:600;font-size:16px;color:var(--rl-fg-1);letter-spacing:-.01em;margin-right:auto}.course-actions .owned-badge{font-size:var(--rl-text-xs);font-weight:500;padding:3px 9px;border-radius:var(--radius-pill);background:var(--rl-mint-100);color:var(--rl-mint-600);border:1px solid var(--rl-mint-300);display:inline-flex;align-items:center;gap:4px}.status-badge{display:inline-flex;align-items:center;font-size:var(--rl-text-xs);font-weight:500;padding:2px 8px;border-radius:var(--radius-pill);letter-spacing:.02em;text-transform:capitalize;border:1px solid transparent}.status-badge.active,.status-badge.published{background:var(--rl-mint-100);color:var(--rl-mint-600);border-color:var(--rl-mint-300)}.status-badge.draft{background:var(--rl-info-bg);color:var(--rl-info-fg);border-color:var(--rl-info-bd)}.status-badge.expiring_soon{background:var(--rl-warn-bg);color:var(--rl-warn-fg);border-color:var(--rl-warn-bd)}.status-badge.expired,.status-badge.archived{background:var(--rl-danger-bg);color:var(--rl-danger-fg);border-color:var(--rl-danger-bd)}.empty-state{text-align:center;padding:var(--sp-12) var(--sp-4);color:var(--rl-fg-3);background:var(--rl-bg);border:1px dashed var(--rl-border-subtle);border-radius:var(--radius-lg)}.empty-state p{font-size:var(--rl-text-md);margin-bottom:var(--sp-6);color:var(--rl-fg-3)}.empty-state .button{margin-top:0;display:inline-flex;text-decoration:none}.course-view header{margin-bottom:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--rl-border-subtle)}.course-view header .muted{font-family:var(--rl-font-mono);font-size:var(--rl-text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:500;margin-bottom:var(--sp-2);color:var(--rl-fg-3)}.course-view header h1{margin-bottom:0}.course-view .progress-link{display:inline-block;margin-top:var(--sp-3);font-size:var(--rl-text-md);color:var(--rl-fg-2);font-weight:500}.course-view .progress-link:hover{color:var(--rl-green-600)}.request-question,.active-question{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-xs)}.request-question h2{margin-bottom:var(--sp-2);font-size:18px}.request-question .muted{margin-top:0;margin-bottom:var(--sp-5);font-size:var(--rl-text-md);line-height:1.5}.request-question textarea{margin-bottom:var(--sp-4)}.question-meta{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap}.tag{background:var(--rl-bg-muted);color:var(--rl-fg-2);border:1px solid var(--rl-border-subtle);padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--rl-text-xs);font-weight:500;letter-spacing:.01em}.tag.marks{background:var(--rl-warn-bg);color:var(--rl-warn-fg);border-color:var(--rl-warn-bd)}.question-text{background:var(--rl-bg-subtle);border:1px solid var(--rl-border-subtle);border-left:3px solid var(--rl-green-600);padding:var(--sp-5) var(--sp-5);margin:0 0 var(--sp-5) 0;font-size:18px;line-height:1.55;border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--rl-fg-1);font-weight:500;letter-spacing:-.005em;text-wrap:pretty}.answer-form textarea{margin-bottom:var(--sp-4);min-height:180px}.grade-display{padding-top:var(--sp-4)}.grade-display h2{font-size:40px;font-weight:600;letter-spacing:-.03em;margin-bottom:var(--sp-4);line-height:1.05}.grade-display h2 .muted{font-size:18px;letter-spacing:-.01em;font-weight:500}.grade-display h3{font-family:var(--rl-font-mono);color:var(--rl-fg-3);font-size:var(--rl-text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-top:var(--sp-5);margin-bottom:var(--sp-2)}.grade-display p{font-size:var(--rl-text-md);line-height:1.6;color:var(--rl-fg-2)}.grade-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--rl-border-subtle)}.remaining{margin-top:var(--sp-5);padding-top:var(--sp-3);font-family:var(--rl-font-mono);font-size:var(--rl-text-xs);color:var(--rl-fg-3);border-top:1px solid var(--rl-border-subtle);letter-spacing:.02em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17171759;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:1000}.modal{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-6);max-width:520px;width:100%;box-shadow:var(--shadow-lg)}.modal h2{margin-bottom:var(--sp-3);font-size:18px}.modal .muted{margin-bottom:var(--sp-2);font-size:var(--rl-text-md);line-height:1.5}.modal textarea{margin:var(--sp-4) 0}.modal-actions{display:flex;gap:var(--sp-3);justify-content:flex-end;padding-top:var(--sp-4);border-top:1px solid var(--rl-border-subtle)}.admin-header{margin-bottom:var(--sp-6);padding-bottom:var(--sp-4);border-bottom:1px solid var(--rl-border-subtle)}.admin-header h1{margin-bottom:0}.admin-breadcrumb{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--rl-font-mono);font-size:var(--rl-text-sm);color:var(--rl-fg-3);margin-bottom:var(--sp-5)}.admin-breadcrumb a{color:var(--rl-fg-2);font-weight:500}.admin-breadcrumb a:hover{color:var(--rl-green-600)}.admin-breadcrumb span{color:var(--rl-fg-4)}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--rl-text-md);background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.admin-table thead tr{background:var(--rl-bg-subtle)}.admin-table th{padding:var(--sp-3) var(--sp-4);text-align:left;font-family:var(--rl-font-sans);font-size:var(--rl-text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--rl-fg-3);border-bottom:1px solid var(--rl-border-subtle);white-space:nowrap}.admin-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--rl-border-subtle);color:var(--rl-fg-1);vertical-align:middle;font-size:var(--rl-text-md)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr.clickable{cursor:pointer;transition:background-color var(--t-fast)}.admin-table tbody tr.clickable:hover{background:var(--rl-bg-subtle)}.admin-table td.actions{display:flex;align-items:center;gap:var(--sp-2)}.purchase-result{max-width:520px}.purchase-result h1{font-size:32px;margin-bottom:var(--sp-4);letter-spacing:-.025em}.purchase-result p{color:var(--rl-fg-2);font-size:var(--rl-text-md);line-height:1.6}.purchase-result a{color:var(--rl-fg-1);font-weight:500;border-bottom:1px solid var(--rl-border-strong)}.purchase-result a:hover{color:var(--rl-green-600);border-bottom-color:var(--rl-green-600)}.progress-view header{margin-bottom:var(--sp-6)}.progress-view .back-link{display:inline-block;font-family:var(--rl-font-mono);font-size:var(--rl-text-sm);color:var(--rl-fg-3);margin-bottom:var(--sp-3);letter-spacing:.02em}.progress-view .back-link:hover{color:var(--rl-green-600)}.progress-view .threshold-notice{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-8);text-align:center;box-shadow:var(--shadow-xs)}.progress-view .threshold-notice h2{font-size:22px;margin-bottom:var(--sp-3)}.progress-view .threshold-notice p{color:var(--rl-fg-2);font-size:var(--rl-text-md);line-height:1.55;max-width:440px;margin-left:auto;margin-right:auto}.progress-view .threshold-notice .button{margin-top:var(--sp-5)}.progress-view .narrative{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-5);box-shadow:var(--shadow-xs)}.progress-view .narrative p{font-size:16px;line-height:1.6;color:var(--rl-fg-1);margin:0;text-wrap:pretty}.progress-view .stats-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4);margin-bottom:var(--sp-5)}@media(min-width:640px){.progress-view .stats-grid{grid-template-columns:1fr 1fr}}.progress-view .strengths,.progress-view .growth-areas{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs)}.progress-view .strengths h2,.progress-view .growth-areas h2{font-size:15px;margin:0 0 var(--sp-4);color:var(--rl-fg-1);font-weight:600;letter-spacing:-.01em}.progress-view .strengths ul,.progress-view .growth-areas ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.progress-view .stat-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--rl-bg-subtle);border:1px solid var(--rl-border-subtle);border-radius:var(--radius)}.progress-view .stat-label{font-weight:500;color:var(--rl-fg-1);font-size:var(--rl-text-md);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-view .stat-value{font-family:var(--rl-font-sans);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--rl-fg-1);white-space:nowrap}.progress-view .stat-card.strength .stat-value{color:var(--rl-mint-600)}.progress-view .stat-card.growth .stat-value{color:var(--rl-warn-fg)}.progress-view .stat-meta{font-family:var(--rl-font-mono);font-size:var(--rl-text-xs);color:var(--rl-fg-3);white-space:nowrap;letter-spacing:.02em}.progress-view .trend{background:var(--rl-bg);border:1px solid var(--rl-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-5);margin-bottom:var(--sp-4);box-shadow:var(--shadow-xs)}.progress-view .trend h2{font-size:15px;margin:0 0 var(--sp-3)}.progress-view .trend-display{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.progress-view .trend-value{font-weight:600;font-size:40px;letter-spacing:-.03em;color:var(--rl-fg-1);line-height:1}.progress-view .trend-label{font-size:var(--rl-text-md);color:var(--rl-fg-3)}.progress-view .trend-arrow{font-size:16px;font-weight:600}.progress-view .trend-arrow.improving{color:var(--rl-mint-600)}.progress-view .trend-arrow.declining{color:var(--rl-danger-fg)}.progress-view .trend-arrow.steady{color:var(--rl-fg-3)}.progress-view .trend-prior{font-family:var(--rl-font-mono);font-size:var(--rl-text-sm);color:var(--rl-fg-3)}.progress-view .last-updated{font-family:var(--rl-font-mono);font-size:var(--rl-text-xs);color:var(--rl-fg-4);margin-top:var(--sp-4);letter-spacing:.02em}@media(max-width:639px){main{margin-top:var(--sp-6);margin-bottom:var(--sp-6);padding:0 var(--sp-4)}.app-header{padding:0 var(--sp-4);gap:var(--sp-3)}.app-header nav{gap:var(--sp-3);font-size:var(--rl-text-base)}.app-header nav .muted{display:none}h1{font-size:24px}.landing h1{font-size:32px}.landing p{font-size:var(--rl-text-md)}.grade-actions{flex-direction:column}.grade-actions button{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.filter-search{flex-wrap:wrap}.filter-search input[type=search]{max-width:100%}.admin-table{font-size:var(--rl-text-base)}.admin-table th,.admin-table td{padding:var(--sp-2) var(--sp-3)}}@media(min-width:1024px){main{margin-top:var(--sp-10)}}
