:root{--e:#0F1B2D;--d:#33445A;--a:#5B6B80;--r:#8C99AA;--b:#0E5A8A;--l:#1B7FBF;--n:#0E5A8A;--ah:#12699C;--ac:#DCEAF4;--j:#EEF5FA;--c:#E3E8EF;--i:#CFD8E3;--x:#FFFFFF;--h:#F5F7FA;--f:#EDF1F5;--g:#FFFFFF;--ag:#1E8E5A;--o:#17704A;--t:#E5F3EB;--v:#B7791F;--w:#8A5A10;--u:#FBF2E2;--p:#C53B3B;--y:#FCEBEB;--ad:#1B7FBF;--ab:0 1px 2px rgba(15,27,45,.04),0 6px 18px rgba(15,27,45,.07);--z:0 2px 6px rgba(15,27,45,.05),0 18px 44px rgba(15,27,45,.12);--af:rgba(14,90,138,.06);--ar:rgba(15,27,45,.11);--aa:radial-gradient(var(--ar) 1px,transparent 1.5px);--as:conic-gradient(var(--af) 25%,transparent 0 50%,var(--af) 0 75%,transparent 0);--aq:#0E5A8A;--m:var(--g);--ai:#F6F8FB;--ak:#6B7B8E;--am:#0E5A8A;--ap:#A3451D;--an:#7A3E9D;--al:#17704A;--aj:#0B6B78;--ao:#8A5A10;--at:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237D8A9C' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--ae:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC",system-ui,sans-serif;--k:ui-monospace,"SFMono-Regular","SF Mono",Menlo,Consolas,"Liberation Mono","Noto Sans Mono CJK SC",monospace;--q:64px;--s:16px;color-scheme:light}:root[data-theme=dark]{--e:#E6EDF5;--d:#C3CFDC;--a:#93A3B8;--r:#6E7E93;--b:#5AAEE3;--l:#84C5EE;--n:#1B6FA8;--ah:#1F78B6;--ac:#16324B;--j:#102539;--c:#1E2B3E;--i:#2C3B52;--x:#0B1220;--h:#0E1727;--f:#121E31;--g:#101A2A;--ag:#3DBB7D;--o:#66D49F;--t:#0F2A1F;--v:#E0A43A;--w:#F0BF66;--u:#2A2112;--p:#F07171;--y:#2E1619;--ad:#84C5EE;--ab:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.28);--z:0 2px 8px rgba(0,0,0,.35),0 20px 48px rgba(0,0,0,.4);--af:rgba(90,174,227,.07);--ar:rgba(230,237,245,.09);--aq:#1B6FA8;--ai:#0D1626;--ak:#7F8FA4;--am:#6CB8EA;--ap:#E9A47C;--an:#C9A3E6;--al:#74D3A1;--aj:#6FD0DC;--ao:#F0BF66;color-scheme:dark}*,::before,::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--x);color:var(--e);font:16px/1.7 var(--ae);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-wrap:break-word}img,svg,canvas,picture{max-width:100%}img,picture{display:block;height:auto}h1,h2,h3,h4{color:var(--e);line-height:1.32;font-weight:700;letter-spacing:.005em;margin:0 0 .6em}h1{font-size:clamp(1.75rem,1.25rem + 2vw,2.625rem);line-height:1.22}h2{font-size:clamp(1.375rem,1.12rem + 1.05vw,1.875rem)}h3{font-size:1.125rem;font-weight:650}p{margin:0 0 1em}a{color:var(--b);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--l)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ad);outline-offset:2px;border-radius:4px}[id]{scroll-margin-top:calc(var(--q) + 16px)}[hidden]{display:none !important}main:focus{outline:0}::selection{background:var(--ac)}.i{width:20px;height:20px;flex-shrink:0}.glyph{width:24px;height:24px;flex-shrink:0;fill:currentColor}.glyph .h{fill:var(--m)}.logo-mark{flex-shrink:0;display:block}.logo-bg{fill:var(--aq)}.logo-fg{fill:#fff}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:300;padding:8px 14px;background:var(--n);color:#fff;border-radius:8px;font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.num{font-family:var(--k);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.mono{font-family:var(--k);font-size:.93em}.muted{color:var(--a)}.small{font-size:13.5px}.nowrap{white-space:nowrap}.break{word-break:break-all}.note{font-size:13.5px;color:var(--a);margin:14px 0 0;line-height:1.65}.h3{font-size:1.25rem}.h4{font-size:1.0625rem}.stack{display:grid;gap:12px}.container{width:100%;max-width:calc(1200px + 2 * var(--s));margin:0 auto;padding:0 var(--s)}.narrow{max-width:calc(860px + 2 * var(--s))}.section{padding:48px 0}.section--tight{padding-top:24px}.section--quick{padding:28px 0 0}.section--soft{background:var(--h);border-block:1px solid var(--c)}.section--soft + .section--soft{border-top:0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:24px;flex-wrap:wrap}.section-head>div{max-width:760px}.section-head h2{margin:0}.section-head__lead{color:var(--a);margin:10px 0 0}.link-more,.card__go{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px;color:var(--b);text-decoration:none;white-space:nowrap}.link-more .i,.card__go .i{width:18px;height:18px;transition:transform .2s}.link-more:hover .i,.card--link:hover .card__go .i{transform:translateX(3px)}.grid{display:grid;gap:16px}.split{display:grid;gap:28px}.grid,.split,.calc,.inquiry,.cfg,.product-hero,.substrate__grid,.tour__item,.article__layout,.footer-top,.hero__inner{grid-template-columns:minmax(0,1fr)}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.btn-row--center{justify-content:center}.card,.panel,.cfg__panel,.quickpath a,.substrate-mini__item,.compare-link,.related-card,.pager__item,.file-link,.highlights li,.steps li,.principle,.feature,.option,.fit,.result,.match,.cart-item,.faq-item,.std-list,.toc,.filters,.proscons>div,.edition-mini,.software-list li,.table-wrap,.policy-nav a,.shot__frame{background:var(--g);border:1px solid var(--c)}.card{border-radius:16px;min-width:0}.card__body{padding:20px}.card--link,.quickpath a,.substrate-mini__item,.compare-link,.related-card,.pager__item,.file-link,.policy-nav a{text-decoration:none;color:var(--e);transition:border-color .2s,box-shadow .2s,transform .2s}.card--link{display:flex;flex-direction:column}.card--link:hover,.quickpath a:hover,.substrate-mini__item:hover{border-color:var(--i);box-shadow:var(--ab)}.card--link:hover{transform:translateY(-2px)}.compare-link:hover,.related-card:hover,.pager__item:hover,.file-link:hover,.policy-nav a:hover,.policy-nav a[aria-current]{border-color:var(--l);color:var(--b)}.card--soft{background:var(--h);margin-top:16px}.card__media{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:15px 15px 0 0;border-bottom:1px solid var(--c);background:radial-gradient(100% 90% at 50% 10%,var(--g),var(--f))}.card__media picture,.card__media img{width:100%;height:100%;object-fit:contain}.card__title{font-size:1.0625rem;font-weight:650;margin:0 0 6px;line-height:1.4}.card__title .i,.card__title .glyph{vertical-align:-4px;margin-right:6px;color:var(--b)}.card__text{color:var(--a);font-size:14.5px;margin:0;line-height:1.65}.card__meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:12px 0 0;font-size:13px;color:var(--a)}.card__meta span{display:inline-flex;align-items:center;gap:4px}.card__meta b{font-weight:600;color:var(--d)}.card__meta .i{width:14px;height:14px}.card__go{margin-top:auto;padding-top:16px}.card--link>.card__body{flex:1;display:flex;flex-direction:column;align-items:flex-start}.card--link>.card__body>*{max-width:100%}.solution-card__icon,.principle__icon,.feature__icon,.option__icon,.link-cards__icon,.acc__icon,.related-card__icon,.file-link__icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--j);color:var(--b);margin-bottom:14px;flex-shrink:0;--m:var(--j)}.solution-card__icon .i,.principle__icon .i,.feature__icon .i,.option__icon .i,.link-cards__icon .i,.acc__icon .i,.option__icon .glyph,.link-cards__icon .glyph,.related-card__icon .glyph,.related-card__icon .i{width:22px;height:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:15px;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.btn .i{width:18px;height:18px}.btn--primary{background:var(--n);color:#fff}.btn--primary:hover{background:var(--ah);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--l) 20%,transparent)}.btn--secondary{background:var(--g);color:var(--e);border-color:var(--i)}.btn--secondary:hover{border-color:var(--l);color:var(--b)}.btn--ghost{background:none;color:var(--b)}.btn--ghost:hover{background:var(--j)}.btn--sm{height:36px;padding:0 12px;font-size:14px;border-radius:8px;gap:6px}.btn--sm .i{width:16px;height:16px}.btn--lg{height:52px;padding:0 24px;font-size:16px;border-radius:12px}.btn--block{width:100%}.btn--grow{flex:1}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.is-busy{position:relative;color:transparent !important;pointer-events:none}.btn.is-busy::after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:10px;border:1px solid transparent;background:none;color:var(--d);transition:background-color .15s}.icon-btn:hover{background:var(--h);color:var(--e)}.icon-btn--sm{width:32px;height:32px;border-radius:8px}.icon-btn--sm .i{width:18px;height:18px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--b);margin:0 0 10px}.eyebrow a{color:inherit;text-decoration:none}.eyebrow__glyph,.eyebrow__icon{width:16px;height:16px;--m:var(--h)}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:99px;border:1px solid var(--i);background:var(--g);color:var(--d);font-size:14px;text-decoration:none;white-space:nowrap;transition:border-color .15s,color .15s}.chip:hover{border-color:var(--l);color:var(--b)}.chip.is-on{background:var(--n);border-color:var(--n);color:#fff}.chip__n{font:600 12px/1 var(--k);color:var(--a);background:var(--f);padding:3px 6px;border-radius:99px}.jump-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--j);color:var(--b);font-size:13.5px;line-height:1.5;text-decoration:none;border:1px solid transparent;white-space:nowrap;--m:var(--j)}.tag .glyph{width:16px;height:16px}.tag:hover{border-color:currentColor}.tag--sub{background:var(--f);color:var(--d)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-list--wrap{margin:8px 0 4px}.tv{display:inline-block;margin-left:5px;padding:0 5px;border-radius:4px;font-size:11px;line-height:17px;font-weight:600;letter-spacing:0;color:var(--w);background:var(--u);vertical-align:1px;white-space:nowrap}.tv-note{font-size:13px;color:var(--a);margin:12px 0 0}.table .tv{background:none;padding:0;color:var(--v);font-weight:500}.ph{display:inline-block;padding:0 6px;border:1px dashed var(--v);border-radius:6px;background:var(--u);color:var(--w);font-size:.92em;line-height:1.6}.pill{font-size:12px;padding:2px 9px;border-radius:99px;background:var(--j);color:var(--b);font-weight:600;white-space:nowrap}.pill--ok{background:var(--t);color:var(--o)}.price{font-weight:650}.price small{margin-left:6px;font-size:12px;color:var(--a);font-weight:500}.price--ask{display:inline-flex;padding:1px 9px;border-radius:6px;background:var(--j);color:var(--b);font-size:13px;font-weight:600;line-height:1.7}.flag{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:99px}.flag .i{width:15px;height:15px;stroke-width:2.4}.flag--yes{background:var(--t);color:var(--o)}.flag--no{background:var(--f);color:var(--r)}.flag--na{color:var(--r)}.checklist{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}.checklist li{display:flex;gap:10px;align-items:flex-start;line-height:1.65;color:var(--d)}.checklist .i{width:22px;height:22px;padding:4px;border-radius:99px;background:var(--t);color:var(--o);stroke-width:2.6;margin-top:1px}.checklist--sm li{font-size:14.5px}.dot-list,.numbered{padding-left:1.3em;margin:0 0 16px;color:var(--d)}.dot-list li,.numbered li{margin:6px 0}.dot-list li::marker,.prose li::marker,.formulas li::marker{color:var(--b)}.link-list{list-style:none;padding:0;margin:8px 0 0}.link-list li{padding:7px 0;border-bottom:1px dashed var(--c)}.link-list a,.cart-more a,.table--std a,.match__head a{text-decoration:none}.kv{margin:0;display:grid}.kv>div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--c)}.kv>div:last-child{border-bottom:0}.kv dt{color:var(--a);font-size:14px}.kv dd{margin:0;font-size:14.5px;min-width:0;overflow-wrap:anywhere}.kv--spec>div{grid-template-columns:7.5em minmax(0,1fr)}.kv--compact{grid-template-columns:1fr 1fr;column-gap:16px}.kv--compact>div{grid-template-columns:1fr;gap:0;padding:7px 0;border-bottom:1px solid var(--c)}.kv--compact dt{font-size:12.5px}.kv--compact dd{font-size:14px}.kv__wide{grid-column:1 / -1}.notes{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}.notes li{display:flex;gap:8px;font-size:14px;color:var(--d)}.notes .i{color:var(--b);width:18px;height:18px;margin-top:2px}.callout,.draft-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;font-size:14.5px;margin:0 0 16px;line-height:1.6}.callout .i{margin-top:1px}.callout b{display:block;color:var(--e);margin-bottom:2px}.callout p{margin:0}.callout--info{background:var(--j);color:var(--d);border:1px solid color-mix(in srgb,var(--b) 22%,transparent)}.callout--info .i{color:var(--b)}.callout--warn,.draft-banner{background:var(--u);color:var(--w);border:1px solid color-mix(in srgb,var(--v) 32%,transparent)}.draft-banner{border-style:dashed;font-size:14px;margin:14px 0 6px;padding:12px 14px}.draft-banner b{margin-right:8px}.table-wrap{position:relative;overflow-x:auto;border-radius:12px;max-width:100%}.table,.prose table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}.table th,.table td,.prose th,.prose td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--c);vertical-align:top}.table thead th,.prose thead th{background:var(--h);font-size:13px;font-weight:600;color:var(--a);white-space:nowrap}.table tbody tr:last-child>*,.prose tbody tr:last-child>*{border-bottom:0}.table tbody th{font-weight:600}.table .num{white-space:nowrap}.table .small{font-size:13.5px}.table-wrap--sticky :is(tbody,thead) th:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--c)}.table-wrap--sticky tbody th:first-child{background:var(--g)}.tbl-link{display:inline-flex;align-items:center;gap:8px;color:var(--e);text-decoration:none;font-weight:600}.tbl-link:hover{color:var(--b)}.tbl-link .glyph{width:18px;height:18px}.table--guide{min-width:640px}.table--guide tbody th{width:34%}.table--compare td,.table--guide :is(td,th),.table--models :is(td,th),.table--calc :is(td,th){vertical-align:middle}.table--substrates{min-width:1080px}.table--substrates tbody th{min-width:8em}.table--editions{min-width:760px}.table--editions td,.table--editions thead th:not(:first-child){text-align:center}.table--editions thead th.is-free{color:var(--b)}.table--editions .row-meta th{color:var(--a)}.table--editions .row-actions td{padding-block:16px}.table--std{min-width:640px;font-size:13.5px}.table--std :is(th,td),.table--calc :is(th,td){padding:9px 12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.field label{font-size:14px;font-weight:600;color:var(--d)}.field label small{font-weight:400;color:var(--a);margin-left:6px;font-size:12.5px}.field__hint{font-size:13px;color:var(--a);margin:-6px 0 14px}.field__error,.form-msg{color:var(--p);font-size:13px;margin:0}.field__error:empty,.form-msg:empty{display:none}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.field--inline{flex-direction:row;align-items:center;gap:8px;margin:0}.field--inline label{white-space:nowrap;font-weight:500}.field--check{justify-content:flex-end}.req{color:var(--p);margin-left:3px}input:is([type=text],[type=number],[type=email],[type=tel]),select,textarea,.input{width:100%;height:42px;padding:0 12px;border:1px solid var(--i);border-radius:10px;background:var(--g);font-size:15px;line-height:1.4;transition:border-color .15s,box-shadow .15s;min-width:0}textarea{height:auto;padding:10px 12px;line-height:1.6;resize:vertical;min-height:96px}select{appearance:none;background:var(--g) var(--at) no-repeat right 10px center / 18px;padding-right:36px}::placeholder{color:var(--r)}input:focus,select:focus,textarea:focus,.input:focus{outline:0;border-color:var(--l);box-shadow:0 0 0 3px color-mix(in srgb,var(--l) 24%,transparent)}[aria-invalid=true]{border-color:var(--p) !important}input[type=checkbox],input[type=radio]{accent-color:var(--n)}.check{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500 !important;color:var(--d);cursor:pointer}.check input{width:17px;height:17px;margin:0}.check--sm{font-size:13.5px}.input-group{display:flex;gap:8px;align-items:center}.input-group input{flex:1}.seg{display:flex;padding:3px;background:var(--f);border-radius:10px;gap:2px;margin-bottom:14px}.seg label{flex:1;position:relative}.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.seg span{display:flex;align-items:center;justify-content:center;height:34px;padding:0 6px;border-radius:8px;font-size:14px;color:var(--a);font-weight:500;text-align:center}.seg input:checked + span{background:var(--g);color:var(--e);box-shadow:var(--ab);font-weight:600}.seg input:focus-visible + span,.opt input:focus-visible + .opt__box,.opt-chip input:focus-visible + span,.type-opt input:focus-visible + .type-opt__box{outline:2px solid var(--ad);outline-offset:2px}.qty{display:inline-flex;align-items:center;height:44px;border:1px solid var(--i);border-radius:10px;overflow:hidden;background:var(--g);flex-shrink:0}.qty__btn{width:36px;height:100%;border:0;background:none;color:var(--d);display:grid;place-items:center;padding:0}.qty__btn:hover{background:var(--h)}.qty__btn .i{width:16px;height:16px}.qty .qty__input{width:58px;height:100%;border:0;border-radius:0;text-align:center;font-family:var(--k);padding:0 2px;box-shadow:none;appearance:textfield;-moz-appearance:textfield}.qty__input::-webkit-inner-spin-button,.qty__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty--sm{height:36px}.qty--sm .qty__input{width:50px}.form-msg{font-size:14px;margin:0 0 12px}.form-msg.is-ok{color:var(--o)}.form-legal{margin:12px 0 0}.hp-field{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}.site-header{position:sticky;top:0;z-index:50;background:var(--x);background:color-mix(in srgb,var(--x) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--c)}.header-inner{position:relative;height:var(--q);display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--e);text-decoration:none;flex-shrink:0}.brand__text{display:flex;flex-direction:column;line-height:1.15}.brand__name{font-weight:750;font-size:17px;letter-spacing:.02em}.brand__name span{font-weight:650}.brand__domain{font:500 11px/1.3 var(--k);color:var(--a);letter-spacing:.02em}.nav{display:none}.nav__list{display:flex;gap:2px;list-style:none;margin:0;padding:0;height:100%}.nav__item{display:flex;align-items:center;height:var(--q);position:relative}.nav__item--mega{position:static}.nav__link{display:inline-flex;align-items:center;gap:3px;height:40px;padding:0 11px;border-radius:8px;font-size:15px;font-weight:500;color:var(--d);background:none;border:0;text-decoration:none;white-space:nowrap}.nav__link:hover,.nav__item.is-open>.nav__link{color:var(--e);background:var(--h)}.nav__item.is-active>.nav__link,.nav__link[aria-current=page]{color:var(--b)}.nav__caret{width:15px;height:15px;opacity:.7;transition:transform .2s}.nav__item.is-open .nav__caret{transform:rotate(180deg)}.dropdown{position:absolute;top:100%;left:0;z-index:60;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}.nav__item.is-open>.dropdown{opacity:1;visibility:visible;transform:none}.dropdown__list,.mega__inner{margin:0;background:var(--g);border:1px solid var(--c);border-radius:14px;box-shadow:var(--z)}.dropdown__list{list-style:none;padding:8px;min-width:280px}.dropdown__list a{display:flex;flex-direction:column;padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--e)}.dropdown__list a:hover,.dropdown__list a[aria-current]{background:var(--h)}.dropdown__list b{font-weight:600;font-size:15px}.dropdown__list small,.mega__pattern small{color:var(--a);font-size:12.5px;line-height:1.5}.mega{left:var(--s);right:var(--s)}.mega__inner{display:grid;grid-template-columns:1.75fr 1fr 1.05fr;gap:28px;padding:22px 26px;border-radius:16px}.mega__title{font-size:12.5px;font-weight:600;letter-spacing:.08em;color:var(--a);margin:0 0 10px}.mega__patterns,.mega__list,.mega__links{list-style:none;padding:0;margin:0;display:grid;gap:1px}.mega__patterns{grid-template-columns:1fr 1fr;gap:2px 10px}.mega__pattern,.mega__list a,.mega__links a{display:flex;gap:10px;padding:7px 8px;border-radius:9px;text-decoration:none;color:var(--e);font-size:14.5px}.mega__pattern{align-items:flex-start;padding:8px}.mega__pattern:hover,.mega__list a:hover,.mega__links a:hover{background:var(--h);--m:var(--h)}.mega__pattern .glyph{width:26px;height:26px;margin-top:2px}.mega__pattern b{display:block;font-weight:600}.mega__pattern small{display:block}.mega__list a{justify-content:space-between;align-items:baseline}.mega__list small{color:var(--a);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:9.5em}.mega__links a{align-items:center}.mega__links .i{color:var(--b);width:18px;height:18px}.mega__cta{display:block;margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--j);text-decoration:none;border:1px solid color-mix(in srgb,var(--b) 16%,transparent)}.mega__cta-title{display:block;font-weight:650;color:var(--e)}.mega__cta-text{display:block;font-size:13px;color:var(--a);margin:3px 0 8px;line-height:1.5}.mega__cta-go{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:13.5px}.mega__cta-go .i{width:16px;height:16px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.theme-toggle__sun,[data-theme=dark] .theme-toggle__moon{display:none}[data-theme=dark] .theme-toggle__sun{display:block}.btn--cart{height:40px;padding:0 12px;border-radius:10px;background:var(--g);border:1px solid var(--i);color:var(--e);font-size:14.5px;gap:6px}.btn--cart:hover,.btn--cart[aria-current]{border-color:var(--l);color:var(--b)}.count-badge{min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--n);color:#fff;font:600 12px/20px var(--k);text-align:center}.count-badge--inline{background:#fff;color:var(--n);margin-left:4px}.count-badge.is-bump{animation:bump .35s ease}@keyframes bump{40%{transform:scale(1.3)}}@media (max-width:400px){.btn--cart__label,.brand__domain{display:none}}@media (min-width:1024px) and (hover:hover){.nav__item:hover>.dropdown{opacity:1;visibility:visible;transform:none}.nav__item:hover .nav__caret{transform:rotate(180deg)}}@media (min-width:1024px) and (max-width:1140px){.nav__link{padding:0 8px;font-size:14.5px}.brand__domain{display:none}}.drawer{position:fixed;inset:0;z-index:100}.drawer__backdrop{position:absolute;inset:0;background:rgba(6,12,22,.5);animation:fade .2s ease}.drawer__panel{position:absolute;inset:0 0 0 auto;width:min(380px,90vw);background:var(--g);display:flex;flex-direction:column;box-shadow:var(--z);overflow-y:auto;overscroll-behavior:contain;animation:slidein .24s ease}@keyframes fade{from{opacity:0}}@keyframes slidein{from{transform:translateX(24px);opacity:.4}}.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:0 12px 0 16px;min-height:var(--q);border-bottom:1px solid var(--c)}.drawer__nav{padding:8px 8px 16px;flex:1}.drawer__group summary,.drawer__single{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;font-weight:600;font-size:16px;color:var(--e);text-decoration:none;border-radius:8px;cursor:pointer}summary{list-style:none}summary::-webkit-details-marker{display:none}.drawer__group summary .i,.drawer__single .i{width:18px;height:18px;color:var(--a);transition:transform .2s}.drawer__group[open] summary .i{transform:rotate(180deg)}.drawer__patterns{list-style:none;padding:0 4px;margin:0 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.drawer__patterns a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;font-size:14.5px;color:var(--e);text-decoration:none;background:var(--h);--m:var(--h)}.drawer__patterns .glyph{width:20px;height:20px}.drawer__links{list-style:none;padding:0 0 6px;margin:0}.drawer__links a{display:block;padding:9px 12px;color:var(--d);text-decoration:none;font-size:15px;border-radius:8px}.drawer__links a:hover,.drawer__single:hover{background:var(--h)}.drawer__foot{padding:16px;border-top:1px solid var(--c)}body.has-drawer{overflow:hidden}.site-footer{background:var(--h);border-top:1px solid var(--c);padding:48px 0 28px;font-size:14px}.footer-top{display:grid;gap:36px}.footer-brand__text{color:var(--a);margin:14px 0 18px;max-width:30em}.footer-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 20px}.footer-title{font-weight:650;margin:0 0 12px}.footer-cols ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-cols a,.footer-bottom a{color:var(--a);text-decoration:none}.footer-cols a:hover,.footer-bottom a:hover{color:var(--b)}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--c);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;color:var(--a);font-size:13px}.footer-bottom p{margin:0}.footer-beian,.footer-bottom__meta{display:flex;flex-wrap:wrap;gap:4px 16px}.contact-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:10px}.contact-list li{display:grid;grid-template-columns:20px 2.8em minmax(0,1fr);gap:8px;align-items:center;font-size:14.5px}.contact-list .i{width:18px;height:18px;color:var(--b)}.contact-list__k{color:var(--a)}.contact-list__v{overflow-wrap:anywhere}.contact-list--compact{margin-top:16px;padding-top:14px;border-top:1px solid var(--c)}.page-head{position:relative;padding:20px 0 32px;background:var(--h);border-bottom:1px solid var(--c);overflow:hidden}.page-head>.container{position:relative}.page-head h1{margin:4px 0 12px}.page-head .lead{margin-bottom:0}.page-head--motif::before,.page-head--tool::before,.page-head--software::before,.stage::before{content:"";position:absolute;inset:0;background-image:var(--aa);background-size:20px 20px;-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000 85%);pointer-events:none}.lead{font-size:clamp(1rem,.95rem + .3vw,1.1875rem);color:var(--d);max-width:48em;line-height:1.8}.lead--sm{font-size:clamp(.98rem,.94rem + .2vw,1.0625rem)}.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 6px;list-style:none;padding:0;margin:0 0 14px;font-size:13px;color:var(--a)}.crumbs li + li::before{content:"/";margin-right:6px;color:var(--r)}.crumbs a{color:var(--a);text-decoration:none}.crumbs a:hover{color:var(--b)}.crumbs [aria-current]{color:var(--d)}.hero{position:relative;overflow:hidden;background:linear-gradient(var(--h),var(--x));border-bottom:1px solid var(--c)}.hero__motif,.notfound__motif{position:absolute;inset:0;pointer-events:none;background-image:var(--as);background-size:56px 56px;-webkit-mask-image:radial-gradient(60% 75% at 78% 38%,#000 15%,transparent 72%)}.hero__inner{position:relative;display:grid;gap:28px;padding:36px var(--s) 44px}.hero__title{font-size:clamp(2rem,1.2rem + 3vw,3.25rem);line-height:1.16;margin:6px 0 18px;font-weight:750;letter-spacing:.01em}.hero__title span{display:block;font-size:.46em;font-weight:600;color:var(--b);margin-top:14px;letter-spacing:.03em;line-height:1.5}.hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:32px 0 0;padding-top:20px;border-top:1px solid var(--c)}.hero__stats dt{font-size:12.5px;color:var(--a)}.hero__stats dd{margin:2px 0 0;font-size:clamp(1.375rem,1rem + 1.5vw,1.875rem);font-weight:700;line-height:1.2}.hero__stats small{font:500 13px var(--ae);color:var(--a);margin-left:3px}.hero__stage{position:relative}.hero__img img{width:100%;filter:drop-shadow(0 24px 30px rgba(15,27,45,.14))}.hero__tag{position:absolute;display:none;padding:6px 11px;font-size:12.5px;border-radius:8px;background:var(--g);border:1px solid var(--c);box-shadow:var(--ab);color:var(--d);font-weight:500}.hero__tag--a{left:4%;top:6%}.hero__tag--b{right:2%;bottom:10%}.quickpath{list-style:none;padding:0;margin:0;display:grid;gap:12px}.quickpath a{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;height:100%}.quickpath__no{font:600 22px/1 var(--k);color:var(--b)}.quickpath__body b{display:block;font-size:16px;margin-bottom:3px}.quickpath__body small,.substrate-mini__body small{display:block;color:var(--a);font-size:13.5px;line-height:1.55}.quickpath__go{margin-left:auto;color:var(--r);transition:transform .2s,color .2s}.quickpath a:hover .quickpath__go{color:var(--b);transform:translateX(3px)}.pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pattern-card .card__body{padding:14px 14px 16px}.pattern-card .card__title{font-size:15.5px}.pattern-card .card__text{font-size:13.5px}.pattern-card.is-hidden{display:none}.mini-flags{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:2px 10px}.mini-flags li{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;color:var(--o)}.mini-flags .i{width:14px;height:14px;stroke-width:2.6}.substrate-mini__item{display:flex;gap:14px;align-items:center;padding:12px;border-radius:14px;min-width:0}.substrate-mini__img{width:92px;flex-shrink:0;aspect-ratio:4/3;border-radius:10px;background:var(--f);overflow:hidden}.substrate-mini__img img{width:100%}.substrate-mini__body{min-width:0}.substrate-mini__body b{display:block;font-size:15.5px}.substrate-mini__body small{font-size:12.5px}.substrate-mini__body em{display:block;font-style:normal;font-size:13.5px;color:var(--d);margin-top:3px;line-height:1.5}.tool-card__art{height:150px;display:flex;align-items:center;justify-content:center;gap:18px;border-radius:15px 15px 0 0;border-bottom:1px solid var(--c);background:var(--f) var(--aa) 0 0 / 16px 16px;--m:var(--f)}.tool-card__art .glyph{width:56px;height:56px}.tool-card__art .i{width:52px;height:52px;color:var(--b);stroke-width:1.4}.tool-card__cone{width:72px;height:2px;background:repeating-linear-gradient(90deg,var(--l) 0 7px,transparent 7px 12px)}.principle,.feature,.option{padding:22px;border-radius:14px}.principle h3,.feature h3,.option h3{font-size:1.0625rem;margin:0 0 8px}.principle p,.feature p,.option p{margin:0;color:var(--a);font-size:14.5px;line-height:1.7}.principle--row{display:flex;gap:16px}.principle--row .principle__icon{margin:0}.article-card__cat{font-size:12px;font-weight:600;color:var(--b);background:var(--j);padding:2px 8px;border-radius:6px;margin-bottom:10px}.cta-band{padding:48px 0 64px}.section:not(.section--soft) + .cta-band{padding-top:0}.cta-band__inner{position:relative;display:flex;flex-direction:column;gap:22px;padding:30px 24px;border-radius:20px;background:linear-gradient(135deg,#0E5A8A,#0A3D60);color:#fff;overflow:hidden}.cta-band__inner::before{content:"";position:absolute;inset:0;background-image:conic-gradient(rgba(255,255,255,.07) 25%,transparent 0 50%,rgba(255,255,255,.07) 0 75%,transparent 0);background-size:40px 40px;-webkit-mask-image:linear-gradient(110deg,transparent 45%,#000)}.cta-band__inner>*{position:relative}.cta-band h2{color:#fff;margin:0 0 8px;font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem)}.cta-band p{color:rgba(255,255,255,.84);margin:0;max-width:42em}.cta-band__actions{display:flex;flex-wrap:wrap;gap:10px}.cta-band .btn--primary{background:#fff;color:#0E5A8A}.cta-band .btn--primary:hover{background:#E7F1F8;color:#0B4A72;box-shadow:0 0 0 4px rgba(255,255,255,.18)}.cta-band .btn--secondary{background:none;color:#fff;border-color:rgba(255,255,255,.45)}.cta-band .btn--secondary:hover{border-color:#fff}.filters{display:grid;gap:12px;margin-bottom:24px;padding:16px;border-radius:14px}.filters__group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filters__label{font-size:13px;color:var(--a);font-weight:600;margin-right:6px;min-width:2.5em}.filters__status{font-size:13px;color:var(--a);margin:0}.filters__status:empty{display:none}.filters--inline{display:flex;flex-wrap:wrap;gap:12px 20px;background:none;border:0;padding:0}.filters--inline select{width:auto;min-width:9em;height:38px}.empty-note{padding:24px;text-align:center;color:var(--a);border:1px dashed var(--i);border-radius:14px;margin-top:16px}.product-hero{display:grid;gap:24px}.product-hero__tagline{font-size:1.0625rem;font-weight:600;color:var(--b);margin:0 0 12px}.product-hero__media{min-width:0}.stage{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:20px;border:1px solid var(--c);background:radial-gradient(110% 100% at 50% 0%,var(--g),var(--f))}.stage::before{background-size:18px 18px;opacity:.7;-webkit-mask-image:radial-gradient(80% 80%,transparent 40%,#000)}.stage picture{position:relative;width:94%}.stage img{width:100%}.stage--diagram{aspect-ratio:8/5;padding:12px 16px}.stage__note{font-size:12.5px;color:var(--a);margin:10px 0 0;text-align:center}.flag-pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:18px 0 4px}.flag-pills li{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:99px;font-size:13.5px;font-weight:500}.flag-pills .i{width:16px;height:16px;stroke-width:2.4}.flag-pills .is-yes{background:var(--t);color:var(--o)}.flag-pills .is-no{background:var(--f);color:var(--a)}.highlights{list-style:none;padding:0;margin:0;display:grid;gap:10px}.highlights li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;font-size:14.5px;color:var(--d);line-height:1.6}.highlights .i{color:var(--o);stroke-width:2.4;margin-top:1px}.fit{padding:22px 24px;border-radius:16px}.fit h2{display:flex;align-items:center;gap:10px;font-size:1.125rem;margin:0 0 12px}.fit--yes h2 .i,.proscons div:first-child h3 .i{color:var(--ag)}.fit--no h2 .i,.proscons div:last-child h3 .i{color:var(--v)}.fit ul,.proscons ul{margin:0;padding-left:1.2em;color:var(--d)}.fit li{margin:7px 0}.param-list{margin:14px 0 0}.param-list>div{padding:13px 0;border-bottom:1px solid var(--c)}.param-list dt{font-weight:650;margin-bottom:3px}.param-list dd{margin:0;color:var(--a);font-size:14.5px}.software-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}.software-list li{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:14px}.software-list .i{width:18px;height:18px;color:var(--b)}.software-list a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600}.split--top>div>.eyebrow:not(:first-child){margin-top:28px}.std-list{border-radius:14px}.std-list>summary{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;font-weight:650}.std-list>summary span{display:inline-flex;align-items:center;gap:10px}.std-list>summary .i{color:var(--b)}.std-list>summary>.i{transition:transform .2s;color:var(--a)}.std-list[open]>summary>.i{transform:rotate(180deg)}.std-list__body{padding:0 20px 20px}.std-list__sub{font-size:1rem;margin:18px 0 10px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.std-list__sub small{color:var(--a);font-weight:400;font-size:13px}.compare-link{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px}.compare-link .glyph{width:28px;height:28px}.compare-link b,.related-card__body b,.file-link__body b{display:block;font-size:14.5px}.compare-link small,.related-card__body small,.file-link__body small{display:block;color:var(--a);font-size:12.5px;line-height:1.5;margin-top:2px}.steps{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:step}.steps li{position:relative;padding:20px;border-radius:14px;counter-increment:step}.steps li::before{content:counter(step,decimal-leading-zero);display:block;font:600 13px/1 var(--k);color:var(--b);margin-bottom:12px}.steps b{display:block;margin-bottom:6px}.steps p{margin:0;color:var(--a);font-size:14px;line-height:1.7}.steps code{font-size:.86em;background:var(--f);padding:1px 5px;border-radius:5px;overflow-wrap:anywhere}.cfg{display:grid;gap:18px}.cfg__canvas-wrap{position:relative;aspect-ratio:4/3;display:grid;place-items:center;padding:28px;border-radius:16px;border:1px solid var(--c);background:var(--f) var(--aa) 0 0 / 16px 16px;overflow:hidden}.cfg__canvas,.gen__canvas{display:block;background:#fff;box-shadow:0 2px 4px rgba(15,27,45,.08),0 10px 26px rgba(15,27,45,.16)}.cfg__canvas{max-width:100%;max-height:100%;border-radius:2px}.cfg__dims{position:absolute;right:12px;bottom:10px;font-size:12px;color:var(--a);background:var(--g);padding:2px 8px;border-radius:6px;border:1px solid var(--c)}.cfg__dims:empty{display:none}.cfg__hint{display:flex;gap:6px;font-size:12.5px;color:var(--a);margin:10px 2px 0}.cfg__hint .i{width:16px;height:16px;margin-top:2px}.cfg__panel{border-radius:16px;padding:18px}.cfg__step{border:0;padding:0;margin:0 0 18px;min-width:0}.cfg__step legend{display:flex;align-items:center;gap:8px;font-weight:650;margin-bottom:10px;padding:0}.cfg__step legend small{font-weight:400;color:var(--a);font-size:12.5px}.cfg__no,.panel__no{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:99px;background:var(--n);color:#fff;font:600 12px/1 var(--k);flex-shrink:0}.cfg__dens-help{font-size:12.5px;color:var(--a);margin:8px 0 0;line-height:1.6}.opt-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.opt,.opt-chip,.type-opt{position:relative;display:block;min-width:0}.opt input,.opt-chip input,.type-opt input{position:absolute;opacity:0;width:1px;height:1px}.opt__box,.opt-chip span,.type-opt__box{display:flex;border:1px solid var(--i);border-radius:10px;cursor:pointer;background:var(--g);transition:border-color .15s,background-color .15s}.opt__box{flex-direction:column;gap:1px;padding:9px 12px;min-height:54px}.opt__box b{font-size:14.5px;font-weight:600}.opt__box small{font-size:12px;color:var(--a);line-height:1.45}.opt__box:hover,.opt-chip span:hover,.type-opt__box:hover{border-color:var(--l)}.opt input:checked + .opt__box,.type-opt input:checked + .type-opt__box{border-color:var(--b);box-shadow:inset 0 0 0 1px var(--b);background:var(--j)}.opt-chips{display:flex;flex-wrap:wrap;gap:6px}.opt-chip span{align-items:center;height:34px;padding:0 11px;border-radius:8px;font:13.5px var(--k)}.opt-chip input:checked + span{background:var(--n);border-color:var(--n);color:#fff}.opt-chip--text span{font:14px var(--ae)}.cfg__result{margin-top:6px;padding-top:16px;border-top:1px dashed var(--i)}.cfg__title{font-weight:650;margin:0 0 6px}.cfg__actions{display:flex;gap:10px;margin-top:16px}.cfg__secondary{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.panel{border-radius:14px;padding:16px 18px;margin:0 0 14px;min-width:0}.panel>legend{float:left;width:100%;padding:0}.panel>legend + *{clear:both}.panel__title{display:flex;align-items:center;gap:8px;font-weight:650;font-size:15px;margin:0 0 12px}.panel__title .i{color:var(--b);width:18px;height:18px}.panel__help{font-size:12.5px;color:var(--a);margin:8px 0 0;line-height:1.6}.panel__help:empty{display:none}.panel--accent{border-color:color-mix(in srgb,var(--b) 30%,var(--c));background:var(--j)}.panel--plain{border:0;background:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.panel__more{margin-top:4px;border-top:1px dashed var(--c);padding-top:10px}.panel__more summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;color:var(--d);font-weight:600;padding:4px 0 8px}.panel__more summary .i,.toc summary .i{width:16px;height:16px;color:var(--a);transition:transform .2s}.panel__more[open] summary .i,.toc[open] summary .i{transform:rotate(180deg)}.panel>.field:last-child,.panel>.field-row:last-child .field{margin-bottom:0}.gen{display:flex;flex-direction:column;gap:16px}.gen__controls,.gen__side{min-width:0}.gen__side{order:-1}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.type-opt__box{flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;text-align:center;font-size:13px;color:var(--d);--m:var(--g)}.type-opt__box .glyph{width:28px;height:28px;color:var(--e)}.type-opt input:checked + .type-opt__box{color:var(--b);font-weight:600;--m:var(--j)}.field-row--swap{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end}.swap-btn{margin-bottom:19px;border:1px solid var(--i)}.auto-layout{margin-top:2px;padding:12px;border-radius:10px;background:var(--h);border:1px solid var(--c)}.auto-layout__title{margin:0 0 8px;font-size:13.5px;font-weight:600;color:var(--d)}.auto-layout__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.auto-layout__row input{width:90px;height:36px}.gen__preview{overflow:hidden}.gen__toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 8px;border-bottom:1px solid var(--c);flex-wrap:wrap}.gen__zoom{display:inline-flex;align-items:center;gap:2px}.gen__zoom-val{min-width:4.2em;text-align:center;font-size:13px;color:var(--a)}.gen__canvas-wrap{height:clamp(240px,46vh,520px);overflow:auto;display:flex;padding:16px;background:var(--f) var(--aa) 0 0 / 16px 16px}.gen__canvas{margin:auto;flex-shrink:0;max-width:none}.gen__status{padding:10px 14px 0;display:grid;gap:6px}.gen__status:empty{display:none}.status-item{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:8px;font-size:13.5px;line-height:1.55;margin:0}.status-item .i{width:16px;height:16px;margin-top:2px}.status-item--error{background:var(--y);color:var(--p)}.status-item--warn{background:var(--u);color:var(--w)}.status-item--ok{background:var(--t);color:var(--o)}.gen__info{padding:6px 14px 4px}.gen__downloads{padding:12px 14px 14px;border-top:1px solid var(--c);margin-top:6px}.gen__dl-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--a);letter-spacing:.06em}.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.dl-btn{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--i);border-radius:10px;background:var(--g);text-align:left;min-width:0;transition:border-color .15s,background-color .15s}.dl-btn .i{color:var(--b);width:18px;height:18px}.dl-btn span{min-width:0}.dl-btn b{display:block;font-size:13.5px;line-height:1.3}.dl-btn small{display:block;font-size:11.5px;color:var(--a);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dl-btn:hover:not(:disabled){border-color:var(--l);background:var(--j)}.dl-btn:disabled{opacity:.45;cursor:not-allowed}.gen__dl-note{margin:10px 0 0}.gen__dl-note:empty{display:none}.calc{display:grid;gap:20px}.result-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:14px}.result{padding:16px 18px;border-radius:14px;min-width:0}.result--wide{grid-column:1 / -1;background:var(--j);border-color:color-mix(in srgb,var(--b) 22%,var(--c))}.result__k{font-size:13px;color:var(--a);margin:0 0 6px}.result__v{font-size:clamp(1.125rem,1rem + .6vw,1.5rem);font-weight:700;margin:0;line-height:1.3;overflow-wrap:anywhere}.result__s{font-size:13px;color:var(--a);margin:6px 0 0;line-height:1.6}.result__s:empty{display:none}.table--calc{min-width:560px;font-size:14px}.table--calc .best{color:var(--b);font-weight:700}.matches{display:grid;gap:10px;margin-top:16px}.match{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 14px;padding:14px 16px;border-radius:12px}.match__icon{grid-row:span 2;width:40px;height:40px;border-radius:10px;background:var(--f);display:grid;place-items:center;--m:var(--f)}.match__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.match__desc{font-size:13px;color:var(--a);margin:0}.match__facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--d);margin-top:6px}.match__skus{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.match__skus a{font-size:12.5px;padding:3px 8px;border-radius:6px;background:var(--j);text-decoration:none}.match__skus a:hover{background:var(--ac)}.match__score{padding:1px 7px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--t);color:var(--o)}.formulas{padding-left:1.4em;margin:0;display:grid;gap:10px;max-width:860px}.formula{font:14px var(--k)}.formula-v{display:block;font:13.5px var(--k);color:var(--b);margin-top:2px;overflow-wrap:anywhere}.substrate__grid{display:grid;gap:24px}.substrate__tagline{font-size:1.0625rem;font-weight:600;color:var(--b);margin:-4px 0 10px}.substrate__body>p{color:var(--d)}.substrate__h{font-size:1rem;margin:26px 0 8px;display:flex;gap:8px;align-items:baseline}.substrate__h small{font-weight:400;color:var(--a);font-size:12.5px}.proscons{margin-top:18px}.proscons>div{padding:16px 18px;border-radius:12px}.proscons h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:0 0 8px}.proscons ul{font-size:14px}.size-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.size-chips li{padding:2px 9px;border-radius:6px;background:var(--f);font-size:13px;color:var(--d)}.section--soft .size-chips li{background:var(--g);box-shadow:inset 0 0 0 1px var(--c)}.file-link{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-radius:12px}.file-link__icon{width:38px;height:38px;margin:0;background:var(--y);color:var(--p)}.file-link__go{margin-left:auto;color:var(--b)}.software-hero{max-width:760px}.page-head--software{padding-bottom:40px}.shot{margin:0}.shot--hero{margin-top:32px}.shot__frame{border-radius:12px;border-color:var(--i);box-shadow:var(--z);overflow:hidden}.shot__bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:var(--h);border-bottom:1px solid var(--c)}.shot__bar span{width:9px;height:9px;border-radius:99px;background:var(--i);flex-shrink:0}.shot__bar em{margin-left:8px;font-style:normal;font-size:12px;color:var(--a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shot img{width:100%}.shot__placeholder{position:relative;aspect-ratio:16/10}.shot__wf{display:block;width:100%;height:100%}.shot__ph-label{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font-size:12.5px;color:var(--a);background:var(--g);border:1px dashed var(--i);padding:3px 12px;border-radius:99px;white-space:nowrap}.shot figcaption{margin-top:12px;font-size:14px;color:var(--a)}.shot figcaption strong{color:var(--e);margin-right:8px}.tour{display:grid;gap:36px}.tour__item{display:grid;gap:18px;align-items:center}.tour__no{font:600 13px/1 var(--k);color:var(--b)}.tour__text h3{font-size:1.375rem;margin:10px 0}.tour__text p{color:var(--d);margin:0}.tables-2 .table{min-width:0}.edition-mini{list-style:none;padding:0;margin:0;border-radius:14px}.edition-mini li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--c);font-size:14.5px}.edition-mini li:last-child{border-bottom:0}.download-card__head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.download-card__head :is(h2,p){margin:0}.download-card .kv{margin-bottom:18px}.solution-big__item{overflow:hidden;display:flex;flex-direction:column}.solution-big__art{padding:18px 20px 10px;background:var(--h);border-bottom:1px solid var(--c)}.solution-big__tagline{font-weight:600;color:var(--b);margin:-2px 0 10px}.diagram{width:100%;height:auto;display:block;overflow:visible}.acc__head{display:flex;gap:14px;align-items:center;margin-bottom:12px}.acc__head .acc__icon{margin:0}.acc__head .card__title{margin-bottom:4px}.acc .kv{margin:6px 0 12px}.acc__actions{margin-top:16px}.option--link{background:var(--h);border-style:dashed}.link-cards .card__body{padding:22px}.page-head--article h1{font-size:clamp(1.625rem,1.2rem + 1.7vw,2.375rem);max-width:22em}.article__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--a);margin:16px 0 0}.article__meta span{display:inline-flex;align-items:center;gap:5px}.article__meta .i{width:15px;height:15px}.article__layout{display:grid;gap:20px;padding-block:24px 56px}.article__main{min-width:0}.toc{border-radius:12px;padding:12px 14px}.toc summary{display:flex;justify-content:space-between;align-items:center;font-weight:650;font-size:14px;cursor:pointer}.toc ol{list-style:none;padding:0;margin:10px 0 0;border-left:1px solid var(--c)}.toc ol ol{margin:0;border:0}.toc a{display:block;padding:4px 0 4px 12px;margin-left:-1px;border-left:2px solid transparent;color:var(--a);font-size:13.5px;text-decoration:none;line-height:1.5}.toc ol ol a{padding-left:24px;font-size:13px}.toc a:hover{color:var(--e)}.toc a.is-active{color:var(--b);border-left-color:var(--b);font-weight:600}.prose{max-width:760px;font-size:16.5px;line-height:1.86;color:var(--d);overflow-wrap:break-word}.prose h2{font-size:clamp(1.3rem,1.15rem + .6vw,1.5rem);margin:2.1em 0 .7em;line-height:1.38}.prose h3{font-size:1.15rem;margin:1.8em 0 .6em}.prose p{margin:0 0 1.05em}.prose :is(ul,ol){padding-left:1.4em;margin:0 0 1.2em}.prose li{margin:.35em 0}.prose a{text-decoration-color:color-mix(in srgb,var(--b) 40%,transparent)}.prose strong{color:var(--e);font-weight:650}.prose code{font-size:.86em;background:var(--f);padding:.14em .42em;border-radius:5px;color:var(--e);overflow-wrap:anywhere}.prose .table-wrap{margin:1.2em 0 1.6em}.prose table{line-height:1.65}.prose thead th{color:var(--e);font-size:13.5px}.prose--policy{font-size:15.5px}.prose--policy h2{font-size:1.25rem}.prose--policy h3{font-size:1.05rem}.keypoints{background:var(--j);border:1px solid color-mix(in srgb,var(--b) 18%,var(--c));border-radius:14px;padding:18px 22px 6px;margin:0 0 2em}.keypoints h2{margin:0 0 .4em;font-size:14px;color:var(--b);letter-spacing:.12em}.keypoints ul{margin-bottom:.8em}.hl{position:relative;margin:1.1em 0 1.5em;border-radius:12px;background:var(--ai);border:1px solid var(--c)}.hl pre{margin:0;padding:16px 18px;overflow-x:auto;font-size:13.5px;line-height:1.65;color:var(--e);tab-size:4}.hl code{background:none;padding:0;font-size:inherit;color:inherit;overflow-wrap:normal}.copy-btn{position:absolute;top:8px;right:8px;height:28px;padding:0 9px;border-radius:7px;border:1px solid var(--i);background:var(--g);color:var(--a);font-size:12px;opacity:0;transition:opacity .15s}.hl:hover .copy-btn,.copy-btn:focus-visible{opacity:1}@media (hover:none){.copy-btn{opacity:1}}.hl :is(.c,.c1,.cm,.ch,.sd,.cs){color:var(--ak);font-style:italic}.hl :is(.k,.kn,.kd,.kc,.kr,.ow,.kt){color:var(--am);font-weight:600}.hl :is(.s,.s1,.s2,.sa,.se,.si,.sb,.sh){color:var(--ap)}.hl :is(.m,.mi,.mf,.il,.mh,.nd,.na){color:var(--an)}.hl :is(.nf,.fm){color:var(--al)}.hl :is(.nb,.bp){color:var(--aj)}.hl :is(.nc,.nn){color:var(--ao)}.hl .o{color:var(--a)}.related{margin-top:48px;padding-top:28px;border-top:1px solid var(--c);max-width:760px}.related h2{font-size:1.125rem;margin-bottom:14px}.related__grid{display:grid;gap:10px}.related-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;min-width:0}.related-card__icon{width:38px;height:38px;margin:0;border-radius:10px}.related-card__body{min-width:0}.related-card__body small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.related-card__go{margin-left:auto;color:var(--r);width:18px;height:18px}.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;max-width:760px}.pager__item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;min-width:0}.pager__item small{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--a)}.pager__item small .i{width:14px;height:14px}.pager__item b{font-size:14.5px;line-height:1.45}.pager__item--next{text-align:right;align-items:flex-end;grid-column:2}.faq-group__title{font-size:1.375rem;margin-bottom:18px}.faq-list{display:grid;gap:10px}.faq-item{border-radius:12px}.faq-item[open]{border-color:var(--i)}.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;cursor:pointer;font-weight:600;font-size:15.5px;line-height:1.55}.faq-item__icon{color:var(--b);transition:transform .2s}.faq-item[open] .faq-item__icon{transform:rotate(45deg)}.faq-item__a{padding:0 18px 16px;color:var(--d);font-size:15px;line-height:1.8}.faq-item__a p{margin:0}.inquiry{display:grid;gap:20px}.cart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.cart-head h2{margin:0;display:flex;align-items:center;gap:8px}.cart-head__n{font-size:14px;color:var(--a);font-weight:500}.cart-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.cart-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px;border-radius:12px}.cart-item__icon{width:44px;height:44px;border-radius:10px;background:var(--f);display:grid;place-items:center;--m:var(--f)}.cart-item__icon :is(.glyph,.i){width:26px;height:26px}.cart-item__icon .i{color:var(--b)}.cart-item__top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cart-item__title{font-weight:650;color:var(--e);text-decoration:none;line-height:1.45;padding-top:2px}.cart-item__title:hover{color:var(--b)}.cart-item__remove{margin:-4px -4px 0 0;color:var(--a)}.cart-item__remove:hover{color:var(--p);background:var(--y)}.cart-item__desc,.cart-item__sku{font-size:13.5px;color:var(--a);margin:4px 0 0;line-height:1.55}.cart-item__sku{font-size:12.5px;margin-top:2px}.cart-item__desc:empty,.cart-item__sku:empty{display:none}.cart-item__controls{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.cart-item__note{flex:1;min-width:150px;height:36px !important;font-size:14px !important}.cart-empty{text-align:center;padding:28px 12px 20px;color:var(--a)}.cart-empty__art{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--f);margin-bottom:10px;color:var(--r);--m:var(--f)}.cart-empty__art .glyph{width:36px;height:36px}.cart-empty p{margin:0 0 6px}.cart-empty b{color:var(--e)}.cart-more{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--c);font-size:14px}.result-card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:99px;margin-bottom:12px}.result-card--ok .result-card__icon{background:var(--t);color:var(--ag)}.result-card--warn .result-card__icon{background:var(--u);color:var(--v)}.fallback-text{min-height:220px;font-size:13px !important;line-height:1.6;padding:12px;margin:12px 0 4px;background:var(--h) !important}.policy-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:20px;border-top:1px solid var(--c)}.policy-nav a{padding:6px 12px;border-radius:8px;font-size:14px;color:var(--d)}.notfound{position:relative;padding:56px 0 88px;text-align:center;overflow:hidden}.notfound__motif{background-size:48px 48px;-webkit-mask-image:radial-gradient(50% 60% at 50% 30%,#000,transparent 75%)}.notfound__inner{position:relative}.notfound__inner .lead{margin:0 auto}.notfound__art{display:inline-block;margin-bottom:20px}.notfound__art svg{width:200px;height:auto}.notfound__links{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:14.5px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:14px;padding:12px 14px 12px 16px;border-radius:12px;background:#0F1B2D;color:#fff;box-shadow:var(--z);font-size:14.5px;max-width:calc(100vw - 32px);animation:toastin .2s ease}.toast a{color:#8CCBF2;font-weight:600;white-space:nowrap;text-decoration:none}.toast a:hover{text-decoration:underline}[data-theme=dark] .toast{background:#E6EDF5;color:#0F1B2D}[data-theme=dark] .toast a{color:#0E5A8A}@keyframes toastin{from{transform:translate(-50%,10px);opacity:0}}@media (min-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__tag{display:inline-flex}.compare-links{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-grid{grid-template-columns:repeat(4,1fr)}.related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){:root{--s:24px}.section{padding:72px 0}.section--tight{padding-top:40px}.section--quick{padding:32px 0 0}.card__body{padding:24px}.footer-cols{grid-template-columns:repeat(4,1fr)}.page-head{padding:28px 0 48px}.page-head--slim{padding-bottom:36px}.quickpath{grid-template-columns:repeat(3,1fr)}.pattern-card .card__body{padding:18px 20px 20px}.pattern-card .card__title{font-size:1.0625rem}.pattern-card .card__text{font-size:14.5px}.highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.cfg__panel{padding:22px}}@media (min-width:1024px){.grid{gap:20px}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split--top{align-items:start}.split--media{grid-template-columns:1.12fr .88fr}.split--form{grid-template-columns:.85fr 1.15fr;align-items:start}.nav{display:block;margin-left:8px;height:100%}.nav-toggle{display:none}.footer-top{grid-template-columns:minmax(280px,1fr) 2.1fr;gap:56px}.hero__inner{grid-template-columns:1fr 1.02fr;align-items:center;padding-block:64px 72px;gap:40px}.pattern-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.cta-band__inner{flex-direction:row;align-items:center;justify-content:space-between;padding:40px 48px;gap:40px}.cta-band__actions{flex-shrink:0}.product-hero{grid-template-columns:1fr 1fr;gap:56px;align-items:center}.highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.compare-links{grid-template-columns:repeat(4,minmax(0,1fr))}.steps{grid-template-columns:repeat(5,minmax(0,1fr))}.steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}.steps--6,.steps--compact{grid-template-columns:repeat(6,minmax(0,1fr))}.steps li:not(:last-child)::after{content:"";position:absolute;top:26px;right:-10px;width:8px;height:8px;border:solid var(--i);border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}.cfg{grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}.cfg__preview{position:sticky;top:calc(var(--q) + 20px)}.gen{display:grid;grid-template-columns:minmax(360px,410px) minmax(0,1fr);gap:24px;align-items:start}.gen__side{order:0;position:sticky;top:calc(var(--q) + 16px)}.calc{grid-template-columns:minmax(340px,400px) minmax(0,1fr);gap:24px;align-items:start}.substrate__grid{grid-template-columns:5fr 7fr;gap:56px;align-items:start}.substrate__media{position:sticky;top:calc(var(--q) + 24px)}.tour{gap:56px}.tour__item{grid-template-columns:1.45fr 1fr;gap:48px}.tour__item--rev .tour__media{order:2}.article__layout{grid-template-columns:220px minmax(0,1fr);gap:56px;padding-top:40px}.article__toc .toc{position:sticky;top:calc(var(--q) + 28px);max-height:calc(100vh - var(--q) - 56px);overflow-y:auto}.toc{border:0;padding:0;background:none}.toc summary{pointer-events:none;color:var(--a);font-size:12.5px;letter-spacing:.08em}.toc summary .i{display:none}.inquiry{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px;align-items:start}}@media (min-width:1280px){:root{--s:32px}}@media (prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.vt-tabs{display:flex;gap:6px;margin:0 0 18px;flex-wrap:wrap}.vt-tab{height:42px;padding:0 16px;border-radius:10px;border:1px solid var(--i);background:var(--g);color:var(--d);cursor:pointer;font-weight:600}.vt-tab.is-on{background:var(--b);border-color:var(--b);color:#fff}.vt-out{padding:18px;margin-bottom:14px}.vt-out__h{font-size:1rem;margin:0 0 10px}.vt-matrix{margin:0 0 12px;padding:12px 14px;border-radius:10px;background:var(--f);overflow-x:auto;font-size:14px;line-height:1.7;white-space:pre}.vt-line{margin:8px 0 0;font-size:14px;color:var(--d);overflow-wrap:anywhere}.vt-sub{font-size:14px;margin:14px 0 8px;color:var(--e)}.vt-empty{padding:28px 16px;text-align:center;color:var(--a);border:1px dashed var(--i);border-radius:12px}.vt-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}.vt-pair figure{margin:0;min-width:0}.vt-pair canvas,.vt-canvas canvas{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--c);background:var(--f)}.vt-pair figcaption{font-size:13px;color:var(--a);margin-top:6px;text-align:center}.vt-canvas{margin:8px 0 14px}.vt-canvas canvas{cursor:crosshair}canvas.is-pick{cursor:crosshair;outline:2px solid #f59e0b}.vt-toolbar,.vt-linebar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px}.vt-toolbar .is-on{background:var(--b);border-color:var(--b);color:#fff}.i-wrap{display:inline-flex;flex:none}.form-error{color:var(--p);font-size:14px;margin:8px 0 0;min-height:0}.form-error:empty{display:none}.pill--mid{background:var(--u);color:var(--w)}.pill--bad{background:var(--y);color:var(--p)}tr.is-pick td{background:var(--j);font-weight:600}@media (max-width:720px){.vt-pair{grid-template-columns:minmax(0,1fr)}}
