@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap";:root{--primary: #4db3ff;--primary-dim: rgba(77, 179, 255, .14);--primary-glow: rgba(77, 179, 255, .22);--surface-0: #080a0d;--surface-1: #10141a;--surface-2: #181e27;--surface-3: #1e2632;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--accent: #34d399;--accent-dim: rgba(52, 211, 153, .14);--warn: #f5c84c;--danger: #f87171;--neg: var(--danger);--text-primary: #f8fafc;--text-secondary: #c5cdd8;--text-muted: #8b95a5;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "DM Sans", system-ui, sans-serif;--transition: .15s ease;--header-h: 3rem;--tabs-h: 2.6rem;--filter-h: 2.75rem;--review-subnav-h: 2.6rem;--study-bar-h: 0px;--sticky-tabs: var(--header-h);--sticky-filters: calc(var(--sticky-tabs) + var(--tabs-h));--sticky-review: calc(var(--sticky-filters) + var(--filter-h));--sticky-peek: calc(var(--sticky-review) + var(--review-subnav-h) + var(--study-bar-h));--touch-min: 44px}*{box-sizing:border-box}html{font-size:clamp(17px,4.5vw,18px);-webkit-text-size-adjust:100%}html,body{margin:0;min-height:100%;background:var(--surface-0);color:var(--text-primary);font-family:var(--font-body);line-height:1.4;overflow-x:clip}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary);text-decoration:underline}button{font-family:inherit;touch-action:manipulation}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--touch-min);padding:0 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-primary);font-size:.94rem;font-weight:600;cursor:pointer}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#0a1628}.btn-primary:hover:not(:disabled){filter:brightness(1.05);text-decoration:none}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary);min-height:auto;padding:.35rem .5rem}.btn-ghost:hover:not(:disabled){color:var(--text-primary)}.btn-danger{background:#f8717124;border-color:#f8717159;color:var(--danger)}.btn-sm{min-height:2.5rem;padding:0 .85rem;font-size:.88rem}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:.88rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition),border-color var(--transition),color var(--transition)}.chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip.active{background:var(--primary-dim);border-color:#4db3ff73;color:var(--primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.22rem .55rem}.pos{color:var(--accent)}.neg{color:var(--danger)}.muted{color:var(--text-muted)}.tabular{font-variant-numeric:tabular-nums}.field-input,input[type=text],input[type=email],input[type=date],input[type=search],select,textarea{font:inherit;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.field-input:focus,input[type=text]:focus,input[type=email]:focus,input[type=date]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
