:root{--bg:oklch(98.4% .006 95);--bg-2:oklch(96.7% .008 95);--paper:oklch(99.7% .002 95);--ink:oklch(25.5% .012 235);--ink-soft:oklch(40% .012 235);--muted:oklch(45% .014 235);--faint:oklch(46% .012 235);--line:oklch(90.5% .006 95);--line-2:oklch(85.5% .007 95);--accent:oklch(48.5% .074 205);--accent-d:oklch(40% .062 210);--accent-dd:oklch(28.5% .05 215);--accent-wash:oklch(95.5% .018 205);--accent-line:oklch(83% .035 205);--sand:oklch(93% .022 78);--sand-line:oklch(84% .03 75);--ok-ink:oklch(50% .1 155);--sep-ink:oklch(53% .012 95);--ok:oklch(58% .085 155);--soon:oklch(72% .095 75);--dev:oklch(66% .01 235);--flag:oklch(50.5% .135 42);--lamp-busy:var(--ok);--lamp-ring:var(--soon);--lamp-off:var(--line-2);--onprem-line:var(--accent);--onprem-dash:7 6;--dur-fast:.18s;--dur-mid:.25s;--ease-std:ease;--dk-ink:oklch(97% .008 95);--dk-soft:oklch(86% .018 200);--dk-muted:oklch(80% .02 200);--dk-line:oklch(46% .05 208);--dk-accent:oklch(80% .08 192);--dk-fill:oklch(56% .05 205);--dk-flag:oklch(76% .12 48);--font-sans:"Zen Kaku Gothic New", "Noto Sans JP", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--wrap:1180px;--gut:clamp(20px, 5vw, 64px);--corp-bar-maxw:var(--wrap);--corp-bar-gut:var(--gut);--radius:14px;--radius-s:9px;--shadow-s:0 1px 2px oklch(40% .02 235/.05), 0 1px 1px oklch(40% .02 235/.04);--shadow-m:0 14px 40px -22px oklch(35% .03 235/.3), 0 2px 8px -4px oklch(35% .03 235/.12)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"palt" 1;font-weight:400;line-height:1.72}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}::selection{background:var(--accent);color:var(--bg)}.wrap{max-width:var(--wrap);padding-inline:var(--gut);margin-inline:auto}.section{padding-block:clamp(64px,9vw,132px)}.section--tight{padding-block:clamp(48px,6vw,84px)}.band{background:var(--bg-2)}.band-dark{background:radial-gradient(120% 140% at 85% -10%, oklch(33% .055 210) 0%, transparent 55%), var(--accent-dd);color:oklch(96% .01 95)}.band-dark+.band-dark{border-top:1px solid oklch(46% .055 205/.55)}.rule{background:var(--line);border:0;height:1px}:target{scroll-margin-top:92px}.skip-link{z-index:200;background:var(--accent);color:#fff;border-radius:0 0 var(--radius-s) 0;padding:10px 18px;font-weight:700;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-d);align-items:center;gap:.6em;font-size:.72rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--ink);width:22px;height:1.5px}.band-dark .eyebrow{color:oklch(80% .06 200)}.band-dark .eyebrow:before{background:var(--dk-ink)}.kicker{font-family:var(--font-mono);letter-spacing:.16em;color:var(--faint);font-size:.74rem;font-weight:700}h1,h2,h3{letter-spacing:.005em;text-wrap:balance;word-break:auto-phrase;overflow-wrap:anywhere;font-weight:700;line-height:1.24}.display{letter-spacing:-.005em;text-wrap:balance;font-size:clamp(2.05rem,5.4vw,3.7rem);font-weight:900;line-height:1.16}.h2{font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:900;line-height:1.22}.h3{font-size:clamp(1.18rem,1.9vw,1.45rem);font-weight:700}.lead{color:var(--ink-soft);font-size:clamp(1.04rem,1.5vw,1.22rem);font-weight:500;line-height:1.85}.muted{color:var(--muted)}.note{color:var(--faint);text-wrap:pretty;font-size:.84rem;line-height:1.7}.note--mark{text-indent:-1.3em;padding-left:1.3em}.accent-text{color:var(--accent-d)}.band-dark .accent-text{color:oklch(82% .07 195)}a.accent-text{text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-std), text-decoration-color var(--dur-fast) var(--ease-std);text-decoration:underline 1px}a.accent-text:hover{color:var(--accent-dd);text-decoration-thickness:2px}.band-dark a.accent-text:hover{color:var(--dk-ink)}:where(a,button,summary,[tabindex="0"]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}:where(.band-dark,.site-footer) :where(a,button,[tabindex="0"]):focus-visible{outline-color:var(--dk-accent)}.strong{font-weight:900}mark.hl{background:linear-gradient(transparent 58%, var(--accent-wash) 58%);color:inherit;padding-inline:.05em}.band-dark mark.hl{background:linear-gradient(#0000 58%,oklch(42% .06 205) 58%)}.section-head{max-width:740px}.section-head .h2{margin-top:14px}.section-head .lead{margin-top:18px}.btn{letter-spacing:.02em;transition:transform var(--dur-fast) var(--ease-std), background var(--dur-fast) var(--ease-std), box-shadow var(--dur-fast) var(--ease-std), border-color var(--dur-fast) var(--ease-std);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.6em;padding:.92em 1.5em;font-size:.96rem;font-weight:700;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);color:oklch(99% .005 200);box-shadow:var(--shadow-s)}.btn--primary:hover{background:var(--accent-d);box-shadow:var(--shadow-m)}.btn--ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent-d);background:var(--paper)}.btn--light{color:var(--accent-dd);background:oklch(97% .01 95)}.btn--light:hover{background:#fff}.btn .arr{transition:transform var(--dur-fast) var(--ease-std)}.btn:hover .arr{transform:translate(3px)}.btn--block{justify-content:center;width:100%}.btn--lg{padding:1.05em 1.8em;font-size:1.02rem}.textlink{color:var(--accent-d);border-bottom:1px solid var(--accent-line);transition:gap var(--dur-fast) var(--ease-std), border-color var(--dur-fast) var(--ease-std);align-items:center;gap:.45em;padding-bottom:2px;font-weight:700;display:inline-flex}.textlink:hover{border-color:var(--accent);gap:.75em}.band-dark .textlink{color:oklch(85% .06 195);border-color:oklch(50% .05 205)}.corp-bar{background:var(--corp-bar-bg,#f4f6fb);border-bottom:1px solid var(--corp-bar-line,#d8deef)}.corp-bar__owner,.corp-bar__owner:hover,.corp-bar__links a,.corp-bar__links a:hover{text-decoration:none}.corp-bar__inner{max-width:var(--corp-bar-maxw,1160px);padding:0 var(--corp-bar-gut,clamp(20px, 4vw, 40px));align-items:center;gap:12px;height:36px;margin:0 auto;display:flex}.corp-bar__owner{align-items:center;gap:9px;min-width:0;text-decoration:none;display:inline-flex}.corp-bar__logo{border-radius:2px;flex:none;width:auto;height:18px}.corp-bar__owner-text{letter-spacing:.01em;color:var(--corp-bar-muted,#4a5170);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-fast) var(--ease-std);font-size:12px;font-weight:500;overflow:hidden}.corp-bar__owner:hover .corp-bar__owner-text{color:var(--corp-bar-fg,#1a1e30)}.corp-bar__links{align-items:center;gap:20px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.corp-bar__links a{color:var(--corp-bar-fg,#1a1e30);white-space:nowrap;transition:color var(--dur-fast) var(--ease-std);align-items:center;gap:5px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.corp-bar__links a:hover{color:var(--corp-bar-accent,#2f4bc7)}.corp-bar__chev{width:9px;height:9px;color:var(--corp-bar-accent,#2f4bc7);transition:transform var(--dur-fast) var(--ease-std);flex:none}.corp-bar__links a:hover .corp-bar__chev{transform:translate(2px)}@media (width<=640px){.corp-bar__owner-tail,.corp-bar__link--wide{display:none}.corp-bar__links{gap:14px}}.chip{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--line-2);color:var(--ink-soft);background:var(--paper);white-space:nowrap;border-radius:999px;align-items:center;gap:.5em;padding:.32em .7em .32em .62em;font-size:.7rem;font-weight:700;display:inline-flex}.chip .dot{border-radius:50%;flex:none;width:7px;height:7px}.chip--ok .dot{background:var(--ok)}.chip--avail .dot{background:var(--accent)}.chip--soon .dot{background:var(--soon)}.chip--dev .dot{border:1.5px solid var(--dev);background:0 0}.chip--beta{color:var(--accent-d);border-color:var(--accent-line);background:var(--accent-wash)}.chip--beta .dot{background:var(--accent);box-shadow:0 0 0 3px oklch(50% .07 205/.18)}.statusbadge{color:var(--accent-d);background:var(--accent-wash);border:1px solid var(--accent-line);letter-spacing:.02em;border-radius:999px;align-items:center;gap:.6em;padding:.5em .95em;font-size:.84rem;font-weight:700;display:inline-flex}.statusbadge .pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2.4s infinite pulse;box-shadow:0 0 oklch(50% .07 205/.5)}@keyframes pulse{0%{box-shadow:0 0 oklch(50% .07 205/.45)}70%{box-shadow:0 0 0 9px oklch(50% .07 205/0)}to{box-shadow:0 0 oklch(50% .07 205/0)}}.band-dark .statusbadge{color:oklch(90% .05 195);background:oklch(35% .05 210);border-color:oklch(50% .05 205)}.band-dark .statusbadge .pulse{background:oklch(78% .08 195)}.site-header{z-index:60;backdrop-filter:saturate(1.4)blur(14px);transition:border-color var(--dur-mid) var(--ease-std), background var(--dur-mid) var(--ease-std), box-shadow var(--dur-mid) var(--ease-std);background:oklch(98.4% .006 95/.82);border-bottom:1px solid #0000;position:sticky;top:0}.site-header.scrolled{border-color:var(--line);box-shadow:0 1px 0 var(--line)}.headbar{align-items:center;gap:28px;height:76px;display:flex}.brand{flex:none;align-items:center;gap:11px;display:flex}.brand .mark{flex:none;width:30px;height:30px}.brand .name{letter-spacing:.04em;font-size:1.06rem;font-weight:900;line-height:1}.brand .sub{font-family:var(--font-mono);letter-spacing:.18em;color:var(--faint);margin-top:3px;font-size:.56rem}.nav{align-items:center;gap:16px;margin-left:auto;display:flex}.nav a{color:var(--ink-soft);transition:color var(--dur-fast) var(--ease-std);white-space:nowrap;font-size:.9rem;font-weight:500}.nav a:hover{color:var(--accent-d)}.nav a.active{color:var(--accent-d);font-weight:700}.nav-group{position:relative}.nav-trigger{color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-std);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:.9rem;font-weight:500;display:inline-flex}.nav-trigger:hover,.nav-group:focus-within .nav-trigger{color:var(--accent-d)}.nav-trigger:after{content:"▾";color:var(--faint);font-size:.7em}.nav-dropdown{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);min-width:190px;box-shadow:var(--shadow-m);z-index:20;padding:8px;display:none;position:absolute;top:calc(100% + 14px);right:0}.nav-dropdown:before{content:"";height:14px;position:absolute;top:-14px;left:0;right:0}.nav-dropdown a{color:var(--ink-soft);white-space:nowrap;border-radius:8px;padding:10px 12px;font-size:.88rem;font-weight:500;display:block}.nav-dropdown a:hover{background:var(--bg-2);color:var(--accent-d)}.nav-dropdown--wide{width:600px;min-width:0}.nav-dropdown--wide a{white-space:normal;min-width:0;padding:9px 12px}.nav-dropdown .nd-label{color:var(--ink);font-weight:700;line-height:1.5;display:block}.nav-dropdown a:hover .nd-label,.nav-dropdown a.active .nd-label{color:var(--accent-d)}.nav-dropdown .nd-desc{color:var(--muted);margin-top:1px;font-size:.76rem;line-height:1.5;display:block}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:block}.nav-group:hover .nav-dropdown--wide,.nav-group:focus-within .nav-dropdown--wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px;display:grid}.col-wrap{max-width:var(--wrap);padding-inline:var(--gut);margin-inline:auto}.crumbs{font-family:var(--font-mono);letter-spacing:.04em;color:var(--faint);flex-wrap:wrap;align-items:center;gap:8px;font-size:.72rem;display:flex}.crumbs a{color:var(--accent-d);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-std);text-decoration:underline #0000}.crumbs a:hover{text-decoration-color:currentColor}.crumbs .sep{color:var(--sep-ink)}.linkgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(24px,3vw,40px);display:grid}.linkcard{border-top:1.5px solid var(--ink);color:var(--ink);transition:border-color var(--dur-fast) var(--ease-std);flex-direction:column;gap:8px;padding:18px 0 4px;display:flex}.linkcard:hover{border-top-color:var(--accent)}.linkcard .lc-ic{display:none}.linkcard :is(h2,h3){transition:color var(--dur-fast) var(--ease-std);font-size:clamp(1.1rem,1.6vw,1.28rem);font-weight:900}.linkcard p{color:var(--muted);font-size:.88rem;line-height:1.75}.linkcard .go{color:var(--accent-d);transition:gap var(--dur-fast) var(--ease-std);align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-size:.85rem;font-weight:700;display:inline-flex}.linkcard:hover :is(h2,h3){color:var(--accent-d)}.linkcard:hover .go{gap:10px}@media (width<=880px){.linkgrid{grid-template-columns:1fr 1fr}}@media (width<=560px){.linkgrid{grid-template-columns:1fr}}.head-cta{flex:none}.menu-btn{border:1px solid var(--line-2);background:var(--paper);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:none}.menu-btn span,.menu-btn span:before,.menu-btn span:after{content:"";background:var(--ink);width:18px;height:2px;display:block;position:relative}.menu-btn span:before{position:absolute;top:-6px}.menu-btn span:after{position:absolute;top:6px}.drawer{display:none}.hero{position:relative;overflow:hidden}.trustbar{border-bottom:1px solid var(--line-2);background:var(--bg)}.trustbar .wrap{flex-wrap:wrap;align-items:stretch;gap:10px 0;padding-block:16px;display:flex}.trustbar .ti{border-left:1px solid var(--line-2);color:var(--ink-soft);align-items:center;gap:8px;padding-inline:18px;font-size:.82rem;font-weight:500;display:flex}.trustbar .ti svg{width:15px;height:15px;color:var(--muted);flex:none}.trustbar .tt{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink);align-items:center;padding-right:18px;font-size:.66rem;font-weight:700;display:flex}@media (width<=720px){.trustbar .ti{border-left:0;flex:100%;padding-inline:0}.trustbar .tt{flex:100%}}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.risk-row{flex-wrap:wrap;gap:6px 18px;margin-top:18px;display:flex}.risk-row span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:500;display:inline-flex}.risk-row span:before{content:"";background:var(--accent-wash);background:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='black' d='M6.5 11.2 3.3 8l1.1-1.1 2.1 2.1 4.9-4.9L12.6 5z'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='black' d='M6.5 11.2 3.3 8l1.1-1.1 2.1 2.1 4.9-4.9L12.6 5z'/></svg>") 50%/contain no-repeat}.diagram{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius)}.dlabel{font-family:var(--font-mono);letter-spacing:.14em;color:var(--faint);text-transform:uppercase;font-size:.62rem}.placeholder{border:1px dashed var(--line-2);border-radius:var(--radius-s);text-align:center;color:var(--faint);background:repeating-linear-gradient(135deg,oklch(95% .006 95) 0 11px,oklch(97.5% .006 95) 11px 22px);justify-content:center;align-items:center;min-height:180px;padding:22px;display:flex;position:relative}.placeholder .pl-in{font-family:var(--font-mono);letter-spacing:.08em;font-size:.72rem;line-height:1.7}.placeholder .pl-in b{color:var(--muted);letter-spacing:.12em;margin-bottom:4px;font-size:.8rem;display:block}.guide-banner{border-radius:var(--radius);background:var(--accent-dd);color:oklch(92% .02 200);transition:transform var(--dur-mid) var(--ease-std), box-shadow var(--dur-mid) var(--ease-std);justify-content:space-between;align-items:center;gap:18px;margin-top:12px;padding:22px 26px;display:flex}.guide-banner:hover{box-shadow:var(--shadow-m);transform:translateY(-2px)}.guide-banner .gb-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;color:oklch(80% .06 195);font-size:.66rem;display:block}.guide-banner .gb-title{color:#fff;margin-top:6px;font-size:1.12rem;font-weight:900;display:block}.guide-banner .gb-desc{color:oklch(82% .02 200);margin-top:6px;font-size:.86rem;display:block}.guide-banner .gb-arrow{color:oklch(80% .06 195);flex:none}.tagbar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;display:flex}.tagbar-h{font-family:var(--font-mono);letter-spacing:.06em;color:var(--faint);margin-right:6px;font-size:.72rem}.tagchip{color:var(--accent-d);background:var(--accent-wash);border:1px solid var(--accent-line);transition:background var(--dur-fast) var(--ease-std);border-radius:999px;padding:.32em .85em;font-size:.78rem}.tagchip:hover,a.col-tag-link:hover{background:var(--paper)}.featured-wrap{gap:16px;margin-top:12px;display:grid}.featured-card{border-radius:var(--radius);border:1px solid var(--accent-line);background:radial-gradient(120% 140% at 90% -20%, oklch(95% .03 205) 0%, transparent 55%), var(--accent-wash);transition:transform var(--dur-mid) var(--ease-std), box-shadow var(--dur-mid) var(--ease-std);padding:30px;display:block}.featured-card:hover{box-shadow:var(--shadow-m);transform:translateY(-3px)}.featured-card .fc-badge{font-family:var(--font-mono);letter-spacing:.06em;color:oklch(99% .005 200);background:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:.32em .8em;font-size:.7rem;font-weight:700;display:inline-flex}.featured-card .fc-title{color:var(--ink);margin-top:14px;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:900;line-height:1.45}.featured-card .fc-desc{color:var(--ink-soft);margin-top:12px;font-size:.92rem;line-height:1.8}.featured-card .go{color:var(--accent-d);align-items:center;gap:6px;margin-top:14px;font-size:.88rem;font-weight:700;display:inline-flex}.col-list{gap:16px;list-style:none;display:grid}.col-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:transform var(--dur-mid) var(--ease-std), box-shadow var(--dur-mid) var(--ease-std), border-color var(--dur-mid) var(--ease-std)}.col-card:hover{box-shadow:var(--shadow-m);border-color:var(--accent-line);transform:translateY(-3px)}.col-card>a{padding:24px 26px;display:block}.col-meta,.art-meta{font-family:var(--font-mono);color:var(--faint);flex-wrap:wrap;align-items:center;gap:10px;font-size:.72rem;display:flex}.col-tag{background:var(--accent-wash);color:var(--accent-d);border:1px solid var(--accent-line);border-radius:999px;padding:.18em .7em;font-size:.68rem}.col-title{color:var(--ink);margin:10px 0 0;font-size:1.18rem;line-height:1.5}.col-desc{color:var(--muted);margin-top:10px;font-size:.9rem;line-height:1.75}.col-card .go{color:var(--accent-d);align-items:center;gap:6px;margin-top:14px;font-size:.85rem;font-weight:700;display:inline-flex}.glossary{margin-top:16px}.gl-item{border-top:1px solid var(--line);padding:16px 0}.gl-item:first-child{border-top:0}.gl-item dt{color:var(--ink);font-size:.98rem;font-weight:700}.gl-item dd{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.75}.author-box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:16px;margin-top:44px;padding:22px 24px;display:flex}.author-box .ab-mark{flex:none}.author-box .ab-name{color:var(--ink);font-size:.95rem;font-weight:700}.author-box .ab-desc{color:var(--muted);margin-top:8px;font-size:.86rem;line-height:1.8}.author-box .ab-links{margin-top:12px;font-size:.85rem}.author-box .ab-links a{color:var(--accent-d);font-weight:700}.author-box .ab-links .sep{color:var(--sep-ink);margin:0 8px}.article-body img{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper);max-width:100%;height:auto;margin:1.6em auto;display:block}.article-body table{border-collapse:collapse;width:100%;margin-top:1.2em;font-size:.9rem}.article-body th,.article-body td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.article-body thead th{background:var(--bg-2);color:var(--ink);font-weight:700}.article-body{color:var(--ink-soft);overflow-wrap:anywhere;max-width:720px;margin-inline:auto;font-size:1rem;line-height:1.95}.article-body>*+*{margin-top:1.1em}.article-body h2{color:var(--ink);border-bottom:1px solid var(--line);margin-top:1.8em;padding-bottom:.3em;font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:900;line-height:1.4}.article-body h3{color:var(--ink);margin-top:1.4em;font-size:1.15rem;font-weight:700}.article-body p{margin-top:1em}.article-body a{color:var(--accent-d);border-bottom:1px solid var(--accent-line);font-weight:500}.article-body a:hover{border-color:var(--accent)}.article-body ul,.article-body ol{gap:.5em;margin-top:1em;padding-left:1.4em;display:grid}.article-body li{line-height:1.85}.article-body strong,.article-body b{color:var(--ink);font-weight:700}.article-body blockquote{border-left:3px solid var(--accent-line);background:var(--bg-2);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--muted);padding:14px 18px;font-size:.92rem}.article-body blockquote p{margin:0}.node{background:var(--paper);border:1px solid var(--line-2);box-shadow:var(--shadow-s);border-radius:10px;align-items:center;gap:11px;padding:13px 14px;display:flex}.node .ni{background:var(--accent-wash);width:32px;height:32px;color:var(--accent-d);border-radius:8px;flex:none;place-items:center;display:grid}.node .ni svg{width:18px;height:18px}.node .nt{font-size:.86rem;font-weight:700;line-height:1.3}.node .ns{color:var(--faint);font-size:.68rem;font-family:var(--font-mono);letter-spacing:.04em}.tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transition:outline-offset var(--dur-fast) var(--ease-std)}.tbl-wrap[tabindex="0"]{transition:outline-offset var(--dur-fast) var(--ease-std)}table.cmp{border-collapse:collapse;border-top:1.5px solid var(--ink);font-variant-numeric:tabular-nums;width:100%;min-width:640px}table.cmp--fit{min-width:0}table.cmp th,table.cmp td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line-2);padding:15px 18px;font-size:.92rem}table.cmp thead th{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);text-transform:none;font-size:.74rem;font-weight:700}table.cmp thead td{border-bottom:1px solid var(--line-2)}table.cmp tbody th{color:var(--ink);width:22%;font-weight:700}table.cmp td{color:var(--ink-soft)}table.cmp .col-feat{background:var(--paper);color:var(--ink);border-left:1.5px solid var(--ink);border-right:1.5px solid var(--ink);font-weight:700}table.cmp thead .col-feat{color:var(--ink);border-top:4px solid var(--ink);font-size:.8rem}table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:1px solid var(--line-2)}table.cmp tr:last-child .col-feat{border-bottom:1.5px solid var(--ink)}@media (width<=560px){table.cmp th,table.cmp td{padding:12px 10px;font-size:.88rem}}.tick{color:var(--ok-ink);font-weight:900}.cross{color:var(--flag);font-weight:900}.price-band{background:linear-gradient(135deg, var(--accent-dd), var(--accent-d));border-radius:var(--radius-s);color:var(--dk-ink);grid-template-columns:auto auto minmax(0,1fr);gap:0;padding:clamp(22px,3vw,32px) clamp(22px,3.4vw,36px) clamp(18px,2.4vw,26px);display:grid}.price-band>div{border-left:1px solid oklch(100% 0 0/.26);padding:2px clamp(18px,3vw,36px) 4px}.price-band>div:first-child{border-left:0;padding-left:0}.price-band__label{color:var(--dk-soft);margin-bottom:10px;font-size:.8rem;font-weight:700;display:block}.price-band__value{font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(2rem,4vw,2.7rem);font-weight:700;line-height:1;display:block}.price-band__value small{font-family:var(--font-sans);letter-spacing:0;color:var(--dk-soft);white-space:normal;margin-top:9px;font-size:.78rem;font-weight:700;display:block}.price-band__monthly .price-band__value{color:oklch(88% .1 155)}.price-band__chips{border-top:1px solid oklch(100% 0 0/.26);flex-wrap:wrap;grid-column:1/-1;gap:6px 0;margin:20px 0 0;padding:14px 0 0;list-style:none;display:flex}.price-band__chips li{color:var(--dk-ink);border-left:1px solid oklch(100% 0 0/.26);padding:0 16px;font-size:.84rem;font-weight:700}.price-band__chips li:first-child{border-left:0;padding-left:0}@media (width<=640px){.price-band{grid-template-columns:minmax(0,1fr)}.price-band>div,.price-band>div:first-child{border-left:0;padding:12px 0}.price-band>div+div{border-top:1px solid oklch(100% 0 0/.26)}.price-band__chips li{border-left:0;flex:100%;padding:0}}.price-item-list{border-top:1.5px solid var(--ink);margin:14px 0 0;padding:0;list-style:none}.price-item-list li{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;display:flex}.pil-name{color:var(--ink);font-size:.95rem;font-weight:600}.pil-name em{color:var(--faint);margin-top:4px;font-size:.8rem;font-style:normal;font-weight:400;display:block}.pil-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:8ch;color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:700}@media (width<=560px){.price-item-list li{flex-direction:column;align-items:flex-start;gap:4px}}.vgrid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.vgrid--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vgrid>*{min-width:0}.vcard{border-top:1.5px solid var(--ink);padding:20px 0 0}.vcard .vnum{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);font-size:.72rem;font-weight:700}.vcard .vnum+:is(h2,h3){margin-top:10px}.vcard .vicon{width:46px;height:46px;color:var(--accent-d);margin:16px 0 18px}.vcard :is(h2,h3){margin-bottom:10px;font-size:1.1rem;line-height:1.45}.vcard p{color:var(--muted);font-size:.92rem;line-height:1.8}.vcard .vnote{color:var(--faint);border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:.76rem}.band-dark .lead,.band-dark .muted{color:var(--dk-soft)}.band-dark .note{color:var(--dk-muted)}.band-dark .vcard{border-top-color:var(--dk-ink)}.band-dark .vcard .vnum{color:var(--dk-muted)}.band-dark .vcard .vicon{color:var(--dk-accent)}.band-dark .vcard :is(h2,h3){color:var(--dk-ink)}.band-dark .vcard p{color:var(--dk-soft)}.band-dark .vcard .vnote{color:var(--dk-muted);border-top-color:var(--dk-line)}.feat-grid{border-top:1.5px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,56px);display:grid}.feat{border-bottom:1px solid var(--line-2);padding:26px 0 28px}.feat .fnum{font-family:var(--font-mono);color:var(--accent-d);letter-spacing:.1em;font-size:.78rem;font-weight:700}.feat :is(h2,h3){margin:12px 0 10px;font-size:1.12rem}.feat p{color:var(--muted);font-size:.9rem;line-height:1.8}.feat .fnote{color:var(--faint);margin-top:12px;font-size:.76rem}.funcs{border-top:1.5px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,56px);display:grid}.func{border-bottom:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;padding:14px 0 15px;display:grid}.func .fn-name{font-size:.98rem;font-weight:700}.func .fn-desc{color:var(--muted);grid-column:1/-1;font-size:.82rem;line-height:1.6}.func .chip,.legend .chip{color:var(--ink-soft);background:0 0;border:0;gap:7px;padding:0;font-size:.78rem;font-weight:700}.func .chip--avail .dot,.legend .chip--avail .dot{background:var(--lamp-busy);width:9px;height:9px}.func .chip--dev .dot,.legend .chip--dev .dot{background:var(--paper);border:1.5px solid var(--lamp-off);width:9px;height:9px}.legend{flex-wrap:wrap;gap:8px 22px;display:flex}.scenes{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.scene{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.scene .scene-art{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:var(--bg-2);position:relative;overflow:hidden}.scene .scene-art img{object-fit:cover;width:100%;height:100%;display:block}.scene .scene-art__tag{font-family:var(--font-mono);letter-spacing:.1em;color:oklch(97% .005 95);background:oklch(22% .02 235);border-radius:4px;padding:3px 7px;font-size:.58rem;position:absolute;bottom:8px;right:8px}.scene .scene-body{padding:24px 24px 26px}.scene .scene-body>:is(h2,h3){margin-bottom:10px;font-size:1.08rem}.scene .scene-body p{color:var(--muted);font-size:.88rem;line-height:1.8}.scene .scene-tag{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent-d);text-transform:uppercase;font-size:.64rem}.steps{counter-reset:step;border-top:1.5px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(18px,2.4vw,32px);display:grid}.step{padding:18px 0 0;position:relative}.step:before{content:"";background:var(--ink);border-radius:50%;width:9px;height:9px;position:absolute;top:-5.5px;left:0}.step .sn{font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--accent-d);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:700;line-height:1}.step :is(h2,h3){margin:14px 0 9px;font-size:1.05rem}.step p{color:var(--muted);font-size:.86rem;line-height:1.75}.faq{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:baseline;gap:14px;padding:24px 48px 24px 0;font-size:1.04rem;font-weight:700;line-height:1.5;display:flex;position:relative}.faq-q .qm{font-family:var(--font-mono);color:var(--accent-d);flex:none;font-size:.95rem;font-weight:700}.faq-q .ic{flex:none;width:16px;height:16px;position:absolute;top:28px;right:4px}.faq-q .ic:before,.faq-q .ic:after{content:"";background:var(--accent-d);transition:transform var(--dur-mid) var(--ease-std), opacity var(--dur-fast) var(--ease-std);position:absolute}.faq-q .ic:before{width:16px;height:2px;top:7px}.faq-q .ic:after{width:2px;height:16px;top:0;left:7px}.faq-item.open .ic:after{opacity:0;transform:scaleY(0)}.faq-a{max-height:0;transition:max-height .35s;overflow:hidden}.faq-a-in{color:var(--ink-soft);padding:0 48px 26px 30px;font-size:.94rem;line-height:1.85}.faq-a-in ul{margin:10px 0 0;padding-left:1.2em}.faq-a-in li{margin-bottom:6px}.faq-a-in .flagnote{color:var(--flag);font-weight:700}.faq-cat{font-family:var(--font-mono);letter-spacing:.14em;color:var(--faint);text-transform:uppercase;margin:36px 0 4px;font-size:.72rem}.emcall{border-top:2px solid var(--flag);border-bottom:1px solid var(--line);background:oklch(98.5% .012 50);padding:26px 28px}.emcall .em-lbl{font-family:var(--font-mono);letter-spacing:.16em;color:var(--flag);text-transform:uppercase;align-items:center;gap:8px;font-size:.68rem;font-weight:700;display:inline-flex}.emcall :is(h2,h3){margin:12px 0 10px;font-size:1.06rem}.emcall ul{color:var(--ink-soft);margin:10px 0 0;padding-left:1.15em;font-size:.88rem;line-height:1.8}.emcall li{margin-bottom:5px}.fit2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(28px,4vw,56px);display:grid}.fitcard{border-top:1.5px solid var(--ink);padding:20px 0 0}.fitcard.no{border-top:1px solid var(--line-2)}.fitcard :is(h2,h3) svg{flex:none;width:20px;height:20px}.fitcard.yes :is(h2,h3) svg{color:var(--accent-d)}.fitcard.no :is(h2,h3) svg{color:var(--faint)}.fitcard :is(h2,h3){align-items:center;gap:10px;margin-bottom:16px;font-size:1.05rem;display:flex}.fitcard ul{gap:11px;list-style:none;display:grid}.fitcard li{color:var(--ink-soft);align-items:flex-start;gap:11px;font-size:.9rem;line-height:1.6;display:flex}.fitcard li .m{flex:none;margin-top:1px;font-weight:900}.fitcard.yes li .m{color:var(--ok-ink)}.fitcard.no li .m{color:var(--faint)}.aigrid{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.ai-cards{gap:14px;display:grid}.ai-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:22px 24px}.ai-card .ac-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.ai-card h3{color:var(--ink);font-size:1.02rem}.ai-card p{color:var(--muted);font-size:.86rem;line-height:1.75}.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:56px;display:grid}.contact-grid--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.contact-grid>*{min-width:0}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-m);padding:clamp(26px,3.5vw,40px)}.field{margin-bottom:18px}.field label{color:var(--ink);margin-bottom:7px;font-size:.84rem;font-weight:700;display:block}.field .req{color:var(--flag);font-family:var(--font-mono);margin-left:6px;font-size:.66rem}.field .opt{color:var(--faint);font-family:var(--font-mono);margin-left:6px;font-size:.66rem}.field input,.field select,.field textarea{width:100%;color:var(--ink);border:1px solid var(--line-2);background:var(--bg);transition:border-color var(--dur-fast) var(--ease-std), box-shadow var(--dur-fast) var(--ease-std);border-radius:10px;padding:.78em .9em;font-family:inherit;font-size:.95rem;line-height:1.6}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px oklch(50% .07 205/.13)}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--flag);box-shadow:0 0 0 3px oklch(62% .115 45/.12)}.field .err{color:var(--flag);margin-top:6px;font-size:.76rem;font-weight:700;display:none}.field.invalid .err{display:block}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-assure{gap:9px;margin:4px 0 22px;display:grid}.form-assure li{color:var(--muted);gap:9px;font-size:.82rem;line-height:1.55;list-style:none;display:flex}.form-assure li .m{color:var(--accent-d);flex:none;font-weight:900}.price-breakdown li .m{white-space:nowrap}@media (width<=520px){.price-breakdown li{flex-direction:column;gap:2px}}.contact-form-fields{border:0;min-width:0;margin:0;padding:0}.form-script-notice{color:var(--ink);margin:0 0 18px;font-size:.9rem;line-height:1.7}.form-script-notice[hidden]{display:none}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.consent-wrap{background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius);margin-top:24px;padding:16px 20px}.consent-label{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.consent-cb{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin-top:2px}.consent-label span{color:var(--ink);font-size:.94rem;line-height:1.75}.consent-label span a{color:var(--accent-d);text-underline-offset:3px;text-decoration:underline}.consent-label span a:hover{color:var(--accent-dd)}.form-success{text-align:center;padding:30px 10px;display:none}.form-success.show{display:block}.form-success .sc{background:var(--accent-wash);width:60px;height:60px;color:var(--accent-d);border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.em-inline{color:var(--faint);border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:.78rem;line-height:1.7}.em-inline b{color:var(--flag)}.contact-routes{grid-template-columns:1fr 1fr;gap:16px;max-width:820px;display:grid}@media (width<=720px){.contact-routes{grid-template-columns:1fr}}.contact-route-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow-s);transition:border-color var(--dur-fast) var(--ease-std), transform var(--dur-fast) var(--ease-std);gap:4px;padding:20px 22px;text-decoration:none;display:grid}.contact-route-card:hover{border-color:var(--accent);transform:translateY(-1px)}.contact-route-card .route-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-size:.68rem;font-weight:700}.contact-route-card .route-title{color:var(--ink);font-size:1.02rem;font-weight:700}.contact-route-card .route-desc{color:var(--muted);font-size:.86rem;line-height:1.7}.contact-route-card .route-cta{color:var(--accent-d);margin-top:4px;font-size:.86rem;font-weight:700}.site-footer{color:oklch(85% .015 200);background:oklch(23.5% .045 216);border-top:1px solid oklch(46% .055 205);padding-block:clamp(54px,7vw,84px) 30px}.foot-top{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:40px;display:grid}.site-footer .brand .name{color:#fff}.site-footer .brand .sub{color:oklch(70% .04 200);display:block}.foot-col h2{font-family:var(--font-mono);letter-spacing:.14em;text-wrap:wrap;text-transform:uppercase;color:oklch(72% .05 200);margin-bottom:16px;font-size:.66rem;font-weight:700;line-height:1.72}.foot-col ul{gap:10px;list-style:none;display:grid}@media (width<=560px){.foot-col ul{padding-inline-start:0}}.foot-col a{color:oklch(85% .015 200);transition:color var(--dur-fast) var(--ease-std);font-size:.88rem}.foot-col a:hover{color:#fff}.foot-current{color:oklch(70% .04 200);align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.foot-here{font-family:var(--font-mono);letter-spacing:.08em;color:oklch(78% .06 195);border:1px solid oklch(45% .05 208);border-radius:999px;padding:1px 7px;font-size:.6rem}.foot-info{color:oklch(78% .02 200);margin-top:18px;font-size:.84rem;line-height:1.9}.foot-disc{color:oklch(68% .03 200);border-top:1px solid oklch(40% .04 210);margin-top:40px;padding-top:24px;font-size:.76rem;line-height:1.8}.foot-bot{color:oklch(66% .03 200);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:24px;font-size:.76rem;display:flex}.foot-purchase{background:oklch(33% .045 212);border:1px solid oklch(45% .05 208);border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding:16px 18px;display:inline-flex}.foot-purchase-h{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:oklch(78% .06 195);font-size:.66rem}.foot-purchase-lead{color:oklch(85% .015 200);font-size:.84rem}.foot-purchase .btn{margin-top:2px}@media (width<=560px){.foot-purchase{padding:14px;display:flex}.foot-purchase .btn{white-space:normal;text-align:center;justify-content:center;align-self:stretch;padding-inline:.9em}}.ctaband{background:var(--bg-2);padding-block:clamp(44px,6vw,72px)}.ctaband .ct-band{border-top:1.5px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.ctaband .ct-lead{min-width:0;padding:22px clamp(20px,3vw,40px) 4px 0}.ctaband .ct-h{margin-top:12px}.ctaband .ct-actions{border-left:1px solid var(--line-2);flex-direction:column;justify-content:center;gap:12px;padding:22px 0 4px clamp(20px,3vw,40px);display:flex}.ctaband .ct-actions .btn{justify-content:center}@media (width<=760px){.ctaband .ct-band{grid-template-columns:minmax(0,1fr)}.ctaband .ct-actions{border-left:0;flex-flow:wrap;justify-content:flex-start;padding-left:0}}.ctastrip .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px 40px;display:flex}.ctastrip .ct-lead{flex:360px;min-width:0}.pagehead{padding-top:clamp(36px,5vw,64px)}.pagehead-in{border-bottom:1.5px solid var(--ink);margin-top:18px;padding-bottom:clamp(22px,3vw,34px)}.pagehead-in>*{max-width:820px}.pagehead-in--narrow>*{max-width:none}.pagehead-h1{margin-top:14px;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:900;line-height:1.3}.pagehead-lead{margin-top:16px}.figs{border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line-2);grid-template-columns:auto auto minmax(0,1fr);margin:0;display:grid}.fig{border-left:1px solid var(--line-2);min-width:0;padding:9px 16px 10px}.fig:first-child{border-left:0;padding-left:0}.fig dt{letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:700}.fig dd{color:var(--ink);white-space:nowrap;margin:2px 0 0;font-size:.86rem;font-weight:700;line-height:1.3}.fig-v{font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.32rem;font-weight:700}.fig dd sup{color:var(--muted);vertical-align:super;margin-left:1px;font-size:.66rem;font-weight:500;line-height:0}.fig--ext dd{white-space:normal}.fig--ext .fig-line{white-space:nowrap;display:inline-block}.fig--ext .fig-v{margin-inline:1px;font-size:1.08rem}.figs-notes{color:var(--faint);margin:8px 0 0;padding:0;font-size:.7rem;line-height:1.6;list-style:none}.figs-notes li{text-indent:-2.1em;padding-left:2.1em}@media (width<=560px){.fig{padding:7px 10px 8px}.fig-v{font-size:1.05rem}.fig--ext .fig-v{font-size:.95rem}.fig dd{font-size:.78rem}}.dg{height:auto;display:block;overflow:visible}.dg-t{font-family:var(--font-sans);fill:var(--ink);font-size:13px;font-weight:700}.dg-sub{fill:var(--muted);font-weight:500}.dg-num{font-family:var(--font-mono);font-weight:700}.dg-room{fill:var(--paper);stroke:var(--onprem-line);stroke-width:1.6px;stroke-dasharray:var(--onprem-dash)}.dg-tag{fill:var(--accent-wash);stroke:var(--accent-line);stroke-width:1px}.dg-tag-t{font-family:var(--font-sans);fill:var(--accent-d);font-size:13px;font-weight:700}.dg-vault{fill:var(--sand);stroke:var(--sand-line);stroke-width:1px}.dg-vault-t{font-family:var(--font-sans);fill:var(--ink);font-size:13px;font-weight:700}.dg-soft{fill:var(--paper);stroke:var(--ink);stroke-width:1.4px}.dg-soft-t{font-family:var(--font-sans);fill:var(--ink);font-size:13px;font-weight:700}.dg-server{fill:var(--bg-2);stroke:var(--ink);stroke-width:1.4px}.dg-server--old{fill:none;stroke:var(--line-2);stroke-dasharray:4 4}.dg-cell{fill:none;stroke:var(--line-2);stroke-width:1.2px;stroke-dasharray:3 3}.dg-cell--on{fill:var(--accent-line);stroke:none}.dg-none{fill:none;stroke:var(--line-2);stroke-width:2px;stroke-dasharray:2 5;stroke-linecap:round}.dg-x-bg{fill:var(--paper);stroke:var(--flag);stroke-width:1.4px}.dg-x{fill:none;stroke:var(--flag);stroke-width:2.2px;stroke-linecap:round}.dg-cloud{fill:var(--bg-2);stroke:var(--line-2);stroke-width:1.6px}.dg-arrow{fill:none;stroke:var(--ink);stroke-width:2px}.dg-arrow-head{fill:var(--ink)}.dg-rule{stroke:var(--ink);stroke-width:1.5px}.dg-hair{stroke:var(--line-2);stroke-width:1px}.dg--dark .dg-t,.dg--dark .dg-soft-t{fill:var(--dk-ink)}.dg--dark .dg-sub{fill:var(--dk-muted)}.dg--dark .dg-room{fill:oklch(36% .05 210);stroke:var(--dk-accent)}.dg--dark .dg-tag{fill:var(--accent-dd);stroke:var(--dk-accent)}.dg--dark .dg-tag-t{fill:var(--dk-ink)}.dg--dark .dg-soft{fill:var(--accent-d);stroke:var(--dk-accent)}.dg--dark .dg-server{fill:var(--dk-line);stroke:var(--dk-ink)}.dg--dark .dg-server--old{fill:none;stroke:var(--dk-line)}.dg--dark .dg-cell{stroke:var(--dk-line)}.dg--dark .dg-cell--on{fill:var(--dk-fill)}.dg--dark .dg-none{stroke:var(--dk-line)}.dg--dark .dg-x-bg{fill:var(--accent-dd);stroke:var(--dk-flag)}.dg--dark .dg-x{stroke:var(--dk-flag)}.dg--dark .dg-cloud{fill:none;stroke:var(--dk-muted)}.dg--dark .dg-arrow{stroke:var(--dk-ink)}.dg--dark .dg-arrow-head{fill:var(--dk-ink)}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.reveal.d1{transition-delay:80ms}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}@media (width<=1199px){.headbar .brand .sub{display:none}}@media (width<=1024px){.nav{display:none}.menu-btn{display:flex}.head-cta{margin-left:auto}.menu-btn{margin-left:0}.drawer.open{z-index:55;background:var(--bg);padding:24px var(--gut);border-top:1px solid var(--line);display:block;position:fixed;inset:76px 0 0;overflow-y:auto}.drawer nav{flex-direction:column;gap:4px;display:flex}.drawer nav a{border-bottom:1px solid var(--line);padding:14px 0;font-size:1.05rem;font-weight:700}.drawer .d-family{flex-direction:column;gap:4px;margin-top:22px;display:flex}.drawer .d-family-h{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.66rem}.drawer .d-family a{border-bottom:1px solid var(--line);padding:12px 0;font-size:.98rem;font-weight:700}.drawer .d-family-cur{color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 0;font-size:.98rem;font-weight:700;display:flex}.drawer .d-family-cur .foot-here{color:var(--accent);border-color:var(--line)}}@media (width<=980px){.vgrid,.scenes{grid-template-columns:1fr 1fr}.aigrid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:34px}.foot-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.foot-top>div:first-child{grid-column:1/-1}.steps{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 26px}.step{border-top:1.5px solid var(--ink)}}@media (width<=720px){.nav{display:none}.menu-btn{display:flex}.vgrid,.scenes,.feat-grid,.funcs,.fit2,.field-row{grid-template-columns:1fr}.feat-grid{gap:1px}.head-cta .btn{padding:.7em 1.1em;font-size:.85rem}}@media (width<=560px){.steps{grid-template-columns:minmax(0,1fr)}.ctastrip .wrap{flex-direction:column;align-items:flex-start}.head-cta,.headbar .brand .sub{display:none}.menu-btn{margin-left:auto}}.cta-note{color:inherit;margin:10px 0 0;font-size:13px;line-height:1.6}.hero-note{margin-top:12px}.head-cta .lbl-short{display:none}@media (width<=1100px){.head-cta .lbl-long{display:none}.head-cta .lbl-short{display:inline}}.foot-purchase-sub{color:oklch(85% .015 200);text-underline-offset:3px;font-size:.84rem;text-decoration:underline}.foot-purchase-sub:hover{color:#fff}.head-cta .btn{padding-inline:.9em;font-size:.85rem}.foot-purchase .btn{white-space:nowrap}.foot-purchase-lead,.cta-note{word-break:keep-all;overflow-wrap:anywhere}.family-bar[data-astro-cid-nen7h5rs]{background:var(--accent-dd);color:oklch(92% .02 200);font-size:.76rem}.fb-wrap[data-astro-cid-nen7h5rs]{flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:38px;display:flex}.fb-label[data-astro-cid-nen7h5rs]{letter-spacing:.04em;color:oklch(82% .06 195);white-space:nowrap;font-weight:700}.fb-nav[data-astro-cid-nen7h5rs]{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.fb-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:oklch(90% .02 200);white-space:nowrap;border-bottom:1px solid #0000;padding:2px 0}.fb-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:#fff;border-color:oklch(70% .08 195)}.fb-cur[data-astro-cid-nen7h5rs]{color:#fff;white-space:nowrap;border-bottom:1px solid oklch(75% .1 190);padding:2px 0;font-weight:700}@media (width<=760px){.family-bar[data-astro-cid-nen7h5rs]{display:none}}
