:root{--ink:#19212f;--muted:#687386;--blue:#2761ef;--line:#e6eaf0;--soft:#f5f7fb;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}button,input{font:inherit}button,a,input{touch-action:manipulation}a{text-decoration:none;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #6391ff;outline-offset:5px}button{color:inherit}img{display:block}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.header{height:88px;display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 80px));margin:auto;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:700;letter-spacing:-.65px;white-space:nowrap}.brand-3d{color:var(--blue)}nav{display:flex;gap:34px;font-size:14px;color:#535d6d}nav a:hover,.header-link:hover{color:var(--blue)}.header-link{font-size:14px}.version{font-size:12px;padding:4px 8px;border-radius:4px;margin-left:8px;color:var(--blue);background:#eef3ff}.hero{padding-top:65px;padding-bottom:46px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;letter-spacing:1.5px;font-weight:600}.small-cube{font-size:25px;line-height:1}.hero-tag{margin-left:9px;padding-left:18px;border-left:1px solid #d5dce9;color:var(--muted);font-weight:400;letter-spacing:1px}.hero-row{display:flex;justify-content:space-between;align-items:center;gap:30px}h1{font-size:clamp(48px,5.8vw,78px);line-height:1.2;letter-spacing:-2.6px;font-weight:650;margin:22px 0 23px}.blue{color:var(--blue)}.hero-copy{color:#667184;font-size:18px;line-height:1.85;margin:0}.mobile-break{display:none}.hero-actions{display:flex;gap:12px;margin:27px 0 14px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:11px 24px;font-size:14px;font-weight:550;min-height:46px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 14px #2761ef16}.primary:hover{background:#174acf}.secondary{border:1px solid #dce2eb;background:white;color:#354156}.secondary:hover{background:#f4f7fc}.hero-note{font-size:12px;color:#8390a4;margin:0}.hero-note span{padding:0 8px}.hero-aside{padding-right:34px}.aside-rule{display:block;width:36px;height:3px;background:var(--blue);margin-bottom:22px}.hero-aside p{font-size:40px;line-height:1.35;font-weight:650;letter-spacing:-1.5px;margin:0 0 15px;color:#c3ccdc}.hero-aside>span:last-child{font-size:12px;color:#8894a6;letter-spacing:2px}.capability-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-block:40px 44px;border-bottom:1px solid var(--line)}.capability-strip>div{padding-left:30px;border-left:1px solid var(--line)}.capability-strip>div:first-child{padding-left:0;border:0}.capability-strip span{display:inline-block;color:#a9b3c3;font-size:12px;margin-right:13px;font-variant-numeric:tabular-nums}.capability-strip strong{font-size:16px;font-weight:550}.capability-strip p{margin:8px 0 0;font-size:13px;color:#8290a3}.section{padding-top:92px;padding-bottom:88px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:32px}.section-kicker{font-size:11px;letter-spacing:1.7px;color:var(--blue);font-weight:600;margin:0 0 16px}h2{font-size:37px;line-height:1.4;letter-spacing:-1px;font-weight:600;margin:0}.section-heading>p{color:#8892a3;font-size:14px;line-height:1.85;margin:0 0 7px}.feature-tabs{display:flex;gap:30px;border-bottom:1px solid #e3e8f0}.feature-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:16px 0;color:#7c8798;font-size:14px;white-space:nowrap}.feature-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:550}.feature-panel{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding-top:43px}.feature-number{color:#98a4b7;font-size:11px;letter-spacing:1.5px}h3{font-size:30px;font-weight:550;line-height:1.45;letter-spacing:-.7px;margin:15px 0 17px}.feature-copy>p{color:#7a8699;font-size:15px;line-height:1.95;margin:0;max-width:430px}.feature-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.feature-tags span{color:#6682b0;border:1px solid #e1e8f3;background:#f7f9fd;border-radius:4px;padding:4px 9px;font-size:12px}.feature-detail{background:#f6f8fc;border:1px solid #e9edf5;border-radius:10px;overflow:hidden}.detail-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #e8edf5;font-size:14px;color:#4d607d}.detail-badge{font-size:11px;color:#8fa0b7}.detail-row{display:flex;align-items:center;gap:22px;padding:20px 24px}.detail-row+.detail-row{padding-top:2px}.detail-row>b{font-size:14px;font-weight:500;width:39px;height:39px;flex-shrink:0;background:#fff;border:1px solid #dee5f1;border-radius:6px;box-shadow:0 3px 0 #e8edf5;display:grid;place-items:center;color:#5580ce}.detail-row strong{font-size:14px;font-weight:550;color:#4c5e7a}.detail-row p{font-size:13px;color:#8b98ab;margin:3px 0 0}.detail-footer{border-top:1px solid #e8edf5;padding:12px 24px;color:#8c9aaf;font-size:12px}.detail-footer span{margin:0 8px}.workflow-section{background:#f7f9fc;border-block:1px solid #edf0f5}.workflow-section .section{padding-block:78px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:44px}.step-no{font-size:13px;color:var(--blue);display:flex;align-items:center;gap:20px;letter-spacing:1px}.step-no i{height:1px;flex:1;background:#dfe5f0}.steps h3{font-size:21px;letter-spacing:0;margin:22px 0 12px}.steps p{color:#8290a5;font-size:14px;line-height:1.9;margin:0}.step-foot{display:block;margin-top:22px;color:#a7b2c2;font-size:10px;letter-spacing:1.4px}.project-section{padding-bottom:0}.project-card{background:#f0f5ff;border:1px solid #e0e9fb;border-radius:12px;padding:53px 55px;display:grid;grid-template-columns:1fr 1.05fr;gap:65px}.project-card h2{font-size:39px}.project-card>div>p:not(.section-kicker){font-size:14px;color:#7f90af;line-height:1.85;margin:18px 0 22px}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:27px 20px;align-content:center}.project-facts>div{border-top:1px solid #d7e2f7;padding-top:17px}.project-facts span{font-size:12px;color:#8d9eba}.project-facts strong{display:block;font-size:19px;font-weight:550;color:#3c5b93;margin-top:8px}.project-facts p{font-size:12px;color:#91a1bc;margin:6px 0 0;max-width:190px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:65px}.faq-title h2{font-size:31px}.faq-list details{border-bottom:1px solid #e8ecf2}.faq-list details:first-child{border-top:1px solid #e8ecf2}.faq-list summary{list-style:none;padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:500;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:18px;font-weight:300;color:#96a4ba;line-height:1.4;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;color:#8290a4;line-height:1.9;margin:0 30px 22px 0}.footer{border-top:1px solid var(--line);padding-block:28px 33px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#9aa5b6;font-size:12px}.footer .brand{font-size:16px;color:var(--ink)}.footer>span:last-child a{margin-left:20px}.footer>span:last-child a:hover{color:var(--blue)}
@media(min-width:1500px){.hero{padding-top:80px}.hero-row{padding-bottom:15px}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.header{width:calc(100% - 48px);height:76px}.header nav{gap:20px}.header-link .version{display:none}.hero{padding-top:45px}.hero-aside{padding-right:0}.hero-aside p{font-size:30px}.capability-strip>div{padding-left:15px}.capability-strip p{font-size:12px}.capability-strip span{margin-right:7px}.section{padding-block:64px}.section-heading h2{font-size:30px}.feature-panel{gap:32px}.feature-copy>p{font-size:14px}.detail-row{padding-inline:17px;gap:14px}.detail-head,.detail-footer{padding-inline:17px}.steps{gap:25px}.project-card{padding:35px;gap:35px}.faq{gap:35px}.footer>span:nth-child(2){display:none}}
@media(max-width:640px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 36px)}.header{width:calc(100% - 32px);height:67px}.brand{font-size:18px}.brand img{width:30px;height:30px}.header nav{display:none}.header-link{font-size:12px}.version{display:none}.hero{padding-top:36px;padding-bottom:32px}.eyebrow{font-size:9px;letter-spacing:1px;gap:6px}.small-cube{font-size:21px}.hero-tag{font-size:10px;padding-left:10px;margin-left:4px}.hero-row{display:block}.hero-aside{display:none}h1{font-size:48px;line-height:1.25;letter-spacing:-1px;margin:19px 0 19px}.hero-copy{font-size:15px}.mobile-break{display:block}.hero-actions{margin-top:23px;gap:9px}.button{font-size:13px;padding:10px 17px}.hero-note{font-size:11px}.capability-strip{grid-template-columns:1fr 1fr;gap:23px 15px;padding-block:29px}.capability-strip>div{padding:0;border:0}.capability-strip strong{font-size:14px}.capability-strip p{font-size:11px;margin-top:4px}.capability-strip span{font-size:10px;margin-right:8px}.section{padding-block:50px}.section-heading{display:block;margin-bottom:19px}.section-kicker{font-size:9px;margin-bottom:12px}.section-heading h2{font-size:29px;line-height:1.4}.section-heading>p{font-size:13px;margin-top:16px}.feature-tabs{gap:0;justify-content:space-between}.feature-tabs button{font-size:12px;padding:13px 0}.feature-panel{grid-template-columns:1fr;gap:24px;padding-top:27px}h3{font-size:27px;margin:12px 0}.feature-copy>p{font-size:14px}.feature-tags{margin-top:16px}.feature-tags span{font-size:11px}.detail-head{padding-block:14px}.detail-row{padding:16px 17px}.detail-row p{font-size:12px}.detail-footer{font-size:11px}.workflow-section .section{padding-block:45px}.steps{grid-template-columns:1fr;gap:26px;margin-top:27px}.steps h3{font-size:20px;margin:12px 0 8px}.steps p{font-size:14px}.step-foot{margin-top:12px}.project-section{padding-bottom:0}.project-card{padding:28px 24px;grid-template-columns:1fr;gap:32px;border-radius:9px}.project-card h2{font-size:31px}.project-card>div>p:not(.section-kicker){font-size:13px}.project-facts{gap:20px}.project-facts strong{font-size:17px}.project-facts p{font-size:11px}.faq{grid-template-columns:1fr;gap:24px}.faq-title h2{font-size:28px}.faq-list summary{font-size:13px;padding-block:18px}.faq-list details p{font-size:13px;margin-right:0}.footer{flex-wrap:wrap;padding-block:24px;gap:15px}.footer .brand{font-size:16px}.footer>span:last-child{font-size:10px}.footer>span:last-child a{margin-left:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Actual application captures: preserve each complete screenshot. */
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.gallery-heading .section-kicker{margin:0}.real-capture{font-size:12px;color:#8b98ab}.screenshot-panel{margin:0}.screenshot-open{position:relative;width:100%;display:block;padding:0;border:0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:none;cursor:zoom-in}.screenshot-open .capture-image{width:100%;height:auto;aspect-ratio:3456/2052;object-fit:contain;clip-path:inset(0 round 1% / 1.68%)}.screenshot-zoom{position:absolute;right:18px;bottom:18px;font-size:12px;background:#ffffffed;border:1px solid #dae3f0;padding:6px 12px;border-radius:5px;color:#4b658e;box-shadow:0 3px 12px #22365012}.screenshot-open:hover .screenshot-zoom{background:#2761ef;color:white;border-color:#2761ef}.screenshot-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 1px 21px}.screenshot-caption h2{font-size:19px;line-height:1.5;letter-spacing:0;font-weight:550}.screenshot-caption p{font-size:14px;color:#8290a3;margin:5px 0 0}.screenshot-caption>span{font-size:12px;letter-spacing:1px;white-space:nowrap;color:#94a2b6;padding-top:4px}.screenshot-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;padding:3px 2px}.screenshot-tab{min-width:0;padding:5px;border:1px solid #e1e7f0;border-radius:7px;background:#fff;text-align:left;transition:border-color .2s,background .2s}.screenshot-tab .capture-image{width:100%;height:auto;aspect-ratio:3456/2052;object-fit:contain;border-radius:0;clip-path:inset(0 round 1% / 1.68%)}.screenshot-tab>span:not(.capture-frame){display:block;padding:9px 3px 4px;font-size:12px;line-height:1.55;color:#738097}.screenshot-tab b{font-size:10px;font-weight:400;color:#a1aec1;margin-right:5px}.screenshot-tab[aria-selected=true]{border-color:#6994f8;background:#f1f5ff;box-shadow:0 0 0 1px #6994f8}.screenshot-tab[aria-selected=true]>span,.screenshot-tab[aria-selected=true] b{color:#2761ef}.screenshot-tab:hover{border-color:#88a9ea}.screenshot-dialog{width:min(1600px,96vw);max-width:96vw;max-height:95dvh;padding:0;border:1px solid #dfe6f0;border-radius:10px;box-shadow:0 25px 90px #101d3d50;background:#fff;color:var(--ink)}.screenshot-dialog::backdrop{background:#0c172bd1}.lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid var(--line)}.lightbox-header h2{font-size:16px;letter-spacing:0;font-weight:550;line-height:1.5}.lightbox-header>div{display:flex;align-items:center;gap:15px;white-space:nowrap}.lightbox-header a{font-size:13px;color:var(--blue)}.lightbox-header button,.lightbox-footer button{font-size:13px;background:#f4f7fc;border:1px solid #dee6f3;color:#536b93;border-radius:5px;padding:6px 12px;min-height:36px}.lightbox-stage{margin:12px;background:#fff}.screenshot-dialog .lightbox-stage .capture-frame{width:min(100%,calc((95dvh - 154px)*1.6842105263));margin-inline:auto}.screenshot-dialog .capture-image{display:block;width:100%;height:auto;object-fit:contain;background:#fff;clip-path:inset(0 round 1% / 1.68%)}.lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 20px;border-top:1px solid var(--line)}.lightbox-footer>span{font-size:12px;color:#8d9bb1;letter-spacing:1px}body:has(.screenshot-dialog[open]){overflow:hidden}
@media(max-width:900px){.screenshot-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.screenshot-tab>span:not(.capture-frame){font-size:11px;padding-inline:1px}.screenshot-caption p{font-size:13px}}
@media(max-width:640px){.gallery-heading{margin-bottom:12px}.real-capture{font-size:10px}.screenshot-open{border-radius:12px}.screenshot-zoom{bottom:8px;right:8px;font-size:10px;padding:4px 7px}.screenshot-caption{padding-block:16px;gap:15px}.screenshot-caption h2{font-size:17px}.screenshot-caption p{font-size:12px;line-height:1.8}.screenshot-caption>span{font-size:10px}.screenshot-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 12px;gap:10px}.screenshot-tab{flex:0 0 145px;scroll-snap-align:start}.screenshot-tab>span:not(.capture-frame){font-size:11px}.lightbox-header{gap:12px;padding:12px}.lightbox-header h2{font-size:13px}.lightbox-header>div{gap:10px}.lightbox-header a{font-size:11px}.lightbox-header button,.lightbox-footer button{font-size:12px;padding:5px 9px}.lightbox-footer{padding:10px 12px}}

/* Purple paint tool overlay; source coordinates: x=27, y=678, w=52, h=50. */
.capture-frame{position:relative;display:block;width:100%;aspect-ratio:3456/2052}.paint-recolor{position:absolute;left:.78125%;top:33.04094%;width:1.50463%;height:2.43665%;overflow:hidden;background:#fff;pointer-events:none}.paint-recolor::after{content:"";position:absolute;width:150%;aspect-ratio:1268/1241;left:-24.2%;top:-22%;background:url("assets/paint-purple.png") center/100% 100% no-repeat}

/* Language links stay visible on narrow screens. */
.header-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.language-switch{font-size:12px;color:var(--blue);border:1px solid #dce5f5;padding:5px 10px;border-radius:5px;white-space:nowrap}.language-switch:hover{background:#f0f5ff}html:is([lang=en],[lang=es],[lang=fr]) .hero-row>div:first-child{max-width:720px}html:is([lang=en],[lang=es],[lang=fr]) .hero-aside{flex-shrink:0}html:is([lang=en],[lang=es],[lang=fr]) .detail-head{gap:12px}html:is([lang=en],[lang=es],[lang=fr]) .detail-badge{white-space:nowrap}
@media(max-width:900px){html:is([lang=en],[lang=es],[lang=fr]) .header nav{gap:14px;font-size:13px}.header-actions{gap:14px}html:is([lang=en],[lang=es],[lang=fr]) .hero-aside{display:none}}
@media(max-width:640px){.header{gap:12px}.header-actions{gap:10px}.language-switch{font-size:11px;padding:4px 7px}html:is([lang=en],[lang=es],[lang=fr]) .hero-tag{display:none}html:is([lang=en],[lang=es],[lang=fr]) h1{font-size:46px}html:is([lang=en],[lang=es],[lang=fr]) .hero-actions{flex-wrap:wrap}html:is([lang=en],[lang=es],[lang=fr]) .feature-tabs{gap:12px;overflow-x:auto}html:is([lang=en],[lang=es],[lang=fr]) .feature-tabs button{flex-shrink:0}html:is([lang=en],[lang=es],[lang=fr]) .project-facts{grid-template-columns:1fr 1fr}}

/* Shared seven-language menu. Native details works without JavaScript. */
.language-picker{position:relative;font-size:12px;z-index:20;color:var(--blue)}
.language-picker summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;border:1px solid #dce5f5;border-radius:5px;padding:5px 10px;white-space:nowrap;background:#fff}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary>span{flex-shrink:0;width:12px;height:12px;font-size:0;background:center/12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%232761ef' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.language-picker summary:hover,.language-picker[open] summary{background:#f0f5ff}
.header .language-menu{display:flex;position:absolute;right:0;top:calc(100% + 8px);flex-direction:column;gap:3px;min-width:155px;padding:7px;border:1px solid #e1e8f3;border-radius:8px;background:#fff;box-shadow:0 8px 24px #19212f12;color:#535d6d;font-size:13px}
.language-menu a{padding:7px 11px;border-radius:4px;white-space:nowrap}
.language-menu a:hover,.language-menu a[aria-current=page]{background:#eef3ff;color:var(--blue)}
html:not(:is([lang=zh-CN],[lang=zh-Hant])) .hero-aside{max-width:235px}
html:not(:is([lang=zh-CN],[lang=zh-Hant])) .hero-aside>span:last-child{letter-spacing:0.5px}
html:is([lang=es],[lang=fr]) .capability-strip strong{font-size:15px}
html:is([lang=ja],[lang=ko]) h1{letter-spacing:-1px}
@media(max-width:1100px){html:not(:is([lang=zh-CN],[lang=zh-Hant])) .header>nav{gap:15px;font-size:13px}html:not(:is([lang=zh-CN],[lang=zh-Hant])) .header .version{display:none}}
@media(max-width:900px){html:not([lang=zh-CN]) .hero-aside{display:none}}
@media(max-width:640px){.language-picker{font-size:11px}.language-picker summary{padding:4px 7px;gap:6px}html:not(:is([lang=zh-CN],[lang=zh-Hant])) .hero-tag{display:none}.eyebrow{flex-wrap:wrap}html:not(:is([lang=zh-CN],[lang=zh-Hant])) .feature-tabs{gap:16px;overflow-x:auto}html:not(:is([lang=zh-CN],[lang=zh-Hant])) .feature-tabs button{flex-shrink:0}html:is([lang=es],[lang=fr]) .hero-copy{font-size:14px}html:is([lang=ja],[lang=ko]) h1{font-size:44px}.detail-head{flex-wrap:wrap;gap:7px}.detail-badge{white-space:normal}.project-facts strong{overflow-wrap:anywhere}}
@media(max-width:440px){html:not(:is([lang=zh-CN],[lang=zh-Hant])) .header-actions>.header-link{display:none}}
