:root{--paper:#fff;--paper-deep:#f5f6f8;--ink:#18191b;--muted:#777a80;--line:#e7e8eb;--accent:#496ff1;--accent-light:#edf2ff;--page:1160px;--header-h:76px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#fff;color:var(--ink)}
body{background:#fff;background-image:none}body,button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}h1,h2,h3,h4{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}a{transition:color .2s,background .2s,transform .2s}button,a,summary{touch-action:manipulation}button{cursor:pointer}svg{flex-shrink:0}.wrap{width:min(calc(100% - 96px),1160px)}main{overflow:clip}.n-header{background:#ffffffee;border-bottom:1px solid #eceef0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.n-header .header-inner{width:calc(100% - 80px);max-width:1440px;height:76px;gap:24px}.n-brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-size:21px;font-weight:600;letter-spacing:-.8px;white-space:nowrap}.n-brand>svg{width:29px;height:29px;stroke:currentColor;stroke-width:2.5;fill:none}.n-brand-dot{font-size:10px;vertical-align:super;margin-left:3px;letter-spacing:0}.n-header .n-desktop-nav{gap:30px;font-size:14px;color:#676970}.n-desktop-nav a[aria-current]{color:#18191b;font-weight:600}.n-header-actions{display:flex;gap:18px;align-items:center}.n-nav-download{display:flex;gap:18px;background:#191a1c;border-radius:999px;padding:11px 19px;color:white;font-size:13px;font-weight:500}.n-nav-download:hover{background:#4167e1;color:#fff;transform:translateY(-1px)}.n-header .lang-menu summary{border:none;padding:8px 0;font-size:12px;color:#34363b}.n-header .lang-menu summary .chev{margin-left:3px}.n-header .tr-note summary span{display:none}.n-header .tr-note summary{padding:6px;border:0;background:none}.n-menu-toggle{display:none;border:none;background:transparent;width:34px;height:36px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.n-menu-toggle span{height:1.5px;width:20px;background:#222}.n-mobile-nav[hidden]{display:none}.n-mobile-nav{padding:14px 24px 24px;display:grid!important;gap:0!important;font-size:16px!important}.n-mobile-nav[hidden]{display:none!important}.n-mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
.n-home section{scroll-margin-top:104px}.n-hero{padding-top:94px}.n-hero-copy{text-align:center}.n-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;color:#747983;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.n-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;flex:none}.n-beta{display:inline-flex;align-items:center;font-size:10px;letter-spacing:.08em;border:1px solid #dedfe2;padding:4px 7px;border-radius:5px;color:#656a73;line-height:1}.n-hero h1{font-size:clamp(48px,5.7vw,80px);font-weight:600;line-height:1.24;letter-spacing:-.065em;margin:0 0 28px}.n-hero-highlight{position:relative;color:#191a1d;isolation:isolate}.n-hero-highlight:after{content:"";position:absolute;z-index:-1;left:-.08em;right:-.1em;bottom:0.05em;height:.31em;border-radius:4px;background:#e8eeff}.n-hero-subtitle{font-size:20px;line-height:1.7;color:#74777d;letter-spacing:-.035em;margin:0 0 30px}.n-actions{display:flex;justify-content:center;gap:12px;align-items:center}.n-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 24px;font-size:14px;font-weight:500;border-radius:99px;line-height:1.3;border:1px solid transparent;text-decoration:none}.n-button:hover{transform:translateY(-2px)}.n-primary{background:var(--accent);color:white;box-shadow:0 3px 8px #496ff114}.n-primary:hover{background:#3a60dd;color:white}.n-secondary{border-color:#e0e2e7;background:#fff;color:#31343b}.n-secondary:hover{background:#f6f7fa;border-color:#cbd1df}.n-platforms{font-size:11px;letter-spacing:.02em;color:#8b8e96;margin:18px 0 0}.n-platforms span{padding:0 9px;color:#c2c5cc}.n-product-preview{position:relative;margin:60px 0 0;border:1px solid #dedfe4;border-radius:14px;box-shadow:0 18px 70px -22px #25334929,0 1px 4px #18274308;background:#fafbfc}.n-product-preview:before{content:"";position:absolute;inset:-90px -40px;z-index:-1;background:radial-gradient(ellipse,#ecf0ffb0,transparent 65%);pointer-events:none}.n-preview-top{height:46px;border-bottom:1px solid #e3e5e9;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-size:11px;color:#737781}.n-preview-top>span{display:flex;align-items:center;gap:7px}.n-preview-top>a{font-size:10px;color:#81858e}.n-traffic{display:flex;gap:6px;width:100px}.n-traffic i{width:7px;height:7px;border-radius:50%;background:#d8dbe1}.n-preview-top>a{width:100px;text-align:right}.n-hero-viewport{width:100%;overflow:hidden;position:relative;height:620px;background:#fafafa}.n-real-ui{width:1100px;height:620px;transform-origin:top left;border:0;display:block;background:#fafafa}.n-product-preview figcaption{display:flex;align-items:center;gap:7px;background:#fff;border-top:1px solid #e9eaee;border-radius:0 0 14px 14px;padding:14px 20px;font-size:10px;line-height:1.5;color:#737983}.n-preview-caption-right{margin-left:auto;color:#9a9da5}.n-label{display:flex;justify-content:space-between;gap:20px;font:500 10px/1.4 Inter,-apple-system,sans-serif;letter-spacing:.13em;color:#8a8e96}.n-label>span:last-child{letter-spacing:.03em}.n-value{text-align:center;padding:130px 0 110px;max-width:890px}.n-value>.n-label{justify-content:center;font-size:9px;color:#868c98}.n-value>.n-label>span:last-child{display:none}.n-value h2{font-size:43px;font-weight:550;letter-spacing:-.055em;line-height:1.35;margin:28px 0 24px}.n-value>p:not(.n-label){max-width:690px;margin:0 auto;font-size:15px;line-height:1.95;color:#7a7f89}.n-intent-loop{max-width:680px;margin:48px auto 0;display:flex;gap:28px;align-items:center;justify-content:center}.n-intent-loop>span{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;white-space:nowrap}.n-intent-loop>span .n-dot{width:9px;height:9px}.n-intent-loop svg{width:19px;height:19px;fill:none;stroke:var(--accent);stroke-width:1.3}.n-loop-path{display:flex;flex:1;align-items:center;gap:8px;color:#9eafd9;max-width:240px}.n-loop-path i{height:1px;flex:1;background:repeating-linear-gradient(to right,#bdc9e7 0 3px,transparent 3px 7px)}.n-loop-path b{font-size:18px;font-weight:400}.n-features{padding:46px 0 100px;border-top:1px solid var(--line)}.n-section-head h2{font-size:43px;font-weight:550;letter-spacing:-.055em;line-height:1.3;margin:30px 0 32px}.n-feature-picks{display:flex;border-bottom:1px solid var(--line);gap:30px}.n-feature-picks button{border:0;border-bottom:2px solid transparent;color:#9296a0;background:none;padding:0 0 16px;font-size:12px;line-height:1.6;text-align:left;display:flex;gap:10px}.n-feature-picks button[aria-pressed=true]{border-color:var(--accent);color:#2c313b}.n-feature-picks button span{font-size:10px;font-family:monospace;color:#a2a7b0}.n-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center;padding:65px 0 15px;min-height:490px}.n-feature-reverse{grid-template-columns:1.15fr 1fr}.n-feature-reverse .n-feature-copy{order:2}.n-feature-number{font-size:11px;color:#8b98b4;letter-spacing:.06em;display:block;margin-bottom:28px}.n-feature h3{font-size:33px;line-height:1.4;font-weight:550;letter-spacing:-.055em;margin:0 0 22px;max-width:420px}.n-feature-copy>p{font-size:14px;line-height:1.9;color:#80858e;margin:0 0 24px;max-width:400px}.n-text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;color:#404652}.n-text-link:hover{color:var(--accent)}.n-feature-stage{min-width:0;min-height:390px;display:flex;align-items:center;justify-content:center;padding:44px 30px;position:relative;border-radius:12px;overflow:hidden}.n-stage-1{background:#f4f5f8}.n-stage-2{background:#edf2fa}.n-stage-3{background:#f4f3ef}.n-stage-caption{position:absolute;bottom:16px;left:22px;font-size:9px;color:#a0a5ad}.n-source-card,.n-evidence-card,.n-attention-card{width:100%;position:relative;box-shadow:0 12px 35px -10px #26324e1a;border:1px solid #e0e3e9;background:#fff;border-radius:9px}.n-source-card{transform:rotate(-2deg);transition:transform .4s}.n-feature-stage:hover .n-source-card{transform:rotate(0)}.n-filebar,.n-panel-top{display:flex;align-items:center;gap:8px;padding:13px 17px;border-bottom:1px solid #eef0f3;font-size:10px;color:#4b5362}.n-file-icon{font-weight:700;background:#f3f5f9;border-radius:3px;padding:2px 3px;font-family:monospace;color:#8090ab;font-size:9px}.n-file-type{margin-left:auto;font:9px/1.5 monospace;color:#9ba4b2}.n-source-content{padding:24px 30px 32px;position:relative}.n-source-content h3{font-size:19px;font-weight:600;margin:0 0 15px;letter-spacing:0}.n-source-content h4{font-size:13px;margin:24px 0 12px;font-weight:600}.n-source-content p{font-size:11px;line-height:1.9;color:#677181;margin:0 0 12px}.n-code-mark{position:absolute;left:12px;font:10px monospace;color:#aab5c6}.n-code-mark:nth-of-type(2){margin-top:12px}.n-source-content .n-selected-intent{padding:6px 8px;background:#ecf2ff;border-radius:3px;border-bottom:1px solid #a1b6f1;color:#4c6090;margin-inline:-8px}.n-selection-label{position:absolute;right:25px;bottom:16px;display:flex;gap:4px;align-items:center;font-size:8px;color:#71809c}.n-selection-label .n-dot{width:4px;height:4px}.n-square-icon{display:grid;place-items:center;background:#edf3ff;color:#5b7dc9;border-radius:4px;width:17px;height:17px;font-size:14px}.n-rea-row{padding:22px 22px 6px}.n-mini-label{font-size:10px;font-weight:600;display:flex;align-items:center;gap:6px;color:#646e7d}.n-mini-label i{width:5px;height:5px;display:block;border-radius:50%}.n-green{background:#7ab294}.n-blue{background:#7599e5}.n-rea-row p{font-size:11px;line-height:1.9;color:#677181;margin:10px 0 6px}.n-rea-row code{font-size:10px;background:#f2f4f8;padding:2px 3px;border-radius:3px}.n-evidence{padding-top:14px;padding-bottom:19px}.n-citations{display:flex;gap:5px;flex-wrap:wrap}.n-citations span{font:9px/1.6 monospace;background:#f3f6fc;color:#6b84b2;border:1px solid #e1e8f5;border-radius:4px;padding:2px 6px}.n-evidence-caption{font-size:8px;color:#a0a7b3;padding:10px 20px;border-top:1px solid #edf0f5}.n-attention-card{padding:25px;border-color:#e5e1d6;transform:rotate(1deg)}.n-attention-top{display:flex;justify-content:space-between;font-size:10px;color:#ae9061}.n-attention-top>span+span{color:#c6bda8;font-family:monospace}.n-attention-question{font-size:14px;line-height:1.8;color:#73664f;margin:20px 0}.n-decision-line{display:flex;gap:12px;align-items:center;font-size:9px;color:#a7a195;margin:17px 0}.n-decision-line>span:first-child{font-size:20px;color:#bdb4a4}.n-decision-result{padding:15px;background:#f6f8f5;border-radius:5px;border:1px solid #e7ece4}.n-decision-result .n-mini-label{font:9px monospace;color:#8b9786}.n-decision-result p{font-size:11px;line-height:1.8;margin:12px 0;color:#626f5d}.n-saved{font-size:8px;color:#8b9c80;display:block;text-align:right}
.n-ownership{background:#f1f4fb;padding:90px 0 55px;text-align:center}.n-ownership>.wrap>.n-eyebrow{color:#8491ad}.n-ownership h2{font-size:38px;font-weight:550;letter-spacing:-.05em;line-height:1.4;margin:0 0 52px}.n-own-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;max-width:900px;margin:auto}.n-own-icon{display:block;font-size:22px;font-weight:500;color:#6e80a9;letter-spacing:-1px;margin-bottom:20px}.n-own-grid h3{font-size:16px;font-weight:550;margin:0 0 14px}.n-own-grid p{font-size:12px;line-height:1.85;color:#8992a5;margin:0}.n-agents{margin-top:47px;padding-top:32px;border-top:1px solid #dde3ef}.n-agents>p{font-size:11px;color:#919aaf;margin:0 0 26px}.n-agents>div{display:flex;gap:64px;align-items:center;justify-content:center}.n-agents>div>span{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:500;letter-spacing:-.6px;color:#586176;white-space:nowrap}.n-agents img{opacity:.75;max-width:28px;max-height:28px}.n-agents small{font-size:9px;display:block;color:#a0a8b8;margin-top:25px}.n-people{padding:94px 0 100px}.n-people-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin:33px 0 46px}.n-people-heading h2{font-size:38px;line-height:1.4;letter-spacing:-.05em;font-weight:550;margin:0;flex:1}.n-people-heading h2 span{color:#81899a}.n-people-heading>p{font-size:12px;line-height:1.85;color:#969aa3;max-width:300px;margin:0}.n-people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.n-people-grid article{border-top:1px solid #dce0e7;padding:23px 8px 0}.n-person-num{font-size:10px;font-family:monospace;color:#b1b6c0}.n-people-grid h3{font-size:19px;font-weight:550;letter-spacing:-.03em;margin:22px 0 22px}.n-person-scene{font-size:12px;color:#838995;line-height:1.9;min-height:115px}.n-person-benefit{border-top:1px solid #edf0f5;padding-top:20px}.n-person-benefit>span{font-size:10px;color:#7484a9}.n-person-benefit>p{font-size:12px;line-height:1.9;color:#6e7788;margin:14px 0 0}.n-voices{padding-bottom:100px}.n-voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.n-voice-grid figure{padding:30px;background:#f5f7fb;margin:0}.n-voice-grid blockquote{font-size:22px;line-height:1.7;margin:0 0 24px}.n-voice-grid figcaption{font-size:12px;color:#939aa7}.n-closing{text-align:center;background:#f7f8fa;border-block:1px solid #eceef2;padding:78px 0 85px}.n-closing img{margin:0 auto 27px;width:43px;height:43px}.n-closing .n-eyebrow{font-size:9px;letter-spacing:.16em;margin:0 0 21px}.n-closing h2{font-size:52px;line-height:1.3;letter-spacing:-.055em;font-weight:550;margin:0 0 20px}.n-closing p:not(.n-eyebrow){font-size:15px;color:#8b909b;margin:0 0 30px}.n-closing-note{font-size:10px;color:#a2a8b3;display:block;margin-top:20px}.n-closing-note i{font-style:normal;color:#c9cdd5;margin:0 12px}
.n-footer{background:#fff;color:#676d79;padding:60px 0 0;border:0}.n-footer-top{display:grid;grid-template-columns:1.7fr .8fr .9fr 1.2fr;gap:40px;padding-bottom:54px}.n-footer-brand .n-brand{font-size:20px;color:#262b34}.n-footer-brand>p{font-size:12px;line-height:1.9;letter-spacing:0;color:#8f96a2;margin:24px 0 13px}.n-footer-brand>span{font:10px monospace;color:#acb1ba}.n-footer-top nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:7px}.n-footer-top nav h2{font-size:10px;letter-spacing:.05em;font-weight:500;color:#333c4c;margin:0 0 12px}.n-footer-top nav>a{font-size:11px;color:#949aa6;line-height:1.5}.n-footer-top nav>a:hover{color:#4569cf}.n-footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:21px 0 24px;border-top:1px solid #eceef1;font-size:9px;color:#a8adb7}.n-footer-bottom>div{display:flex;gap:23px}
/* The existing editorial content remains readable within the shared new shell. */
.about-page,.blog-index,.post-layout,.docs-layout{padding-top:64px}.about-head h1,.blog-index h1,.post-head h1,.docs-main h1{letter-spacing:-.045em}.about-head .section-label{color:#8294ba}.about-page .prose h2{font-weight:550}.about-page .prose a,.post-layout .prose a{color:#5278d1}.post-head .post-title,.about-head h1{color:#202633}.legal-page,.pricing-page{background:#fff}.legal-shell{padding-top:56px}.legal-head h1{letter-spacing:-.04em}.legal-switch{display:none!important}.docs-sidebar,.docs-toc{background:transparent}.docs-card{background:#fafbfe;border-color:#e5e9f1;border-radius:10px}.blog-card{border-color:#e5e9f1}.blog-card:hover{background:#f8faff}.n-utility{padding-top:66px;padding-bottom:75px;min-height:65vh}.n-utility-head{text-align:center;margin-bottom:55px}.n-utility-head>.n-eyebrow{font-size:10px;margin-bottom:25px}.n-utility-head h1{font-size:48px;font-weight:550;letter-spacing:-.055em;line-height:1.35;margin:0 0 24px}.n-utility-head>p:not(.n-eyebrow){font-size:15px;color:#8a909c;line-height:1.8;margin:0 0 22px}.n-download-content .download-platforms,.n-download-content .download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}.n-download-content .download-platform{padding:27px;border:1px solid #e2e7ef;border-radius:12px;background:#fafbfe;color:#5b667b}.n-download-content .download-platform h3{font-weight:550;color:#242d3c;font-size:19px}.n-download-content .download-platform-heading{margin-bottom:24px}.n-download-content .download-requirements{font-size:12px;color:#9aa2b1}.n-download-content .download-package{background:#eaf0ff;color:#5476ce;border-color:#dce6ff;border-radius:7px;font-size:11px;min-height:42px}.n-download-content .download-package:hover{background:#dfe8ff;color:#345bc0}.n-download-content .download-architecture-heading h4{font-size:12px}.n-download-content .download-availability{font-size:9px;background:#eef2f8;color:#8796b1}.n-download-content .download-help{font-size:10px;color:#a1a9b7}.n-download-content .download-format{font-size:9px;color:#a1adbf}.n-download-content .download-platform-title svg{width:22px;height:22px;color:#778ba8}.n-quickstart{margin-top:70px;border-top:1px solid var(--line);padding-top:35px}.n-quickstart>div h2{font-size:29px;font-weight:550;letter-spacing:-.04em;margin:20px 0 35px}.n-quickstart ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 0 25px}.n-quickstart li{display:flex;gap:15px}.n-quickstart li>span{font-size:10px;color:#a7b3cc;margin-top:4px}.n-quickstart h3{font-size:15px;margin-bottom:12px;font-weight:550}.n-quickstart p{font-size:12px;color:#9aA3b3;line-height:1.8}.n-help-links{display:flex;justify-content:center;gap:35px;border-top:1px solid var(--line);padding-top:25px;margin-top:45px;font-size:12px;color:#7385aa}.n-faq-layout{display:grid;grid-template-columns:220px 1fr;gap:65px;max-width:1000px;margin:0 auto 40px}.n-faq-layout aside{display:flex;flex-direction:column;gap:20px;font-size:12px;color:#9aa4b6;padding-top:20px}.n-faq-layout aside>p{font-size:16px;color:#333d4f;font-weight:500;margin:0 0 5px}.n-faq-list details{border-top:1px solid #e6eaf1;padding:0}.n-faq-list details:last-child{border-bottom:1px solid #e6eaf1}.n-faq-list summary{list-style:none;cursor:pointer;position:relative;padding:24px 30px 24px 0;font-size:14px;font-weight:500;line-height:1.7;color:#444f62;display:flex;align-items:baseline;gap:20px}.n-faq-list summary::-webkit-details-marker{display:none}.n-faq-list summary:after{content:'+';position:absolute;right:4px;font-size:19px;line-height:1.3;font-weight:300;color:#929fb7}.n-faq-list details[open] summary:after{content:'−'}.n-faq-list summary>span{font:10px monospace;color:#aab4c8}.n-faq-list details>div{font-size:12px;line-height:1.95;color:#8a95a8;max-width:680px;padding:0 35px 25px 33px}.n-faq-list details code{background:#f2f5fa;border-radius:4px;padding:2px 4px;font-size:11px}.n-pricing-beta{border-color:#dce5ff;color:#6984c6;background:#f1f5ff;letter-spacing:0;padding:7px 12px}.n-billing{display:flex;justify-content:center;background:#f3f5fa;border:1px solid #e7ebf3;border-radius:99px;padding:4px;max-width:240px;margin:-20px auto 46px}.n-billing button{flex:1;background:none;border:0;padding:10px 14px;border-radius:99px;color:#98a2b7;font-size:12px;white-space:nowrap}.n-billing button[aria-pressed=true]{background:white;color:#4a5b7a;box-shadow:0 2px 4px #22385e08}.n-billing small{font-size:8px;color:#6e8ccf;margin-left:4px}.n-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.n-plan{position:relative;border:1px solid #e4e9f2;border-radius:12px;padding:35px 27px 28px;background:#fff;min-width:0}.n-plan-plus{border-color:#b2c4f9;background:#f8faff}.n-plan-ribbon{position:absolute;top:-12px;left:24px;background:#5279e9;color:#fff;border-radius:99px;padding:6px 12px;font-size:8px;letter-spacing:.1em}.n-plan h2{font-size:20px;font-weight:550;margin-bottom:18px;letter-spacing:-.02em}.n-plan>p{font-size:11px;line-height:1.8;color:#9aa4b8;min-height:42px;margin:0 0 29px}.n-plan-price{font-size:43px;letter-spacing:-.05em;font-weight:500;min-height:60px;color:#25314a}.n-plan-unit{font-size:10px;color:#acb4c5;display:block;min-height:36px;line-height:1.8}.n-plan .n-button{width:100%;font-size:12px;margin:12px 0 25px;padding:12px 18px;gap:12px}.n-plan ul{list-style:none;padding:24px 0 0;border-top:1px solid #e8ecf5;margin:0}.n-plan li{font-size:11px;line-height:1.8;color:#8a97af;padding:7px 0 7px 17px;position:relative}.n-plan li:before{content:'✓';position:absolute;left:0;color:#7995d3;font-size:9px}.n-plan li strong{color:#52637f;font-weight:550}.n-pricing-notes{font-size:10px;color:#a2aabc;line-height:1.8;margin-top:27px}.n-pricing-notes p{margin-bottom:8px}.n-pricing-faq{display:grid;grid-template-columns:1fr 1.7fr;gap:65px;margin-top:70px}.n-pricing-faq>h2{font-size:28px;font-weight:550;letter-spacing:-.04em;line-height:1.4}.n-pricing-faq .n-faq-list details>div{padding-left:0}
@media(min-width:1600px){.n-hero{padding-top:118px}.n-hero h1{font-size:84px}}
@media(max-width:1100px){.n-header .n-desktop-nav{gap:18px;font-size:12px}.n-header-actions{gap:12px}.n-brand{font-size:19px}.n-header .header-inner{width:calc(100% - 48px);gap:16px}.n-feature{gap:40px}.n-feature h3{font-size:29px}.n-agents>div{gap:35px}.n-people-grid{gap:24px}.n-footer-top{gap:28px}.n-header-actions .lang-menu summary>span{max-width:65px;overflow:hidden;text-overflow:ellipsis}.n-plan{padding:30px 21px}.n-plans{gap:15px}.n-source-content{padding-inline:22px}.n-source-content .n-code-mark{left:7px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.n-header .n-desktop-nav{display:none}.n-menu-toggle{display:flex}.n-header .header-inner{height:68px}.n-header-actions .tr-note{display:none}.n-hero{padding-top:70px}.n-hero h1{font-size:58px}.n-hero-subtitle{font-size:16px}.n-product-preview{margin-top:45px}.n-value{padding:95px 0 80px}.n-value h2{font-size:35px}.n-value>p:not(.n-label){font-size:14px}.n-feature{gap:30px;min-height:410px}.n-feature h3{font-size:26px}.n-feature-copy>p{font-size:12px}.n-feature-stage{padding:30px 15px;min-height:330px}.n-stage-caption{left:15px;bottom:12px}.n-source-content{padding-inline:20px}.n-own-grid{gap:28px}.n-ownership h2{font-size:31px}.n-agents>div{gap:24px;flex-wrap:wrap}.n-agents>div>span{font-size:15px}.n-people-heading{gap:35px}.n-people-heading h2{font-size:30px}.n-people-grid{gap:20px}.n-person-scene{min-height:150px}.n-person-scene,.n-person-benefit>p{font-size:11px}.n-people-grid h3{font-size:16px}.n-footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.n-footer-top>nav:last-child{grid-column:2/4}.n-utility-head h1{font-size:39px}.n-download-content .download-platforms,.n-download-content .download-grid{grid-template-columns:1fr;max-width:600px;margin:auto}.n-download-content .download-platform{padding:26px 30px}.n-download-content .download-architectures{display:flex;gap:20px}.n-download-content .download-architecture{flex:1;border:none}.n-faq-layout{grid-template-columns:170px 1fr;gap:30px}.n-plan{padding:30px 18px 25px}.n-plan-price{font-size:35px}.n-pricing-faq{gap:30px}.n-quickstart ol{gap:20px}.n-quickstart li{gap:10px}.n-section-head h2{font-size:35px}}
@media(max-width:620px){:root{--header-h:64px}.wrap{width:calc(100% - 40px)}.n-header .header-inner{width:calc(100% - 32px);height:64px;gap:10px}.n-brand{font-size:17px;gap:7px;letter-spacing:-.7px}.n-brand>svg{width:24px;height:24px}.n-brand-dot{display:none}.n-header-actions{gap:12px}.n-header .lang-menu summary{font-size:10px;gap:4px}.n-header .lang-menu summary>svg:first-child{width:15px;height:15px}.n-header .lang-menu summary>span{display:none}.n-header .lang-menu summary .chev{display:none}.n-nav-download{padding:8px 12px;font-size:10px;gap:8px}.n-menu-toggle{width:22px}.n-hero{padding-top:58px}.n-hero .n-eyebrow{font-size:9px;margin-bottom:26px;gap:8px}.n-hero h1{font-size:clamp(35px,8.8vw,54px);line-height:1.4;letter-spacing:-.055em;margin-bottom:22px}.n-hero-subtitle{font-size:12px;line-height:1.9;margin:0 auto 25px;max-width:330px}.n-button{font-size:12px;padding:13px 19px;gap:16px}.n-actions{gap:8px}.n-platforms{font-size:9px;margin-top:17px}.n-product-preview{margin-top:36px;border-radius:9px}.n-preview-top{height:33px;padding:0 10px;font-size:9px}.n-preview-top>span img{width:13px;height:13px}.n-preview-top>a{font-size:8px;width:90px}.n-traffic{width:90px;gap:4px}.n-traffic i{width:5px;height:5px}.n-product-preview figcaption{font-size:8px;padding:10px 12px;border-radius:0 0 9px 9px}.n-preview-caption-right{display:none}.n-value{padding:75px 0 65px}.n-value>.n-label{font-size:8px;letter-spacing:.08em}.n-value h2{font-size:29px;line-height:1.5;letter-spacing:-.06em;margin-top:22px}.n-value>p:not(.n-label){font-size:12px;line-height:1.9;max-width:355px}.n-intent-loop{gap:13px;margin-top:32px}.n-intent-loop>span{font-size:10px;gap:6px}.n-intent-loop>span .n-dot{width:6px;height:6px}.n-intent-loop svg{width:16px;height:16px}.n-loop-path{gap:4px}.n-loop-path b{font-size:14px}.n-features{padding:30px 0 56px}.n-label{font-size:8px;letter-spacing:.08em}.n-section-head h2{font-size:28px;margin:27px 0}.n-feature-picks{gap:14px;overflow-x:auto;scrollbar-width:none}.n-feature-picks button{font-size:10px;gap:5px;min-width:fit-content;max-width:200px;padding-bottom:12px}.n-feature-picks button span{display:none}.n-feature{grid-template-columns:1fr;padding-top:45px;gap:27px;min-height:0}.n-feature-reverse{grid-template-columns:1fr}.n-feature-reverse .n-feature-copy{order:0}.n-feature-number{margin-bottom:16px;font-size:9px}.n-feature h3{font-size:26px;line-height:1.45;max-width:330px;margin-bottom:16px}.n-feature-copy>p{font-size:12px;line-height:1.9;max-width:350px;margin-bottom:16px}.n-text-link{font-size:11px}.n-feature-stage{min-height:325px;padding:35px 26px}.n-source-content{padding:24px 25px 30px}.n-source-content h3{font-size:17px}.n-source-content p{font-size:11px}.n-source-content h4{font-size:13px}.n-feature .n-source-content .n-code-mark{left:8px}.n-source-content .n-selected-intent{font-size:10px}.n-filebar,.n-panel-top{font-size:9px}.n-file-type{font-size:8px}.n-rea-row{padding:20px 19px 3px}.n-evidence{padding-bottom:17px}.n-rea-row p{font-size:10px}.n-attention-card{padding:20px}.n-attention-question{font-size:13px}.n-ownership{padding:55px 0 34px}.n-ownership h2{font-size:28px;max-width:320px;margin:0 auto 40px;line-height:1.6}.n-ownership>.wrap>.n-eyebrow{font-size:9px;margin-bottom:20px}.n-own-grid{grid-template-columns:1fr;gap:28px;text-align:left}.n-own-grid>div{position:relative;padding-left:65px;min-height:60px}.n-own-icon{position:absolute;left:8px;top:0;font-size:21px}.n-own-grid h3{font-size:14px;margin-bottom:9px}.n-own-grid p{font-size:11px;max-width:280px}.n-agents{margin-top:33px;padding-top:27px}.n-agents>p{font-size:9px}.n-agents>div{display:grid;grid-template-columns:1fr 1fr;gap:25px 12px;max-width:290px;margin:auto;justify-items:start}.n-agents>div>span{font-size:14px;gap:9px}.n-agents img{width:22px;height:22px}.n-agents small{font-size:8px;line-height:1.6}.n-people{padding:56px 0 60px}.n-people-heading{display:block;margin:26px 0 32px}.n-people-heading h2{font-size:28px;line-height:1.5}.n-people-heading>p{margin-top:20px;font-size:11px;max-width:340px}.n-people-grid{grid-template-columns:1fr;gap:32px}.n-people-grid article{padding:18px 0 0}.n-people-grid h3{font-size:18px;margin:15px 0 18px}.n-person-scene{min-height:0;font-size:12px;margin-bottom:20px}.n-person-benefit{padding-top:15px}.n-person-benefit>p{font-size:11px;margin-top:10px}.n-closing{padding:52px 0 58px}.n-closing h2{font-size:37px;line-height:1.5;margin-bottom:15px}.n-closing p:not(.n-eyebrow){font-size:12px;line-height:1.8}.n-closing-note{font-size:8px}.n-closing img{width:35px;height:35px}.n-footer{padding-top:40px}.n-footer-top{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:32px}.n-footer-brand{grid-column:1/-1}.n-footer-brand>p{margin-top:18px;font-size:11px}.n-footer-top>nav:last-child{grid-column:1/-1}.n-footer-top nav h2{font-size:10px;margin-bottom:5px}.n-footer-top nav>a{font-size:10px}.n-footer-bottom{font-size:8px;gap:15px;padding-bottom:20px}.n-footer-bottom>div{gap:15px}.n-utility{padding-top:44px;padding-bottom:50px}.n-utility-head{margin-bottom:35px}.n-utility-head h1{font-size:32px;line-height:1.45}.n-utility-head>p:not(.n-eyebrow){font-size:12px;max-width:330px;margin-inline:auto}.n-utility-head>.n-eyebrow{font-size:9px;margin-bottom:21px}.n-download-content .download-platform{padding:23px}.n-download-content .download-architectures{display:block}.n-download-content .download-architecture+.download-architecture{border-top:1px solid #e4e9f2}.n-quickstart{margin-top:45px}.n-quickstart>div h2{font-size:24px}.n-quickstart ol{grid-template-columns:1fr;gap:18px}.n-quickstart h3{font-size:14px;margin-bottom:7px}.n-quickstart p{font-size:11px;margin-bottom:5px}.n-help-links{gap:20px;font-size:10px;flex-wrap:wrap}.n-faq-layout{grid-template-columns:1fr;gap:25px}.n-faq-layout aside{flex-direction:row;flex-wrap:wrap;gap:15px;font-size:10px;padding-top:0}.n-faq-layout aside>p{display:none}.n-faq-list summary{font-size:12px;padding-block:20px;gap:12px}.n-faq-list details>div{font-size:11px;padding:0 20px 22px 24px}.n-faq-list summary>span{font-size:8px}.n-plans{grid-template-columns:1fr;gap:28px}.n-plan{padding:29px}.n-plan-price{font-size:43px;min-height:53px}.n-plan>p{min-height:0;margin-bottom:20px;font-size:12px}.n-plan-unit{min-height:20px;font-size:10px}.n-plan li{font-size:12px}.n-pricing-faq{grid-template-columns:1fr;gap:20px;margin-top:45px}.n-pricing-faq>h2{font-size:26px}.n-pricing-faq .n-faq-list details>div{padding-left:0}.n-billing{margin-top:0;margin-bottom:40px}.n-voice-grid{grid-template-columns:1fr}.about-page,.blog-index,.post-layout,.docs-layout{padding-top:35px}.about-head h1,.post-head h1{font-size:34px}.legal-head h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.n-feature-stage:hover .n-source-card{transform:rotate(-2deg)}}
/* Reset inherited navigation hiding from the previous website. */
html .n-header nav.n-desktop-nav>a,html .n-header nav.n-mobile-nav>a{display:inline-flex!important}
.n-footer>.tr-foot{max-width:1160px;width:calc(100% - 48px);margin:0 auto;padding:0 0 20px;color:#969faf;font-size:10px}
html body{--accent:#496ff1;--accent-light:#edf2ff}
/* Keep descriptive text readable against the light surfaces. */
.n-feature-copy>p,.n-person-scene,.n-own-grid p,.n-utility-head>p:not(.n-eyebrow),.n-plan>p{color:#737e91}
.n-plan-unit,.n-plan li,.n-quickstart p,.n-faq-list details>div{color:#737e91}
.n-footer-top nav>a,.n-footer-brand>p,.n-pricing-notes{color:#7a8597}
.n-pricing-notes [data-billing-caption]{color:#657ba8}


/* Mars-inspired refinement: bold typography, quiet chrome, clear blue/black actions. */
html body{--accent:#477cf5;--accent-light:#edf3ff;color:#171717}
.n-header .header-inner{height:73px;width:calc(100% - 96px);max-width:1440px;position:relative}
.n-brand{display:inline-flex;flex:none}
.n-brand img{width:182px;height:32px;object-fit:contain}
.n-header .n-desktop-nav{position:absolute;left:50%;transform:translateX(-50%);gap:31px;font-size:15px;color:#646464}
.n-header-actions{margin-left:auto;gap:24px}
.n-nav-download{padding:11px 22px;background:#171717;font-size:14px;gap:12px}
.n-header .lang-menu summary{font-size:13px;color:#262626}
.n-header{background:#ffffffed;border-color:#e8e8e8}
.n-hero{padding-top:99px}
.n-hero-copy>.n-eyebrow,.n-hero-copy>.n-platforms{display:none}
html .n-home .n-hero h1{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:clamp(60px,7.2vw,96px);font-weight:700;line-height:1.31;letter-spacing:-.055em;margin:0 0 34px;color:#171717}
.n-hero-highlight:after{display:none}
.n-intent-pill{position:relative;display:inline-block;padding:0 .58em 0 0;white-space:nowrap;letter-spacing:-.055em;margin-right:.14em}
.n-hero-subtitle{font-size:24px;color:#6d6d6d;letter-spacing:0;line-height:1.6;margin-bottom:30px}
.n-actions{gap:22px}
.n-button{padding:16px 26px;font-size:16px;font-weight:400;gap:17px;box-shadow:none}
.n-primary{background:#477cf5;box-shadow:none;color:#fff}
.n-primary:hover{background:#3569df}
.n-secondary{background:#171717;border-color:#171717;color:#fff}
.n-secondary:hover{background:#343434;border-color:#343434;color:#fff}
.n-product-preview{margin-top:70px;border-radius:18px;border-color:#ededed;box-shadow:0 6px 30px #00000004}
.n-product-preview:before{display:none}
.n-preview-top{background:#fafafa;border-radius:18px 18px 0 0;border-color:#ededed}
.n-product-preview figcaption{font-size:11px;color:#767676;border-radius:0 0 18px 18px}
.n-home .n-label,.n-feature-number,.n-stage-caption,.n-person-num,.n-ownership>.wrap>.n-eyebrow,.n-closing .n-eyebrow{display:none}
.n-value{padding:118px 0 108px;max-width:920px}
html .n-home .n-value h2{font-size:50px;font-weight:700;line-height:1.35;letter-spacing:-.04em;margin:0 0 28px}
.n-value>p:not(.n-label){font-size:18px;color:#6e6e6e;line-height:1.9;max-width:800px}
.n-intent-loop{margin-top:38px;gap:30px;max-width:640px}
.n-intent-loop>span{font-size:15px;color:#5d5d5d}
.n-loop-path i{background:#dedede;height:1px}.n-loop-path b{color:#9b9b9b}
.n-features{display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:65px;row-gap:52px;border:0;padding:30px 0 100px;align-items:start}
.n-section-head{grid-column:1/-1;text-align:center}
html .n-home .n-section-head h2{font-size:48px;line-height:1.4;font-weight:700;letter-spacing:-.04em;margin:0}
.n-feature-picks{display:flex;flex-direction:column;gap:0;border:0;align-self:start;padding-top:0}
.n-feature-picks button{display:flex;align-items:center;gap:12px;font-size:16px;line-height:1.6;color:#a0a0a0;padding:21px 0;border:0;border-bottom:1px solid #e7e7e7;text-align:left;width:100%;max-width:none}
.n-feature-picks button:before{content:"";width:8px;height:8px;flex:none;border:1px solid #c8c8c8;border-radius:50%}
.n-feature-picks button>span{display:none}
.n-feature-picks button[aria-selected=true]{color:#171717;border-color:#e7e7e7;background:none}
.n-feature-picks button[aria-selected=true]:before{background:#477cf5;border-color:#477cf5;box-shadow:0 0 0 4px #edf3ff}
.n-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;padding:0;min-height:0;grid-column:2;grid-row:2;margin:0}
.n-feature[hidden]{display:none!important}
.n-feature-reverse .n-feature-copy{order:0}
html .n-home .n-feature h3{font-size:28px;line-height:1.5;font-weight:650;letter-spacing:0;max-width:none;margin:0 0 13px}
.n-feature-copy>p{font-size:17px;line-height:1.8;color:#737373;max-width:none;margin:0 0 18px}
.n-text-link{font-size:14px;color:#606060;gap:8px}
.n-feature-stage{min-height:460px;padding:60px 46px;border-radius:30px;box-shadow:none}
.n-stage-1{background:radial-gradient(ellipse at 80% 20%,#d5e2fd 0,transparent 56%),radial-gradient(ellipse at 0 95%,#d9c9ec 0,transparent 60%),linear-gradient(130deg,#a5bce7,#d8e1ef)}
.n-stage-2{background:radial-gradient(ellipse at 10% 20%,#fbebd4,transparent 65%),radial-gradient(ellipse at 95% 95%,#c8d8e2,transparent 60%),#e7e5dc}
.n-stage-3{background:radial-gradient(ellipse at 10% 90%,#c7daf5,transparent 60%),radial-gradient(ellipse at 90% 20%,#e9dcf4,transparent 65%),#d9def1}
.n-source-card,.n-evidence-card,.n-attention-card{transform:none!important;max-width:540px;border-radius:12px;border-color:#ffffff60;box-shadow:0 22px 55px #28375120}
.n-filebar,.n-panel-top{font-size:13px;padding:17px 22px;border-color:#eee}
.n-file-icon{font-size:11px}.n-file-type{font-size:11px}
.n-source-content{padding:30px 37px 40px}
html .n-home .n-source-content h3{font-size:24px;font-weight:650;margin-bottom:16px}
.n-source-content h4{font-size:17px;margin:27px 0 13px}
.n-source-content p{font-size:14px;line-height:1.9;color:#555}
.n-source-content .n-selected-intent{font-size:14px;padding:8px 10px}
.n-source-content .n-code-mark{font-size:12px;left:14px}
.n-selection-label{font-size:10px;bottom:19px}
.n-rea-row{padding:25px 27px 6px}.n-rea-row p{font-size:14px;line-height:1.9;color:#555}
.n-mini-label{font-size:12px}.n-rea-row code{font-size:12px}.n-citations span{font-size:11px;padding:3px 7px}
.n-evidence{padding-top:16px;padding-bottom:25px}.n-evidence-caption{font-size:10px;padding:12px 27px;color:#888}
.n-attention-card{padding:30px}.n-attention-top{font-size:13px}.n-attention-question{font-size:18px;margin:25px 0;line-height:1.8}
.n-decision-line{font-size:12px;margin:22px 0}.n-decision-result{padding:20px}.n-decision-result p{font-size:14px;line-height:1.9}
.n-decision-result .n-mini-label{font-size:11px}.n-saved{font-size:10px}
.n-ownership{background:#171717;color:white;padding:85px 0 70px}
html .n-home .n-ownership h2{font-size:47px;font-weight:650;letter-spacing:-.03em;line-height:1.4;margin:0 0 48px;color:#fff}
.n-own-grid{max-width:none;gap:0;border:1px solid #393939;border-bottom:0}
.n-own-grid>div{padding:34px 30px;border-right:1px solid #393939}
.n-own-grid>div:last-child{border-right:0}
.n-own-icon{color:#c7c7c7;font-size:27px;margin-bottom:21px}
.n-own-grid h3{color:#f5f5f5;font-size:19px;font-weight:500;margin-bottom:15px}
.n-own-grid p{font-size:14px;color:#a4a4a4;line-height:1.85}
.n-agents{margin:0;padding-top:0;border:0}
.n-agents>p{font-size:14px;color:#aaa;margin:0;padding:24px 15px;border:1px solid #393939}
.n-agents>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-left:1px solid #393939}
.n-agents>div>span{display:flex;justify-content:center;gap:13px;padding:33px 20px;border-right:1px solid #393939;border-bottom:1px solid #393939;font-size:23px;font-weight:500;color:#eee;letter-spacing:-.5px}
.n-agents img{filter:brightness(0) invert(1);opacity:.9;width:29px;height:29px}
.n-agents small{font-size:11px;color:#767676;margin-top:24px}
.n-people{padding:100px 0}.n-people-heading{display:block;text-align:center;margin:0 auto 48px}
html .n-home .n-people-heading h2{font-size:47px;font-weight:650;letter-spacing:-.03em;line-height:1.5}
.n-people-heading h2 span{color:inherit}
.n-people-heading>p{font-size:17px;line-height:1.8;max-width:650px;margin:21px auto 0;color:#777}
.n-people-grid{gap:22px}.n-people-grid article{border:0;background:#f6f6f6;padding:30px;border-radius:20px}
.n-people-grid h3{font-size:23px;font-weight:600;margin:0 0 24px;line-height:1.5}
.n-person-scene{font-size:15px;line-height:1.9;min-height:165px;color:#686868}
.n-person-benefit{border-color:#dedede;padding-top:23px}.n-person-benefit>span{font-size:13px;color:#444}
.n-person-benefit>p{font-size:14px;line-height:1.9;color:#777}
.n-closing{background:#f7f7f7;border:0;padding:85px 0 95px}
.n-closing img{width:68px;height:68px;margin-bottom:16px}
html .n-home .n-closing h2{font-size:60px;font-weight:650;letter-spacing:-.04em;margin-bottom:23px}
.n-closing p:not(.n-eyebrow){font-size:20px;color:#777;margin-bottom:32px}
.n-closing-note{font-size:12px;color:#999;margin-top:23px}
.n-footer-top{padding-bottom:55px}.n-footer-brand .n-brand img{width:192px;height:auto}
.n-footer-brand>p{font-size:15px;color:#777;line-height:1.8;margin-top:26px}
.n-footer-brand>span{display:none}.n-footer-top nav{gap:16px}.n-footer-top nav h2{font-size:14px;font-weight:550;color:#202020}
.n-footer-top nav>a{font-size:13px;color:#777}.n-footer-bottom{font-size:11px}
.n-utility-head h1{font-weight:650;color:#171717}.n-utility-head>p:not(.n-eyebrow){font-size:18px;color:#747474}
.n-plan{border-radius:20px}.n-plan h2{font-size:23px;font-weight:600}.n-plan>p,.n-plan li{font-size:13px}.n-plan .n-secondary{background:#fff;border-color:#ddd;color:#222}
@media(max-width:1100px){
 .n-header .n-desktop-nav{font-size:13px;gap:20px}.n-header-actions{gap:16px}.n-brand img{width:164px;height:29px}
 .n-features{grid-template-columns:200px minmax(0,1fr);column-gap:35px}.n-feature-picks button{font-size:14px}.n-feature-stage{padding:44px 30px;min-height:430px}
 .n-source-content{padding-inline:28px}.n-agents>div>span{font-size:20px}.n-people-grid article{padding:25px}.n-person-scene{min-height:200px}
}
@media(max-width:1000px){
 .n-header .n-desktop-nav{display:none}.n-header .header-inner{width:calc(100% - 48px)}.n-menu-toggle{display:flex}
 .n-home .n-hero-subtitle{font-size:21px}.n-feature-copy>p{font-size:15px}
 .n-agents>div>span{font-size:18px;padding:30px 10px}.n-people-grid{gap:15px}.n-person-scene{font-size:14px;min-height:220px}
}
@media(max-width:700px){
 .n-header .header-inner{height:65px;width:calc(100% - 36px)}.n-brand img{width:151px;height:27px}.n-header-actions{gap:14px}.n-nav-download{font-size:12px;padding:9px 15px;gap:8px}
 .n-header .lang-menu summary>span{display:none}.n-header .lang-menu summary .chev{display:none}
 .n-hero{padding-top:62px}.n-home .n-hero-copy>.n-eyebrow{display:none}
 html .n-home .n-hero h1{font-size:clamp(34px,9.4vw,60px);font-weight:700;line-height:1.5;letter-spacing:-.055em;margin-bottom:25px}
 .n-home .n-hero-subtitle{font-size:15px;line-height:1.85;max-width:360px;margin:0 auto 27px}
 .n-button{font-size:14px;padding:14px 21px;gap:13px}.n-actions{gap:13px}
 .n-product-preview{margin-top:46px;border-radius:12px}.n-preview-top{border-radius:12px 12px 0 0}
 .n-product-preview figcaption{font-size:9px;border-radius:0 0 12px 12px}
 .n-value{padding:75px 0}.n-value>p:not(.n-label){font-size:15px;line-height:1.85;max-width:500px}
 html .n-home .n-value h2{font-size:33px;font-weight:650;line-height:1.5;margin-bottom:23px}
 .n-intent-loop{gap:13px;margin-top:28px}.n-intent-loop>span{font-size:11px}
 .n-features{grid-template-columns:minmax(0,1fr);row-gap:27px;padding:0 0 65px}
 .n-section-head{grid-column:1;margin-bottom:5px}html .n-home .n-section-head h2{font-size:31px;line-height:1.5}
 .n-feature-picks{flex-direction:row;overflow-x:auto;padding:0;gap:22px;border-bottom:1px solid #e5e5e5}
 .n-feature-picks button{min-width:fit-content;width:auto;font-size:13px;gap:7px;padding:13px 0;max-width:none;line-height:1.5;white-space:nowrap;border:0}
 .n-feature-picks button:before{width:6px;height:6px}.n-feature-picks button[aria-selected=true]{border:0;border-bottom:2px solid #477cf5}
 .n-feature{grid-column:1;grid-row:3;gap:25px}
 html .n-home .n-feature h3{font-size:23px;line-height:1.5;margin-bottom:12px}
 .n-feature-copy>p{font-size:14px;line-height:1.85}.n-text-link{font-size:13px}
 .n-feature-stage{min-height:350px;padding:35px 21px;border-radius:22px}
 .n-filebar,.n-panel-top{font-size:11px;padding:13px 15px}.n-file-type{font-size:9px}
 .n-source-content{padding:24px 25px 33px}html .n-home .n-source-content h3{font-size:20px;margin-bottom:15px}
 .n-source-content h4{font-size:14px;margin:20px 0 12px}.n-source-content p,.n-source-content .n-selected-intent{font-size:12px}
 .n-source-content .n-code-mark{font-size:10px;left:8px}.n-selection-label{font-size:9px;bottom:14px}
 .n-rea-row{padding:20px 18px 5px}.n-rea-row p{font-size:12px;line-height:1.9}.n-evidence{padding-bottom:19px}
 .n-mini-label{font-size:11px}.n-rea-row code{font-size:10px}.n-citations span{font-size:9px}.n-evidence-caption{font-size:9px;padding:10px 18px}
 .n-attention-card{padding:22px}.n-attention-top{font-size:11px}.n-attention-question{font-size:15px;margin:20px 0}
 .n-decision-line{font-size:10px;margin:18px 0}.n-decision-result{padding:16px}.n-decision-result p{font-size:12px}.n-decision-result .n-mini-label{font-size:9px}
 .n-ownership{padding:59px 0 42px}html .n-home .n-ownership h2{font-size:32px;font-weight:600;max-width:350px;line-height:1.6;margin-bottom:32px}
 .n-own-grid{display:grid;grid-template-columns:1fr;border-bottom:0;text-align:center}
 .n-own-grid>div{padding:27px 23px;border-right:0;border-bottom:1px solid #393939}
 .n-own-grid>div:last-child{border-bottom:0}.n-own-icon{position:static;font-size:24px;margin-bottom:12px}
 .n-own-grid h3{font-size:18px;margin-bottom:10px}.n-own-grid p{font-size:13px;max-width:330px;margin:auto}
 .n-agents>p{font-size:12px;padding:20px 10px}
 .n-agents>div{grid-template-columns:1fr 1fr;max-width:none;margin:0;justify-items:stretch}
 .n-agents>div>span{padding:27px 12px;font-size:17px;gap:10px;justify-content:center;min-width:0}
 .n-agents img{width:24px;height:24px}.n-agents small{font-size:10px;line-height:1.7;max-width:300px;margin:22px auto 0}
 .n-people{padding:65px 0}.n-people-heading{margin-bottom:32px}
 html .n-home .n-people-heading h2{font-size:32px;font-weight:650}.n-people-heading>p{font-size:15px;line-height:1.8;margin-top:18px}
 .n-people-grid{grid-template-columns:1fr;gap:18px}.n-people-grid article{padding:27px;border-radius:18px}
 .n-people-grid h3{font-size:22px;margin:0 0 18px}.n-person-scene{font-size:15px;min-height:0;margin-bottom:23px}
 .n-person-benefit>span{font-size:12px}.n-person-benefit>p{font-size:14px}
 .n-closing{padding:60px 0 66px}.n-closing img{width:57px;height:57px}
 html .n-home .n-closing h2{font-size:38px;line-height:1.4}.n-closing p:not(.n-eyebrow){font-size:15px;line-height:1.85;margin-bottom:26px}
 .n-closing-note{font-size:10px}.n-footer-brand .n-brand img{width:172px}
 .n-footer-brand>p{font-size:14px}.n-footer-top nav h2{font-size:13px}.n-footer-top nav>a{font-size:12px}
 .n-footer-bottom{font-size:9px;gap:12px;flex-wrap:wrap}.n-footer-bottom>div{gap:15px}
 .n-utility-head>p:not(.n-eyebrow){font-size:15px}.n-plan>p,.n-plan li{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.n-source-card,.n-feature-stage:hover .n-source-card{transform:none}}
/* All feature explanations remain in normal flow when JavaScript is unavailable. */
.n-feature{grid-row:auto}
.n-features[data-tabs-ready] .n-feature{grid-row:2}
@media(max-width:700px){.n-features[data-tabs-ready] .n-feature{grid-row:3}}

/* Navigation motion: one shared highlight follows the pointer or keyboard focus. */
.n-header{transition:background-color .24s ease,border-color .24s ease,box-shadow .3s ease}
.n-header.is-scrolled{background:#ffffffed;border-bottom-color:#dedfe3;box-shadow:0 5px 24px #17171708;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.n-desktop-nav{isolation:isolate}
.n-desktop-nav>a{position:relative;z-index:1;padding:8px 0;transition:color .18s ease,transform .22s ease}
.n-desktop-nav>a:hover,.n-desktop-nav>a:focus-visible{color:#151515}
.n-nav-indicator{pointer-events:none;position:absolute;z-index:0;top:50%;left:0;width:var(--nav-width,0px);height:38px;border-radius:999px;background:#f0f3fa;opacity:0;transform:translate3d(var(--nav-x,0px),-50%,0)}
.n-nav-ready .n-nav-indicator{transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .16s ease}
.n-desktop-nav.has-indicator .n-nav-indicator{opacity:1}
.n-brand img{transition:opacity .2s ease,transform .24s ease}
.n-brand:hover img{opacity:.78;transform:translateY(-1px)}
.n-nav-download{transition:background-color .2s ease,box-shadow .24s ease,transform .24s ease}
.n-nav-download>span{display:inline-block;transition:transform .24s cubic-bezier(.22,1,.36,1)}
.n-nav-download:hover{transform:translateY(-1px);box-shadow:0 5px 14px #17171715}
.n-nav-download:hover>span{transform:translateY(2px)}
.n-nav-download:active{transform:translateY(0);box-shadow:none}
.n-menu-toggle span{transform-origin:center;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.n-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.n-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.n-mobile-nav a{transition:color .18s ease,background-color .18s ease,transform .2s ease}
.n-mobile-nav a:hover,.n-mobile-nav a:focus-visible{color:#477cf5;transform:translateX(4px)}
.lang-menu[open]>ul,.tr-note[open]>.tr-pop{transform-origin:top right;animation:n-nav-pop .2s cubic-bezier(.22,1,.36,1) both}
@keyframes n-nav-pop{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){
 .n-header,.n-header *, .n-nav-ready .n-nav-indicator{transition:none!important;animation:none!important}
 .n-brand:hover img,.n-nav-download:hover,.n-nav-download:hover>span,.n-mobile-nav a:hover,.n-mobile-nav a:focus-visible{transform:none}
}

/* The header keeps its place in the document while its surface becomes a floating capsule. */
.n-header,.n-header.is-scrolled{
 --nav-morph-duration:740ms;--nav-morph-ease:cubic-bezier(.4,0,.2,1);
 height:74px;position:sticky;top:0;isolation:isolate;pointer-events:none;
 background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
}
.n-header:before{
 content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:74px;
 border:1px solid transparent;border-bottom-color:#e8e8e8;border-radius:0;
 background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
 box-shadow:0 0 0 transparent;pointer-events:none;
 transition:top var(--nav-morph-duration) var(--nav-morph-ease),left var(--nav-morph-duration) var(--nav-morph-ease),right var(--nav-morph-duration) var(--nav-morph-ease),height var(--nav-morph-duration) var(--nav-morph-ease),border-radius var(--nav-morph-duration) var(--nav-morph-ease),border-color .54s ease,background-color .54s ease,box-shadow var(--nav-morph-duration) ease;
}
.n-header .header-inner{
 height:74px;padding-inline:0;pointer-events:auto;
 transition:padding-inline var(--nav-morph-duration) var(--nav-morph-ease),width var(--nav-morph-duration) var(--nav-morph-ease),height var(--nav-morph-duration) var(--nav-morph-ease),transform var(--nav-morph-duration) var(--nav-morph-ease);
}
.n-header.is-scrolled:before{
 top:12px;left:max(48px,calc((100% - 1440px)/2));right:max(48px,calc((100% - 1440px)/2));height:64px;
 border-color:#e1e3e9;border-radius:999px;background:rgba(255,255,255,.87);
 box-shadow:0 12px 40px -9px #171d3024,0 2px 7px #171d3005;
}
.n-header.is-scrolled .header-inner{width:calc(100% - 96px);max-width:1440px;padding-inline:32px;height:64px;transform:translateY(12px)}
.n-header .n-mobile-nav{
 pointer-events:auto;position:absolute;top:84px;left:24px;right:24px;
 border:1px solid #e6e8ee;border-radius:22px;background:rgba(255,255,255,.96);
 box-shadow:0 16px 40px #171d3014;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.n-header .n-mobile-nav a:last-child{border-bottom:0}
@media(max-width:1000px){
 .n-header.is-scrolled:before{left:24px;right:24px}
 .n-header.is-scrolled .header-inner{width:calc(100% - 48px);padding-inline:24px}
}
@media(max-width:700px){
 .n-header,.n-header.is-scrolled{height:66px}
 .n-header:before,.n-header .header-inner{height:66px}
 .n-header.is-scrolled:before{top:10px;left:12px;right:12px;height:56px}
 .n-header.is-scrolled .header-inner{width:calc(100% - 24px);padding-inline:16px;height:56px;transform:translateY(10px)}
 .n-header .n-mobile-nav{top:78px;left:12px;right:12px;border-radius:22px}
}
@media(prefers-reduced-motion:reduce){
 .n-header:before,.n-header .header-inner{transition:none!important}
}


/* Intent highlight: the desktop app's primary-200 tint and primary-500 accent.
   Source: noema-app/implementation/src/renderer/src/themes.css (light themes).
   Choose a palette with data-intent-theme on the hero, keeping its text black. */
:is(body.n-home,.n-hero)[data-intent-theme="steel-cobalt"]{
 --intent-tint:oklch(0.93 0.034 250);--intent-dot:oklch(0.53 0.16 258);
}
:is(body.n-home,.n-hero)[data-intent-theme="stone-indigo"]{
 --intent-tint:oklch(0.93 0.033 268.4);--intent-dot:oklch(0.5 0.15 278);
}
:is(body.n-home,.n-hero)[data-intent-theme="paper-teal"]{
 --intent-tint:oklch(0.93 0.027 203.6);--intent-dot:oklch(0.5 0.084 210);
}
:is(body.n-home,.n-hero)[data-intent-theme="stone-clay"]{
 --intent-tint:oklch(0.93 0.035 56.4);--intent-dot:oklch(0.55 0.125 42);
}
/* As in the app: the intent is underlined, and a thin ring on its right says it is still unread. */
.n-intent-pill:before{content:"";position:absolute;left:0;right:.58em;bottom:.05em;height:.085em;background:var(--intent-dot,#2d6d78);transform-origin:left;transition:background-color 1.8s ease-in-out;animation:n-intent-draw 1s cubic-bezier(.22,1,.36,1) .3s both}
.n-intent-pill:after{content:"";position:absolute;right:.03em;top:50%;box-sizing:border-box;width:.4em;height:.4em;margin-top:-.22em;border:.085em solid var(--intent-dot,#2d6d78);border-radius:50%;transition:border-color 1.8s ease-in-out;animation:n-intent-pop .5s cubic-bezier(.3,1.6,.5,1) 1.05s both}
.n-hang{margin-right:-.8em}
@keyframes n-intent-draw{from{transform:scaleX(0)}}@keyframes n-intent-pop{from{transform:scale(0);opacity:0}}

/* A viewport resize settles responsive geometry immediately; scrolling still morphs smoothly. */
.n-header.is-resizing:before,.n-header.is-resizing .header-inner{transition:none!important}


/* One palette supplies the title, primary download actions, selected feature and nav highlight. */
body.n-home{--intent-tint:oklch(0.93 0.034 250);--intent-dot:oklch(0.53 0.16 258)}
.n-home .n-primary,.n-home .n-primary:hover{
 background:var(--intent-dot);color:#fff;
 transition:background-color 1.8s ease-in-out,transform .22s ease,box-shadow .22s ease;
}
.n-home .n-primary:hover{box-shadow:0 5px 15px #17171717}
.n-home .n-feature-picks button:before{
 transition:background-color 1.8s ease-in-out,border-color 1.8s ease-in-out,box-shadow 1.8s ease-in-out;
}
.n-home .n-feature-picks button[aria-selected=true]:before{
 background:var(--intent-dot);border-color:var(--intent-dot);box-shadow:0 0 0 4px var(--intent-tint);
}
.n-home .n-nav-indicator{background:var(--intent-tint)}
.n-home .n-nav-ready .n-nav-indicator{
 transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .16s ease,background-color 1.8s ease-in-out;
}
@media(max-width:700px){
 .n-home .n-feature-picks button{transition:border-bottom-color 1.8s ease-in-out,color .2s ease}
 .n-home .n-feature-picks button[aria-selected=true]{border-bottom-color:var(--intent-dot)}
}
@media(prefers-reduced-motion:reduce){
 .n-home .n-primary,.n-home .n-feature-picks button,.n-home .n-feature-picks button:before,.n-home .n-nav-ready .n-nav-indicator{transition:none!important}
}


/* Chapter two: the page scrolls natively and the words pass by; only the camera stays with the reader.
   Every colour derives from the switchable theme hue set on the hero (--story-h). */
:is(body.n-home,.n-hero)[data-intent-theme="steel-cobalt"]{--story-h:254}
:is(body.n-home,.n-hero)[data-intent-theme="stone-indigo"]{--story-h:274}
:is(body.n-home,.n-hero)[data-intent-theme="paper-teal"]{--story-h:208}
:is(body.n-home,.n-hero)[data-intent-theme="stone-clay"]{--story-h:48}
.n-story{--H:var(--story-h,208);--stage-h:100vh;position:relative;margin-top:60px;
 --sky:#fff;--sun:oklch(.82 .085 var(--H));--far:oklch(.87 .03 var(--H));--mid:oklch(.76 .05 var(--H));--near:oklch(.6 .075 var(--H));--fg:oklch(.34 .06 var(--H));
 --wall:oklch(.985 .006 var(--H));--wall2:oklch(.91 .02 var(--H));--roof:oklch(.42 .09 var(--H));--roof2:oklch(.34 .08 var(--H));--pane:oklch(.84 .06 var(--H));
 --night:oklch(.19 .03 var(--H));--deep:oklch(.14 .025 var(--H));--glow:oklch(.88 .12 var(--H));--accent:oklch(.5 .1 var(--H));--figure:oklch(.2 .035 var(--H));
 --room:oklch(.23 .035 var(--H));--drawer:oklch(.44 .05 var(--H));--floor:oklch(.17 .03 var(--H));--paper:oklch(.95 .012 var(--H));--ink-line:oklch(.72 .03 var(--H));--paper-d:oklch(.27 .03 var(--H));
 --ink-on-night:oklch(.97 .008 var(--H));--muted-on-night:oklch(.8 .025 var(--H))}
@supports(height:100lvh){.n-story{--stage-h:100lvh}}
.n-story-stage{position:sticky;top:0;height:var(--stage-h);margin-bottom:calc(var(--stage-h) * -1);overflow:hidden;background:var(--sky)}
.n-scene{display:block;width:100%;height:100%}
/* A phone shows a narrow slice of the dark room: the door shrinks to fit beside the raised ring, and the bubble flips so its tail still points at the person in the door. */
@media(max-aspect-ratio:2/3){#s-door{transform:translate(1140px,800px) scale(.85) translate(-1190px,-800px)}.s-bubble-art{transform:translate(37.9px,132.7px) scale(.85)}.s-bubble-tail{transform:translate(2618px,0) scale(-1,1)}}
.n-scene *{transition:fill 1.8s ease-in-out,stroke 1.8s ease-in-out,stop-color 1.8s ease-in-out}
.n-story-flow{position:relative;z-index:1;padding-top:62vh}
.n-story-panel{min-height:118vh;display:flex;align-items:center}
#story-scene-1{min-height:190vh}#story-scene-2{min-height:150vh}#story-scene-3{min-height:165vh}
.n-story-copy{max-width:520px}
.n-story-copy h2{font-size:clamp(30px,3.3vw,46px);line-height:1.42;letter-spacing:-.045em;font-weight:600;margin:0 0 22px}
.n-story-copy em{font-style:normal}
.n-story-copy>p{font-size:18px;line-height:1.85;margin:0;max-width:440px}
.n-tone-day h2{color:var(--ink)}.n-tone-day em{color:oklch(.42 .09 var(--H))}.n-tone-day p{color:oklch(.36 .03 var(--H))}
.n-story-copy h2,.n-story-copy em,.n-story-copy p{transition:color .4s ease}
.n-tone-night h2,.n-tone-day.is-dusk h2{color:var(--ink-on-night)}.n-tone-day.is-dusk em{color:var(--glow)}.n-tone-day.is-dusk p{color:var(--muted-on-night)}
.n-tone-night h2{color:var(--ink-on-night)}.n-tone-night em{color:var(--glow)}.n-tone-night p{color:var(--muted-on-night)}
.n-story-flow{display:flow-root}
/* The sticky stage has a negative margin, so it would otherwise paint over whatever follows the chapter. */
.n-story{overflow:clip}
.n-story-bridge{margin-top:-24vh;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center}
.n-story-bridge .n-story-copy{max-width:none}
.n-story-bridge h2{font-size:clamp(34px,4.2vw,58px);line-height:1.4;color:var(--ink);margin-bottom:28px}
.n-story-bridge p{font-size:18px;color:#6d756f;max-width:none}
.s-dark-stop{stop-color:var(--deep)}.s-stop-sky{stop-color:var(--sky)}.s-stop-haze{stop-color:oklch(.93 .014 var(--H))}.s-stop-glow{stop-color:var(--glow)}
.s-stop-dusk-a{stop-color:oklch(.2 .04 var(--H))}.s-stop-dusk-b{stop-color:oklch(.34 .06 var(--H))}
.s-night{fill:var(--night)}.s-star{fill:var(--paper)}
.s-far{fill:oklch(.925 .012 var(--H))}.s-mid{fill:oklch(.875 .018 var(--H))}.s-win-cell{fill:oklch(.72 .03 var(--H));opacity:.28}.s-fg{fill:oklch(.5 .045 var(--H))}.s-dim{fill:oklch(.15 .05 var(--H))}.s-darkness{fill:var(--deep)}
.s-tw{fill:oklch(.9 .03 var(--H))}.s-tw-side{fill:oklch(.58 .07 var(--H))}.s-band{fill:oklch(.82 .04 var(--H))}.s-mullion-bar{fill:oklch(.94 .02 var(--H))}.s-frame-line{stroke:oklch(.34 .06 var(--H));stroke-width:4;fill:none}
.s-wall{fill:var(--wall)}.s-roof2{fill:var(--roof2)}.s-roomfloor{fill:oklch(.72 .05 var(--H))}.s-ceil{fill:var(--glow)}.s-board{fill:#fff;stroke:oklch(.7 .04 var(--H));stroke-width:3}.s-board-ink{stroke:oklch(.62 .06 var(--H));stroke-width:5;stroke-linecap:round}.s-plant{fill:oklch(.5 .1 var(--H))}
.s-screen{fill:oklch(.97 .012 var(--H))}.s-screen-bar{fill:var(--accent)}.s-accent{fill:var(--accent)}.s-row-ring{stroke:var(--accent);stroke-width:2;fill:none}.s-row-bar{fill:oklch(.78 .03 var(--H))}.s-row-check{stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}.s-card-bg{fill:oklch(.985 .006 var(--H));stroke:oklch(.62 .06 var(--H));stroke-width:1.2}.s-card-line{stroke:oklch(.62 .05 var(--H));stroke-width:3;stroke-linecap:round}.s-card-pin{fill:var(--accent)}.s-check{stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;fill:none}
.s-table{fill:var(--figure)}.s-table-leg{stroke:var(--figure);stroke-width:6}.s-litwin{fill:var(--glow)}.s-ring-rim{stroke:var(--accent);stroke-width:7;fill:none}.s-ring-core{stroke:oklch(.8 .15 var(--H));stroke-width:7;fill:none}.s-burst{fill:#fff;stroke:var(--glow)}
.s-spark{fill:var(--glow)}.s-spark-d{fill:var(--accent)}.s-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.s-mono-l{fill:var(--paper)}.s-mono-d{fill:oklch(.34 .05 var(--H));font-weight:600}.s-mono-t{fill:var(--paper);font-size:11px;opacity:.85}.s-box{fill:none;stroke:var(--ink-line);stroke-width:2}.s-strip-head{fill:oklch(.86 .05 var(--H))}.s-pole{stroke:var(--figure);stroke-width:4;stroke-linecap:round}
.s-wire{stroke:var(--glow);stroke-width:2.4;stroke-linecap:round}.s-node{fill:none;stroke:var(--glow);stroke-width:2}
.s-paper{fill:var(--paper)}.s-paper-fold{fill:var(--ink-line)}.s-paper-d{fill:var(--paper-d)}.s-fig{fill:var(--figure)}.s-arm{stroke:var(--figure);stroke-width:7;stroke-linecap:round}
:is(#s-in-person,#s-faller-body,#s-fallen) .s-fig{fill:oklch(.72 .05 var(--H))}:is(#s-in-person,#s-faller-body,#s-fallen) .s-arm{stroke:oklch(.72 .05 var(--H))}
.s-room{fill:var(--room)}.s-floor{fill:var(--floor)}.s-shaft{fill:var(--deep)}.s-streak{stroke:var(--ink-line);stroke-width:2;opacity:.42}.s-empty{fill:var(--deep);stroke:var(--glow);stroke-width:2;stroke-dasharray:6 7}
.s-cl-a{fill:var(--glow);opacity:.82}.s-cl-b{fill:var(--ink-line);opacity:.72}.s-cl-c{fill:oklch(.62 .12 calc(var(--H) + 120));opacity:.85}.s-cl-n{fill:var(--ink-line);opacity:.4}.s-diff-add{fill:oklch(.5 .1 150);opacity:.34}.s-diff-del{fill:oklch(.5 .13 25);opacity:.34}
.s-winback{fill:var(--paper-d);stroke:var(--ink-line);stroke-width:1.5}.s-wintitle{fill:oklch(.4 .04 var(--H))}.s-winrow{stroke:var(--ink-line);stroke-width:8;stroke-linecap:round;opacity:.72}
.s-cable{stroke:oklch(.13 .025 var(--H));stroke-width:11;stroke-linecap:round;fill:none}.s-cable-b{stroke:var(--accent);stroke-width:7}
.s-door-frame{fill:var(--paper-d)}.s-door-light{fill:var(--glow)}.s-string{stroke:var(--ink-line);stroke-width:2;opacity:.65}.s-pin{fill:var(--accent)}
.s-ink{stroke:var(--ink-line);stroke-width:7;stroke-linecap:round}.s-ink-b{stroke:var(--accent);stroke-width:10}.s-ink-thin{stroke-width:5}
.s-code-a{stroke:var(--glow);stroke-width:7;stroke-linecap:round}.s-code-b{stroke:var(--ink-line);stroke-width:7;stroke-linecap:round}.s-code-c{stroke:var(--accent);stroke-width:7;stroke-linecap:round}
.s-q{fill:var(--accent);font-size:72px;font-weight:700;text-anchor:middle;font-family:Inter,sans-serif}
.s-stack-a{fill:oklch(.86 .015 var(--H))}.s-stack-b{fill:oklch(.72 .03 var(--H))}
.s-tb-a{fill:oklch(.55 .06 var(--H))}.s-tb-b{fill:oklch(.72 .04 var(--H))}.s-tb-roof{fill:oklch(.34 .07 var(--H))}.s-tb-win{fill:oklch(.32 .04 var(--H))}.s-tb-lit{fill:var(--glow)}
@media(max-aspect-ratio:5/4){
 .n-story-flow{padding-top:70vh}
 .n-story-panel{align-items:flex-end;min-height:130vh}
 #story-scene-1{min-height:205vh}#story-scene-2{min-height:160vh}#story-scene-3{min-height:175vh}
 .n-story-copy{border-radius:18px;padding:22px 22px 24px;margin-inline:-6px}
 .n-tone-day .n-story-copy{background:oklch(.975 .012 var(--H)/.92)}
 .n-tone-night .n-story-copy{background:oklch(.19 .03 var(--H)/.86)}
 .n-story-bridge .n-story-copy{background:none}
 /* The copy turns light at dusk, so its plate has to darken with it. */
 .n-story-copy{transition:background-color .4s ease}
 .n-tone-day.is-dusk .n-story-copy{background:oklch(.19 .03 var(--H)/.86)}
 /* The closing line is dark ink: it may only arrive once the light has filled the screen. */
 .n-story-bridge{margin-top:88vh}
 #s-through{shape-rendering:optimizeSpeed}
 .n-scene *{transition:none}
}
@media(max-width:850px){
 .n-story{margin-top:25px}
 .n-story-copy h2{font-size:30px;line-height:1.4;margin-bottom:14px}
 .n-story-copy>p{font-size:16px;line-height:1.8}
 .n-story-bridge h2{font-size:32px}
 .n-story-bridge p{font-size:15px;max-width:500px;margin-inline:auto}
 .n-bridge-break{display:none}
}

/* Feature list (zh-CN): answers chapter two. A full-bleed pale band sets it apart from the closing line; colour lives on the panels and follows the theme. */
/* The big line rests at the bottom of the white page and stays put while the band below slides over it. Page scrolling is untouched. */
/* The line rides on the band's top edge (--tuck-gap above it) and only stops at --tuck-top, near the top of the screen, where the band then covers it. */
.n-home{--tuck-size:min(5.4vw,92px);--tuck-h:calc(var(--tuck-size) * 1.15);--tuck-top:max(96px,12vh);--tuck-gap:calc(var(--tuck-size) * .3)}
/* margin-top keeps the closing line of chapter two off the screen by the time this line arrives. */
.n-tuck{margin-top:42vh;height:calc(var(--tuck-h) * 2 + var(--tuck-gap) + 8px)}
.n-home .n-tuck h2{position:sticky;top:var(--tuck-top);margin:0;text-align:center;font-size:var(--tuck-size);line-height:1.15;font-weight:700;letter-spacing:-.04em;white-space:nowrap;color:#171717}
.n-tuck br{display:none}
.n-features-merged{margin-top:calc(var(--tuck-h) * -1 - 8px);padding:96px 0 120px;position:relative;z-index:1;background:#f7f7f7;box-shadow:0 0 0 100vmax #f7f7f7;clip-path:inset(0 -100vmax)}
.n-features-merged[data-tabs-ready] .n-feature{grid-row:1}
.n-features-merged .n-feature-stage{min-height:540px;padding:56px 46px;align-items:center;transition:background-color 1.8s ease-in-out;background-image:radial-gradient(ellipse at 84% 12%,#ffffff94 0,transparent 58%),radial-gradient(ellipse at 4% 100%,#0000001c 0,transparent 62%)}
.n-features-merged .n-stage-1{background-color:oklch(.82 .06 var(--story-h,208))}
.n-features-merged .n-stage-2{background-color:oklch(.85 .05 calc(var(--story-h,208) + 28))}
.n-features-merged .n-stage-3{background-color:oklch(.83 .055 calc(var(--story-h,208) - 26))}
.n-features-merged .n-stage-4{background-color:oklch(.86 .045 calc(var(--story-h,208) + 52))}
.nf-card{width:100%;max-width:540px;background:#fff;border-radius:12px;box-shadow:0 22px 55px #28375120;overflow:hidden}
.nf-stack{width:100%;max-width:540px;display:flex;flex-direction:column;gap:12px}
.nf-body{padding:26px 28px 28px;font-size:14px;line-height:1.85;color:#555}
.nf-body p{margin:0}
.nf-body .n-selected-intent{font-size:15px;margin:0 0 20px;padding:9px 12px;background:var(--intent-tint,#e3f0f2);border-bottom:1px solid var(--intent-dot,#2d6d78);border-radius:3px;color:#27313a;transition:background-color 1.8s ease-in-out,border-color 1.8s ease-in-out}
.nf-sec+.nf-sec{margin-top:16px}
.nf-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:#30343a;margin-bottom:5px}
.nf-label b{font-weight:500;font-size:11px;color:#8a5a12;background:#fbf0dc;border-radius:4px;padding:1px 6px}
.nf-attention{padding:14px 16px;background:#fdf8ee;border-radius:8px}
.nf-refs{list-style:none;margin:0;padding:0}
.nf-refs li{display:grid;grid-template-columns:136px minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid #f0f0f2}
.nf-refs li:first-child{padding-top:0}
.nf-refs code{font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--intent-dot,#2d6d78);transition:color 1.8s ease-in-out}
.nf-outdated{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:12px 14px;border:1px dashed #d8d9de;border-radius:8px}
.nf-outdated strong{display:block;font-size:13px;font-weight:650;color:#30343a}
.nf-outdated span:not(.nf-btn){font-size:12px;color:#7d8289}
.nf-btn{flex:none;font-size:12px;line-height:1;color:#30343a;border:1px solid #dfe0e4;border-radius:6px;padding:7px 11px;background:#fff;white-space:nowrap}
.nf-primary{background:#17181a;border-color:#17181a;color:#fff}
.nf-actions{display:flex;align-items:center;gap:8px;margin-top:18px}
.nf-actions>span:first-child{margin-right:auto;font-size:12px;color:#8b9096}
.nf-bubble{margin:0;align-self:flex-start;max-width:86%;font-size:14px;line-height:1.7;color:#30343a;background:#ffffffc7;border-radius:12px;padding:10px 14px}
.nf-you{align-self:flex-end;background:#fff}
.nf-add{margin-top:8px!important;padding:6px 10px;background:#e7f6ec;border-radius:3px;color:#1f6a3c}
.nf-tree{list-style:none;margin:0;padding:0}
.nf-tree li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;color:#30343a}
.nf-tree li:first-child{padding-top:0}
.nf-mark{flex:none;font-size:11px;font-weight:500;border-radius:4px;padding:1px 6px;color:#646a72;background:#f1f2f4}
.nf-new{color:#1f6a3c;background:#e7f6ec}.nf-gone{color:#a23a32;background:#fbeae8}
.nf-removal{margin-top:14px;padding:12px 14px;background:#fdf1ef;border-radius:8px}
.nf-del{color:#a23a32;text-decoration:line-through}
.nf-removal>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;color:#7d8289}
@media(max-width:1100px){.n-features-merged .n-feature-stage{padding:44px 30px;min-height:520px}}
@media(max-width:700px){
 .n-home{--tuck-size:min(11vw,68px);--tuck-h:calc(var(--tuck-size) * 2.3)}
 .n-tuck br{display:inline}
 .n-features-merged{padding:56px 0 72px}
 .n-features-merged[data-tabs-ready] .n-feature{grid-row:2}
 .n-features-merged .n-feature-stage{min-height:530px;padding:28px 16px}
 .nf-body{padding:18px 18px 20px;font-size:13px}
 .nf-refs li{grid-template-columns:minmax(0,1fr);gap:2px}
 .nf-outdated{flex-direction:column;align-items:flex-start}
}

/* zh-CN "who it's for": the scene leads the card; benefits line up on a shared rule. */
html[lang="zh-CN"] .n-people-grid article{--pad:30px;padding:var(--pad);overflow:hidden;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
html[lang="zh-CN"] .n-person-scene{font-size:17px;line-height:1.85;min-height:0;margin:0 0 30px;color:#2c2c2c}
@media(max-width:1000px){html[lang="zh-CN"] .n-person-scene{font-size:15px}}
@media(max-width:1100px){html[lang="zh-CN"] .n-people-grid article{--pad:25px}}
@media(max-width:700px){html[lang="zh-CN"] .n-people-grid article{--pad:27px}}
/* Scene art bleeds to the card's edges. The sky is page-coloured, so the far layer's outline becomes the card's top edge. Text never sits on it. */
.n-person-art{--H:var(--story-h,208);margin:calc(var(--pad) * -1) calc(var(--pad) * -1) 24px;aspect-ratio:744/400}
.n-person-art svg{display:block;width:100%;height:100%}
.pb-page{fill:#fff}.pb-tower{fill:oklch(.91 .025 var(--H))}.pb-grid{stroke:oklch(.97 .012 var(--H));stroke-width:1.4;opacity:.75}.pb-sheen{fill:oklch(.96 .015 var(--H))}.pb-room{fill:oklch(.97 .012 var(--H))}.pb-wall{fill:oklch(.94 .018 var(--H))}.pb-slab{stroke:oklch(.72 .04 var(--H));stroke-width:2}.pb-thin{stroke:oklch(.8 .03 var(--H));stroke-width:1.6}
.pb-board{fill:#fff}.pb-table{fill:oklch(.87 .03 var(--H))}.pb-far{fill:oklch(.66 .045 var(--H))}.pb-mid{fill:oklch(.42 .06 var(--H))}.pb-ink{fill:oklch(.2 .04 var(--H))}.pb-occ{fill:oklch(.97 .012 var(--H))}.pb-red{fill:oklch(.56 .18 27)}.pb-sweat{fill:oklch(.66 .11 var(--H))}.pb-warn-far{fill:oklch(.8 .09 27);stroke:oklch(.8 .09 27);stroke-width:4;stroke-linejoin:round}.pb-warn-strong{fill:oklch(.56 .18 27);stroke:oklch(.56 .18 27);stroke-width:4;stroke-linejoin:round}.pb-warn-mark{stroke:#fff;stroke-width:4;stroke-linecap:round}.pb-warn-word{fill:oklch(.8 .09 27);font-weight:800;letter-spacing:.02em}.pb-warn-board{fill:oklch(.56 .18 27);font-weight:800}
.pn-back{fill:oklch(.3 .05 var(--H))}.pn-front{fill:oklch(.22 .04 var(--H))}.pn-lit{stroke:oklch(.8 .09 var(--H));stroke-width:6;opacity:.6}.pn-glow-a{stop-color:oklch(.72 .1 var(--H));stop-opacity:.42}.pn-glow-b{stop-color:oklch(.72 .1 var(--H));stop-opacity:0}.pn-mullion{stroke:oklch(.42 .05 var(--H));stroke-width:2}
.pn-screen{fill:oklch(.93 .02 var(--H))}.pn-tile{fill:#fff}.pn-tile-dim{fill:oklch(.84 .03 var(--H))}.pn-track{fill:oklch(.84 .03 var(--H))}.pn-thumb{fill:oklch(.5 .07 var(--H))}.pn-dot{stroke:oklch(.56 .09 var(--H));stroke-width:3.4;stroke-linecap:round}.pn-bar{stroke:oklch(.7 .04 var(--H));stroke-width:1.9;stroke-linecap:round}.pn-hit{fill:none;stroke:oklch(.58 .18 27);stroke-width:2.6}
.pn-mid{fill:oklch(.76 .05 var(--H))}.pn-ink{fill:oklch(.96 .012 var(--H))}.pn-occ{fill:oklch(.17 .03 var(--H))}
.pc-obj{fill:oklch(.86 .03 var(--H))}.pc-obj-line{stroke:oklch(.76 .035 var(--H));stroke-width:2.4}.pc-leaf{fill:oklch(.8 .06 var(--H))}.pc-wall{fill:oklch(.93 .02 var(--H))}.pc-shelf{fill:oklch(.74 .04 var(--H))}.pc-light{fill:#fff;opacity:.4}.pc-note{fill:oklch(.97 .012 var(--H))}.pc-note-line{stroke:oklch(.8 .03 var(--H));stroke-width:3.4;stroke-linecap:round}
.pc-desk{fill:oklch(.84 .035 var(--H))}.pc-far{fill:oklch(.66 .045 var(--H))}.pc-deck{fill:oklch(.62 .05 var(--H))}.pc-keys{stroke:oklch(.5 .05 var(--H));stroke-width:3;stroke-dasharray:9 5}.pc-pad{fill:oklch(.54 .05 var(--H))}
.pc-screen{fill:oklch(.24 .04 var(--H))}.pc-sheet{fill:#fff}.pc-head{stroke:oklch(.42 .07 var(--H));stroke-width:7;stroke-linecap:round}.pc-head-s{stroke:oklch(.42 .07 var(--H));stroke-width:6;stroke-linecap:round}.pc-cell{stroke:oklch(.78 .03 var(--H));stroke-width:5.5;stroke-linecap:round}.pc-gap{fill:oklch(.95 .02 27);stroke:oklch(.56 .18 27);stroke-width:2.8;stroke-dasharray:7 6}.pc-warn{stroke:oklch(.56 .18 27);stroke-width:6;stroke-linecap:round}
.pc-mid{fill:oklch(.34 .05 var(--H))}.pc-ink{fill:oklch(.2 .04 var(--H))}.pc-occ{fill:oklch(.95 .016 var(--H))}.pc-phone{fill:oklch(.2 .04 var(--H))}.pc-phone-lit{fill:oklch(.92 .03 var(--H))}.pc-av-a{fill:oklch(.62 .08 var(--H))}.pc-av-b{fill:oklch(.74 .06 var(--H))}.pc-bubble{fill:#fff}.pc-msg{fill:oklch(.26 .04 var(--H));font-size:15px;font-weight:500}.pc-msg-q{fill:oklch(.56 .18 27);font-size:15px;font-weight:800}.pc-title{fill:oklch(.26 .04 var(--H));font-size:15px;font-weight:700;text-anchor:middle}.pc-q{fill:oklch(.56 .18 27);font-weight:800}.pc-q-far{fill:oklch(.86 .035 var(--H));font-weight:800}.pc-q-sky{fill:oklch(.88 .03 var(--H));font-weight:800}.pc-q-gap{fill:oklch(.56 .18 27);font-weight:800;text-anchor:middle}
.pn-desk{fill:oklch(.29 .045 var(--H))}.pn-desk-face{fill:oklch(.19 .035 var(--H))}.pn-reflect{fill:oklch(.82 .09 var(--H));opacity:.18}.pn-base{fill:oklch(.62 .05 var(--H))}

/* zh-CN ownership section: larger, higher-contrast reading sizes; every column's icon takes the same height. */
html[lang="zh-CN"] .n-own-grid{border:0}
html[lang="zh-CN"] .n-own-grid>div{border:0;padding:38px 32px 42px}
html[lang="zh-CN"] .n-own-icon{font-size:30px;line-height:38px;height:38px;margin-bottom:22px}
html[lang="zh-CN"] .n-own-grid h3{font-size:23px;font-weight:600;margin-bottom:16px}
html[lang="zh-CN"] .n-own-grid p{font-size:16px;line-height:1.85;color:#c6c6c6;text-wrap:balance;word-break:keep-all}
html[lang="zh-CN"] .n-ownership h2{word-break:keep-all}
html[lang="zh-CN"] .n-agents>p{font-size:16px;color:#c6c6c6;border-width:1px 0 0;padding:44px 15px 18px}
html[lang="zh-CN"] .n-agents>div{border:0}
html[lang="zh-CN"] .n-agents>div>span{font-size:21px;border:0;padding:14px 20px}
html[lang="zh-CN"] .n-agents img{width:27px;height:27px}
@media(max-width:1000px){html[lang="zh-CN"] .n-own-grid>div{padding:30px 20px 34px}html[lang="zh-CN"] .n-own-grid h3{font-size:20px}html[lang="zh-CN"] .n-own-grid p{font-size:15px}html[lang="zh-CN"] .n-agents>div>span{font-size:17px;padding:14px 10px}}
@media(max-width:700px){html[lang="zh-CN"] .n-own-grid>div{padding:20px 23px 26px}html[lang="zh-CN"] .n-own-icon{font-size:26px;line-height:32px;height:32px;margin-bottom:12px}html[lang="zh-CN"] .n-own-grid h3{font-size:20px;margin-bottom:10px}html[lang="zh-CN"] .n-agents>p{font-size:15px;padding:34px 10px 14px}html[lang="zh-CN"] .n-agents>div>span{padding:12px 8px}html[lang="zh-CN"] .n-agents img{width:24px;height:24px}}

/* Chapter two repaints every scroll frame: keep it on its own layer and don't make the header re-blur it. */
.n-story-stage{transform:translateZ(0);backface-visibility:hidden}
html.n-story-on .n-header,html.n-story-on .n-header.is-scrolled,html.n-story-on .n-header:before{-webkit-backdrop-filter:none;backdrop-filter:none}
html.n-story-on .n-header:before{background:rgba(255,255,255,.97)}

/* Pricing header: no eyebrow; CJK end punctuation hangs past the line so both lines centre on their characters. */
html[lang] .n-pricing-page .n-utility-head{padding-top:22px}
html[lang] .n-pricing-page .n-utility-head h1{font-weight:600;letter-spacing:-.01em;line-height:1.38;margin-bottom:22px}
.n-hang{margin-right:-1em}
/* A worded price (Custom, Индивидуально) shrinks to its card instead of overflowing; numbers keep the full size. */
.n-pricing-page .n-plan{container-type:inline-size}
.n-price-fit{display:inline-block;white-space:nowrap;font-size:min(1em,calc(100cqi / (var(--chars) * .58)))}
html[lang]:not([lang="zh-CN"]) .n-pricing-page .n-utility-head h1{text-wrap:balance}
/* Japanese has no spaces: break the title at phrase boundaries (smaller on phones, below). */
html[lang="ja"] .n-pricing-page .n-utility-head h1{word-break:auto-phrase}
/* Price roll: the currency stays put, the number rolls through a clipped slot. */
.n-roll{display:inline-grid;vertical-align:top;clip-path:inset(0 -.4em)}
.n-roll>span{grid-area:1/1;will-change:transform}
.n-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Pricing, every language: same type scale and neutral greys as the home page (body 16px, nothing under 13px), fixed on the first home theme (steel-cobalt blue), no rotation. */
html[lang] .n-pricing-page{--intent-dot:oklch(0.53 0.16 258);--intent-tint:oklch(0.95 0.026 252)}
html[lang] .n-pricing-page .n-utility-head{margin-bottom:64px}
html[lang] .n-pricing-page .n-utility-head h1{font-size:60px;line-height:1.3;margin-bottom:24px;color:#171717}
html[lang] .n-pricing-page .n-utility-head>p{font-size:20px;color:#777;margin-bottom:26px}
html[lang] .n-pricing-beta{font-size:14px;letter-spacing:0;padding:8px 14px;border:0;border-radius:99px;background:var(--intent-tint);color:var(--intent-dot)}
html[lang] .n-pricing-page .n-billing{max-width:320px;margin:-24px auto 56px;background:#f4f4f5;border-color:#e7e8eb}
html[lang] .n-pricing-page .n-billing button{font-size:15px;padding:11px 16px;color:#8a8a8a}
html[lang] .n-pricing-page .n-billing button[aria-pressed=true]{color:#171717;box-shadow:0 1px 3px #0000000f}
html[lang] .n-pricing-page .n-billing small{font-size:12px;color:var(--intent-dot)}
html[lang] .n-pricing-page .n-plans{gap:24px}
html[lang] .n-pricing-page .n-plan{padding:40px 32px 34px;border-color:#e7e8eb}
html[lang] .n-pricing-page .n-plan-plus{background:#fff;border-color:oklch(0.53 0.16 258/.4);box-shadow:0 12px 32px -18px oklch(0.4 0.1 258/.35)}
html[lang] .n-pricing-page .n-plan-ribbon{font-size:12px;letter-spacing:.04em;padding:6px 14px;top:-14px;left:30px;background:var(--intent-dot)}
html[lang] .n-pricing-page .n-plan h2{font-size:26px;margin-bottom:14px}
html[lang] .n-pricing-page .n-plan>p{font-size:16px;line-height:1.75;color:#737373;min-height:56px;margin-bottom:28px}
html[lang] .n-pricing-page .n-plan-price{font-size:48px;font-weight:400;letter-spacing:-.03em;color:#171717;height:62px;min-height:0;line-height:62px}
html[lang] .n-pricing-page .n-plan-unit{font-size:14px;color:#8a8a8a;min-height:30px;line-height:1.7}
html[lang] .n-pricing-page .n-plan .n-button{font-size:16px;padding:15px 24px;margin:16px 0 30px}
html[lang] .n-pricing-page .n-plan-plus .n-button{background:var(--intent-dot);border-color:var(--intent-dot)}
html[lang] .n-pricing-page .n-plan .n-secondary{border-color:#d9d9db;color:#171717}
html[lang] .n-pricing-page .n-plan ul{border-top-color:#ececee;padding-top:26px}
html[lang] .n-pricing-page .n-plan li{font-size:15px;line-height:1.7;color:#5f5f62;padding:8px 0 8px 24px}
html[lang] .n-pricing-page .n-plan li:before{font-size:12px;top:10px;color:var(--intent-dot)}
html[lang] .n-pricing-page .n-plan li strong{color:#171717;font-weight:500}
html[lang] .n-pricing-notes{font-size:13px;color:#8a8a8a;margin-top:32px}
html[lang] .n-pricing-notes [data-billing-caption]{color:var(--intent-dot)}
html[lang] .n-pricing-faq{margin-top:96px}
html[lang] .n-pricing-faq>h2{font-size:36px;font-weight:600;letter-spacing:-.01em}
html[lang] .n-pricing-faq .n-faq-list details{border-color:#e7e8eb}
html[lang] .n-pricing-faq .n-faq-list summary{font-size:17px;color:#171717;padding-block:26px}
html[lang] .n-pricing-faq .n-faq-list summary:after{color:#9a9a9a}
html[lang] .n-pricing-faq .n-faq-list details>div{font-size:15px;line-height:1.9;color:#737373}
html[lang] .n-pricing-page .n-help-links{font-size:15px;color:#555;margin-top:64px;padding-top:30px}
@media(max-width:1100px){html[lang] .n-pricing-page .n-plan{padding:34px 24px 28px}html[lang] .n-pricing-page .n-plans{gap:16px}}
@media(max-width:850px){html[lang] .n-pricing-page .n-utility-head h1{font-size:46px}html[lang] .n-pricing-page .n-plan{padding:30px 20px 26px}html[lang] .n-pricing-page .n-plan-price{font-size:40px}html[lang] .n-pricing-page .n-plan li{font-size:14px}html[lang] .n-pricing-page .n-plan .n-button{font-size:15px;padding:14px 18px}}
@media(max-width:620px){html[lang] .n-pricing-page .n-utility-head{margin-bottom:40px}html[lang] .n-pricing-page .n-utility-head h1{font-size:32px}html[lang] .n-pricing-page .n-utility-head>p{font-size:16px;max-width:none}html[lang] .n-pricing-beta{font-size:13px}html[lang] .n-pricing-page .n-billing{max-width:300px;margin:-20px auto 44px}html[lang] .n-pricing-page .n-billing button{font-size:14px}html[lang] .n-pricing-page .n-billing small{font-size:11px}html[lang] .n-pricing-page .n-plans{gap:30px}html[lang] .n-pricing-page .n-plan{padding:34px 26px 28px}html[lang] .n-pricing-page .n-plan>p{min-height:0;margin-bottom:22px}html[lang] .n-pricing-page .n-plan-price{font-size:44px;height:56px;line-height:56px}html[lang] .n-pricing-page .n-plan-unit{min-height:0}html[lang] .n-pricing-page .n-plan li{font-size:15px}html[lang] .n-pricing-faq{margin-top:64px}html[lang] .n-pricing-faq>h2{font-size:28px}html[lang] .n-pricing-faq .n-faq-list summary{font-size:16px;padding-block:20px}html[lang] .n-pricing-faq .n-faq-list details>div{font-size:15px}html[lang] .n-pricing-page .n-help-links{font-size:14px;gap:22px}}
@media(max-width:620px){html[lang="ja"] .n-pricing-page .n-utility-head h1{font-size:28px}}

/* Contact lists (footer column, about page): one account per row, platform icon first. All languages. */
.n-footer-top nav>a.n-social{display:inline-flex;align-items:center;gap:10px}
.n-social-icon{width:16px;height:16px;flex:none}
.about-page .about-contact{display:flex;flex-direction:column;margin:22px 0 0;border-top:1px solid #e7e8eb}
.about-page .prose .about-contact-link{display:flex;align-items:center;gap:14px;padding:16px 2px;border-bottom:1px solid #e7e8eb;color:#171717;text-decoration:none;transition:color .2s}
.about-page .prose .about-contact-link:hover{color:var(--zh-accent,#4569cf)}
.about-contact-link .n-social-icon{width:20px;height:20px}
.about-contact-link-name{font-weight:500}
.about-contact-link-handle{margin-left:auto;color:#8a8a8a;font-size:.88em}

/* zh-CN docs, blog and about: the home page's type scale (reading text 17px, nothing under 13px), neutral greys, blue accent. */
html[lang="zh-CN"]{--zh-accent:oklch(0.53 0.16 258)}
html[lang="zh-CN"] .about-head .section-label,html[lang="zh-CN"] .docs-sidebar>.docs-language,html[lang="zh-CN"] .docs-index-head>.eyebrow{display:none}
html[lang="zh-CN"] :is(.about-page,.post-layout,.docs-shell) .prose a,html[lang="zh-CN"] .blog-breadcrumb a,html[lang="zh-CN"] .post-read,html[lang="zh-CN"] .post-author,html[lang="zh-CN"] .source-status a,html[lang="zh-CN"] .docs-article .eyebrow,html[lang="zh-CN"] .docs-start span{color:var(--zh-accent)}
html[lang="zh-CN"] :is(.docs-shell,.blog-index,.post-layout,.about-page,.blog-breadcrumb){--accent:oklch(0.53 0.16 258);--accent-light:oklch(0.95 0.026 252)}
html[lang="zh-CN"] :is(.about-page,.post-layout,.docs-shell) .prose{color:#2c2c2c}
html[lang="zh-CN"] :is(.about-page,.post-layout,.docs-shell) .prose :is(h2,h3,strong){color:#171717}
html[lang="zh-CN"] .about-head h1,html[lang="zh-CN"] .post-head h1{color:#171717}
/* About */
.about-zh{padding-top:72px}
.about-zh .about-head h1{font-size:56px;font-weight:600;letter-spacing:-.025em;color:#171717}
html[lang="zh-CN"] .about-zh .about-head h1{letter-spacing:-.01em}
.about-zh .about-lede{font-size:20px;color:#777;line-height:1.75}
.about-zh .prose{color:#2c2c2c}.about-zh .prose :is(h2,h3,strong){color:#171717}
.about-zh .prose h2{font-size:28px;font-weight:600;margin-top:56px}
.about-zh .prose :is(p,li){font-size:17px;line-height:1.9}
.about-zh{--zh-accent:oklch(0.53 0.16 258);--accent:oklch(0.53 0.16 258);--accent-light:oklch(0.95 0.026 252)}.about-zh .prose a{color:var(--zh-accent)}
.about-zh .about-head .section-label{display:none}
html[lang="zh-CN"] .about-contact-link{font-size:17px}
/* Blog index and posts */
html[lang="zh-CN"] .blog-breadcrumb :is(a,span){font-size:14px}
html[lang="zh-CN"] .blog-breadcrumb span{color:#8a8a8a}
html[lang="zh-CN"] .blog-list .post-row time,html[lang="zh-CN"] .post-meta :is(span,time,a){font-size:14px;color:#8a8a8a}
html[lang="zh-CN"] .post-meta a.post-author{color:var(--zh-accent)}
html[lang="zh-CN"] .blog-list .post-row p{font-size:17px;line-height:1.85;color:#737373}
html[lang="zh-CN"] .blog-list .post-read{font-size:15px}
html[lang="zh-CN"] .post-head h1{font-size:48px;font-weight:600;letter-spacing:-.01em;line-height:1.35}
html[lang="zh-CN"] .post-lede{font-size:20px;color:#777}
html[lang="zh-CN"] .post-layout .prose h2{font-size:28px;font-weight:600}
html[lang="zh-CN"] .post-layout .prose :is(p,li){font-size:17px}
html[lang="zh-CN"] .source-card .source-label,html[lang="zh-CN"] .source-card .source-status{font-size:13px;color:#8a8a8a}
html[lang="zh-CN"] .source-card .source-summary{font-size:16px;color:#5f5f62}
html[lang="zh-CN"] :is(.post-sidebar,.docs-toc) nav>p{font-size:13px;color:#8a8a8a}
html[lang="zh-CN"] :is(.post-sidebar,.docs-toc) nav li a{font-size:14px;line-height:1.6;color:#737373}
/* Docs */
html[lang="zh-CN"] .docs-overview{font-size:15px}
html[lang="zh-CN"] .docs-nav-group>h2{font-size:13px;color:#8a8a8a}
html[lang="zh-CN"] .docs-nav-group li a{font-size:14px;line-height:1.55}
html[lang="zh-CN"] .docs-nav-group li a>span{font-size:12px;color:#9a9a9a}
html[lang="zh-CN"] :is(.docs-article,.docs-index-head) h1{font-size:44px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
html[lang="zh-CN"] .docs-index-head>p:not(.eyebrow){font-size:19px;color:#777}
html[lang="zh-CN"] .docs-start span{font-size:13px}
html[lang="zh-CN"] .docs-start h2{font-size:22px}
html[lang="zh-CN"] .docs-start p{font-size:15px;color:#737373}
html[lang="zh-CN"] .docs-catalog h2{font-size:22px}
html[lang="zh-CN"] .docs-catalog h2>span,html[lang="zh-CN"] .docs-cards a>span{font-size:12px;color:#9a9a9a}
html[lang="zh-CN"] .docs-cards h3{font-size:17px}
html[lang="zh-CN"] .docs-cards p{font-size:15px;line-height:1.7;color:#737373}
html[lang="zh-CN"] .docs-breadcrumb :is(a,span){font-size:14px}
html[lang="zh-CN"] .docs-article .eyebrow{font-size:13px}
html[lang="zh-CN"] .docs-article .eyebrow>span{font-size:12px;color:#9a9a9a}
html[lang="zh-CN"] .docs-prose{font-size:17px;line-height:1.9}
html[lang="zh-CN"] .docs-prose>p:first-child{font-size:19px;color:#777}
html[lang="zh-CN"] .docs-prose h2{font-size:26px;font-weight:600}
html[lang="zh-CN"] .docs-prose h3{font-size:19px}
html[lang="zh-CN"] .docs-prose blockquote{font-size:16px}
html[lang="zh-CN"] .docs-prose table{font-size:15px}
html[lang="zh-CN"] .docs-prose pre{font-size:14px}
html[lang="zh-CN"] .docs-prose pre code{font-size:inherit}
html[lang="zh-CN"] .docs-pager small{font-size:13px}
html[lang="zh-CN"] .docs-pager a>span{font-size:16px}
@media(max-width:850px){.about-zh .about-head h1{font-size:44px}html[lang="zh-CN"] .post-head h1{font-size:38px}html[lang="zh-CN"] :is(.docs-article,.docs-index-head) h1{font-size:36px}}
@media(max-width:620px){.about-zh{padding-top:40px}.about-zh .about-head h1{font-size:36px}.about-zh .about-lede{font-size:17px}.about-zh .prose h2{font-size:23px}.about-zh .prose :is(p,li){font-size:16px}.about-zh .about-contact-link{font-size:16px}}
@media(max-width:620px){html[lang="zh-CN"] .about-lede,html[lang="zh-CN"] .post-lede{font-size:17px}html[lang="zh-CN"] .about-page .prose h2,html[lang="zh-CN"] .post-layout .prose h2{font-size:23px}html[lang="zh-CN"] .about-page .prose :is(p,li),html[lang="zh-CN"] .post-layout .prose :is(p,li),html[lang="zh-CN"] .docs-prose,html[lang="zh-CN"] .blog-list .post-row p{font-size:16px}html[lang="zh-CN"] .post-head h1{font-size:30px}html[lang="zh-CN"] :is(.docs-article,.docs-index-head) h1{font-size:30px}html[lang="zh-CN"] .docs-prose>p:first-child,html[lang="zh-CN"] .docs-index-head>p:not(.eyebrow){font-size:17px}html[lang="zh-CN"] .docs-prose h2{font-size:22px}html[lang="zh-CN"] .about-contact-link{font-size:16px}}
.about-zh .prose a.about-contact-link{color:#171717}
.about-zh .prose a.about-contact-link:hover{color:var(--zh-accent)}
html[lang="zh-CN"] .blog-head h1+p{font-size:20px;color:#777;line-height:1.75}
@media(max-width:620px){html[lang="zh-CN"] .blog-head h1+p{font-size:17px}}
html[lang="zh-CN"] .docs-mobile-nav summary span{font-size:13px}

/* About narrative (every language, styled after zh-CN). The manifesto sits in a soft tinted block; the last line carries the weight. */
.about-zh .about-manifesto{margin:52px 0 12px;padding:44px 48px 46px;border-radius:20px;background:oklch(0.975 0.01 252)}
.about-zh .about-manifesto p{font-size:24px;line-height:1.65;font-weight:500;color:#6b6f78;margin:0;text-wrap:balance}
html[lang="zh-CN"] .about-zh .about-manifesto p{word-break:keep-all}
.about-zh .about-manifesto .about-manifesto-end{margin-top:22px;color:#171717;font-weight:600}
/* Latin, Cyrillic and Korean sentences run to two lines in this column, so each one gets its own space. */
html:not([lang^="zh"]):not([lang="ja"]) .about-zh .about-manifesto p{font-size:22px;line-height:1.5;text-wrap:pretty}html:not([lang^="zh"]):not([lang="ja"]) .about-zh .about-manifesto p+p{margin-top:14px}html:not([lang^="zh"]):not([lang="ja"]) .about-zh .about-manifesto .about-manifesto-end{margin-top:26px}
@media(max-width:620px){html:not([lang^="zh"]):not([lang="ja"]) .about-zh .about-manifesto p{font-size:18px}html:not([lang^="zh"]):not([lang="ja"]) .about-zh .about-manifesto p+p{margin-top:12px}}
@media(max-width:620px){.about-zh .about-manifesto{margin-top:36px;padding:28px 24px 30px;border-radius:16px}.about-zh .about-manifesto p{font-size:19px}.about-zh .about-manifesto .about-manifesto-end{margin-top:16px}}
html[lang="zh-CN"] .about-zh .prose :is(p,li),html[lang="zh-CN"] .about-zh .about-lede{text-wrap:pretty}
@media(min-width:621px){html[lang="zh-CN"] .about-zh .prose :is(p,li),html[lang="zh-CN"] .about-zh .about-lede{word-break:keep-all}}
@media(max-width:620px){.about-zh .about-manifesto p{word-break:normal;text-wrap:pretty}.about-zh .about-manifesto p{font-size:18px}.about-zh .about-manifesto p+p{margin-top:6px}}

/* Feature groups (zh-CN): two pale bands with the user voices on white between them, then the dark ownership band. */
/* One heading per group, on the left above its tabs. The right column holds one sentence and a compact panel that shows a close-up of the app, so a group fits one screen. */
.n-features-merged{grid-template-columns:minmax(0,1fr) 640px;column-gap:72px;row-gap:0;padding:92px 0}
.n-features-merged~.n-features-merged{margin-top:0}
.n-group-side{grid-column:1;grid-row:1;min-width:0}
.n-home .n-group-title{margin:0 0 34px;font-size:38px;line-height:1.32;font-weight:700;letter-spacing:-.03em;color:#171717}
.n-group-title>span{display:block}
.n-features-merged .n-feature-picks{max-width:300px}
.n-features-merged .n-feature-picks button{padding:16px 0}
.n-features-merged .n-feature{gap:24px}
.n-features-merged .n-feature-copy{min-height:96px}
.n-features-merged .n-feature-copy>p{font-size:17px;line-height:1.8;margin:0 0 6px}
.n-features-merged .n-feature-stage{min-height:470px;padding:34px 32px;border-radius:26px}
.n-features-merged .n-stage-5{background-color:oklch(.84 .05 calc(var(--story-h,208) - 52))}
.nf-todo .nf-body{display:grid;place-items:center;min-height:260px;color:#9aa0a8;font-size:15px}
@media(max-width:1100px){
 .n-features-merged{grid-template-columns:minmax(0,1fr) 56%;column-gap:40px}
 .n-home .n-group-title{font-size:30px}
 .n-features-merged .n-feature-stage{min-height:450px;padding:28px 22px}
}
@media(max-width:700px){
 .n-features-merged{grid-template-columns:minmax(0,1fr);row-gap:22px;padding:56px 0 60px}
 .n-home .n-group-title{font-size:27px;margin-bottom:18px}
 .n-group-title>span{display:inline-block}
 .n-features-merged .n-feature-picks{max-width:none}
 .n-features-merged .n-feature-picks button{padding:13px 0}
 .n-features-merged .n-feature-copy{min-height:0}
 .n-features-merged .n-feature-copy>p{font-size:15px}
 .n-features-merged .n-feature-stage{min-height:400px;padding:24px 14px;border-radius:20px}
}

/* User voices (zh-CN): a deep, muted purple band between the two pale feature bands. It is a fixed colour, not theme-linked: dark enough to be calm, purple enough not to repeat the black ownership band below. Grounds follow content: story on white, features on pale, voices on the deep theme colour, ownership on black. */
/* Card after Mars: stars on top, the quote, then name and role bottom left with a large portrait bottom right. The portrait slot shows an initial until a photo is supplied. */
.n-home .n-voices{--voice-bg:oklch(.31 .07 295);position:relative;z-index:1;padding:112px 0;color:#fff;background:var(--voice-bg);box-shadow:0 0 0 100vmax var(--voice-bg);clip-path:inset(0 -100vmax);transition:background-color 1.8s ease-in-out,box-shadow 1.8s ease-in-out}
.n-voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.n-home .n-voice-grid figure{margin:0;display:flex;flex-direction:column;min-height:400px;padding:36px 36px 34px;border:1px solid #ffffff4d;border-radius:22px;background:none}
.n-voice-stars{display:flex;gap:5px}
.n-voice-stars svg{width:17px;height:17px;fill:#ffc857}
.n-home .n-voice-grid blockquote{margin:30px 0 34px;font-size:21px;line-height:1.8;font-weight:500;letter-spacing:0;color:#fff}
.n-home .n-voice-grid figcaption{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;font-size:14px;line-height:1.6;color:#ffffffa6}
.n-voice-who b{display:block;font-size:16px;font-weight:600;color:#fff}
.n-voice-face{flex:none;width:148px;height:148px;border-radius:18px;object-fit:cover;display:grid;place-items:center;font-size:44px;font-weight:600;color:#ffffff8c;background:#ffffff1a}
@media(max-width:1100px){.n-home .n-voice-grid blockquote{font-size:18px}.n-voice-face{width:112px;height:112px}}
@media(max-width:850px){.n-home .n-voices{padding:64px 0}.n-voice-grid{grid-template-columns:minmax(0,1fr);gap:20px}.n-home .n-voice-grid figure{min-height:0;padding:26px 24px}.n-home .n-voice-grid blockquote{margin:22px 0 26px}.n-voice-face{width:96px;height:96px;border-radius:14px;font-size:30px}}
.n-features-merged .n-stage-6{background-color:oklch(.85 .048 calc(var(--story-h,208) + 76))}

/* Voice cards on hover: the card lifts, a soft light follows the pointer (--mx/--my from redesign.js), the stars pop in turn and the portrait straightens up a little. */
.n-home .n-voice-grid figure{position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .45s ease}
.n-home .n-voice-grid figure:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),#ffffff2e,transparent 62%)}
.n-voice-grid figure>*{position:relative}
.n-voice-face{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease}
@media(hover:hover){
 .n-home .n-voice-grid figure:hover{transform:translateY(-6px);border-color:#ffffff8c;box-shadow:0 26px 50px -22px #00000073}
 .n-home .n-voice-grid figure:hover:before{opacity:1}
 .n-voice-grid figure:hover .n-voice-face{transform:scale(1.05) rotate(-2deg);box-shadow:0 14px 28px -12px #00000080}
 .n-voice-grid figure:hover .n-voice-stars svg{animation:n-star-pop .5s cubic-bezier(.3,1.6,.5,1) both}
 .n-voice-grid figure:hover .n-voice-stars svg:nth-child(2){animation-delay:.06s}
 .n-voice-grid figure:hover .n-voice-stars svg:nth-child(3){animation-delay:.12s}
 .n-voice-grid figure:hover .n-voice-stars svg:nth-child(4){animation-delay:.18s}
 .n-voice-grid figure:hover .n-voice-stars svg:nth-child(5){animation-delay:.24s}
}
@keyframes n-star-pop{0%{transform:scale(1)}45%{transform:scale(1.35) rotate(-8deg)}100%{transform:scale(1)}}
/* Voice cards are solid white on the purple band so the quote reads as easily as body text. The quote carries its own marks; the opening mark hangs in the card's left padding. */
.n-home .n-voice-grid figure{background:#fff;border-color:transparent;color:#1f1f1f}
.n-home .n-voice-grid figure:before{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),oklch(.9 .05 295 / .55),transparent 62%)}
.n-home .n-voice-grid blockquote{position:relative;color:#1f1f1f}
.n-voice-grid blockquote:before,
.n-voice-grid blockquote:after{font-family:Georgia,serif;font-weight:700;color:#8272a6}
.n-voice-grid blockquote:before{content:"“";position:absolute;right:calc(100% + 1px);top:.04em;font-size:2em;line-height:1}
.n-voice-grid blockquote:after{content:"”";margin-left:2px;font-size:1.75em;line-height:0;vertical-align:-.22em}
@media(max-width:850px){.n-voice-grid blockquote:before{font-size:1.75em}.n-voice-grid blockquote:after{font-size:1.6em}}
.n-home .n-voice-grid figcaption{color:#6f7480}
.n-voice-who b{color:#171717}
.n-voice-stars svg{fill:#f5a623}
.n-voice-face{color:oklch(.55 .07 295);background:oklch(.94 .025 295)}
@media(hover:hover){.n-home .n-voice-grid figure:hover{border-color:transparent;box-shadow:0 30px 56px -24px #0000008c}}
/* The group after the voices fills at least one screen, so the purple band above and the black band below are never on screen together. */
.n-voices+.n-features-merged{min-height:100vh;min-height:100svh;align-content:center}
/* The purple band is lit from above and carries a faint dot grid that fades out toward the edges, so the large dark area does not sit flat. Both layers are full-bleed and stay behind the cards. */
.n-home .n-voices:before,.n-home .n-voices:after{content:"";position:absolute;inset:0 -100vmax;z-index:-1;pointer-events:none}
.n-home .n-voices:before{background:radial-gradient(980px 460px at 50% 0,oklch(.47 .1 295 / .75),transparent 72%)}
.n-home .n-voices:after{background-image:radial-gradient(#ffffff38 1.1px,transparent 1.7px);background-size:22px 22px;background-position:50% 0;-webkit-mask-image:radial-gradient(1100px 440px at 50% 50%,#000 20%,transparent 78%);mask-image:radial-gradient(1100px 440px at 50% 50%,#000 20%,transparent 78%)}
/* Larger dots. The pointer light lives on the band, not on the white cards where it could not be seen: it lifts the purple under the pointer and shows the dots there at full strength. */
.n-home .n-voice-grid figure:before{display:none}
.n-home .n-voices{--px:-999px;--py:-999px;--lx:calc(100vmax + var(--px));--lit:0}
.n-home .n-voices.is-lit{--lit:1}
.n-home .n-voices:before{background:radial-gradient(340px circle at var(--lx) var(--py),oklch(.56 .13 295 / calc(.6 * var(--lit))),transparent 70%),radial-gradient(980px 460px at 50% 0,oklch(.47 .1 295 / .75),transparent 72%)}
.n-home .n-voices:after{background-image:radial-gradient(#ffffff66 2px,transparent 2.7px);background-size:30px 30px;-webkit-mask-image:radial-gradient(300px circle at var(--lx) var(--py),#000,transparent 72%),radial-gradient(1200px 480px at 50% 50%,#0000008c 25%,transparent 80%);mask-image:radial-gradient(300px circle at var(--lx) var(--py),#000,transparent 72%),radial-gradient(1200px 480px at 50% 50%,#0000008c 25%,transparent 80%)}

/* Recorded close-ups: the clip is the card. Its box is reserved by the aspect ratio, so the poster and the video sit in the same place. */

/* Close-up template (.nf-scene). Style locked 2026-11-11, after Mars but kept a desktop app: a deep silk stage in the theme hue, one wide borderless
   window running off the stage's bottom edge, traffic lights and a title on its white top, content scrolling under a fade. Rest state (no .is-playing,
   or reduced motion) is the opened view at the top. redesign.js measures pointer targets (--NAME-x/y for [data-at=NAME]) and the scroll length
   (--scroll, --thumb-h, --travel). Two tops: .nfs-fade, where the page scrolls under a fading top (a document), or solid, where the scene adds its
   own fixed bars over a .nfs-scroll area that gets a short fade (a panel). Feature parts follow; each scene's timeline is at the end. */
.n-features-merged .n-feature-stage:has(>.nf-scene){display:block;height:520px;min-height:0;padding:0;isolation:isolate}
.n-features-merged .n-feature-stage:has(>.nf-scene){--h:var(--story-h,208);background:radial-gradient(90% 70% at 88% 6%,oklch(.86 .12 var(--h) / .55),transparent 60%),linear-gradient(140deg,transparent 0 30%,oklch(.92 .09 var(--h) / .3) 38%,transparent 47%),linear-gradient(126deg,oklch(.2 .09 var(--h)) 0%,oklch(.48 .19 var(--h)) 8%,oklch(.76 .15 var(--h)) 14%,oklch(.42 .19 var(--h)) 21%,oklch(.17 .08 var(--h)) 31%,oklch(.4 .19 var(--h)) 41%,oklch(.7 .17 var(--h)) 47%,oklch(.36 .18 var(--h)) 55%,oklch(.15 .07 var(--h)) 65%,oklch(.44 .19 var(--h)) 76%,oklch(.8 .13 var(--h)) 82%,oklch(.4 .19 var(--h)) 89%,oklch(.19 .09 var(--h)) 100%)}
.n-feature-stage:has(>.nf-scene):before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/assets/noea/grain.svg);background-size:150px;mix-blend-mode:overlay}
.nf-scene{--d:13s;--rule:#e8e9ec;--ink:#171717;--mark:oklch(.62 .15 var(--story-h,208));position:absolute;left:44px;right:44px;top:60px;bottom:0;display:flex;flex-direction:column;font-size:15.5px;line-height:1.8;color:#3a3d44;text-align:left;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 40px 80px -30px #0009;overflow:hidden}
.nf-scene p{margin:0}
.nf-scene b{font-weight:inherit}
.nf-scene code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84em;color:#30343a;background:#f1f2f4;border-radius:5px;padding:1px 5px}
.nfs-lights{position:absolute;left:18px;top:17px;display:flex;gap:7px}
.nfs-lights i{width:11px;height:11px;border-radius:50%;background:#ff5f57;box-shadow:inset 0 0 0 .5px #0000001f}
.nfs-lights i:nth-child(2){background:#febc2e}.nfs-lights i:nth-child(3){background:#28c840}
.nfs-pause{position:absolute;z-index:4;right:44px;top:13px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;color:#171717;background:#ffffffc7;box-shadow:0 0 0 1px #ffffff,0 6px 18px -6px #0f1d3a59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:transform .2s}
.nfs-pause:hover{transform:scale(1.06)}
.nfs-pause:focus-visible{outline:2px solid #171717;outline-offset:3px}
.nfs-pause svg{width:13px;height:13px}
.nfs-pause-bars{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.nfs-play{display:none;fill:currentColor}
.nfs-pause[aria-pressed=true] .nfs-pause-bars{display:none}.nfs-pause[aria-pressed=true] .nfs-play{display:block}
@media(prefers-reduced-motion:reduce){.nfs-pause{display:none}}
@media(max-width:1100px){.nf-scene{left:26px;right:26px}.nfs-pause{right:26px}}
@media(max-width:700px){
 .n-features-merged .n-feature-stage:has(>.nf-scene){height:500px}
 .nf-scene{left:14px;right:14px;top:44px;border-radius:18px 18px 0 0}
 .nfs-pause{right:14px}
}
@media(max-width:1100px){.nf-scene{left:26px;right:26px}.nfs-pause{right:26px}}
 .nfs-lights{top:15px;left:12px;gap:5px}.nfs-lights i{width:9px;height:9px}
 .nfs-pause{right:14px;top:6px;width:32px;height:32px}
/* The Noea app redrawn (.na): parts shared by the zh-CN hero and the feature close-ups, built by src/redesign/app-zh.mjs after the real app.
   Sizes are in em so a scene sets one font size: 14px in a close-up, 12.5px on the hero's 1100px canvas. Colours are the app's neutral light theme. */
.na{--line:#e8e8e8;--ink:#1c1c1c;--soft:#737373;--faint:#a3a3a3;--fill:#f4f4f4;--stale:#e0803a;--new:#3f9d5a;--edit:#3b6fd9;font-size:14px;line-height:1.75;color:var(--ink);text-align:left;font-feature-settings:"tnum"}
.na p,.na ul,.na figure{margin:0}.na b{font-weight:600}.na i,.na em,.na small{font-style:normal}.na ul{padding:0;list-style:none}
.na-ic{flex:none;width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.na-ic[data-fill]{fill:currentColor;stroke:none}
.na code,.na-mono,.na-file,.na-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.na code{padding:.08em .38em;border-radius:.3em;font-size:.88em;color:#262626;background:#f1f1f1}
.na-file{display:inline-flex;align-items:center;gap:.3em;margin:0 .2em;padding:0 .5em;border:1px solid #e2e2e2;border-radius:.42em;font-size:.86em;line-height:1.6;color:#2e2e2e;background:#fff;white-space:nowrap;vertical-align:.05em}
.na-file .na-ic{width:1em;height:1em;color:var(--soft)}
.na-add{color:#3f9d5a}.na-del{color:#c8554d}
.na-btn,.na-btn-soft,.na-btn-text,.na-btn-line{display:inline-flex;align-items:center;gap:.3em;padding:.22em .72em;border-radius:.55em;font-size:.9em;font-weight:600;line-height:1.6;white-space:nowrap}
.na-btn{color:#fff;background:#171717}.na-btn-soft{background:#f0f0f0}.na-btn-text{color:#3a3a3a;font-weight:500}.na-btn-line{border:1px solid #e0e0e0;background:#fff}
.na-seg{display:inline-flex;padding:.16em;border-radius:.55em;font-size:.88em;line-height:1.5;background:#f1f1f1;white-space:nowrap}
.na-seg i{padding:.1em .62em;border-radius:.42em;color:var(--soft)}.na-seg i.is-on{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0000001a}
.na-busy{flex:none;width:.85em;height:.85em;border:1.5px solid #cfcfcf;border-top-color:#555;border-radius:50%;animation:na-spin .9s linear infinite}
.na-m-stale,.na-m-new,.na-m-edit{flex:none;width:.24em;height:.9em;border-radius:.2em;background:var(--stale)}.na-m-new{background:var(--new)}.na-m-edit{background:var(--edit)}
.na-m-ring,.na-ring{flex:none;width:.62em;height:.62em;border:.12em solid var(--ink);border-radius:50%;box-sizing:border-box}
.na-m-dot{flex:none;width:.42em;height:.42em;border-radius:50%;background:var(--stale)}
/* Sidebar. */
.na-side{position:relative;flex:none;display:flex;flex-direction:column;width:17.6em;padding:0 .6em;box-sizing:border-box;border-right:1px solid var(--line);font-size:.93em;line-height:1.5;background:#fafafa;overflow:hidden}
.na-side>*{flex:none}.na-side-top{display:flex;align-items:center;justify-content:space-between;height:3em;padding:0 .5em;color:#2a2a2a}
.na-lights{display:flex;gap:.55em}.na-lights i{width:.82em;height:.82em;border-radius:50%;background:#dcdcdc}
.na-nav{display:flex;align-items:center;gap:.6em;height:2.25em;padding:0 .6em}.na-nav>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-nav kbd{padding:0 .4em;border-radius:.35em;font:inherit;font-size:.84em;color:var(--soft);background:#f0f0f0}
.na-proj .na-ic:last-child{color:var(--soft)}
.na-branch>span{display:flex;align-items:center;gap:.3em;color:#2e2e2e}.na-branch i{color:var(--faint)}.na-branch span .na-ic{width:1em;height:1em;color:var(--soft)}
.na-status{display:flex;align-items:center;justify-content:space-between;height:2.3em;margin-top:.35em;padding:0 .6em;color:#666}.na-status i{letter-spacing:.05em;color:var(--faint)}
.na-sec{display:flex;align-items:center;gap:.45em;height:2.3em;margin-top:.5em;padding:0 .6em;font-size:.92em}.na-sec span{flex:1;color:var(--faint)}.na-sec i{font-size:1.25em;color:#555}.na-sec-chat{margin-top:1.4em}.na-sec-chat b{flex:1}
.na-row{display:flex;align-items:center;gap:.35em;height:2.2em;padding:0 .6em 0 2.45em;border-radius:.6em;white-space:nowrap}
.na-row>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.na-row .na-ic:first-child{width:1em;height:1em;margin-left:-1.5em;margin-right:.15em;color:#555}
.na-l1{padding-left:3.6em}.na-l2{padding-left:4.8em}
.na-row.is-on{font-weight:600;background:#efefef}
.na-marks{display:flex;align-items:center;gap:.25em}
.na-chatrow{padding-left:2.45em}.na-chatrow time{font-size:.9em;color:var(--faint)}.na-chatrow .na-busy{margin-left:-1.4em;margin-right:.2em}
.na-side-foot{display:flex;justify-content:space-between;margin-top:auto;padding:.9em .6em;color:#2a2a2a}
/* Tab title above a document, a chat or a panel. */
.na-top,.na-panel-top{flex:none;display:flex;align-items:center;justify-content:center;gap:.5em;height:3em;font-size:.9em;color:var(--soft);white-space:nowrap}
.na-top time{color:var(--faint)}
/* Document. */
.na-scroll{position:relative;flex:1;min-height:0;overflow:hidden}.na-scroll>*{transition:transform 1.1s cubic-bezier(.45,.05,.25,1)}
.na-doc{padding:1.2em 3.4em 6em 2.2em;font-size:1.04em}
.na-t1{margin:0 0 .55em!important;font-size:1.85em;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.na-t2{margin:1.5em 0 .5em!important;font-size:1.36em;font-weight:700;line-height:1.35}
.na-unit{position:relative;margin:0 -.7em 1.05em;padding:.3em .7em;border-radius:.6em;transition:background-color .3s}
.na-unit ul{padding-left:1.4em;list-style:disc}.na-unit li{margin:.15em 0}.na-unit li::marker{color:#555}
.na-unit table{width:100%;border-collapse:collapse;font-size:.92em;line-height:1.55}.na-unit th,.na-unit td{padding:.5em .8em;border:1px solid #e4e4e4;text-align:left;vertical-align:top}.na-unit th{font-weight:600;background:#f5f5f5}
.na-att{position:absolute;left:calc(100% + .75em);top:.55em;display:flex;align-items:center;gap:.2em;font-size:.8em;line-height:1;color:var(--faint);white-space:nowrap}.na-att .na-ic{width:1.1em;height:1.1em}.na-att-gap{color:#c2703d}
.na-ring{position:absolute;left:calc(100% + 2.85em);top:.6em}
.na-unit.is-open{background:var(--fill)}
.na-unit.is-stale,.na-unit.is-new,.na-unit.is-edit{background:#f7f7f7}
.na-unit.is-stale:before,.na-unit.is-new:before,.na-unit.is-edit:before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:.24em;border-radius:.2em;background:var(--stale)}.na-unit.is-new:before{background:var(--new)}.na-unit.is-edit:before{background:var(--edit)}
.na-added{background:#e7f3ea}.na-removed{background:#fbe9e8;color:#8e8e8e;text-decoration:line-through;text-decoration-color:#d9a09b}
.na-ins{border-radius:.2em;background:#cfe8d6}.na-cut{border-radius:.2em;color:#9a9a9a;background:#f8dedc;text-decoration:line-through;text-decoration-color:#d9a09b}
.na-pill{position:absolute;right:calc(100% + .35em);top:.5em;padding:0 .6em;border:1px solid #9fcfae;border-radius:1em;font-size:.76em;line-height:1.75;color:#3f9d5a;background:#fff;white-space:nowrap}
.na-keep{display:inline-block;margin:0 .3em;padding:0 .55em;border:1px solid #dcdcdc;border-radius:1em;font-size:.76em;line-height:1.7;color:var(--soft);background:#fff;vertical-align:.1em}
.na-u{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat;transition:background-size .3s,background-color .3s}
.na-u.is-on{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}
.na-outline{position:absolute;left:1.6em;top:6.4em;display:flex;flex-direction:column;gap:.78em}.na-outline i{position:relative;display:block;width:1em;height:1.5px;margin-left:.5em;background:#b9b9b9}.na-outline i.is-h1{width:1.5em;margin-left:0;background:#222}.na-outline i.is-sub{width:.7em;margin-left:.8em}
.na-outline b{position:absolute;left:calc(100% + .45em);top:-.28em;width:.5em;height:.5em;border:1.5px solid #222;border-radius:50%;box-sizing:border-box}.na-outline .na-o-add{border:0;background:var(--new)}.na-outline .na-o-del{border:0;background:#d0605a}
/* Explanation under a unit. */
.na-rea{margin:-.55em 0 1.3em .15em;padding:.15em 0 .2em 1.15em;border-left:2px solid #e6e6e6;font-size:.94em;line-height:1.85;color:#262626;animation:na-open .45s both}
.na-rea>p{margin:0 0 .7em}
.na-rea-head{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:.35em!important}.na-rea-head small{width:100%;font-size:.86em;line-height:1.4;color:var(--soft)}.na-rea-head b{flex:1;font-size:1.06em}.na-rea-head .na-ic{color:#333}
.na-back{font-size:.9em;color:var(--soft)}
.na-rea-sec{display:flex;align-items:center;gap:.4em;margin:.9em 0 .4em!important;font-size:.9em;color:var(--soft)}.na-rea-sec .na-ic:first-child{width:.95em;height:.95em;color:var(--faint)}.na-rea-sec.is-strong{color:var(--ink);font-weight:600}
.na-care{margin-bottom:.75em}.na-care b{display:block;font-size:.86em;line-height:1.7}
.na-k-gap{color:#c2703d}.na-k-choice{color:#5874a6}.na-k-risk{color:#c0635e}.na-k-suggest{color:#5a8a69}
.na-stamp{margin-top:1em!important;font-size:.84em;color:var(--faint)}
.na-stale{margin:.2em 0 1em;padding:.75em .95em;border:1px dashed #d6d6d6;border-radius:.7em;font-size:.9em;line-height:1.6;color:var(--soft)}.na-stale p{margin:0 0 .35em}.na-stale b{display:flex;align-items:center;gap:.4em;color:var(--ink)}.na-stale .na-mono{font-size:.95em;color:#333}.na-stale p:last-child{margin:.6em 0 0}
.na-shot{display:block;width:62%;margin:.5em 0 .8em;border:1px solid #e4e4e4;border-radius:.55em;background:#fff;overflow:hidden}
.na-log{margin:.4em 0 .8em;padding:.6em .8em;border-radius:.5em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84em;line-height:1.7;color:#333;background:#f5f5f5;white-space:pre}
.na-log .na-ok{color:#3f9d5a}
/* Control strip and review strip. */
.na-tray,.na-revbar{position:absolute;z-index:2;left:50%;bottom:.9em;transform:translateX(-50%);display:flex;align-items:center;gap:.85em;padding:.42em .7em;border:1px solid #e4e4e4;border-radius:.95em;font-size:.9em;line-height:1.5;color:#3a3a3a;background:#fff;box-shadow:0 6px 20px -8px #00000026;white-space:nowrap}
.na-revbar{border-radius:2em;padding:.42em .9em}
.na-tray-tab{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);display:grid;place-items:center;width:3.2em;height:1.25em;border:1px solid #e4e4e4;border-bottom:0;border-radius:.6em .6em 0 0;color:var(--faint);background:#fff}.na-tray-tab .na-ic{width:.9em;height:.9em}
.na-tray-nav{display:flex;align-items:center;gap:.5em;color:var(--soft)}.na-tray-nav .na-ic{width:.95em;height:.95em}
.na-tray-mark,.na-tray-busy{display:flex;align-items:center;gap:.4em}.na-tray-note{color:var(--soft)}
.na-tray-eye{display:flex;padding-left:.8em;border-left:1px solid #e4e4e4}
/* Chat. */
.na-chat{display:flex;flex-direction:column;gap:1.05em;padding:.6em 1.7em 2em}
.na-me{display:flex;justify-content:flex-end;animation:na-in .35s both}.na-me span{max-width:82%;padding:.5em 1em;border-radius:1.1em;background:var(--fill)}
.na-tools,.na-think{display:flex;align-items:center;gap:.5em;font-size:.9em;color:var(--soft);animation:na-in .35s both}.na-tools .na-ic:last-child{width:.9em;height:.9em}.na-think small{font-size:1em;color:var(--faint)}
.na-dots{width:1em;height:1em;background:radial-gradient(circle,#555 34%,#0000 38%) 0 0/.5em .5em;animation:na-blink 1s steps(2) infinite}
.na-say{animation:na-in .4s both}.na-say p+p{margin-top:.75em}
.na-card{border:1px solid #e4e4e4;border-radius:.9em;background:#fff;overflow:hidden;animation:na-in .45s both}.na-card>p{padding:0 1.1em}.na-card>p:nth-child(2){padding-bottom:.9em}.na-card .na-file{margin-left:0}
.na-card-title{padding-top:.85em!important;font-weight:600}
.na-card-foot{display:flex;align-items:center;gap:.5em;padding:.6em .8em .6em 1.1em!important;border-top:1px solid #ececec;font-size:.93em;color:var(--soft);background:#fafafa}.na-card-foot em{flex:1}
.na-card-text{padding:.2em 1.1em .9em!important;font-size:.95em;color:#333}
.na-chg{display:flex;align-items:center;gap:.9em;padding:.8em 1em;border:1px solid #e4e4e4;border-radius:1em;background:#fff;animation:na-in .45s both}.na-chg p{flex:1;line-height:1.5}.na-chg p b{margin-right:.5em}.na-chg p span{margin-right:.3em;font-size:.86em}.na-chg small{display:block;font-size:.86em;color:var(--soft)}.na-chg small i{margin:0 .5em;color:var(--faint)}
.na-chg-ic{display:grid;place-items:center;width:2.4em;height:2.4em;border-radius:.6em;color:#444;background:var(--fill)}.na-chg-go{display:flex;align-items:center;gap:.2em;font-size:.92em;color:var(--soft);white-space:nowrap}.na-chg-go .na-ic{width:.95em;height:.95em}
.na-composer{flex:none;margin:0 1.2em 1em;padding:.7em .9em .6em;border:1px solid #e2e2e2;border-radius:.9em;background:#fff;box-shadow:0 2px 8px -4px #0000001a}.na-composer p:first-child{margin-bottom:.55em;color:var(--faint)}
.na-composer p:last-child{display:flex;align-items:center;gap:.9em;font-size:.88em;color:#3a3a3a}.na-composer span{display:flex;align-items:center;gap:.3em;white-space:nowrap}.na-composer em{flex:1}.na-composer span .na-ic:last-child{width:.85em;height:.85em;color:var(--faint)}.na-composer>p>.na-ic:last-child{color:var(--faint)}
.na-stop{display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:.5em;color:#fff;background:#171717}
/* Changes panel and code panel: a card beside the chat or the document. */
.na-panel{display:flex;flex-direction:column;height:100%;border:1px solid #e4e4e4;border-radius:1em;background:#fff;box-sizing:border-box;overflow:hidden}
.na-chg-bar{flex:none;display:flex;align-items:center;gap:.6em;padding:.1em .9em .6em;border-bottom:1px solid #ececec;font-size:.88em;color:var(--soft)}.na-chg-bar .na-seg{margin-left:auto}
.na-panel-body{padding:.8em .9em 3em}
.na-intent{padding:.7em .9em;border-radius:.6em;font-size:.95em;line-height:1.75;background:#f6f6f6}.na-crumb{display:flex;align-items:center;gap:.4em;margin-bottom:.35em!important;font-size:.88em;color:var(--soft)}.na-crumb .na-ic{width:1em;height:1em}
.na-note{display:flex;align-items:center;gap:.35em;margin:.5em 0 0 .2em!important;font-size:.86em;color:var(--soft)}.na-note .na-ic{width:.9em;height:.9em}
.na-point{margin-top:1em!important;font-size:.95em;line-height:1.6}.na-point small{margin-left:.6em;font-size:.86em;color:var(--faint)}.na-point-text{margin-bottom:.5em!important;font-size:.88em;line-height:1.65;color:var(--soft)}
.na-filerow,.na-skip,.na-hunk{display:flex;align-items:center;gap:.6em;padding:.35em .8em;font-size:.86em;line-height:1.6;color:var(--soft)}.na-filerow .na-ic,.na-skip .na-ic,.na-hunk .na-ic{width:.95em;height:.95em}
.na-filerow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2a2a2a;background:#f6f6f6;border-radius:.4em .4em 0 0}.na-filerow span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.na-skip{color:var(--faint);background:#f6f6f6}.na-hunk em{display:flex;align-items:center;gap:.2em;margin-left:auto;padding:0 .6em;border:1px solid #e2e2e2;border-radius:1em}
.na-code{margin:0 0 .4em;font-size:.86em;line-height:1.7;color:#2a2a2a;white-space:pre;overflow:hidden}.na-code>span{display:block;padding-right:.8em}.na-code i{display:inline-block;width:3.4em;margin-right:1.1em;text-align:right;color:var(--faint)}
.na-code .is-add{background:#e4f2e8}.na-code .is-del{background:#fbe8e7}.na-code .is-add i{color:#3f9d5a}.na-code .is-del i{color:#c8554d}.na-code .is-hi{background:#e3e3e3}
.na-kw{color:#c9443c}.na-fn{color:#5b45c9}.na-str{color:#2f5fb3}.na-cm{color:#737373}
/* Diagrams. */
.na-fig{padding:1.1em .9em;border-radius:.7em;background:#fafafa}.na-fig svg{display:block;width:100%;height:auto;margin:0 auto;overflow:visible}
.na-fig text{font-size:12.5px;font-weight:500;fill:#171717;text-anchor:middle;dominant-baseline:central}
.na-node rect,.na-node path{fill:#f5f5f5;stroke:#e5e5e5;stroke-width:1}.na-link{fill:none;stroke:#6f6f6f;stroke-width:1}.na-fig marker path{fill:#262626}
.na-fig .na-link-label{font-size:11px;font-weight:400;fill:#737373}.na-tag rect{fill:#fcfcfc;stroke:#e2e2e2;stroke-width:1}
.na-life{fill:none;stroke:#8a8a8a;stroke-width:1;stroke-dasharray:5 4}.na-link.na-back{stroke-dasharray:5 4}
.na-part{fill:#fafafa;stroke:#e5e5e5}.na-part-head{fill:#efefef;stroke:#e5e5e5}.na-fig .na-part-name{font-size:11px;fill:#737373;text-anchor:start}
/* Pointer and steps. */
.na-play{position:relative}.nf-scene.na-play{position:absolute}
.na-cursor{position:absolute;z-index:9;left:0;top:0;width:22px;height:22px;margin:-3px 0 0 -4px;opacity:0;pointer-events:none;fill:#171717;stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 2px 3px #0000004d);transition:transform .95s cubic-bezier(.45,.05,.25,1),opacity .3s}
.na-cursor.is-on{opacity:1}.na-cursor path{transform-origin:5px 3px;transition:transform .15s}.na-cursor.is-down path{transform:scale(.82)}
.na-play.is-reset,.na-play.is-reset *{transition:none!important;animation:none!important}
.na-strip{display:flex;width:200%;height:100%;transition:transform .85s cubic-bezier(.6,0,.2,1)}.na-strip.is-second{transform:translateX(-50%)}.na-strip>*{flex:none;width:50%;min-width:0;box-sizing:border-box}
@keyframes na-in{from{opacity:0;transform:translateY(8px)}}
@keyframes na-open{from{opacity:0;transform:translateY(-8px)}}
@keyframes na-side-in{from{opacity:0;transform:translateX(24px)}}
@keyframes na-spin{to{transform:rotate(1turn)}}
@keyframes na-blink{50%{opacity:.45}}
@keyframes na-flash{from{opacity:.9}to{opacity:0}}
.na-play:not(.is-s1) .na-s1{display:none!important}.is-s1 .na-h1{display:none!important}.is-s1 .na-p1{transform:translateX(-50%)}.is-s1 .na-b1{transform:translateX(0)}.is-s1 .na-o1{background:#f4f4f4}.is-s1 .na-u.na-on1{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s1 .na-u.na-off1{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s2) .na-s2{display:none!important}.is-s2 .na-h2{display:none!important}.is-s2 .na-p2{transform:translateX(-50%)}.is-s2 .na-b2{transform:translateX(0)}.is-s2 .na-o2{background:#f4f4f4}.is-s2 .na-u.na-on2{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s2 .na-u.na-off2{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s3) .na-s3{display:none!important}.is-s3 .na-h3{display:none!important}.is-s3 .na-p3{transform:translateX(-50%)}.is-s3 .na-b3{transform:translateX(0)}.is-s3 .na-o3{background:#f4f4f4}.is-s3 .na-u.na-on3{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s3 .na-u.na-off3{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s4) .na-s4{display:none!important}.is-s4 .na-h4{display:none!important}.is-s4 .na-p4{transform:translateX(-50%)}.is-s4 .na-b4{transform:translateX(0)}.is-s4 .na-o4{background:#f4f4f4}.is-s4 .na-u.na-on4{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s4 .na-u.na-off4{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s5) .na-s5{display:none!important}.is-s5 .na-h5{display:none!important}.is-s5 .na-p5{transform:translateX(-50%)}.is-s5 .na-b5{transform:translateX(0)}.is-s5 .na-o5{background:#f4f4f4}.is-s5 .na-u.na-on5{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s5 .na-u.na-off5{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s6) .na-s6{display:none!important}.is-s6 .na-h6{display:none!important}.is-s6 .na-p6{transform:translateX(-50%)}.is-s6 .na-b6{transform:translateX(0)}.is-s6 .na-o6{background:#f4f4f4}.is-s6 .na-u.na-on6{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s6 .na-u.na-off6{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s7) .na-s7{display:none!important}.is-s7 .na-h7{display:none!important}.is-s7 .na-p7{transform:translateX(-50%)}.is-s7 .na-b7{transform:translateX(0)}.is-s7 .na-o7{background:#f4f4f4}.is-s7 .na-u.na-on7{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s7 .na-u.na-off7{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s8) .na-s8{display:none!important}.is-s8 .na-h8{display:none!important}.is-s8 .na-p8{transform:translateX(-50%)}.is-s8 .na-b8{transform:translateX(0)}.is-s8 .na-o8{background:#f4f4f4}.is-s8 .na-u.na-on8{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s8 .na-u.na-off8{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s9) .na-s9{display:none!important}.is-s9 .na-h9{display:none!important}.is-s9 .na-p9{transform:translateX(-50%)}.is-s9 .na-b9{transform:translateX(0)}.is-s9 .na-o9{background:#f4f4f4}.is-s9 .na-u.na-on9{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s9 .na-u.na-off9{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s10) .na-s10{display:none!important}.is-s10 .na-h10{display:none!important}.is-s10 .na-p10{transform:translateX(-50%)}.is-s10 .na-b10{transform:translateX(0)}.is-s10 .na-o10{background:#f4f4f4}.is-s10 .na-u.na-on10{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s10 .na-u.na-off10{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s11) .na-s11{display:none!important}.is-s11 .na-h11{display:none!important}.is-s11 .na-p11{transform:translateX(-50%)}.is-s11 .na-b11{transform:translateX(0)}.is-s11 .na-o11{background:#f4f4f4}.is-s11 .na-u.na-on11{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s11 .na-u.na-off11{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s12) .na-s12{display:none!important}.is-s12 .na-h12{display:none!important}.is-s12 .na-p12{transform:translateX(-50%)}.is-s12 .na-b12{transform:translateX(0)}.is-s12 .na-o12{background:#f4f4f4}.is-s12 .na-u.na-on12{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s12 .na-u.na-off12{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s13) .na-s13{display:none!important}.is-s13 .na-h13{display:none!important}.is-s13 .na-p13{transform:translateX(-50%)}.is-s13 .na-b13{transform:translateX(0)}.is-s13 .na-o13{background:#f4f4f4}.is-s13 .na-u.na-on13{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s13 .na-u.na-off13{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s14) .na-s14{display:none!important}.is-s14 .na-h14{display:none!important}.is-s14 .na-p14{transform:translateX(-50%)}.is-s14 .na-b14{transform:translateX(0)}.is-s14 .na-o14{background:#f4f4f4}.is-s14 .na-u.na-on14{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s14 .na-u.na-off14{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s15) .na-s15{display:none!important}.is-s15 .na-h15{display:none!important}.is-s15 .na-p15{transform:translateX(-50%)}.is-s15 .na-b15{transform:translateX(0)}.is-s15 .na-o15{background:#f4f4f4}.is-s15 .na-u.na-on15{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s15 .na-u.na-off15{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s16) .na-s16{display:none!important}.is-s16 .na-h16{display:none!important}.is-s16 .na-p16{transform:translateX(-50%)}.is-s16 .na-b16{transform:translateX(0)}.is-s16 .na-o16{background:#f4f4f4}.is-s16 .na-u.na-on16{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s16 .na-u.na-off16{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s17) .na-s17{display:none!important}.is-s17 .na-h17{display:none!important}.is-s17 .na-p17{transform:translateX(-50%)}.is-s17 .na-b17{transform:translateX(0)}.is-s17 .na-o17{background:#f4f4f4}.is-s17 .na-u.na-on17{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s17 .na-u.na-off17{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s18) .na-s18{display:none!important}.is-s18 .na-h18{display:none!important}.is-s18 .na-p18{transform:translateX(-50%)}.is-s18 .na-b18{transform:translateX(0)}.is-s18 .na-o18{background:#f4f4f4}.is-s18 .na-u.na-on18{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s18 .na-u.na-off18{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s19) .na-s19{display:none!important}.is-s19 .na-h19{display:none!important}.is-s19 .na-p19{transform:translateX(-50%)}.is-s19 .na-b19{transform:translateX(0)}.is-s19 .na-o19{background:#f4f4f4}.is-s19 .na-u.na-on19{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s19 .na-u.na-off19{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s20) .na-s20{display:none!important}.is-s20 .na-h20{display:none!important}.is-s20 .na-p20{transform:translateX(-50%)}.is-s20 .na-b20{transform:translateX(0)}.is-s20 .na-o20{background:#f4f4f4}.is-s20 .na-u.na-on20{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s20 .na-u.na-off20{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s21) .na-s21{display:none!important}.is-s21 .na-h21{display:none!important}.is-s21 .na-p21{transform:translateX(-50%)}.is-s21 .na-b21{transform:translateX(0)}.is-s21 .na-o21{background:#f4f4f4}.is-s21 .na-u.na-on21{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s21 .na-u.na-off21{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s22) .na-s22{display:none!important}.is-s22 .na-h22{display:none!important}.is-s22 .na-p22{transform:translateX(-50%)}.is-s22 .na-b22{transform:translateX(0)}.is-s22 .na-o22{background:#f4f4f4}.is-s22 .na-u.na-on22{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s22 .na-u.na-off22{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s23) .na-s23{display:none!important}.is-s23 .na-h23{display:none!important}.is-s23 .na-p23{transform:translateX(-50%)}.is-s23 .na-b23{transform:translateX(0)}.is-s23 .na-o23{background:#f4f4f4}.is-s23 .na-u.na-on23{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s23 .na-u.na-off23{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}
.na-play:not(.is-s24) .na-s24{display:none!important}.is-s24 .na-h24{display:none!important}.is-s24 .na-p24{transform:translateX(-50%)}.is-s24 .na-b24{transform:translateX(0)}.is-s24 .na-o24{background:#f4f4f4}.is-s24 .na-u.na-on24{border-radius:.15em;background:linear-gradient(#333,#333) center 100%/100% 2px no-repeat,#ececec}.is-s24 .na-u.na-off24{background:linear-gradient(#a8a8a8,#a8a8a8) center calc(100% - .05em)/1.3em 1.5px no-repeat}

/* zh-CN hero (.nh): the whole app window on a fixed 1100×620 canvas that redesign.js scales to the frame (src/redesign/hero-zh.mjs). */
.n-hero-viewport:has(.nh){height:620px;background:#fff}
.n-product-clip{position:relative;border:1px solid #00000014;box-shadow:0 0 0 1px #ffffff inset,0 1px 2px #0000000a,0 12px 28px -12px #0f1d3a24,0 44px 90px -40px #0f1d3a47}.n-product-clip .n-hero-viewport{border-radius:inherit;overflow:hidden}
.nh{display:flex;width:1100px;height:620px;transform-origin:top left;font-size:12.5px;background:#fff;overflow:hidden}
.nh .na-side{width:196px;font-size:12px}.nh .na-lights i:nth-child(1){background:#ff5f57}.nh .na-lights i:nth-child(2){background:#febc2e}.nh .na-lights i:nth-child(3){background:#28c840}
.nh-main{position:relative;flex:1;min-width:0}
.nh-act{position:absolute;inset:0;display:flex;animation:na-in .5s both}
.nh-a1{flex-direction:column}.nh-a1 .na-doc{width:560px;margin:0 auto;padding:8px 0 90px}
.nh-a1 .na-outline{left:22px;top:84px}
.nh-target{transition:background-color .3s}.is-s3 .nh-target{background:var(--fill)}.is-s3 .nh-target .na-ring{display:none}
.nh-row-doc{font-weight:600;background:#efefef}.nh-row-doc .na-marks{display:none}
.is-s5 .nh-row-doc{font-weight:400;background:none}.is-s5 .nh-row-chat{font-weight:600;background:#efefef}.is-s11 .nh-row-doc .na-marks{display:flex}.is-s12 .nh-row-doc .na-m-new{width:.62em;height:.62em;border:.12em solid var(--ink);border-radius:50%;box-sizing:border-box;background:none}
.nh-col{position:relative;display:flex;flex-direction:column;min-width:0;height:100%}
.nh-chat{flex:1}
.nh-rev,.nh-chg{flex:none;width:0;overflow:hidden;transition:width .8s cubic-bezier(.6,0,.2,1)}
.nh-col-in{position:relative;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.nh-rev .nh-col-in{width:440px;border-right:1px solid var(--line)}.nh-rev .na-doc{flex:1;padding:6px 56px 0 44px}
.is-s8 .nh-rev{width:440px}.is-s15 .nh-rev{width:0}
.nh-chg .nh-col-in{width:520px;padding:8px 8px 8px 0}.is-s15 .nh-chg{width:520px}
.nh-newp{transition:background-color .4s}.is-s11 .nh-newp{background:#f7f7f7}.is-s11 .nh-newp:before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:.24em;border-radius:.2em;background:var(--new)}
.is-s12 .nh-newp:before{display:none}.is-s12 .nh-newp{background:none}
.nh .na-chat{padding-top:10px}

/* Feature close-ups (.nfx, src/redesign/features-zh.mjs): the app parts inside the stage window. A close-up is one screen, or a strip of two
   screens the window pans across, or a document with a panel that opens beside it. */
.nfx{font-size:14px;line-height:1.75;color:var(--ink)}
.nfx>.nfs-lights{z-index:6}
.nfx-body{position:relative;flex:1;min-height:0;container-type:inline-size;overflow:hidden}
.nfx-screen{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden;background:#fff}
.nfx .na-top{height:46px}.nfx .na-lights{visibility:hidden}
.nfx .na-doc{padding:.3em 3.7em 6em 1.9em}
.nfx .na-chat{padding:.3em 1.3em 2em}
.nfx-row,.nfx-split{display:flex;height:100%}.nfx-row>.nfx-screen,.nfx-split>.nfx-screen{flex:1}
.nfx .na-side{width:15.2em}
.nfx-pad{padding:42px 10px 0;box-sizing:border-box}.nfx-pad .na-panel{border-bottom:0;border-radius:1em 1em 0 0}
.nfx-ghost{flex:1;min-width:0;opacity:.4}
/* 查到依据: the code panel opens beside the text and closes again. */
.nfx-codecol{position:absolute;z-index:3;right:0;top:0;bottom:0;width:66cqw;padding:42px 10px 0 0;box-sizing:border-box;transform:translateX(104%);transition:transform .7s cubic-bezier(.6,0,.2,1)}.is-s3 .nfx-codecol{transform:none}.is-s6 .nfx-codecol{transform:translateX(104%)}
.nfx-codecol-in{height:100%}.nfx-codecol .na-panel{border-bottom:0;border-radius:1em 1em 0 0;box-shadow:-18px 0 40px -18px #00000040}
.nfx-codecol .na-panel-top{position:relative}.nfx-x{position:absolute;right:.9em;top:.9em;display:flex;color:#333}
.nfx-mono{font-size:.8em}.nfx-mono i{width:2.4em;margin-right:.9em}
.nfx-evidence .na-doc{padding-top:1em}
/* 过时会提醒. */
.nfx-toast{position:absolute;z-index:6;left:50%;top:12px;transform:translate(-50%,0);display:flex;align-items:center;gap:.7em;width:min(84%,21em);padding:.65em .9em;border:1px solid #0000000f;border-radius:1.1em;line-height:1.4;background:#fffffff2;box-shadow:0 14px 34px -12px #00000052;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:nfx-toast 2.3s cubic-bezier(.2,.8,.2,1) both}
.nfx-toast>i{flex:none;display:grid;place-items:center;width:2.2em;height:2.2em;border-radius:.6em;color:#fff;background:#171717}.nfx-toast b{display:block;font-size:.95em}.nfx-toast small{display:block;font-size:.86em;color:var(--soft)}.nfx-toast time{margin-left:auto;align-self:flex-start;font-size:.8em;color:var(--faint)}
@keyframes nfx-toast{0%{opacity:0;transform:translate(-50%,-130%)}14%,84%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-130%)}}
.nfx-st-a .na-marks{visibility:hidden}.is-s2 .nfx-st-a .na-marks{visibility:visible}
.is-s4 .nfx-st-row{background:#efefef}
.nfx-flash{position:absolute;inset:0;z-index:5;background:#fff;pointer-events:none;animation:na-flash .6s both}
.nfx-old{color:var(--faint)}
/* 按意图看改动, 写下决定, 改一句就开工, 整理成套. */
.nfx-loose{margin-top:1.3em!important;font-size:.95em;font-weight:600}.nfx-loose small{margin-left:.6em;font-weight:400;color:var(--faint)}
.nfx-accepted,.nfx-edited{transition:background-color .4s}
.is-s6 .nfx-accepted,.is-s1 .nfx-edited{background:#f7f7f7}
.is-s6 .nfx-accepted:before,.is-s1 .nfx-edited:before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:.24em;border-radius:.2em;background:var(--edit)}
.nfx-typed{border-radius:.2em;background:#dfe8fb}
.nfx-runs{display:grid;gap:.25em;font-size:.9em;color:var(--soft)}.nfx-runs p{display:flex;align-items:center;gap:.5em;animation:na-in .35s both}.nfx-runs .na-ic{color:#3f9d5a}
.nfx-tidy{font-size:.92em;line-height:1.9;color:var(--soft)}.nfx-tidy>p{display:flex;flex-wrap:wrap;gap:0 1.3em}.nfx-tidy b{margin-left:.5em;font-weight:500;color:var(--ink)}.nfx-tidy ul{padding-left:1.3em;list-style:disc;color:#333}
.nfx-chips{margin:.5em 0!important;gap:.3em!important}.nfx-chips .na-file{margin:0}.nfx-tidy-title{margin-top:.5em!important}
.is-s6 .nfx-kept{background:none}
/* 一搜就到. */
.nfx-dim{position:absolute;inset:0;opacity:.3}
.nfx-palette{position:absolute;left:4%;right:4%;top:50px;border:1px solid #e2e2e2;border-radius:14px;font-size:.92em;line-height:1.6;background:#fff;box-shadow:0 26px 60px -22px #0000005c;overflow:hidden}
.nfx-q{display:flex;align-items:center;gap:.6em;padding:.8em 1em;border-bottom:1px solid var(--line);font-size:1.1em}.nfx-q .na-ic{color:var(--soft)}.nfx-q span{display:flex;align-items:center;white-space:pre}
.nfx-caret{width:1.5px;height:1.2em;margin-left:1px;background:#171717;animation:na-blink 1s steps(2) infinite}
.nfx-tabs{display:flex;gap:.3em;padding:.45em .8em;border-bottom:1px solid var(--line)}.nfx-tabs i{padding:.1em .7em;border-radius:.5em;color:var(--soft)}.nfx-tabs .is-on{font-weight:600;color:var(--ink);background:var(--fill)}
.nfx-results{display:flex;height:19.5em;animation:na-in .3s both}.nfx-list{flex:1.2;min-width:0;padding:.4em .5em}
.nfx-group{padding:.35em .6em .15em;font-size:.88em;color:var(--soft)}
.nfx-found{display:flex;align-items:baseline;gap:.55em;padding:.42em .6em;border-radius:.55em;white-space:nowrap;overflow:hidden}.nfx-found .na-ic{align-self:center;color:var(--soft)}.nfx-found small{min-width:0;font-size:.9em;color:var(--soft);overflow:hidden;text-overflow:ellipsis}
.nfx-r1{background:var(--fill)}.is-s6 .nfx-r1{background:none}.is-s6 .nfx-r2{background:var(--fill)}
.nfx-all{padding:.2em .6em .3em 2.35em;font-size:.9em;color:var(--soft)}
.nfx-preview{flex:1;min-width:0;padding:.8em 1em;border-left:1px solid var(--line);font-size:.96em;overflow:hidden}.nfx-preview hr{margin:.8em 0;border:0;border-top:1px solid var(--line)}
.nfx-preview mark,.nfx-results mark{padding:0 .1em;border-radius:.2em;color:inherit;background:#e2e2e2}
.nfx-count{font-size:.86em;font-weight:600;color:var(--soft)}.nfx-ptitle{font-weight:600}
.nfx-keys{padding:.5em 1em;border-top:1px solid var(--line);font-size:.86em;color:var(--soft)}
/* 看见覆盖. */
.nfx-cover{width:min(88%,31em);margin:.2em auto 0;padding:1em 1.2em;border:1px solid #e4e4e4;border-radius:1em;box-sizing:border-box;font-size:.92em;line-height:1.5;overflow:hidden}
.nfx-cov-head{display:flex;align-items:center;gap:.7em}.nfx-cov-head b{flex:1}.nfx-cov-head span,.nfx-cov-head .na-ic{font-size:.92em;color:var(--soft)}
.nfx-score{display:flex;align-items:baseline;gap:.15em;margin:.2em 0 .35em!important}.nfx-score b{font-size:2.3em;font-weight:700;line-height:1.1;letter-spacing:-.02em}.nfx-score small{color:var(--soft)}.nfx-score span{margin-left:.9em;font-size:.92em;color:var(--soft)}
.nfx-meter{height:5px;border-radius:3px;background:#ededed;overflow:hidden}.nfx-meter i{display:block;height:100%;border-radius:3px;background:#9a9a9a}
.nfx-legend{display:flex;flex-wrap:wrap;gap:.2em 1em;margin:.6em 0 .9em!important;font-size:.88em;color:var(--soft)}.nfx-legend span{display:flex;align-items:center;gap:.4em}.nfx-legend i{width:.7em;height:.7em;border-radius:.15em}
.nfx-hatch{background:repeating-linear-gradient(135deg,#9a9a9a 0 1.5px,#0000 1.5px 3.5px)}
.nfx-cov-sec{display:flex;align-items:center;gap:.4em;margin-bottom:.3em!important;color:var(--soft)}.nfx-cov-sec em{margin-left:auto}.nfx-cov-sec .na-seg i{display:flex;padding:.2em .4em}
.nfx-mod{display:flex;align-items:flex-start;gap:.4em;margin:.45em 0!important}.nfx-mod>.na-ic{width:.9em;height:.9em;margin-top:.3em;color:var(--soft)}.nfx-mod>span:first-of-type{flex:none;width:6.2em}
.nfx-cells{flex:1;display:flex;flex-wrap:wrap;gap:.24em;padding-top:.35em}.nfx-cells i{width:.66em;height:.66em;border-radius:.14em;transition:opacity .35s,box-shadow .35s}
.nfx-c0{background:#f1f1f1}.nfx-c1{background:#e3e3e3}.nfx-c2{background:#c8c8c8}.nfx-c3{background:#989898}.nfx-c4{background:#4d4d4d}
.nfx-bars{margin-top:.7em}.nfx-bar{display:flex;align-items:center;gap:.4em;height:2em;padding:0 .5em 0 1.6em;border-radius:.5em;color:var(--soft);transition:background-color .3s,color .3s}.nfx-bar .na-ic{width:.9em;height:.9em;margin-left:-1.3em}.nfx-bl1{padding-left:2.9em}
.nfx-bar>i{width:5.2em;height:3px;margin-left:auto;border-radius:2px;background:#ececec;overflow:hidden}.nfx-bar b{display:block;height:100%;background:#9a9a9a}
.is-s2 .nfx-cells i,.is-s4 .nfx-cells i{opacity:.28}
.is-s2 .nfx-cells .nfx-a{opacity:1;box-shadow:0 0 0 1.5px #222}.is-s2 .nfx-ba{color:var(--ink);background:var(--fill)}
.is-s4 .nfx-cells .nfx-a{opacity:.28;box-shadow:none}.is-s4 .nfx-ba{color:var(--soft);background:none}
.is-s4 .nfx-cells .nfx-b{opacity:1;box-shadow:0 0 0 1.5px #222}.is-s4 .nfx-bb{color:var(--ink);background:var(--fill)}
/* 回看每一版. */
.nfx-hist .na-side-top{justify-content:flex-end;gap:.8em}.nfx-hist .na-side-top b{font-size:.95em}
.nfx-vers{margin-top:1.1em}.nfx-day{padding:.45em .6em .1em;font-size:.88em;color:var(--soft)}
.nfx-ver{display:grid;grid-template-columns:1fr auto;padding:.4em .6em;border-radius:.6em;line-height:1.45;transition:background-color .3s}.nfx-ver b{grid-column:1/-1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfx-ver span{display:flex;align-items:center;gap:.4em;font-size:.88em;color:var(--soft)}.nfx-ver span .na-ic{width:.95em;height:.95em}.nfx-ver small{font-size:.88em;color:var(--soft)}
.nfx-v1{background:#efefef}.nfx-v1 b{font-weight:600}.is-s3 .nfx-v1{background:none}.is-s3 .nfx-v1 b{font-weight:500}.is-s3 .nfx-v2{background:#efefef}.is-s3 .nfx-v2 b{font-weight:600}
.nfx-h2dot .na-marks{visibility:hidden}.nfx-h1dot .na-marks{visibility:visible}.is-s3 .nfx-h1dot .na-marks{visibility:hidden}.is-s3 .nfx-h2dot .na-marks{visibility:visible}
.nfx-history .na-revbar{font-size:.86em}.nfx-history .na-revbar>.na-ic{display:none}
@media(max-width:700px){.nfx{font-size:12.5px}.nfx .na-side{width:12.4em}.nfx .na-doc{padding-left:1.3em;padding-right:3.2em}.nfx-palette{left:2%;right:2%}.nfx-results{height:21em}.nfx-preview{display:none}.nfx-codecol{width:84cqw}}
.nfx .na-revbar,.nfx .na-tray{gap:.65em;font-size:.84em}
@media(max-width:700px){.nfx .na-revbar,.nfx .na-tray{gap:.45em;padding:.4em .55em;font-size:.8em}.nfx .na-tray-nav,.nfx .na-tray-eye{display:none}}
/* zh-CN feature copy: the claim as a small heading, then a few sentences of reasoning. */
html .n-home .n-features-merged .n-feature h3{font-size:21px;line-height:1.5;margin:0 0 8px}
.n-features-merged .n-feature-copy>p{font-size:16px;line-height:1.85;color:#454850;max-width:44em}
.nfx-wait{margin-top:1.1em}
@media(max-width:700px){html .n-home .n-features-merged .n-feature h3{font-size:19px}.n-features-merged .n-feature-copy>p{font-size:15.5px}}
/* Hand-drawn marks in the zh-CN feature copy: a highlighter stroke in the theme hue and a pen underline. */
.n-feature-copy em{font-style:normal;color:#171717}
.n-hl{padding:0 .18em;margin:0 -.1em;border-radius:.5em .2em .6em .25em/.3em .6em .25em .5em;background:linear-gradient(101deg,#0000 .25em,oklch(.9 .085 var(--story-h,208)/.95) .34em calc(100% - .3em),#0000 calc(100% - .2em)) 0 68%/100% 52% no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color 1.8s}
.n-ul{padding-bottom:.22em;background:url(/assets/noea/hand-underline.svg) 0 100%/7.5em .5em repeat-x;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.nh-chat .na-chat,.nh-chat .na-composer{width:100%;max-width:660px;margin-left:auto;margin-right:auto;box-sizing:border-box}
/* Longer interface wording in other languages. */
.na-sec b{flex:none;text-transform:capitalize}.na-sec span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nh-rev .na-tray{gap:.55em;font-size:.82em}.nh-rev .na-tray-nav{display:none}
.na-tray,.na-revbar{max-width:calc(100% - 1.2em);box-sizing:border-box}.na-tray-note{min-width:0;overflow:hidden;text-overflow:ellipsis}
.na-status span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Between the desktop nav's appearance (1001px) and 1200px, long "Docs" labels (Dokumentation, Documentación…) use their short form. */
.n-nav-short{display:none}
@media(max-width:1200px){.n-desktop-nav .n-nav-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.n-desktop-nav .n-nav-short{display:inline}}
