:root{color-scheme:light;--page:#f5f7fa;--ink:#152735;--muted:#647380;--blue:#1766e8;--line:#dce3eb;--card:#fff;--radius:24px;--demo-font:19px;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--page);color:var(--ink);font-size:16px;line-height:1.75}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:#c8dcff;color:#163a7c}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-90px;z-index:50;background:#fff;padding:12px 20px;border:2px solid var(--blue);border-radius:12px}.skip-link:focus{top:12px}.header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:94px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:750;letter-spacing:-.6px;white-space:nowrap}.brand img{object-fit:contain}.brand-light{font-weight:450}.header nav{display:flex;align-items:center;gap:27px;font-size:14px}.header nav a:hover,.text-link:hover{color:var(--blue)}.language-button{border:1px solid var(--line);border-radius:30px;padding:6px 16px;background:transparent;min-height:38px}.hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:58px;padding-block:88px 84px}.eyebrow{font-size:12px;font-weight:650;letter-spacing:2.4px;color:var(--muted);margin:0 0 26px;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(52px,5.1vw,70px);letter-spacing:-3px;line-height:1.25;margin:0 0 27px;font-weight:800}.blue{color:var(--blue)}.hero-description{max-width:370px;font-size:18px;line-height:1.95;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:13px 22px;border-radius:13px;font-weight:650;font-size:15px;transition:background .2s,transform .2s}.primary{background:var(--blue);color:#fff;box-shadow:0 6px 15px #1766e812}.primary:hover{background:#0d55cb;transform:translateY(-2px)}.text-link{font-size:14px;font-weight:650}.release-meta{font-size:13px;color:var(--muted);margin:20px 0 0}.quiet{font-size:13px;color:var(--muted);margin:3px 0 0}.demo{min-width:0;scroll-margin-top:35px}.demo-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}.demo-heading h2{font-size:17px;margin:0;letter-spacing:-.4px}.sample-label{font-size:12px;padding:3px 10px;border:1px solid var(--line);border-radius:100px;color:var(--muted);white-space:nowrap}.mode-tabs{display:flex;gap:3px;background:#e9edf3;border:1px solid #e1e6ee;border-radius:12px;padding:4px;margin-bottom:14px}.mode-tabs button{border:0;flex:1;min-height:40px;border-radius:8px;background:transparent;font-size:14px;white-space:nowrap}.mode-tabs button[aria-selected=true]{background:white;box-shadow:0 2px 6px #23364b10;color:var(--blue);font-weight:650}.demo-panel{position:relative;min-height:370px;background:radial-gradient(ellipse at 12% 85%,#c7e8f890,transparent 60%),radial-gradient(ellipse at 96% 92%,#dcd0f789,transparent 52%);border-radius:28px;padding:16px 16px 22px}.source-card{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:17px 20px 27px}.source-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:10px}.source-label span:last-child{font-family:ui-monospace,Consolas,monospace;letter-spacing:1px}.source-selection{display:block;text-align:left;border:0;border-radius:5px;color:#273e53;background:#e7efff;padding:4px 7px;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.7;white-space:pre-wrap;width:100%;transition:background .2s}.source-selection:hover{background:#d7e5ff}.source-selection.code-source{font-family:Consolas,monospace;font-size:15px;line-height:1.8}.source-card p{font-size:12px;color:var(--muted);margin:10px 0 0}.bubble{position:relative;margin:-10px 6px 0;border-radius:22px;padding:13px 15px 10px;box-shadow:0 14px 30px #314d7420;border:1px solid #fff;background:#edf0f5;transition:background .25s,box-shadow .25s}.bubble.color-glass{background:linear-gradient(125deg,#edf7ffa6,#faf4ffc9 50%,#e7dcff99);backdrop-filter:blur(14px);border-color:#ffffffd9;box-shadow:0 14px 36px #2e456b1d,inset 0 1px 1px #fff}.bubble.bubble-two{background:linear-gradient(125deg,#fff1f7,#e7f8ff 55%,#e8d7ff);border-radius:28px}.bubble.minimal{background:#edf0f3;border:1px solid #e0e5eb;box-shadow:0 7px 20px #2e456b14;border-radius:17px}.bubble.pinned{box-shadow:0 0 0 2px #1766e833,0 15px 30px #2e456b20}.bubble-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-height:32px}.result-label{font-size:12px;font-weight:650;flex:1;min-width:0}.font-control{display:flex;align-items:center;gap:5px;font-size:12px}.font-large{font-size:16px}.font-control input{width:68px;min-height:28px;accent-color:var(--blue)}.icon-button{display:grid;place-items:center;border:0;border-radius:8px;background:transparent;width:31px;height:31px;padding:6px;flex-shrink:0}.icon-button:hover{background:#ffffffb3}.icon-button[aria-pressed=true]{background:var(--blue);color:white}.icon-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.reading-card{background:linear-gradient(120deg,#fafbff,#f5f3f9);border-radius:15px;padding:19px 20px;min-height:132px;max-height:272px;overflow:auto;scrollbar-width:thin}.minimal .reading-card{background:transparent;padding:12px 8px}.demo-output{white-space:pre-wrap;line-height:1.8;font-size:var(--demo-font);color:#263748;overflow-wrap:anywhere}.demo-output mark{background:transparent;font-weight:650;color:#2163ce}.demo-output mark.term{color:#8064b1}.demo-output mark.note{color:#3b786f}.bubble-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;color:var(--muted);font-size:12px}.bubble-footer button{background:transparent;border:0;color:#33567b;border-radius:7px;padding:5px 6px;white-space:nowrap;font-size:13px}.bubble-footer button:hover{background:#ffffffa1}.theme-controls{display:flex;align-items:center;gap:14px;margin-top:15px;font-size:13px;color:var(--muted);flex-wrap:wrap}.theme-controls>div{display:flex;gap:5px;flex-wrap:wrap}.theme-controls button{border:1px solid transparent;background:transparent;border-radius:99px;padding:5px 10px;min-height:34px;font-size:13px}.theme-controls button[aria-pressed=true]{background:#fff;border-color:var(--line);color:var(--ink)}.demo-disclaimer{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 0;max-width:510px}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;border-top:1px solid var(--line);padding-top:37px;padding-bottom:25px}.step-number{color:var(--blue);font:500 13px ui-monospace,Consolas,monospace}.flow h2{font-size:18px;margin:10px 0}.flow p{color:var(--muted);font-size:15px;margin:0;line-height:1.9}.section-space{padding-block:88px}.section-heading{margin-bottom:38px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2,.download-section h2{font-size:clamp(30px,3.5vw,44px);line-height:1.45;letter-spacing:-1.7px;font-weight:750;margin:0}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin:14px 0 0;font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-grid article{background:#fff;padding:27px 24px 28px;border-radius:var(--radius);border:1px solid #e7ebf1}.feature-index{font-size:11px;letter-spacing:2px;color:var(--blue);font-weight:650}.feature-grid h3{font-size:19px;line-height:1.6;letter-spacing:-.5px;margin:20px 0 13px;min-height:61px}.feature-grid p{font-size:15px;color:var(--muted);line-height:1.85;margin:0}.feature-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.feature-chips span{font-size:13px;color:#5a6d7c;background:#eaf0f6;border-radius:100px;padding:5px 13px}.screens-section{background:#edf2f8}.gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.gallery-tabs button{background:transparent;border:1px solid #cfd9e4;border-radius:99px;font-size:14px;padding:8px 17px;min-height:42px}.gallery-tabs button[aria-selected=true]{background:#fff;border-color:#fff;box-shadow:0 2px 9px #1e35560b;font-weight:600}.gallery-stage{background:linear-gradient(110deg,#e2e8f1,#d9e4f0);border:1px solid #dce3ed;border-radius:24px;overflow:hidden;min-height:320px;display:grid;align-items:center;padding:25px 25px 0}.gallery-stage figure{margin:0;min-width:0}.gallery-stage img{width:100%;border-radius:12px;max-height:410px;object-fit:contain}.gallery-stage figcaption{font-size:14px;color:#536575;padding:20px 2px;text-align:center}.gallery-note{font-size:12px;color:var(--muted);margin:18px 0 0;text-align:center}.setup{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}.setup-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:25px}.setup-steps li{display:flex;gap:20px;align-items:flex-start}.setup-steps li>span{display:grid;place-items:center;background:white;border:1px solid var(--line);border-radius:13px;width:43px;height:43px;flex-shrink:0;color:var(--blue);font-weight:600}.setup-steps h3{font-size:18px;margin:1px 0 6px}.setup-steps p{margin:0;color:var(--muted);font-size:15px;max-width:440px}.download-section{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;padding:52px 57px;background:#e9f1fd;border:1px solid #dbe7f8;border-radius:28px}.download-section .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:15px;color:#5d80aa}.download-section>div>p:not(.eyebrow){font-size:16px;color:#5d738f;margin:16px 0 0}.download-actions{text-align:center}.download-actions>p{font-size:13px!important}.download-links{display:flex;justify-content:center;gap:20px;margin-top:10px;font-size:13px;color:#31577f}.download-links a:hover{text-decoration:underline}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px 55px}.faq>h2{font-size:24px;line-height:1.6;letter-spacing:-.7px;margin:0}.faq-list details{border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px}.faq-list summary{cursor:pointer;font-size:16px;list-style:none;position:relative;padding-right:26px;font-weight:550}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:3px;top:0;color:#69839e;font-size:21px;font-weight:400}.faq-list details[open] summary::after{content:"−"}.faq-list p{font-size:15px;color:var(--muted);margin:14px 0 0;line-height:1.95}.faq>.text-link{grid-column:2;color:var(--blue)}.footer{padding-block:27px 36px;border-top:1px solid var(--line);display:flex;align-items:center;gap:26px;justify-content:space-between}.footer .brand{font-size:16px}.footer p{font-size:12px;color:var(--muted);margin:0}.footer>div{display:flex;gap:23px;font-size:13px;color:var(--muted)}
@media(min-width:1400px){.hero{padding-block:106px 96px;gap:80px}.demo-panel{min-height:382px}}
@media(max-width:1060px){.shell{width:calc(100% - 56px)}.header nav{gap:18px}.brand{font-size:18px}.hero{gap:32px;grid-template-columns:.86fr 1.14fr;padding-block:67px}.hero h1{font-size:56px}.hero-description{font-size:17px}.hero-actions{gap:16px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-grid h3{min-height:0}.feature-grid article{padding:27px}.flow{gap:28px}.font-control input{width:52px}.bubble-toolbar{gap:6px}.reading-card{padding:17px}.source-card{padding:16px 16px 25px}.section-space{padding-block:68px}.download-section{padding:38px}.faq{gap:30px}}
@media(max-width:800px){.header{min-height:84px;flex-wrap:wrap;padding-block:17px;gap:12px}.header nav{gap:18px}.header nav a{font-size:13px}.nav-github{display:none}.hero{grid-template-columns:1fr;gap:48px;padding-block:56px}.hero-copy{max-width:600px}.hero h1{font-size:64px;letter-spacing:-2px}.hero-description{max-width:470px}.demo{width:100%;max-width:650px}.demo-panel{min-height:0;padding:20px}.source-selection{font-size:21px}.reading-card{min-height:140px}.font-control input{width:85px}.flow{gap:24px}.flow h2{font-size:16px}.flow p{font-size:14px}.setup{grid-template-columns:1fr;gap:25px}.setup .section-heading{margin-bottom:12px}.setup-steps p{max-width:none}.faq{grid-template-columns:1fr;gap:26px}.faq>.text-link{grid-column:1}.download-section{grid-template-columns:1fr;gap:26px}.download-actions{text-align:left}.download-links{justify-content:flex-start}.download-section>div>p{max-width:450px}.footer{flex-wrap:wrap;gap:18px}.footer>div{margin-left:auto}.gallery-stage{min-height:260px;padding:18px 18px 0}.gallery-note{text-align:left}}
@media(max-width:520px){.shell{width:calc(100% - 36px)}.header{gap:14px;min-height:0}.header .brand img{width:30px;height:30px}.header .brand{font-size:19px}.header nav{width:100%;justify-content:space-between;gap:10px}.language-button{padding:3px 14px;font-size:13px}.hero{padding-block:42px;gap:40px}.hero h1{font-size:56px;line-height:1.23;margin-bottom:23px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:23px}.hero-description{font-size:16px;line-height:1.9;margin-bottom:24px}.hero-actions{gap:17px}.button{min-height:51px;padding:12px 18px;font-size:14px}.text-link{font-size:13px}.release-meta{font-size:12px}.demo-panel{padding:12px 7px 18px;border-radius:20px}.source-card{padding:14px 14px 25px}.source-selection{font-size:18px}.source-selection.code-source{font-size:13px}.bubble{margin-inline:3px;padding:12px 11px 9px}.reading-card{padding:15px;min-height:134px}.font-control input{width:50px}.bubble-toolbar{gap:5px}.result-label{font-size:11px}.bubble-footer{font-size:11px}.theme-controls{gap:8px;margin-top:12px}.theme-controls button{font-size:12px;padding:5px 9px}.demo-disclaimer{font-size:12px}.flow{grid-template-columns:1fr;gap:23px;padding-top:28px}.flow>div{position:relative;padding-left:36px}.step-number{position:absolute;left:0;top:10px}.flow h2{font-size:17px;margin:6px 0}.flow p{font-size:15px}.section-space{padding-block:51px}.section-heading h2,.download-section h2{font-size:32px;letter-spacing:-1px}.section-heading{margin-bottom:25px}.section-heading>p:last-child:not(.eyebrow){font-size:15px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature-grid article{padding:23px 25px}.feature-grid h3{font-size:19px;margin:10px 0}.feature-index{font-size:11px}.feature-chips{gap:8px}.feature-chips span{font-size:12px}.gallery-tabs{gap:7px}.gallery-tabs button{font-size:12px;padding:8px 11px;min-height:40px}.gallery-stage{border-radius:17px;padding:12px 12px 0;min-height:185px}.gallery-stage img{border-radius:8px}.gallery-stage figcaption{font-size:13px;text-align:left;padding:15px 0;line-height:1.8}.gallery-note{font-size:12px}.setup-steps li{gap:15px}.setup-steps li>span{width:35px;height:35px;border-radius:11px}.setup-steps h3{font-size:17px}.download-section{padding:30px 27px}.download-section .eyebrow{font-size:9px;letter-spacing:1.3px}.download-section>div>p:not(.eyebrow){font-size:15px}.faq>h2{font-size:23px}.footer{gap:13px;padding-block:25px}.footer .brand{font-size:15px}.footer p{font-size:11px}.footer>div{margin:0;font-size:12px;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.bubble,.reading-card,.source-card,.primary,.mode-tabs button[aria-selected=true],.theme-controls button[aria-pressed=true]{border:1px solid CanvasText}.demo-output mark{color:LinkText}.primary{background:ButtonFace;color:ButtonText}.blue{color:LinkText}}
/* Keep the reading copy comfortable, including at narrow widths. */
.hero{align-items:start}.hero-copy{padding-top:40px}.flow p,.feature-grid p,.setup-steps p,.faq-list p{font-size:16px}.feature-index,.download-section .eyebrow,.footer p{font-size:12px}.theme-controls button,.gallery-tabs button,.text-link,.footer>div{font-size:14px}
@media(max-width:800px){.hero-copy{padding-top:0}}
@media(max-width:520px){.eyebrow{font-size:12px;letter-spacing:1.3px}.header nav a,.language-button{font-size:14px}.download-section .eyebrow{font-size:12px;letter-spacing:1px}.bubble-footer,.result-label{font-size:12px}.gallery-tabs{gap:6px}.gallery-tabs button{padding-inline:10px}.footer p{font-size:12px}}
