:root{color-scheme:light;--ink:#0d2b36;--ink-soft:#2e4f5d;--muted:#5e7480;--faint:#8fa3ad;--paper:#fafbfc;--mist:#f1f4f6;--card:#fff;--line:#0d2b361a;--line-strong:#0d2b3633;--night:#04121a;--night-soft:#0a2230;--moon:#eaf4f6;--moon-dim:#9fbeca;--glow:#6fe7e0;--glow-dim:#6fe7e059;--glass:#fafbfcb8;--shadow-lg:0 32px 80px #0d2b3629;--shadow-md:0 12px 40px #0d2b361a;--shadow-sm:0 2px 12px #0d2b360f;--panel:#0d2b36;--hover-bg:#0d2b360f;--btn-hover:#16404f;--hl-ink:#07343a;--hl-bg:#6fe7e057;--mnet-rule:#0f5f6b;--mnet-halo:0 1px 7px #f1f4f6f2, 0 0 14px #f1f4f6cc;--cap-bg:#ffffffb3;--cap-shadow:inset 0 0 0 1.4px #ffffffdb, 0 0 0 .8px #0d2b361a, 0 3px 12px #0d2b360d, 0 5px 26px #0d2b360f, 0 10px 54px #0d2b360b, 0 5px 26px #ffffff29;--cap-sheen:#ffffff61;--cap-badge:#0d2b369e;--cap-meter:#3c3c4399;--cap-meter-glow:0 0 3px #ffffffd9, 0 0 8px #ffffff80;--max:clamp(1120px, 76vw, 1400px);--max-text:720px;--radius-card:20px;--radius-window:14px;--radius-pill:999px;--ease:cubic-bezier(.25, .1, .25, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}html[data-theme=dark]{color-scheme:dark;--ink:#e8f2f5;--ink-soft:#c3d6dd;--muted:#93aeba;--faint:#64808c;--paper:#081c26;--mist:#0c2431;--card:#102b3a;--line:#e8f2f51a;--line-strong:#e8f2f53d;--glass:#081c26b8;--shadow-lg:0 32px 80px #020a0f99;--shadow-md:0 12px 40px #020a0f73;--shadow-sm:0 2px 12px #020a0f59;--panel:#0e2c3c;--hover-bg:#e8f2f514;--btn-hover:#fff;--hl-ink:#bff2ec;--hl-bg:#6fe7e02b;--mnet-rule:#9ecfd2;--mnet-halo:0 1px 7px #04121ae6, 0 0 14px #04121ab3;--cap-bg:#0d222ea8;--cap-shadow:inset 0 0 0 1.4px #e8f2f524, 0 0 0 .8px #0000006b, 0 3px 12px #0000004d, 0 5px 26px #0000003d, 0 10px 54px #0003, 0 5px 26px #6fe7e00d;--cap-sheen:#ffffff12;--cap-badge:#e8f2f58c;--cap-meter:#d6ebf09e;--cap-meter-glow:0 0 3px #04121ae6, 0 0 8px #04121a8c}html[data-theme=dark] #ctx-cards>div,html[data-theme=dark] #stack-left [data-side]{--ink:#0d2b36;--ink-soft:#2e4f5d;--muted:#5e7480;--faint:#8fa3ad;--line:#0d2b361a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{min-width:320px;color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Hiragino Sans GB,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:1.0625rem;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::selection{color:var(--paper);background:var(--ink)}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700}.display{letter-spacing:-.032em;font-size:clamp(3rem,8.5vw,5.5rem);line-height:1.04}.headline{letter-spacing:-.024em;font-size:clamp(1.875rem,4.4vw,3rem);line-height:1.1}.subhead{max-width:var(--max-text);color:var(--muted);text-wrap:pretty;margin:0;font-size:clamp(1.0625rem,1.8vw,1.3125rem);line-height:1.65}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;font-size:.8125rem;font-weight:600;display:inline-block}.shell{width:min(var(--max), 100% - 48px);margin-inline:auto}.section{padding-block:clamp(88px,12vw,152px)}.section-heading{max-width:780px}.section-heading .subhead{margin-top:20px}.skip-link{z-index:200;color:var(--paper);background:var(--ink);border-radius:var(--radius-pill);transition:transform .16s var(--ease);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.button{letter-spacing:-.01em;border-radius:var(--radius-pill);cursor:pointer;transition:transform .12s var(--ease), background-color .16s var(--ease), box-shadow .16s var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:1.0625rem;font-weight:600;display:inline-flex}.button:active{transform:scale(.97)}.button-primary{color:var(--paper);background:var(--ink);box-shadow:var(--shadow-sm)}.button-primary:hover{background:var(--btn-hover)}.button-quiet{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.button-quiet:hover{background:var(--hover-bg)}.button-small{padding:8px 18px;font-size:.9375rem}.nav-cta{gap:0;height:36px;padding:0 16px;font-size:.875rem;line-height:1}.nav-cta small{letter-spacing:.06em;border-left:1px solid color-mix(in srgb, currentColor 35%, transparent);opacity:.75;margin-left:10px;padding-left:10px;font-size:.6875rem;font-weight:500;line-height:1}.button-moon{color:var(--night);background:var(--moon)}.button-moon:hover{background:#fff}[data-placeholder=true]{position:relative}.site-header{z-index:100;background:var(--glass);backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-shell{width:min(var(--max), 100% - 48px);align-items:center;gap:16px;height:60px;margin-inline:auto;display:flex}.brand-lockup{letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:10px;font-size:1.125rem;font-weight:700;display:inline-flex}.brand-lockup img{border-radius:8px;width:30px;height:30px}.nav-links{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-links a{height:36px;color:var(--ink-soft);border-radius:var(--radius-pill);transition:color .14s var(--ease), background-color .14s var(--ease);align-items:center;padding:0 14px;font-size:.9375rem;font-weight:500;display:inline-flex}.nav-links a:hover{color:var(--ink);background:var(--hover-bg)}.nav-links a[aria-current=page]{color:var(--ink);text-underline-offset:8px;font-weight:600;text-decoration:underline 2px}.lang-switch{position:relative}.lang-switch summary{width:36px;height:36px;color:var(--ink-soft);border-radius:var(--radius-pill);cursor:pointer;transition:color .16s var(--ease), background-color .16s var(--ease);justify-content:center;align-items:center;list-style:none;display:inline-flex}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch summary:hover{color:var(--ink);background:var(--hover-bg)}.lang-menu{z-index:20;background:var(--card);border:1px solid var(--line);min-width:128px;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.lang-menu a,.lang-menu button{color:var(--ink-soft);white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:.875rem}.lang-menu button{text-align:left;cursor:pointer;background:0 0;border:0}.lang-menu a:hover,.lang-menu button:hover{color:var(--ink);background:var(--mist)}.lang-menu a[aria-current=true],.lang-menu button[aria-current=true]{color:var(--ink);font-weight:600}.nav-toggle{cursor:pointer;background:0 0;border:0;width:40px;height:40px;margin-left:auto;padding:0;display:none;position:relative}.nav-toggle span:not(.sr-only){background:var(--ink);width:20px;height:1.5px;transition:transform .2s var(--ease), top .2s var(--ease);position:absolute;left:10px}.nav-toggle span:not(.sr-only):first-of-type{top:16px}.nav-toggle span:not(.sr-only):nth-of-type(2){top:23px}.nav-toggle[aria-expanded=true] span:not(.sr-only):first-of-type{top:19.5px;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:not(.sr-only):nth-of-type(2){top:19.5px;transform:rotate(-45deg)}@media (width<=860px){.nav-toggle{order:2;margin-left:auto;display:block}.lang-switch{order:3;margin-left:0}.nav-links{background:var(--glass);backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;display:none;position:absolute;top:60px;left:0;right:0}.nav-links[data-open]{display:flex}.nav-links a:hover{background:0 0}.nav-links a{border-bottom:1px solid var(--line);border-radius:0;height:auto;padding:14px 0;font-size:1.0625rem}.nav-links a:last-child{border-bottom:0}.desktop-only{display:none}}@media (prefers-reduced-transparency:reduce){.site-header,.nav-links{background:var(--paper);backdrop-filter:none}}.dream{color:var(--moon);background:var(--night);padding-block:clamp(48px,6vw,96px);position:relative;overflow:hidden}.dream .eyebrow{color:var(--glow)}.dream .subhead{color:var(--moon-dim)}.loop-track{counter-reset:loop;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(40px,6vw,64px);display:grid}.loop-step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);counter-increment:loop;padding:28px 26px;position:relative}.loop-step:before{content:counter(loop, decimal-leading-zero);letter-spacing:.08em;color:var(--faint);font-variant-numeric:tabular-nums;margin-bottom:16px;font-size:.8125rem;font-weight:600;display:block}.loop-step:last-child{color:var(--moon);background:var(--panel);border-color:var(--panel)}.loop-step:last-child:before{content:"∞";color:var(--glow);letter-spacing:0;font-size:1rem}.loop-step h3{letter-spacing:-.01em;font-size:1.125rem}.loop-step p{color:var(--muted);margin:8px 0 0;font-size:.9375rem;line-height:1.55}.loop-step:last-child p{color:var(--moon-dim)}@media (width<=960px){.loop-track{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.loop-track{grid-template-columns:1fr}}.privacy-band{background:var(--mist)}.download-strip .download-card{color:var(--moon);background:radial-gradient(80% 120% at 85% 10%, #6fe7e01f, transparent 60%), var(--panel);border-radius:28px;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(40px,6vw,72px);display:grid}.download-card .headline{color:var(--moon)}.download-card .subhead{color:var(--moon-dim);margin-top:16px}.download-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.download-note{color:#9fbecab3;margin-top:20px;font-size:.8438rem;display:block}.download-aside{border-radius:var(--radius-card);color:var(--moon-dim);background:#eaf4f60f;border:1px solid #eaf4f61f;gap:10px;padding:28px;font-size:.9063rem;display:grid}.download-aside strong{color:var(--moon);font-size:1rem}@media (width<=860px){.download-strip .download-card{grid-template-columns:1fr}}.page-hero{padding-block:clamp(80px,10vw,128px) clamp(40px,6vw,72px)}.page-hero .display{font-size:clamp(2.5rem,6vw,4.25rem)}.page-hero .subhead{margin-top:24px}.panel-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.info-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:clamp(28px,4vw,40px)}.info-panel h2{letter-spacing:-.015em;font-size:1.375rem}.info-panel>p{color:var(--muted);margin:12px 0 0;line-height:1.65}.info-panel ul{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.info-panel ul li{color:var(--ink-soft);gap:10px;font-size:.9688rem;line-height:1.6;display:flex}.info-panel ul li:before{content:"—";color:var(--faint);flex:none}.mock-link-list{gap:10px;margin-top:20px;display:grid}.mock-link-list a{background:var(--mist);transition:background-color .14s var(--ease);border-radius:14px;padding:16px 20px;display:block}.mock-link-list a:hover{background:color-mix(in srgb, var(--mist), var(--ink) 5%)}.mock-link-list span{font-size:.9688rem;font-weight:600;display:block}.mock-link-list small{color:var(--faint);word-break:break-all;margin-top:2px;font-size:.8125rem;display:block}.point-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.point-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:clamp(26px,3.5vw,36px)}.point-card h2,.point-card h3{letter-spacing:-.01em;font-size:1.1875rem}.point-card p{color:var(--muted);margin:10px 0 0;font-size:.9688rem;line-height:1.65}@media (width<=760px){.panel-grid,.point-grid{grid-template-columns:1fr}}.changelog-entry{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);max-width:780px;padding:clamp(28px,4vw,40px)}.changelog-entry+.changelog-entry{margin-top:16px}.changelog-entry .eyebrow{margin-bottom:8px}.changelog-entry h2{letter-spacing:-.015em;font-size:1.375rem}.changelog-entry ul{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.changelog-entry ul li{color:var(--ink-soft);gap:10px;font-size:.9688rem;line-height:1.6;display:flex}.changelog-entry ul li:before{content:"—";color:var(--faint);flex:none}.site-footer{border-top:1px solid var(--line);padding:clamp(48px,6vw,72px) 0 40px}.footer-inner{width:min(var(--max), 100% - 48px);flex-wrap:wrap;align-items:center;gap:24px 40px;margin-inline:auto;display:flex}.footer-brand{align-items:center;gap:12px;display:inline-flex}.footer-brand img{border-radius:9px;width:36px;height:36px}.footer-brand strong{letter-spacing:-.01em;font-size:1rem;display:block}.footer-brand small{color:var(--muted);font-size:.8125rem;display:block}.footer-links{color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin-left:auto;font-size:.875rem;display:flex}.footer-links a:hover{color:var(--ink)}.footer-note{width:min(var(--max), 100% - 48px);color:var(--faint);margin:32px auto 0;font-size:.8125rem}@media (prefers-reduced-motion:no-preference){html[data-js] [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(24px)}html[data-js] [data-reveal].is-visible{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.ctx-lead em{margin-left:.28em}html[lang^=zh] .ctx-lead em,html[lang^=ja] .ctx-lead em{margin-left:0}.footer-contact{width:min(var(--max), 100% - 48px);color:var(--muted);margin:0 auto 32px;font-size:.875rem}.footer-contact span{margin-left:.28em}html[lang^=zh] .footer-contact span,html[lang^=ja] .footer-contact span{margin-left:0}.footer-contact a{text-underline-offset:3px;text-decoration:underline}.footer-contact a:hover{color:var(--ink)}sup.fn{cursor:help;outline:none;position:relative}sup.fn .fn-tip{letter-spacing:0;text-align:left;text-transform:none;white-space:normal;width:max-content;max-width:min(340px,100vw - 40px);color:var(--moon);background:var(--panel);opacity:0;visibility:hidden;pointer-events:none;z-index:90;border:1px solid #eaf4f62e;border-radius:10px;padding:10px 14px;font-size:12.5px;font-weight:400;line-height:1.6;transition:opacity .16s,visibility .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #04121a59}sup.fn:hover .fn-tip,sup.fn:focus .fn-tip{opacity:1;visibility:visible}@media (width<=700px){sup.fn .fn-tip{width:auto;max-width:none;position:fixed;inset:auto 16px 16px;transform:none}}
