@charset "UTF-8";:root{--bg: #1e1e1e;--bg-2: #252526;--bg-3: #2d2d30;--bg-4: #333337;--sidebar: #252526;--tab-active: #1e1e1e;--tab-inactive: #2d2d30;--border: #3e3e42;--border-light: #484850;--border-focus: #007acc;--text: #cccccc;--text-bright: #ffffff;--text-dim: #858585;--text-faint: #6a6a6a;--accent: #007acc;--accent-hover: #1a8cd8;--accent-purple: #c586c0;--accent-blue: #569cd6;--accent-cyan: #4ec9b0;--accent-green: #6a9955;--accent-orange: #ce9178;--accent-yellow: #dcdcaa;--accent-red: #f44747;--ng-red: #dd0031;--dotnet-purple: #512bd4;--font-sans: "Inter", "Segoe UI", -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace}:root{color-scheme:dark;--accent-rgb: 0, 122, 204;--titlebar: #323233;--titlebar-border: #252526;--scroll: #424242;--scroll-hover: #4e4e4e;--syn-num: #b5cea8;--syn-prop: #9cdcfe;--syn-dec: #dcdcaa;--tag-net: #a78bfa;--tag-ng: #ff5c7a;--err: #ff8a8a}:root[data-theme=light]{color-scheme:light;--accent-rgb: 0, 102, 184;--bg: #ffffff;--bg-2: #f3f3f3;--bg-3: #e9e9eb;--bg-4: #dcdcdf;--sidebar: #f3f3f3;--tab-active: #ffffff;--tab-inactive: #ececee;--border: #d4d4d8;--border-light: #b8b8be;--border-focus: #0066b8;--text: #3b3b40;--text-bright: #111113;--text-dim: #5b5f66;--text-faint: #8c8f96;--accent: #0066b8;--accent-hover: #005299;--accent-purple: #af00db;--accent-blue: #0451a5;--accent-cyan: #0e7490;--accent-green: #2e7d32;--accent-orange: #a31515;--accent-yellow: #795e26;--accent-red: #d32f2f;--titlebar: #dddde0;--titlebar-border: #c8c8cc;--scroll: #bdbdc2;--scroll-hover: #a3a3a9;--syn-num: #098658;--syn-prop: #001080;--syn-dec: #795e26;--tag-net: #6d3fd6;--tag-ng: #c4002b;--err: #c62828;--overlay-backdrop: rgba(20, 20, 30, .55)}:root[data-theme=monokai]{color-scheme:dark;--bg: #272822;--bg-2: #1f201b;--bg-3: #34352e;--bg-4: #3e3d32;--sidebar: #1f201b;--tab-active: #272822;--tab-inactive: #34352e;--border: #49483e;--border-light: #64634f;--border-focus: #f92672;--text: #e8e8e0;--text-bright: #ffffff;--text-dim: #a8a38a;--text-faint: #8a8670;--accent: #f92672;--accent-hover: #ff4f8d;--accent-rgb: 249, 38, 114;--accent-purple: #f92672;--accent-blue: #66d9ef;--accent-cyan: #a6e22e;--accent-green: #a6e22e;--accent-orange: #e6db74;--accent-yellow: #fd971f;--accent-red: #f92672;--titlebar: #1a1b17;--titlebar-border: #1f201b;--scroll: #49483e;--scroll-hover: #5e5d4d;--syn-cmt: #8f8b6e;--syn-num: #ae81ff;--syn-prop: #66d9ef;--syn-dec: #a6e22e;--tag-net: #ae81ff;--tag-ng: #f92672;--err: #ff7aa5;--overlay-backdrop: rgba(0, 0, 0, .75)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.6;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--scroll);border:3px solid var(--bg-2);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}::selection{background:rgba(var(--accent-rgb),.4);color:var(--text-bright)}h1,h2,h3,h4,h5,h6{color:var(--text-bright);font-weight:600;letter-spacing:-.01em;line-height:1.25}a{color:var(--accent);text-decoration:none;transition:all .2s}a:hover{color:var(--accent-hover);text-decoration:underline}code,pre,.mono{font-family:var(--font-mono)}.dot-red{background:#ff5f57}.dot-yellow{background:#ffbd2e}.dot-green{background:#28ca42}main{padding-top:88px;position:relative}.container{max-width:1240px;margin:0 auto;padding:0 32px}@media (max-width: 700px){.container{padding:0 20px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}section{padding:80px 0;position:relative}.section-head{margin-bottom:48px}.section-eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--accent-cyan);letter-spacing:.08em;margin-bottom:12px;display:flex;align-items:center;gap:10px}.section-eyebrow:before{content:"//";color:var(--accent-green)}.section-title{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}.section-title .accent{color:var(--accent-cyan)}.section-sub{font-size:15px;color:var(--text-dim);margin-top:12px;max-width:720px;line-height:1.75}footer{border-top:1px solid var(--border);padding:32px 0;background:var(--bg-2);font-size:13px;color:var(--text-dim)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.8,.4,1),transform .7s cubic-bezier(.2,.8,.4,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}.skip-link{position:fixed;left:12px;top:-60px;z-index:3000;background:var(--accent);color:#fff;padding:8px 14px;border-radius:4px;font-size:13px;transition:top .2s}.skip-link:focus{top:40px;color:#fff;text-decoration:none}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:4px}section[id]{scroll-margin-top:96px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.theme-anim,.theme-anim *,.theme-anim *:before,.theme-anim *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease!important}.section-eyebrow:after{content:"";display:inline-block;vertical-align:middle;width:72px;height:1px;margin-left:12px;background:linear-gradient(90deg,var(--border-light),transparent)}main>*{display:block}.btn{padding:10px 20px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);border:1px solid transparent;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none;box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.btn-secondary{background:var(--bg-3);color:var(--text-bright);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-4);color:var(--text-bright);text-decoration:none;border-color:var(--border-light)}.btn i{font-size:11px}.btn-link{background:none;border:0;color:var(--accent);font-family:var(--font-mono);font-size:12px;cursor:pointer;padding:6px 4px}.btn-link:hover{text-decoration:underline}.btn-primary{position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skew(-20deg);transition:left .6s}.btn-primary:hover:after{left:130%}@media (prefers-reduced-motion: reduce){.btn-primary:after{display:none}}.modal-overlay{position:fixed;inset:0;background:var(--overlay-backdrop, rgba(0, 0, 0, .75));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:all .3s}.modal-overlay.open{opacity:1;visibility:visible}.modal{padding:0!important;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 40px 80px #0009;transform:translateY(20px);transition:transform .35s cubic-bezier(.2,.8,.4,1)}.modal-overlay.open .modal{transform:translateY(0)}.modal-bar{background:var(--bg-3);padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.modal-bar-left{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.modal-bar-dots{display:flex;gap:6px}.modal-bar-dots span{width:10px;height:10px;border-radius:50%}.modal-close{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px 8px;font-size:14px;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--accent-red);color:#fff}.modal-image{width:100%;height:300px;object-fit:cover;display:block;border-bottom:1px solid var(--border)}.modal-body{padding:32px}.modal-index{font-family:var(--font-mono);font-size:11px;color:var(--accent-cyan);letter-spacing:.08em;margin-bottom:12px}.modal-title{font-size:24px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}.modal-tagline{font-size:14px;color:var(--text-dim);margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border);font-style:italic}.modal-desc{font-size:14px;line-height:1.85;color:var(--text);margin-bottom:32px}.modal-section-title{font-family:var(--font-mono);font-size:12px;color:var(--accent-cyan);letter-spacing:.05em;margin-bottom:16px;display:flex;align-items:center;gap:8px}.modal-section-title:before{content:"//";color:var(--accent-green)}.modal-features{list-style:none;padding:0;margin-bottom:32px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.modal-features li{position:relative;padding-left:22px;font-size:13px;line-height:1.7;color:var(--text)}.modal-features li:before{content:"\2713";position:absolute;left:0;color:var(--accent-cyan);font-size:12px;top:2px}.modal-tech{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px}.modal-tech span{font-family:var(--font-mono);font-size:12px;padding:5px 12px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;color:var(--text)}.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.modal-actions .btn{padding:7px 12px;font-size:12px}@media (max-width: 700px){.modal-body{padding:24px}}@media (max-width: 700px){.modal-image{height:200px}}@media (max-width: 700px){.modal-features{grid-template-columns:1fr}}.modal{max-height:90vh;max-height:90dvh}:root[data-mode=light] .modal{box-shadow:0 40px 80px #1414284d}.modal-desc{margin-bottom:24px}.modal-outcome{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:32px;border-left:3px solid var(--accent-cyan);background:var(--bg-3);border-radius:0 6px 6px 0;font-size:14px;line-height:1.7;color:var(--text-bright)}.modal-outcome i{color:var(--accent-cyan);margin-top:4px}.modal-close{transition:background .2s,color .2s}body{background-color:var(--bg);background-image:radial-gradient(ellipse 75% 520px at 50% 0%,rgba(var(--accent-rgb),.09),transparent 72%),radial-gradient(ellipse 55% 420px at 100% 42%,rgba(var(--accent-rgb),.035),transparent 75%),radial-gradient(ellipse 55% 420px at 0% 78%,rgba(var(--accent-rgb),.03),transparent 75%);background-attachment:fixed}@media (max-width: 700px){body{background-attachment:scroll}}
