@import url("https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Instrument+Serif:ital@0;1&family=Geist+Mono:wght@400;500&display=swap");.harbor-auth{--ink-950:#0a0a0a;--ink-900:#111;--ink-800:#1a1a1a;--ink-700:#2a2a2a;--ink-600:#4a4a4a;--ink-500:#6b7280;--ink-400:#9ca3af;--ink-300:#d1d5db;--ink-200:#e5e7eb;--ink-100:#f1f1f0;--ink-50:#f7f7f5;--ink-25:#fafaf8;--paper:#fff;--success-bg:#e8f5ed;--success-fg:#1a7f3e;--warning-bg:#fdf3e3;--warning-fg:#a56511;--danger-bg:#fde8e8;--danger-fg:#b42318;--info-bg:#e8eef9;--info-fg:#1d4ed8;--ha-font-sans:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;--ha-font-serif:"Instrument Serif","Times New Roman",serif;--ha-font-mono:"Geist Mono",ui-monospace,monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:42px;--text-4xl:56px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:999px;--shadow-sm:0 1px 3px hsla(0,0%,4%,.06),0 1px 2px hsla(0,0%,4%,.04);--shadow-md:0 4px 8px -2px hsla(0,0%,4%,.06),0 2px 4px -2px hsla(0,0%,4%,.04);--shadow-lg:0 12px 24px -8px hsla(0,0%,4%,.08),0 4px 8px -4px hsla(0,0%,4%,.04);--shadow-xl:0 24px 48px -12px hsla(0,0%,4%,.12);--border-hairline:1px solid var(--ink-200);--border-subtle:1px solid var(--ink-100);--brand-primary:#111;--brand-accent:#4a4a4a;font-family:var(--ha-font-sans);color:var(--ink-900);background:var(--ink-25);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";min-height:100vh;position:relative}.harbor-auth *,.harbor-auth :after,.harbor-auth :before{box-sizing:border-box}.harbor-auth a{color:inherit;text-decoration:none}.harbor-auth button{font-family:inherit}.harbor-auth h1,.harbor-auth h2,.harbor-auth h3,.harbor-auth h4,.harbor-auth h5,.harbor-auth h6{font-family:var(--ha-font-sans);font-weight:inherit;color:inherit}.harbor-auth .bg-layer{position:fixed;inset:0;pointer-events:none;z-index:0}.harbor-auth .bg-mesh{background-image:radial-gradient(ellipse 70% 40% at 15% -10%,color-mix(in oklab,var(--brand-accent) 20%,transparent),transparent 62%),radial-gradient(ellipse 60% 45% at 110% 15%,color-mix(in oklab,var(--brand-primary) 12%,transparent),transparent 62%),radial-gradient(ellipse 90% 50% at 50% 120%,color-mix(in oklab,var(--brand-accent) 14%,transparent),transparent 72%)}.harbor-auth .bg-grain{opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:160px 160px}.harbor-auth .bg-grid{opacity:.025;color:var(--ink-900);background-image:linear-gradient(90deg,currentColor 1px,transparent 0),linear-gradient(180deg,currentColor 1px,transparent 0);background-size:44px 44px}.harbor-auth .shell{position:relative;z-index:10;min-height:100vh;display:grid;grid-template-columns:1fr 1.1fr}@media (max-width:960px){.harbor-auth .shell{grid-template-columns:1fr}}.harbor-auth .form-side{display:flex;flex-direction:column;padding:var(--space-8) var(--space-10);min-height:100vh}@media (max-width:720px){.harbor-auth .form-side{padding:var(--space-6)}}.harbor-auth .form-nav{display:flex;align-items:center;justify-content:space-between}.harbor-auth .brand{display:flex;align-items:center;gap:10px;font-weight:500;letter-spacing:-.01em}.harbor-auth .brand img{width:28px;height:28px}.harbor-auth .brand-name{font-size:15px}.harbor-auth .brand-name em{font-family:var(--ha-font-serif);font-style:italic;font-weight:400}.harbor-auth .form-nav .back{font-size:13px;color:var(--ink-500)}.harbor-auth .form-nav .back:hover{color:var(--ink-900)}.harbor-auth .form-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:420px;width:100%;margin:var(--space-12) auto}@media (max-width:720px){.harbor-auth .form-wrap{margin:var(--space-8) auto}}.harbor-auth .pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:var(--border-hairline);border-radius:var(--radius-full);background:var(--paper);font-size:var(--text-xs);color:var(--ink-600);letter-spacing:.04em;align-self:flex-start}.harbor-auth .pill .dot{width:5px;height:5px;border-radius:50%;background:var(--ink-900)}.harbor-auth h1.head{font-size:clamp(30px,3.5vw,var(--text-3xl));line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:var(--space-6) 0 var(--space-3)}.harbor-auth h1.head em{font-family:var(--ha-font-serif);font-style:italic;font-weight:400}.harbor-auth .lede{color:var(--ink-500);font-size:var(--text-md);line-height:1.6;margin-bottom:var(--space-8)}.harbor-auth .field{margin-bottom:var(--space-4);position:relative}.harbor-auth .field .lab{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-weight:500;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.harbor-auth .field .lab a{font-size:11px;color:var(--ink-600);text-transform:none;letter-spacing:0;font-weight:400}.harbor-auth .field .lab a:hover{color:var(--ink-900);text-decoration:underline}.harbor-auth .input{width:100%;padding:12px 14px;font-family:inherit;font-size:var(--text-sm);border:var(--border-hairline);border-radius:var(--radius-md);background:var(--paper);color:var(--ink-900);transition:border-color .12s,box-shadow .12s}.harbor-auth .input:focus{outline:none;border-color:var(--ink-700);box-shadow:0 0 0 3px hsla(0,0%,4%,.08)}.harbor-auth .input::-moz-placeholder{color:var(--ink-400)}.harbor-auth .input::placeholder{color:var(--ink-400)}.harbor-auth textarea.input{resize:vertical;min-height:84px;font-family:inherit}.harbor-auth .input-wrap{position:relative}.harbor-auth .input-wrap .eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:6px;color:var(--ink-400);border-radius:var(--radius-sm)}.harbor-auth .input-wrap .eye:hover{color:var(--ink-700);background:var(--ink-50)}.harbor-auth .row-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width:480px){.harbor-auth .row-fields{grid-template-columns:1fr}}.harbor-auth .check{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-sm);color:var(--ink-600);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-bottom:var(--space-6);line-height:1.5}.harbor-auth .check input{position:absolute;opacity:0;pointer-events:none}.harbor-auth .check .box{width:16px;height:16px;border:1px solid var(--ink-300);border-radius:4px;background:var(--paper);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;transition:all .12s}.harbor-auth .check .box svg{width:10px;height:10px;color:#fff;opacity:0;transform:scale(.5);transition:all .12s}.harbor-auth .check input:checked~.box{background:var(--ink-900);border-color:var(--ink-900)}.harbor-auth .check input:checked~.box svg{opacity:1;transform:scale(1)}.harbor-auth .check input:focus-visible~.box{box-shadow:0 0 0 3px hsla(0,0%,4%,.08)}.harbor-auth .check a{color:var(--ink-900);text-decoration:underline;text-decoration-color:var(--ink-300);text-underline-offset:2px}.harbor-auth .check a:hover{text-decoration-color:var(--ink-900)}.harbor-auth .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:13px 18px;font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .12s ease;white-space:nowrap;line-height:1;width:100%}.harbor-auth .btn-primary{background:var(--ink-900);color:var(--paper)}.harbor-auth .btn-primary:hover{background:var(--ink-700)}.harbor-auth .btn-primary:disabled{opacity:.6;cursor:not-allowed}.harbor-auth .btn-secondary{background:var(--paper);color:var(--ink-900);border-color:var(--ink-200)}.harbor-auth .btn-secondary:hover{background:var(--ink-50);border-color:var(--ink-300)}.harbor-auth .strength{display:flex;gap:4px;margin-top:8px}.harbor-auth .strength span{flex:1;height:3px;border-radius:2px;background:var(--ink-100);transition:background .16s}.harbor-auth .strength.s1 span:nth-child(-n+1){background:var(--danger-fg)}.harbor-auth .strength.s2 span:nth-child(-n+2),.harbor-auth .strength.s3 span:nth-child(-n+3){background:var(--warning-fg)}.harbor-auth .strength.s4 span{background:var(--success-fg)}.harbor-auth .hint{font-size:11px;color:var(--ink-500);font-family:var(--ha-font-mono);margin-top:6px;letter-spacing:.02em}.harbor-auth .hint.ok{color:var(--success-fg)}.harbor-auth .hint.warn{color:var(--warning-fg)}.harbor-auth .hint.err{color:var(--danger-fg)}.harbor-auth .form-foot{text-align:center;font-size:var(--text-sm);color:var(--ink-500);margin-top:var(--space-6)}.harbor-auth .form-foot a{color:var(--ink-900);font-weight:500}.harbor-auth .form-foot a:hover{text-decoration:underline}.harbor-auth .legal{margin-top:auto;padding-top:var(--space-8);display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font-family:var(--ha-font-mono);font-size:11px;color:var(--ink-400);letter-spacing:.04em}.harbor-auth .legal a{color:var(--ink-500)}.harbor-auth .legal a:hover{color:var(--ink-900)}.harbor-auth .success-state{text-align:center;padding:var(--space-6) 0}.harbor-auth .success-state .mark{width:56px;height:56px;border-radius:50%;background:var(--success-bg);color:var(--success-fg);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}.harbor-auth .success-state h2{font-size:var(--text-2xl);font-weight:500;letter-spacing:-.025em;margin-bottom:var(--space-3)}.harbor-auth .success-state h2 em{font-family:var(--ha-font-serif);font-style:italic;font-weight:400}.harbor-auth .success-state p{color:var(--ink-500);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--space-6);max-width:36ch;margin-left:auto;margin-right:auto}.harbor-auth .success-state .email{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--ink-50);border:var(--border-subtle);border-radius:var(--radius-full);font-family:var(--ha-font-mono);font-size:12px;color:var(--ink-800);margin-bottom:var(--space-6)}.harbor-auth .aside{position:relative;background:var(--ink-900);color:var(--paper);padding:var(--space-12);display:flex;flex-direction:column;overflow:hidden;background-image:radial-gradient(700px 280px at 100% 0,hsla(0,0%,100%,.06),transparent 60%),radial-gradient(500px 240px at 0 100%,hsla(0,0%,100%,.04),transparent 60%)}@media (max-width:960px){.harbor-auth .aside{display:none}}.harbor-auth .aside:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:44px 44px;mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 80%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 80%)}.harbor-auth .aside-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;color:var(--ink-400);font-family:var(--ha-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.harbor-auth .aside-top .live{display:inline-flex;align-items:center;gap:6px}.harbor-auth .aside-top .live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success-fg);box-shadow:0 0 0 3px rgba(26,127,62,.18)}.harbor-auth .aside-hero{position:relative;z-index:1;margin-top:var(--space-16);max-width:480px}.harbor-auth .aside-hero .pill{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.12);color:var(--ink-300)}.harbor-auth .aside-hero .pill .dot{background:var(--paper)}.harbor-auth .aside-hero h2{font-size:clamp(30px,3.6vw,42px);line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:var(--space-5) 0 var(--space-5)}.harbor-auth .aside-hero h2 em{font-family:var(--ha-font-serif);font-style:italic;font-weight:400;color:var(--ink-300)}.harbor-auth .aside-hero p{color:var(--ink-400);font-size:var(--text-md);line-height:1.65;max-width:48ch}.harbor-auth .aside-stats{position:relative;z-index:1;margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.harbor-auth .stat{padding:var(--space-5);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-lg);background:hsla(0,0%,100%,.03)}.harbor-auth .stat .k{font-family:var(--ha-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);margin-bottom:10px}.harbor-auth .stat .v{font-size:24px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.harbor-auth .stat .v .sep{color:var(--ink-500);margin:0 1px;font-weight:400}.harbor-auth .stat .v .pct{color:var(--ink-400);font-weight:400;margin-left:2px}.harbor-auth .stat .sub{font-family:var(--ha-font-mono);font-size:11px;color:var(--ink-400);margin-top:4px}.harbor-auth .aside-quote{position:relative;z-index:1;margin-top:var(--space-8);padding:var(--space-6);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-lg);background:hsla(0,0%,100%,.03)}.harbor-auth .aside-quote .mk{font-family:var(--ha-font-serif);font-style:italic;font-size:40px;line-height:.4;color:var(--ink-500);height:18px}.harbor-auth .aside-quote .q{font-size:14px;line-height:1.6;color:var(--ink-200);margin:var(--space-3) 0 var(--space-4)}.harbor-auth .aside-quote .q em{font-family:var(--ha-font-serif);font-style:italic;color:var(--paper)}.harbor-auth .aside-quote .who{display:flex;align-items:center;gap:10px}.harbor-auth .aside-quote .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:1px solid hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;font-family:var(--ha-font-mono);font-size:11px;color:var(--ink-300)}.harbor-auth .aside-quote .nm{font-size:12px;color:var(--paper);font-weight:500}.harbor-auth .aside-quote .rl{margin-top:2px}.harbor-auth .aside-quote .rl,.harbor-auth .meta-row{font-size:11px;color:var(--ink-500);font-family:var(--ha-font-mono)}.harbor-auth .meta-row{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4);letter-spacing:.04em;text-transform:uppercase;justify-content:center}.harbor-auth .meta-row span{display:inline-flex;align-items:center;gap:6px}.harbor-auth .meta-row svg{color:var(--ink-400)}.harbor-auth .alert{font-size:var(--text-sm);margin-bottom:var(--space-4);padding:10px 12px;border-radius:var(--radius-md);border:1px solid transparent}.harbor-auth .alert.err{background:var(--danger-bg);color:var(--danger-fg);border-color:rgba(180,35,24,.18)}.harbor-auth .alert.ok{background:var(--success-bg);color:var(--success-fg);border-color:rgba(26,127,62,.18)}.harbor-auth .alert.warn{background:var(--warning-bg);color:var(--warning-fg);border-color:rgba(165,101,17,.18)}