@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-red:#c8352f;--brand-red-strong:#a82a25;--brand-blue:#2f6fb0;--brand-blue-soft:#9dc3e6;--ink:#1d2030;--ink-soft:#4a4f63;--bg:#fff;--bg-alt:#f4f6fa;--surface:#fff;--border:#dde1ea;--hero-bg:#1f2233;--footer-bg:#1f2233;--hero-ink:#f5f6fa;--hero-ink-soft:#c9cddb;--focus:#2f6fb0;--radius:14px;--shadow:0 1px 2px #1014280f, 0 8px 24px #10142814;--max:72rem;--font:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--brand-red:#ff7a72;--brand-red-strong:#ff958e;--brand-blue:#8ab8e8;--ink:#eceef5;--ink-soft:#b4b9cb;--bg:#14161f;--bg-alt:#1b1e2a;--surface:#212535;--border:#33384b;--hero-bg:#0e1018;--footer-bg:#0e1018;--focus:#8ab8e8;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000004d}}:root,[data-theme=home]{--accent:#c8352f;--accent-strong:#a82a25;--accent-hero:#ff958e;--accent-deep:#24548a;--accent-2:#9dc3e6;--hero-bg:#1f2233}[data-theme=web]{--accent:#c8352f;--accent-strong:#a82a25;--accent-hero:#ff8f88;--accent-deep:#8f2621;--accent-2:#ffc2bd;--hero-bg:#1f2233}[data-theme=shop]{--accent:#a16207;--accent-strong:#854d0e;--accent-fill:#fbbf24;--accent-fill-strong:#fcd34d;--on-accent:#1c1206;--accent-hero:#fbbf24;--accent-deep:#854d0e;--accent-2:#fde68a;--hero-bg:#201912}[data-theme=dev]{--accent:#15803d;--accent-strong:#166534;--accent-hero:#4ade80;--accent-deep:#14532d;--accent-2:#a7f3d0;--hero-bg:#0b1210}[data-theme=net]{--accent:#1d5fa8;--accent-strong:#174b86;--accent-hero:#7cb4f0;--accent-deep:#1e3a8a;--accent-2:#bfdbfe;--hero-bg:#0b1a2f}@media (prefers-color-scheme:dark){:root,[data-theme=home],[data-theme=web]{--accent:#ff7a72;--accent-strong:#ff958e}[data-theme=shop]{--accent:#fbbf24;--accent-strong:#fcd34d;--accent-fill:#fbbf24;--accent-fill-strong:#fcd34d;--hero-bg:#15100b}[data-theme=dev]{--accent:#4ade80;--accent-strong:#86efac;--hero-bg:#070b0a}[data-theme=net]{--accent:#7cb4f0;--accent-strong:#a5cdf6;--hero-bg:#071222}:root,[data-theme=home],[data-theme=web]{--hero-bg:#0e1018}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--bg);text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65}img,svg{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:-.015em;margin:0 0 .6em;line-height:1.2}h1{font-size:clamp(2rem,1.4rem + 3vw,3.4rem);font-weight:800}h2{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.3rem);font-weight:750}h3{font-size:1.2rem;font-weight:700}p{margin:0 0 1em}a{color:var(--brand-blue);text-underline-offset:.2em}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:1rem}@media (width>=48rem){.container{padding-inline:2rem}}.section{padding-block:clamp(3rem,2rem + 4vw,6rem)}.section--alt{background:var(--bg-alt)}.section-head{max-width:44rem;margin-bottom:2.5rem}.section-head--center{text-align:center;margin-inline:auto}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:inline-block}.lead{color:var(--ink-soft);font-size:1.2rem}.grid{gap:1.5rem;display:grid}@media (width>=40rem){.grid--2{grid-template-columns:repeat(2,1fr)}}@media (width>=64rem){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}@media (width>=40rem) and (width<=63.99rem){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.card h3{margin-bottom:.5em}.card p:last-child{margin-bottom:0}.btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-weight:650;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn--primary{background:var(--accent-fill,var(--accent));color:var(--on-accent,#fff)}.btn--primary:hover{background:var(--accent-fill-strong,var(--accent-strong));color:var(--on-accent,#fff)}@media (prefers-color-scheme:dark){.btn--primary,.btn--primary:hover{color:var(--on-accent,#1d0b0a)}}.btn--ghost{color:inherit;border-color:currentColor}.btn--ghost:hover{color:inherit;background:#ffffff1a}.check-list{margin:0 0 1em;padding:0;list-style:none}.check-list li{margin-bottom:.6rem;padding-left:1.9rem;position:relative}.check-list li:before{content:"";background:var(--accent-fill,var(--accent)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center / 70% no-repeat;border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:.35em;left:0}[data-theme=shop] .check-list li:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1206' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E")}.prose{max-width:46rem}.prose h2{margin-top:2em;font-size:1.5rem}.prose h3{margin-top:1.5em}.prose ul{padding-left:1.25rem}.todo{color:#5c4500;background:#fff3c4;border-radius:4px;padding:0 .3em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn--light{color:var(--accent-deep);background:#fff}.btn--light:hover{color:var(--accent-deep);background:#f1f3f8}.figure{margin:0}.figure figcaption{color:var(--ink-soft);text-align:center;margin-top:.9rem;font-size:.92rem}.split{align-items:center;gap:clamp(2rem,1rem + 3vw,4rem);display:grid}@media (width>=56rem){.split{grid-template-columns:1fr 1fr}.split--reverse>:first-child{order:2}}.badge{width:3rem;height:3rem;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:12px;flex-shrink:0;place-items:center;margin-bottom:1.1rem;display:inline-grid}@keyframes float{50%{transform:translateY(-8px)}}@keyframes dash{to{stroke-dashoffset:-40px}}.float-a{animation:7s ease-in-out infinite float}.float-b{animation:8s ease-in-out -3s infinite float}.flow{stroke-dasharray:6 8;animation:2.5s linear infinite dash}.ill{width:100%;height:auto;overflow:visible}.ill .glass{fill:#ffffff12;stroke:#ffffff38;stroke-width:1.5px}.ill .glass-strong{fill:#ffffff1f;stroke:#ffffff4d;stroke-width:1.5px}.ill .soft{fill:#ffffff29}.ill .faint{fill:#ffffff17}.ill .acc{fill:var(--accent-hero)}.ill .acc-2{fill:var(--accent-2)}.ill .acc-line{fill:none;stroke:var(--accent-hero);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ill .line{fill:none;stroke:#ffffff59;stroke-width:1.5px;stroke-linecap:round}.ill text{font-family:var(--font);fill:#eef0f6}.ill .t-soft{fill:#eef0f6b3}.ill .t-acc{fill:var(--accent-hero)}.ill .t-dark{fill:#111}.ill .mono{font-family:ui-monospace,Cascadia Code,SFMono-Regular,Consolas,monospace}.diagram{width:100%;height:auto}.diagram text{font-family:var(--font);fill:var(--ink)}.diagram .t-soft{fill:var(--ink-soft)}.diagram .t-acc{fill:var(--accent)}.diagram .t-on-acc{fill:#fff}.diagram .node{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.diagram .node-acc{fill:color-mix(in srgb, var(--accent-fill,var(--accent)) 10%, var(--surface));stroke:var(--accent-fill,var(--accent));stroke-width:2px}.diagram .fill-acc{fill:var(--accent-fill,var(--accent))}.diagram .link{fill:none;stroke:var(--ink-soft);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.diagram .link-acc{fill:none;stroke:var(--accent-fill,var(--accent));stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.diagram .ico{fill:none;stroke:var(--accent-fill,var(--accent));stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-color-scheme:dark){.diagram .t-on-acc{fill:#111}}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.3}}.blink{animation:1.1s step-end infinite blink}.pulse{animation:2s ease-in-out infinite pulse}[data-theme=dev] .eyebrow{text-transform:none;letter-spacing:0;font-family:ui-monospace,Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.95rem}[data-theme=dev] .eyebrow:before{content:"// ";opacity:.7}body[data-theme=net] .section--alt{background:linear-gradient(color-mix(in srgb, var(--accent) 6%, transparent) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, color-mix(in srgb, var(--accent) 6%, transparent) 1px, transparent 1px) 0 0 / 28px 28px, var(--bg-alt)}body[data-theme=shop] .card{border-radius:20px}.logo-svg[data-astro-cid-f7espo7c] text[data-astro-cid-f7espo7c]{font-family:var(--font)}.stroke-blue[data-astro-cid-f7espo7c]{stroke:var(--brand-blue)}.stroke-red[data-astro-cid-f7espo7c]{stroke:var(--brand-red)}.fill-red[data-astro-cid-f7espo7c]{fill:var(--brand-red)}.fill-blue[data-astro-cid-f7espo7c]{fill:var(--brand-blue)}.flag[data-astro-cid-noyxejat]{border-radius:2px;flex-shrink:0;display:block;box-shadow:0 0 0 1px #00000026}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:saturate(160%)blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand[data-astro-cid-nen7h5rs]{flex-shrink:0;display:inline-flex}.brand[data-astro-cid-nen7h5rs] .logo{width:clamp(9rem,45vw,11.5rem)}.tools[data-astro-cid-nen7h5rs]{align-items:center;gap:.5rem;margin-left:auto;display:flex}.lang-switch[data-astro-cid-nen7h5rs]{border:1px solid var(--border);background:var(--surface);color:var(--ink);letter-spacing:.04em;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.lang-switch[data-astro-cid-nen7h5rs]:hover{color:var(--accent);border-color:var(--accent-fill,var(--accent))}.menu-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.6rem;padding:.55rem .9rem;font-weight:600;display:inline-flex}@media (width<=29.99rem){.menu-toggle[data-astro-cid-nen7h5rs]{padding:.7rem}.menu-label[data-astro-cid-nen7h5rs]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.menu-icon[data-astro-cid-nen7h5rs],.menu-icon[data-astro-cid-nen7h5rs]:before,.menu-icon[data-astro-cid-nen7h5rs]:after{background:currentColor;border-radius:2px;width:1.1rem;height:2px;display:block;position:relative}.menu-icon[data-astro-cid-nen7h5rs]:before,.menu-icon[data-astro-cid-nen7h5rs]:after{content:"";position:absolute}.menu-icon[data-astro-cid-nen7h5rs]:before{top:-6px}.menu-icon[data-astro-cid-nen7h5rs]:after{top:6px}.nav[data-astro-cid-nen7h5rs]{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);display:none;position:absolute;inset:100% 0 auto}.nav[data-astro-cid-nen7h5rs].is-open{display:block}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin:0;padding:.5rem 1rem 1rem;list-style:none}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink);border-radius:8px;padding:.75rem .5rem;font-weight:550;text-decoration:none;display:block}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--accent)}@media (width>=64rem){.menu-toggle[data-astro-cid-nen7h5rs]{display:none}.nav[data-astro-cid-nen7h5rs],.nav[data-astro-cid-nen7h5rs].is-open{box-shadow:none;background:0 0;border:0;display:block;position:static}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;padding:0;display:flex}.nav[data-astro-cid-nen7h5rs]{margin-left:auto}.tools[data-astro-cid-nen7h5rs]{margin-left:.5rem}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:.5rem .75rem;font-size:.95rem}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent-fill,var(--accent));border-radius:0}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--footer-bg);color:var(--hero-ink-soft);padding-top:3.5rem;font-size:.95rem}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--hero-ink)}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--brand-blue-soft)}.cols[data-astro-cid-jo6i4kqk]{gap:2rem;padding-bottom:2.5rem;display:grid}@media (width>=48rem){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1.3fr 1fr 1fr}}.cols[data-astro-cid-jo6i4kqk] .logo{--brand-red:#ff7a72;--brand-blue:#9dc3e6;width:12rem;margin-bottom:1rem}.title[data-astro-cid-jo6i4kqk]{color:var(--hero-ink);margin-bottom:1rem;font-size:1rem}address[data-astro-cid-jo6i4kqk]{font-style:normal}.line[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:.6rem;margin-bottom:.6rem;display:flex}.line[data-astro-cid-jo6i4kqk] svg{color:var(--brand-blue-soft);flex-shrink:0;margin-top:.2em}ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}.cols[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{margin-bottom:.4rem}.legal[data-astro-cid-jo6i4kqk]{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-block:1.25rem;font-size:.85rem;display:flex}.legal[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}.legal[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.skip-link[data-astro-cid-hkbrpulz]{z-index:100;background:var(--ink);color:var(--bg);border-radius:8px;padding:.75rem 1rem;font-weight:600;position:absolute;top:-4rem;left:1rem}.skip-link[data-astro-cid-hkbrpulz]:focus{color:var(--bg);top:1rem}main[data-astro-cid-hkbrpulz]:focus{outline:none}.ridge[data-astro-cid-7rgvzo4n]{width:100%;height:clamp(28px,4vw,56px);position:absolute;bottom:-1px;left:0;right:0}.ground[data-astro-cid-7rgvzo4n]{fill:var(--bg)}.line[data-astro-cid-7rgvzo4n]{fill:none;stroke:var(--accent-hero);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.hero[data-astro-cid-75ysl5lo]{color:var(--hero-ink);background:radial-gradient(60rem 30rem at 110% -20%, color-mix(in srgb, var(--accent-hero) 28%, transparent), transparent 60%), radial-gradient(40rem 24rem at -10% 120%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 60%), var(--hero-bg);padding-block:clamp(3.5rem,2.5rem + 5vw,6.5rem) clamp(4.5rem,3.5rem + 5vw,8rem);position:relative;overflow:hidden}[data-theme=dev] .hero[data-astro-cid-75ysl5lo]{background:radial-gradient(circle at 1px 1px, #4ade8024 1px, transparent 0) 0 0 / 22px 22px, radial-gradient(50rem 26rem at 100% 0%, #4ade8029, transparent 60%), var(--hero-bg)}[data-theme=net] .hero[data-astro-cid-75ysl5lo]{background:linear-gradient(#7cb4f017 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, #7cb4f017 1px, transparent 1px) 0 0 / 32px 32px, radial-gradient(50rem 28rem at 100% 0%, #7cb4f038, transparent 60%), var(--hero-bg)}.inner[data-astro-cid-75ysl5lo]{align-items:center;gap:2.5rem;display:grid}@media (width>=60rem){.hero--visual[data-astro-cid-75ysl5lo] .inner[data-astro-cid-75ysl5lo]{grid-template-columns:1.05fr 1fr;gap:3rem}}.eyebrow[data-astro-cid-75ysl5lo]{color:var(--accent-hero)}h1[data-astro-cid-75ysl5lo]{max-width:20ch}h1[data-astro-cid-75ysl5lo] span[data-astro-cid-75ysl5lo]{color:var(--accent-hero)}.lead[data-astro-cid-75ysl5lo]{max-width:40rem;color:var(--hero-ink-soft)}.actions[data-astro-cid-75ysl5lo]{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.actions[data-astro-cid-75ysl5lo]:empty{display:none}.visual[data-astro-cid-75ysl5lo]{justify-self:center;width:100%;max-width:34rem}.hero[data-astro-cid-75ysl5lo] .btn--primary{background:var(--accent-hero);color:#111}.hero[data-astro-cid-75ysl5lo] .btn--primary:hover{color:#111;background:#fff}
