@font-face{font-family:General Sans;src:url(/fonts/general-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/general-sans-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-cyrillic-ext.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-cyrillic.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-greek.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-vietnamese.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--navy:#011c3e;--navy-deep:#01142c;--cyan:#00b4dc;--ink:#0f2a4a;--slate:#4a6178;--mist:#dce6ef;--paper:#f7fafc;--white:#fff;--error:#c0392b;--placeholder:#9fb1c4;--font-display:"General Sans",system-ui,sans-serif;--font-body:"Switzer",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;--space-section:96px;--space-section-mobile:64px;--container-max:1200px;--reading-col:760px;--radius-card:16px;--radius-btn:10px;--radius-input:10px;--radius-code:12px;--shadow-card:0 1px 2px rgba(1,28,62,.04),0 8px 24px rgba(1,28,62,.06);--shadow-hover:0 2px 4px rgba(1,28,62,.06),0 16px 40px rgba(0,180,220,.12);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-standard:cubic-bezier(0.22,1,0.36,1);--dur-fast:150ms;--dur-base:250ms;--dur-slow:500ms}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:rgba(0,180,220,.22)}.au-screen{min-height:100vh}.au-screen[data-theme=white]{background:var(--white)}.au-screen[data-theme=paper]{background:var(--paper)}.au-screen[data-theme=navy]{background:var(--navy)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@keyframes auSweep{0%{transform:translateX(-45%);opacity:0}9%{opacity:.32}55%{opacity:.32}to{transform:translateX(170%);opacity:0}}@keyframes auDrift{0%{transform:translate(0)}50%{transform:translate(-26px,14px)}to{transform:translate(0)}}@keyframes auDrift2{0%{transform:translate(0)}50%{transform:translate(20px,-12px)}to{transform:translate(0)}}@keyframes auHeroUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes auBlink{0%,48%{opacity:1}49%,to{opacity:0}}.au-up{transform:translateY(18px)}.au-right,.au-up{opacity:0;transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo);will-change:opacity,transform}.au-right{transform:translateX(24px)}.au-pop{opacity:0;transform:scale(.92);transition:opacity .6s var(--ease-out-expo),transform .6s cubic-bezier(.34,1.4,.64,1);will-change:opacity,transform}.au-line{transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--ease-out-expo)}.au-in.au-pop,.au-in.au-right,.au-in.au-up{opacity:1;transform:none}.au-in.au-line{transform:scaleX(1)}.au-card{transition:transform .25s var(--ease-standard),box-shadow .25s ease,border-color .25s ease}.au-card:hover{transform:translateY(-4px);border-color:rgba(0,180,220,.55)!important;box-shadow:0 2px 4px rgba(1,28,62,.06),0 16px 44px rgba(0,180,220,.16)!important}.au-card:hover .au-ico{transform:scale(1.12)}.au-ico{transition:transform .25s var(--ease-standard)}.au-corner{position:absolute;top:0;right:0;height:2px;width:18px;background:var(--cyan);transition:width .28s ease}.au-card:hover .au-corner{width:100%}.au-feat:hover .au-ico{transform:scale(1.14)}.au-row{transition:transform .25s ease,background-color .25s ease}.au-row:hover{transform:translateY(-2px);background:rgba(0,180,220,.06)}.au-row:hover .au-badge{box-shadow:0 0 0 4px rgba(0,180,220,.18)}.au-badge{transition:box-shadow .25s ease}.au-btn{transition:transform .2s ease,box-shadow .25s ease,background-color .2s ease,color .2s ease,border-color .2s ease,filter .2s ease}.au-btn-navy:hover{filter:brightness(1.14);box-shadow:0 8px 30px rgba(0,180,220,.26);transform:translateY(-1px)}.au-btn-cyan:hover{box-shadow:0 0 0 1px rgba(0,180,220,.4),0 12px 54px rgba(0,180,220,.5);transform:translateY(-1px) scale(1.01)}.au-btn-sec:hover{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}.au-btn-ghost:hover{background:hsla(0,0%,100%,.1)!important;border-color:hsla(0,0%,100%,.55)!important}.au-navlink{transition:color .2s ease}.au-navlink:hover{color:#fff!important}.au-link{position:relative}.au-link:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.au-link:hover:after{transform:scaleX(1)}.au-logos{position:relative;width:100%;overflow:hidden;padding:16px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.au-logos__track{display:flex;width:max-content;animation:au-marquee 70s linear infinite}.au-logos__seq{display:flex;align-items:center}.au-logos:focus-within .au-logos__track,.au-logos:hover .au-logos__track{animation-play-state:paused}.au-logo{flex:0 0 auto;display:block;height:30px;margin:0 30px;background-color:rgba(74,97,120,.5);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transition:background-color .4s ease,transform .4s ease;cursor:pointer;will-change:background-color}.au-logo:hover{background-color:var(--navy);transform:translateY(-2px) scale(1.05)}@keyframes au-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.au-logos{-webkit-mask-image:none;mask-image:none}.au-logos__track{animation:none;width:100%}.au-logos__seq,.au-logos__track{flex-wrap:wrap;justify-content:center}.au-logos__seq{gap:8px 0}.au-logos__seq[aria-hidden=true]{display:none}}.au-tab{transition:color .2s ease}.au-acc-btn:hover,.au-copy:hover{color:var(--navy)}.au-seg{transition:background-color .2s ease,color .2s ease}.au-stat{cursor:default;transition:color .25s ease,border-color .25s ease,background-color .25s ease,transform .25s ease,box-shadow .25s ease}.au-stat:hover{color:var(--navy);border-color:rgba(0,180,220,.55)!important;background:rgba(0,180,220,.06);transform:translateY(-2px);box-shadow:0 8px 20px rgba(1,28,62,.08)}.au-step{transition:transform .3s var(--ease-standard)}.au-step:hover{transform:translateY(-6px)}.au-step__num{display:inline-block;position:relative;z-index:1;padding:0 18px;color:rgba(0,180,220,.34);background:var(--navy);transition:color .3s ease,transform .3s ease,text-shadow .3s ease}.au-step:hover .au-step__num{color:var(--cyan);transform:scale(1.06);text-shadow:0 10px 34px rgba(0,180,220,.5)}.au-chip{cursor:default;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}.au-chip:hover{background:rgba(0,180,220,.16)!important;border-color:rgba(0,180,220,.55)!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,180,220,.2)}.au-chip svg{transition:transform .25s var(--ease-standard)}.au-chip:hover svg{transform:scale(1.16) rotate(-6deg)}.au-mock{transition:box-shadow .4s ease}.au-mock:hover{box-shadow:0 10px 22px rgba(1,28,62,.1),0 46px 100px rgba(0,180,220,.16)!important}.au-thumb{transition:transform .3s var(--ease-standard),box-shadow .3s ease}.au-thumb:hover{transform:scale(1.06);box-shadow:0 10px 22px rgba(1,28,62,.16);z-index:2}@keyframes auSpin{to{transform:rotate(1turn)}}.au-spin{transform-origin:50% 50%;animation:auSpin 1.6s linear infinite}[data-tilt]:hover .au-spin{animation-duration:.85s}@keyframes auCheckPulse{0%,to{transform:scale(1)}50%{transform:scale(1.16)}}.au-check{transform-origin:50% 50%;animation:auCheckPulse 2.6s ease-in-out infinite}.au-thumb:nth-child(2) .au-check{animation-delay:.55s}.au-thumb:nth-child(3) .au-check{animation-delay:1.1s}@keyframes auFloatY{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.au-flabel{animation:auFloatY 5s ease-in-out infinite;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}.au-flabel:hover{background:var(--cyan)!important;color:var(--navy)!important;border-color:var(--cyan)!important;box-shadow:0 12px 30px rgba(0,180,220,.32)!important;animation-play-state:paused}.au-tstat{cursor:default;transition:color .25s ease,transform .25s ease}.au-tstat:hover{color:var(--cyan);transform:translateY(-2px)}input,select,textarea{font-family:var(--font-body);font-size:1rem;color:var(--ink);width:100%;border:1px solid var(--mist);border-radius:var(--radius-input);padding:0 14px;background:var(--white)}input,select{height:48px}textarea{padding:12px 14px;min-height:120px;resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,180,220,.15)}input::placeholder,textarea::placeholder{color:var(--placeholder)}.au-fielderr input,.au-fielderr select,.au-fielderr textarea{border-color:var(--error)}.lg h2{font-size:1.25rem;margin:48px 0 14px;scroll-margin-top:96px}.lg h2,.lg h3{font-family:var(--font-display);font-weight:600;color:var(--navy)}.lg h3{font-size:1.0625rem;margin:32px 0 10px}.lg p{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--ink)}.lg p,.lg ul{margin:0 0 20px}.lg ul{padding-left:22px}.lg li{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--ink);margin-bottom:8px}.lg a{color:var(--cyan);text-decoration:none}.lg a:hover{text-decoration:underline}.toc a{display:block;font-family:var(--font-body);font-size:.85rem;color:var(--slate);text-decoration:none;border-left:2px solid transparent;padding:6px 0 6px 12px;transition:color .2s ease,border-color .2s ease}.toc a:hover{color:var(--navy)}.toc a.active{color:var(--cyan);border-left-color:var(--cyan);font-weight:600}.lg h2:first-child{margin-top:0}.lg strong{color:var(--navy);font-weight:600}.lg em{font-style:italic}.lg ol{margin:0 0 20px;padding-left:22px}.lg ol li{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--ink);margin-bottom:8px}.lg blockquote{margin:28px 0;padding:18px 24px;border-left:3px solid var(--cyan);background:var(--paper);border-radius:0 var(--radius-card) var(--radius-card) 0}.lg blockquote p{margin:0;color:var(--ink);font-size:1.0625rem}.lg code{font-family:var(--font-mono);font-size:.9em;background:var(--paper);border:1px solid var(--mist);border-radius:6px;padding:2px 6px;color:var(--navy)}.lg pre{background:var(--navy);color:#e6f4fa;border-radius:var(--radius-code);padding:20px 22px;overflow-x:auto;margin:28px 0}.lg pre code{background:none;border:0;padding:0;color:inherit;font-size:.9rem;line-height:1.6}.lg table{width:100%;border-collapse:collapse;margin:28px 0;font-family:var(--font-body);font-size:.95rem}.lg th{text-align:left;font-weight:600;color:var(--navy);border-bottom:2px solid var(--mist);background:var(--paper)}.lg td,.lg th{padding:12px 14px}.lg td{border-bottom:1px solid var(--mist);color:var(--ink)}.lg tr:last-child td{border-bottom:0}.lg .au-callout{margin:32px 0;padding:22px 24px;background:var(--white);border:1px solid var(--mist);border-left:3px solid var(--cyan);border-radius:var(--radius-card)}.lg .au-callout.au-callout-navy{border-left-color:var(--navy)}.lg .au-callout h4{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--navy);margin:0 0 8px}.lg .au-callout p{margin:0}.lg .au-callout p+p{margin-top:12px}.lg .au-statstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px;margin:32px 0}.lg .au-statstrip .au-stat{background:var(--white);border:1px solid var(--mist);border-radius:var(--radius-card);padding:18px 20px}.lg .au-statstrip .au-stat .au-stat-num{font-family:var(--font-display);font-weight:700;font-size:1.7rem;color:var(--navy);letter-spacing:-.02em;line-height:1}.lg .au-statstrip .au-stat .au-stat-lbl{font-family:var(--font-body);font-size:.85rem;color:var(--slate);margin-top:8px;line-height:1.4}@media (max-width:620px){.lg .au-statstrip{grid-template-columns:1fr 1fr;gap:12px}}.lg figcaption{font-size:.85rem;color:var(--slate);margin-top:12px;line-height:1.5}.au-skip,.lg figcaption{font-family:var(--font-body)}.au-skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--cyan);color:var(--navy);font-weight:600;padding:10px 16px;border-radius:var(--radius-btn)}.au-skip:focus{left:12px;top:12px}@media (max-width:640px){.au-hide-mobile{display:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.au-line,.au-pop,.au-right,.au-up{opacity:1!important;transform:none!important}}.no-js .au-pop,.no-js .au-right,.no-js .au-up{opacity:1;transform:none}.no-js .au-line{transform:scaleX(1)}.au-blog-featured{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:0;gap:0}.au-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:28px;gap:28px}@media (max-width:860px){.au-blog-featured{grid-template-columns:1fr}.au-blog-featured>div[aria-hidden=true],.au-blog-featured>img{min-height:220px!important}.au-blog-grid{grid-template-columns:1fr;gap:16px}.au-blog-grid>a{flex-direction:row!important;align-items:stretch!important}.au-blog-grid>a>.au-blog-thumb{width:38%!important;flex:0 0 38%!important;max-width:160px;height:auto!important}.au-blog-grid>a>.au-blog-thumb img,.au-blog-grid>a>.au-blog-thumb>div{height:100%!important}.au-blog-grid>a>div:not(.au-blog-thumb){padding:14px 16px!important}.au-blog-grid>a>div:not(.au-blog-thumb)>h3{font-size:1.0625rem!important}}@media (max-width:640px){.au-caprow{flex-wrap:wrap!important;align-items:flex-start!important;gap:8px 14px!important;padding:18px!important}.au-capnum{font-size:1.5rem!important;min-width:auto!important}.au-capbadge{order:1;align-self:center}.au-caprow>div:nth-child(2){flex-basis:calc(100% - 44px);order:2}.au-stat-strip,.au-tstat-strip{justify-content:center!important;column-gap:16px!important;row-gap:8px!important}.au-stat-div{display:none!important}.au-plan-grid{grid-template-columns:1fr!important;gap:12px!important;justify-items:center}.au-plan-grid>*{width:100%;max-width:420px}}