*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg:#fff;--bg-secondary:#f7f8fa;--bg-tertiary:#f0f2f5;--surface:#fff;--border:#e2e6eb;--border-strong:#c9d1db;--text:#0d1117;--text-secondary:#4a5568;--text-muted:#8a96a3;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#eff6ff;--green:#16a34a;--green-light:#f0fdf4;--amber:#b45309;--amber-light:#fffbeb;--red:#dc2626;--red-light:#fef2f2;--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 10px 30px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.05);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}[data-theme=dark]{--bg:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#1c2128;--surface:#161b22;--border:#2d333b;--border-strong:#444c56;--text:#e6edf3;--text-secondary:#adbac7;--text-muted:#636e7b;--accent:#58a6ff;--accent-hover:#79b8ff;--accent-light:#0d2044;--green:#3fb950;--green-light:#0a2a0f;--amber:#d29922;--amber-light:#2a1f05;--red:#f85149;--red-light:#3d0e0a;--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 12px rgba(0,0,0,.5);--shadow-lg:0 10px 30px rgba(0,0,0,.6)}html{scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}body,h1,h2,h3,h4{color:var(--text)}h1,h2,h3,h4{font-family:DM Sans,sans-serif;font-weight:600;line-height:1.2}.display{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic}.container{max-width:1120px;margin:0 auto;padding:0 24px}.container-narrow{max-width:760px;margin:0 auto;padding:0 24px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);height:60px}.nav,.nav-inner{display:flex;align-items:center}.nav-inner{justify-content:space-between;width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.nav-logo{display:flex;align-items:baseline;gap:4px;text-decoration:none;color:var(--text)}.nav-logo-primary{font-family:DM Sans,sans-serif;font-weight:700;font-size:18px;letter-spacing:-.5px}.nav-logo-secondary{font-family:"Instrument Serif",serif;font-style:italic;font-size:16px;color:var(--text-secondary)}.nav-badge{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase;margin-left:8px}.nav-actions{gap:12px}.nav-actions,.theme-toggle{display:flex;align-items:center}.theme-toggle{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;cursor:pointer;justify-content:center;color:var(--text-secondary);font-size:15px;transition:all .15s}.theme-toggle:hover{background:var(--bg-secondary);color:var(--text);border-color:var(--border-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;border:none;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:none}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-strong)}.btn-lg{padding:14px 32px;font-size:16px;font-weight:600;border-radius:var(--radius-md)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}input[type=email],input[type=password],input[type=text],textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}input[type=password]:focus,input[type=text]:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.1)}[data-theme=dark] input[type=password]:focus,[data-theme=dark] input[type=text]:focus,[data-theme=dark] textarea:focus{box-shadow:0 0 0 3px rgba(88,166,255,.15)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;line-height:1.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--bg-secondary)}.card-header-title{font-size:14px;font-weight:600;color:var(--text)}.card-body{padding:20px}.section{padding:80px 0}.section-sm{padding:48px 0}.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:3px 10px;border-radius:20px}.badge-blue{background:var(--accent-light);color:var(--accent);border:1px solid rgba(37,99,235,.2)}.badge-green{background:var(--green-light);color:var(--green);border:1px solid rgba(22,163,74,.2)}.badge-amber{background:var(--amber-light);color:var(--amber);border:1px solid rgba(180,83,9,.2)}.badge-red{background:var(--red-light);color:var(--red);border:1px solid rgba(220,38,38,.2)}.divider{height:1px;background:var(--border);margin:32px 0}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-green{color:var(--green)}.text-amber{color:var(--amber)}.text-red{color:var(--red)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:48px 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-up{animation:fadeUp .4s ease forwards}.animate-spin{animation:spin .9s linear infinite}