*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:#0a2540;background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}h1,h2{font-family:var(--font-display)}h3,h4{font-family:var(--font-body)}:root{--font-body:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;--font-display:"Quicksand",-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--brand:#BD1A56;--brand-dk:#9B1249;--brand-soft:#FFF0F6;--accent:#7A73FF;--accent-soft:#F1EFFF;--prosper:#0570DE;--prosper-soft:#E9F2FF;--warmth:#F5A623;--warmth-soft:#FFF6E6;--success:#10B981;--success-soft:#E9FBF3;--auspicious:#ED5F74;--text:#0A2540;--text2:#4F566B;--muted:#9DA8B8;--border:#E3E8EE;--surf:#F7F8FB;--r:14px;--r-lg:22px;--r-xl:34px;--r-pill:100px;--sh-sm:0 1px 2px rgba(15,23,42,.06);--sh:0 8px 28px rgba(15,23,42,.08);--sh-lg:0 24px 60px rgba(15,23,42,.12);--maxw:1080px}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;border:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;border-radius:var(--r-pill);white-space:nowrap}.btn-sm{font-size:14px;padding:10px 20px}.btn-md{font-size:15px;padding:13px 26px}.btn-brand{background:var(--brand);color:#fff;box-shadow:0 6px 18px #bd1a5c47}.btn-brand:hover{background:var(--brand-dk);transform:translateY(-2px)}.btn-outline{background:#fff;color:var(--text);border:1.5px solid var(--border)}.btn-outline:hover{border-color:var(--brand);color:var(--brand)}.btn-white{background:#fff;color:var(--brand)}.btn-white:hover{transform:translateY(-2px);box-shadow:var(--sh)}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--brand-soft);border:1px solid rgba(189,26,92,.16);color:var(--brand);font-size:12px;font-weight:700;padding:6px 15px;border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#ffffffe6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}.nav.scrolled{border-color:var(--border);box-shadow:0 2px 18px #0f172a0d}.nav-in{max-width:1200px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;gap:14px}.logo{display:flex;align-items:center;flex-shrink:0;line-height:0}.logo img{height:30px;width:auto}.logo-sep{width:1px;height:22px;background:var(--border);margin:0 4px}.logo-tag{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--text2)}.nav-links{display:flex;gap:26px;list-style:none;margin-left:auto}.nav-links a{font-size:15px;font-weight:500;color:var(--text2);transition:color .15s}.nav-links a:hover{color:var(--brand)}.nav-cta{display:flex;gap:10px;align-items:center;flex-shrink:0}.art-hero{padding:104px 0 30px;background:radial-gradient(circle at 12% 30%,rgba(122,115,255,.07),transparent 42%),radial-gradient(circle at 90% 10%,rgba(189,26,92,.06),transparent 46%),#fff}.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:18px}.crumbs a{color:var(--text2);font-weight:500}.crumbs a:hover{color:var(--brand)}.crumbs .sep{color:var(--muted)}.crumbs .cur{color:var(--text);font-weight:600}.cat-pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);background:var(--brand-soft);padding:5px 12px;border-radius:var(--r-pill);margin-bottom:16px}.art-hero h1{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.08;max-width:20ch}.art-meta{display:flex;align-items:center;gap:16px;margin-top:18px;font-size:13px;color:var(--muted);flex-wrap:wrap}.art-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}.art-main{padding:30px 0 64px}.art-layout{display:grid;grid-template-columns:1fr 240px;gap:56px;align-items:start}.toc{position:sticky;top:96px}.toc h4{font-family:var(--font-body);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px}.toc ul{list-style:none;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--border)}.toc a{display:block;padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent;font-size:13.5px;color:var(--text2);transition:color .15s,border-color .15s;line-height:1.4}.toc a:hover{color:var(--text)}.toc a.active{color:var(--brand);border-left-color:var(--brand);font-weight:600}.prose{max-width:680px}.prose>p{font-size:16px;color:var(--text2);line-height:1.75;margin-bottom:20px}.prose .lead{font-size:18px;color:var(--text);line-height:1.65;margin-bottom:28px}.prose h2{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:40px 0 14px;scroll-margin-top:90px}.prose h3{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:28px 0 10px}.prose ul,.prose ol{margin:0 0 20px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:11px}.prose ul li{display:flex;align-items:flex-start;gap:11px;font-size:15.5px;color:var(--text);line-height:1.6}.prose ul li .ck{width:21px;height:21px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);margin-top:1px}.prose ul li .ck svg{width:11px;height:11px}.prose ol{counter-reset:s;gap:16px}.prose ol li{counter-increment:s;display:flex;align-items:flex-start;gap:14px;font-size:15.5px;color:var(--text);line-height:1.6}.prose ol li:before{content:counter(s);flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--font-body);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.prose ol li b{display:block;margin-bottom:2px}.prose strong{color:var(--text);font-weight:600}.prose code{font-family:var(--font-mono);font-size:13.5px;background:var(--surf);border:1px solid var(--border);border-radius:6px;padding:2px 7px;color:var(--brand-dk)}.prose a.inline{color:var(--brand);font-weight:600;border-bottom:1px solid rgba(189,26,92,.3)}.prose a.inline:hover{border-bottom-color:var(--brand)}.callout{border-radius:14px;padding:16px 18px 16px 16px;margin:24px 0;display:flex;gap:13px;font-size:14.5px;line-height:1.6}.callout .ic{flex-shrink:0;width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px}.callout b{font-weight:700}.callout.tip{background:var(--accent-soft)}.callout.tip .ic{background:#fff;color:var(--accent)}.callout.tip b{color:var(--accent)}.callout.note{background:var(--prosper-soft)}.callout.note .ic{background:#fff;color:var(--prosper)}.callout.note b{color:var(--prosper)}.callout.warn{background:var(--warmth-soft)}.callout.warn .ic{background:#fff;color:#b8810e}.callout.warn b{color:#b8810e}.prereq{background:var(--surf);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 24px;margin-bottom:32px}.prereq h4{font-size:14px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}.prereq ul{list-style:none;display:flex;flex-direction:column;gap:9px}.prereq li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);line-height:1.5}.prereq li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0;margin-top:7px}.helpful{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:44px 0;padding:26px 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.helpful span{font-family:var(--font-body);font-weight:600;font-size:15px}.helpful .opt{font-size:14px;font-weight:600;color:var(--text2);border:1.5px solid var(--border);background:#fff;border-radius:var(--r-pill);padding:8px 20px;cursor:pointer;transition:all .18s;font-family:var(--font-body)}.helpful .opt:hover{border-color:var(--brand);color:var(--brand)}.helpful .opt.picked{background:var(--brand);color:#fff;border-color:var(--brand)}.helpful .thanks{font-size:14px;color:var(--success);font-weight:600;display:none}.helpful.done .thanks{display:inline}.share{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 44px}.share-label{font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--text)}.share-btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:42px;height:42px;border:1.5px solid var(--border);background:#fff;border-radius:50%;color:var(--text2);cursor:pointer;transition:color .18s,border-color .18s,background .18s;font-family:var(--font-body);text-decoration:none}.share-btn svg{width:18px;height:18px}.share-btn:hover{color:var(--brand);border-color:var(--brand)}.share-btn.share-copy{width:auto;border-radius:var(--r-pill);padding:0 18px;font-size:14px;font-weight:600}.share-btn.share-copy.copied{color:var(--success);border-color:var(--success)}.related h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rel{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--r);background:#fff;transition:border-color .18s,transform .18s,box-shadow .18s}.rel:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--sh-sm)}.rel-ic{width:38px;height:38px;border-radius:10px;background:var(--surf);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.rel-t{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.35}.rel-s{font-size:12px;color:var(--muted);margin-top:2px}.rel-ar{margin-left:auto;color:var(--muted)}.h-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin:26px 0}.h-table{width:100%;border-collapse:separate;border-spacing:0;min-width:540px;background:#fff;font-size:14px}.h-table th{padding:14px 16px;text-align:left;background:var(--surf);border-bottom:1px solid var(--border);font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--text)}.h-table th.hot{background:var(--brand-soft);color:var(--brand);border-top:3px solid var(--brand)}.h-table td{padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:top;line-height:1.45}.h-table td:first-child{color:var(--text);font-weight:500}.h-table td.hot{background:#bd1a5c0a;font-weight:600;color:var(--text)}.h-table tr:last-child td{border-bottom:none}.h-table .y{color:var(--success);font-weight:800}.h-table .n{color:var(--muted)}.h-table .mini{font-size:11px;font-weight:600;color:#b8810e;display:block;margin-top:2px}.optgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:26px 0}.opt-card{border:1.5px solid var(--border);border-radius:var(--r-lg);padding:22px;background:#fff}.opt-card.hot{border-color:var(--brand);box-shadow:var(--sh-sm);position:relative}.opt-card.hot:after{content:"Most popular";position:absolute;top:-11px;left:20px;background:var(--brand);color:#fff;font-family:var(--font-body);font-size:10px;font-weight:700;padding:3px 11px;border-radius:100px}.opt-card .oc-name{font-family:var(--font-body);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.opt-card .oc-price{font-family:var(--font-mono);font-weight:800;font-size:30px;letter-spacing:-.03em;margin:6px 0 2px;color:var(--text)}.opt-card .oc-sub{font-size:12.5px;color:var(--muted);margin-bottom:14px}.opt-card .oc-lead{font-size:14px;color:var(--text2);line-height:1.5;margin-bottom:14px}.opt-card ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.opt-card li{display:flex;gap:9px;font-size:13.5px;color:var(--text2);line-height:1.45;align-items:flex-start}.opt-card li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0;margin-top:6px}.support{padding:24px 0 72px}.support-in{background:linear-gradient(135deg,var(--brand),#E8405A 70%,var(--accent));border-radius:var(--r-xl);padding:48px 40px;text-align:center;position:relative;overflow:hidden}.support-in:before{content:"";position:absolute;top:-90px;left:-50px;width:280px;height:280px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}.support-in:after{content:"";position:absolute;bottom:-110px;right:-40px;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 70%)}.support-c{position:relative;z-index:1;max-width:540px;margin:0 auto}.support h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:10px}.support p{font-size:16px;color:#ffffffeb;margin-bottom:24px}.support-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media(max-width:880px){.art-layout{grid-template-columns:1fr;gap:0}.toc,.nav-links{display:none}.rel-grid{grid-template-columns:1fr}}.prose ul li:before{content:"✓";color:var(--brand);font-weight:800;font-size:13px;flex:0 0 auto;margin-top:1px}.prose a{color:var(--brand);font-weight:600;border-bottom:1px solid rgba(189,26,92,.3)}.prose a:hover{border-bottom-color:var(--brand)}.prose blockquote{margin:24px 0;padding:16px 18px;background:var(--accent-soft);border-radius:14px;color:var(--text);font-size:14.5px;line-height:1.6}.prose blockquote p{margin:0;color:var(--text)}.prose hr{border:none;border-top:1px solid var(--border);margin:32px 0}.prose table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;margin:26px 0;border:1px solid var(--border);border-radius:14px;overflow:hidden}.prose thead th{background:var(--surf);text-align:left;padding:13px 15px;font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--text);border-bottom:1px solid var(--border)}.prose tbody td{padding:12px 15px;border-bottom:1px solid var(--border);color:var(--text2);line-height:1.45}.prose tbody tr:last-child td{border-bottom:none}.prose tbody td:first-child{color:var(--text);font-weight:500}.prose tbody tr:last-child td{font-weight:600;color:var(--text)}.art-hero-media{margin:6px 0 2px}.art-hero-img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block;border-radius:var(--r-xl);box-shadow:var(--sh);background:var(--surf)}.art-hero-img[data-placeholder]{box-shadow:none;border:1px solid var(--border)}@media(max-width:640px){.art-hero-img{border-radius:var(--r-lg)}}.cat-pill{display:inline-flex;align-items:center;gap:7px}.cat-pill svg{width:14px;height:14px}.rel-ic svg{width:18px;height:18px;color:var(--brand)}.rel-ar svg{width:16px;height:16px}.nav-has-drop[data-astro-cid-dmqpwcec]{position:relative}.nav-drop-toggle[data-astro-cid-dmqpwcec]{background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;gap:4px}.nav-drop-toggle[data-astro-cid-dmqpwcec]:after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;transition:transform .2s}.nav-has-drop[data-astro-cid-dmqpwcec].open .nav-drop-toggle[data-astro-cid-dmqpwcec]:after{transform:rotate(180deg)}.nav-drop[data-astro-cid-dmqpwcec]{display:none;position:absolute;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--border, #E3E8EE);border-radius:8px;padding:6px 0;min-width:192px;box-shadow:0 4px 20px #00000014;list-style:none;z-index:200;margin:0}.nav-has-drop[data-astro-cid-dmqpwcec].open .nav-drop[data-astro-cid-dmqpwcec]{display:block}.nav-drop[data-astro-cid-dmqpwcec] li[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{display:block;padding:9px 16px;white-space:nowrap;color:var(--text1, #0F172A);text-decoration:none;font-size:14px;line-height:1.4}.nav-drop[data-astro-cid-dmqpwcec] li[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{background:var(--surface, #FAFBFC);color:var(--brand, #BD1A56)}.nav-login[data-astro-cid-dmqpwcec]{font-size:14px;font-weight:600;color:var(--brand, #BD1A56);border:1.5px solid var(--brand, #BD1A56);padding:8px 18px;border-radius:var(--r-pill, 100px);text-decoration:none;transition:background .18s,color .18s}.nav-login[data-astro-cid-dmqpwcec]:hover{background:var(--brand, #BD1A56);color:#fff}@media(max-width:880px){.nav-login[data-astro-cid-dmqpwcec]{display:none}}:root{--font-body:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;--font-display:"Quicksand",-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
