*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0f1f3d;--navy-mid:#1a3360;--navy-light:#243d72;--gold:#c9a84c;--gold-light:#e4c97e;--gold-pale:#fdf6e3;--bg:#f5f5f2;--surface:#fff;--surface-2:#f0f0ed;--surface-3:#e8e8e5;--ink:#1a1a1a;--ink-2:#3d3d3d;--ink-3:#737373;--ink-4:#a8a8a8;--border:#e3e3e0;--border-2:#d0d0cc;--success:#16a34a;--success-bg:#f0fdf4;--success-border:#16a34a33;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#dc262633;--warn:#ca8a04;--warn-bg:#fefce8;--warn-border:#ca8a0433;--shadow-xs:0 1px 3px #0000000f;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 6px 24px #0000001a;--shadow-lg:0 16px 48px #00000024;--r:10px;--r-lg:14px;--r-xl:20px;--nav-h:58px;--font-body:"DM Sans", -apple-system, sans-serif;--font-display:"Playfair Display", Georgia, serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}.font-display,h1,h2,h3{font-family:var(--font-display)}.btn{font-family:var(--font-body);border-radius:var(--r);cursor:pointer;white-space:nowrap;letter-spacing:-.1px;border:none;align-items:center;gap:7px;padding:8px 18px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 2px 8px #0f1f3d40}.btn-primary:hover:not(:disabled){background:var(--navy-mid);transform:translateY(-1px);box-shadow:0 4px 14px #0f1f3d4d}.btn-gold{background:var(--gold);color:var(--navy);box-shadow:0 2px 10px #c9a84c4d}.btn-gold:hover:not(:disabled){background:var(--gold-light);transform:translateY(-1px)}.btn-outline{color:var(--ink-2);border:1.5px solid var(--border-2);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--ink-3);background:var(--surface-2)}.btn-ghost{color:var(--ink-3);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink-2)}.btn-lg{padding:12px 28px;font-size:15px}.btn-sm{padding:5px 12px;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.input{border:1.5px solid var(--border);border-radius:var(--r);background:var(--surface-2);width:100%;font-family:var(--font-body);color:var(--ink);outline:none;padding:10px 13px;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.input:focus{border-color:var(--navy);background:var(--surface);box-shadow:0 0 0 3px #0f1f3d14}.input::placeholder{color:var(--ink-4)}.pill{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-gold{color:#7a5010;background:#c9a84c1f;border:1px solid #c9a84c40}.pill-navy{color:var(--navy);background:#0f1f3d12}.pill-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.pill-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.pill-warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.pill-neutral{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--border)}.toast{box-shadow:var(--shadow-lg);white-space:nowrap;text-align:center;border-radius:100px;max-width:400px;padding:10px 22px;font-size:13.5px;font-weight:500;animation:.3s cubic-bezier(.34,1.56,.64,1) both toastIn}.toast-info{background:var(--navy);color:#fff}.toast-success{background:var(--success);color:#fff}.toast-error{background:var(--danger);color:#fff}.toast-warn{background:var(--warn);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.topnav{height:var(--nav-h);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:200;background:#ffffffe6;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.nav-logo{flex-shrink:0;align-items:center;gap:9px;margin-right:24px;text-decoration:none;display:flex}.logo-mark{background:var(--navy);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative;overflow:hidden}.logo-mark:after{content:"";background:var(--gold);height:3px;position:absolute;bottom:0;left:0;right:0}.logo-text{font-family:var(--font-display);color:var(--navy);letter-spacing:-.3px;font-size:17px;font-weight:700}.logo-text span{color:var(--gold)}.nav-links{flex:1;align-items:center;gap:2px;display:flex}.nav-link{border-radius:var(--r);color:var(--ink-3);cursor:pointer;font-size:13.5px;font-weight:500;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:6px;padding:6px 13px;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{color:var(--ink-2);background:var(--surface-2)}.nav-link.active{color:var(--ink);background:var(--surface-2);font-weight:600}.nav-right{align-items:center;gap:8px;margin-left:auto;display:flex}.streak-pill{color:var(--warn);background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:100px;align-items:center;gap:5px;padding:4px 12px;font-size:13px;font-weight:600;display:flex}.xp-pill{color:var(--navy);background:#0f1f3d0f;border:1px solid #0f1f3d1a;border-radius:100px;align-items:center;gap:5px;padding:4px 12px;font-size:13px;font-weight:600;display:flex}.user-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:100px;align-items:center;gap:8px;padding:4px 14px 4px 4px;text-decoration:none;transition:border-color .15s;display:flex}.user-btn:hover{border-color:var(--border-2)}.user-av{background:var(--navy);width:28px;height:28px;color:var(--gold-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.page-body{max-width:1120px;margin:0 auto;padding:32px 24px 80px}.section-header{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.section-title{font-family:var(--font-display);color:var(--ink);font-size:19px;font-weight:700}.section-sub{color:var(--ink-4);margin-top:2px;font-size:13px}.spinner{border:2px solid var(--border-2);border-top-color:var(--navy);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.35s both fadeUp}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.scale-in{animation:.25s both scaleIn}.divider{align-items:center;gap:12px;margin:16px 0;display:flex}.divider-line{background:var(--border);flex:1;height:1px}.divider-text{color:var(--ink-4);font-size:12px;font-weight:500}.empty-state{text-align:center;color:var(--ink-3);padding:60px 24px}.empty-state-icon{opacity:.6;margin-bottom:14px;font-size:40px}.empty-state-title{font-family:var(--font-display);color:var(--ink-2);margin-bottom:6px;font-size:17px}.empty-state-sub{font-size:13.5px;line-height:1.65}@media (width<=768px){.page-body{padding:20px 16px 60px}.topnav{padding:0 16px}}
