.nav-dots{z-index:var(--z-nav);flex-direction:column;gap:16px;display:flex;position:fixed;top:50%;right:28px;transform:translateY(-50%)}.nav-dot{cursor:pointer;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:10px;padding:4px 0;display:flex;position:relative}.nav-dot-inner{background:var(--color-text-muted);width:6px;height:6px;transition:background var(--transition-base), transform var(--transition-base);z-index:1;border-radius:50%;flex-shrink:0;position:relative}.nav-dot.active .nav-dot-inner{background:var(--color-accent);transform:scale(1.5)}.nav-dot:hover .nav-dot-inner{background:var(--color-text-secondary)}.nav-dot-ring{border:1px solid var(--color-accent-dim);pointer-events:none;border-radius:50%;width:14px;height:14px;animation:2s ease-out infinite dot-pulse;position:absolute;right:0}@keyframes dot-pulse{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.nav-dot-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-secondary);white-space:nowrap;opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);pointer-events:none;font-size:10px;position:absolute;right:18px;transform:translate(4px)}.nav-dot:hover .nav-dot-label,.nav-dot.active .nav-dot-label{opacity:1;transform:translate(0)}@media (width<=600px){.nav-dots{right:unset;top:unset;width:100%;padding:12px 0 max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);background:#ffffffeb;border-top:.5px solid #0000001a;flex-direction:row;justify-content:center;gap:0;bottom:0;left:0;transform:none}[data-theme=dark] .nav-dots{background:#03030deb;border-top:.5px solid #ffffff1a}.nav-dot{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:4px 0}.nav-dot-inner{width:4px;height:4px}.nav-dot.active .nav-dot-inner{transform:scale(1.8)}.nav-dot-ring{right:unset;width:10px;height:10px}.nav-dot-label{letter-spacing:.8px;opacity:.3;transition:opacity var(--transition-fast);font-size:8px;position:static;transform:none}.nav-dot.active .nav-dot-label{opacity:1;color:var(--color-accent);transform:none}.nav-dot:hover .nav-dot-label{opacity:.7;transform:none}}@media (prefers-reduced-motion:reduce){.nav-dot-ring{animation:none}}.theme-toggle{z-index:var(--z-nav);background:var(--color-surface);border:.5px solid var(--color-border);cursor:pointer;width:36px;height:36px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .3s,border-color .3s,color .3s;display:flex;position:fixed;top:16px;right:80px}.theme-toggle:hover{background:var(--color-accent-glow);border-color:var(--color-accent-dim);color:var(--color-accent)}[data-theme=dark] .theme-toggle{color:#ffffffb3;background:#ffffff1a;border-color:#fff3}[data-theme=dark] .theme-toggle:hover{color:#a78bfa;background:#a78bfa2e;border-color:#a78bfa80}@media (width<=600px){.theme-toggle{top:12px;right:16px}}:root{--color-bg:#fdfcfb;--color-bg-alt:#f4f4f5;--color-surface:#0000000a;--color-border:#00000014;--color-accent:#2563eb;--color-accent-dim:#2563eb73;--color-accent-glow:#2563eb14;--color-text-primary:#1f2937;--color-text-secondary:#4b5563;--color-text-muted:#6b7280;--font-display:"Georgia", "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-body:system-ui, -apple-system, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:32px;--space-xl:64px;--space-2xl:128px;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.7s ease;--z-background:0;--z-content:10;--z-nav:100;--z-overlay:200}[data-theme=dark]{--color-bg:#03030d;--color-bg-alt:#07071a;--color-surface:#ffffff0a;--color-border:#ffffff14;--color-text-primary:#fff;--color-text-secondary:#ffffff8c;--color-text-muted:#ffffff40;--color-accent:#a78bfa;--color-accent-dim:#a78bfa66;--color-accent-glow:#a78bfa1a}[data-theme=light]{--color-bg:#fff;--color-bg-alt:#f8f7f4;--color-surface:#00000008;--color-border:#00000014;--color-text-primary:#111827;--color-text-secondary:#1118278c;--color-text-muted:#11182759;--color-accent:#7c3aed;--color-accent-dim:#7c3aed59;--color-accent-glow:#7c3aed14}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:0;font-size:16px}.snap-section{scroll-snap-align:start}body{color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;overflow-x:hidden}body:after{content:"";z-index:-1;pointer-events:none;background-color:#fdfcfb;background-image:radial-gradient(75% 60% at 0 0,#2563eb4d 0%,#0000 65%),radial-gradient(60% 55% at 100% 0,#0ea5e93d 0%,#0000 62%),radial-gradient(70% 60% at 100% 100%,#6366f147 0%,#0000 65%),radial-gradient(60% 50% at 0 100%,#2563eb38 0%,#0000 60%),radial-gradient(55% 45%,#8b5cf61f 0%,#0000 70%);animation:12s ease-in-out infinite alternate meshBreath;position:fixed;inset:0}[data-theme=dark] body:after{background-color:#03030d;background-image:radial-gradient(70% 55% at 0 0,#6366f124 0%,#0000 65%),radial-gradient(55% 50% at 100% 0,#8b5cf61a 0%,#0000 62%),radial-gradient(65% 55% at 100% 100%,#a78bfa14 0%,#0000 65%),radial-gradient(55% 45% at 0 100%,#6366f11a 0%,#0000 60%),radial-gradient(50% 40%,#8b5cf60f 0%,#0000 70%)}@keyframes meshBreath{0%{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.88;transform:scale(1.04)rotate(.4deg)}to{opacity:1;transform:scale(1)rotate(0)}}body:before{content:"";height:3px;z-index:var(--z-nav);background:linear-gradient(90deg, var(--color-accent), #38bdf8);pointer-events:none;position:fixed;top:0;left:0;right:0}main{position:relative}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::selection{background:var(--color-accent-dim);color:var(--color-bg)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-accent-dim);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
