:root{color-scheme:light only;--color-bg:#f4f6f1;--color-bg-raised:#fff;--color-bg-muted:#e8ede4;--color-text:#142e28;--color-text-muted:#3a534d;--color-accent:#c8f05a;--color-accent-hover:#b4e046;--color-accent-text:#142e28;--color-border:#d3d9ce;--color-forest:#142e28;--color-forest-text:#f4f6f1;--color-forest-muted:#c5d4ce;--size-h2:clamp(1.75rem, 2vw + 1.4rem, 3rem);--font:"PingFang SC", "HarmonyOS Sans", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--content:75rem;--prose:40rem;--radius:.5rem;--radius-pill:999px;--header-h:3.5rem;--section-space:clamp(4.5rem, 8vw, 7.5rem);--shot-radius:12.5% / 5.75%;--shot-border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);--shot-shadow:0 24px 48px -12px #142e282e;--shot-shadow-front:0 24px 48px -12px #142e2847;--shot-shadow-lime:0 24px 48px -12px #142e281f;--shot-shadow-lime-front:0 24px 48px -12px #142e2833}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);overflow-x:hidden}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font);letter-spacing:.01em;margin:0;font-size:1.125rem;line-height:1.6}img,svg,video,iframe{max-width:100%;height:auto}a{color:inherit}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.skip{background:var(--color-accent);color:var(--color-accent-text);border-radius:var(--radius-pill);z-index:20;padding:.5rem .9rem;text-decoration:none;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip:focus{transform:none}.header{z-index:10;min-height:var(--header-h);background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header-inner,.wrap{width:min(100% - 2rem, var(--content));margin-inline:auto}.header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.35rem 0;display:flex}.brand{align-items:center;gap:.45rem;min-width:0;display:flex}.brand-lockup{--mark-size:28px;align-items:center;gap:calc(var(--mark-size) * .36 / 1.3);color:var(--color-text);flex-shrink:0;text-decoration:none;display:inline-flex}.brand-mark{width:var(--mark-size);height:var(--mark-size);display:block}.brand-wordmark{line-height:0;display:block}.brand-wordmark svg{height:calc(var(--mark-size) / 1.3);width:auto;display:block}.brand-wordmark-link{color:var(--color-text-muted);flex-shrink:0;align-items:center;text-decoration:none;transition:color .15s;display:inline-flex}.brand-wordmark-link:hover{color:var(--color-text)}.brand-wordmark-link .brand-wordmark svg{width:auto;height:24px}.brand-slash{color:var(--color-text-muted);font-weight:500}.brand-app{letter-spacing:-.04em;min-width:0;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.brand-app-name{color:var(--color-text)}.nav{flex-shrink:0;align-items:center;gap:.75rem 1rem;display:flex}@media (width<=480px){.nav{gap:.55rem .7rem}.nav a{font-size:.8125rem}.brand-app{font-size:.875rem}}.nav a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none;transition:color .15s}.nav a:hover,.nav a[aria-current=page]{color:var(--color-text)}.nav a.lang{color:var(--color-text);font-weight:600}.nav a.nav-download{border-radius:var(--radius-pill);background:var(--color-text);min-height:2rem;color:var(--color-bg);justify-content:center;align-items:center;padding:.2rem .8rem;font-size:.8125rem;font-weight:650;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.nav a.nav-download:hover{background:var(--color-text-muted);color:var(--color-bg)}.nav a.nav-download:focus-visible{color:var(--color-bg);background:var(--color-text)}.nav a.nav-download:hover:focus-visible{background:var(--color-text-muted);color:var(--color-bg)}.header-docs{align-items:center;gap:.75rem 1.1rem;display:flex}.header-docs a{color:var(--color-text-muted);font-size:.9375rem;text-decoration:none;transition:color .15s}.header-docs a:hover,.header-docs a[aria-current=page]{color:var(--color-text)}@media (width>=768px){.header-app .header-docs{margin-left:auto}}@media (width<=767px){.header-app .header-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.header-app .brand{grid-area:1/1}.header-app .nav{grid-area:1/2}.header-app .header-docs{grid-area:2/1/auto/-1;gap:.75rem 1rem;padding:.35rem 0 .2rem;overflow-x:auto}.header-app .header-docs a{white-space:nowrap;font-size:.8125rem}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-glyph{border-radius:22.37%;flex-shrink:0;display:block;box-shadow:0 0 0 1px #142e2824}.app-glyph-pending{border:1px dashed var(--color-border);background:var(--color-bg-muted);box-shadow:none}main{min-height:calc(100vh - var(--header-h) - 8rem)}.hero{padding:var(--section-space) 0}.hero-grid{gap:2.5rem;display:grid}@media (width>=1024px){.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:4rem}}.kicker{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.875rem}h1,h2,h3{letter-spacing:-.035em;margin:0;font-weight:750;line-height:1.08}h1,h2{text-wrap:balance}.hero-title-break{white-space:pre-line}h1{font-size:clamp(2.5rem,5vw + 1.5rem,5rem)}h2{font-size:var(--size-h2)}.lead{max-width:var(--prose);color:var(--color-text);margin:1.25rem 0 0;font-size:1.125rem}.muted{color:var(--color-text-muted)}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.btn{border-radius:var(--radius-pill);background:var(--color-accent);min-height:3rem;color:var(--color-accent-text);border:0;justify-content:center;align-items:center;padding:.7rem 1.35rem;font-weight:650;text-decoration:none;transition:background-color .15s;display:inline-flex}.btn:hover{background:var(--color-accent-hover)}.btn-ghost{color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border);background:0 0}.btn-ghost:hover{background:var(--color-bg-muted)}.download-zone{margin-top:1.75rem}.download-row{flex-wrap:wrap;align-items:flex-start;gap:1rem 1.25rem;display:flex}.download-badges{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem;max-width:100%;display:flex}.store-badge{max-width:100%;line-height:0;display:inline-block}.store-badge img{width:auto;max-width:100%;height:48px;display:block}@media (width>=768px){.store-badge img{height:52px}}.qr{margin:0;display:none}.qr-frame,.qr-pending{border-radius:var(--radius);background:#fff;width:120px;height:120px}.qr-frame svg{width:120px;height:120px;display:block}.qr-pending{text-align:center;color:#3a534d;border:1px solid var(--color-border);justify-content:center;align-items:center;padding:.6rem;font-size:.75rem;line-height:1.35;display:flex}.scan-hint{color:var(--color-text-muted);margin:.4rem 0 0;font-size:.8125rem}@media (width>=1024px){.qr{display:block}}.download-zone-forest .scan-hint,.download-zone-lime .scan-hint{color:var(--color-forest-muted)}.download-zone-lime .scan-hint{color:var(--color-accent-text);opacity:.75}.download-zone-lime .store-badge{background:#f4f6f1;border-radius:.45rem;padding:.4rem .5rem .3rem}.trust-line{max-width:var(--prose);color:var(--color-text-muted);margin:.9rem 0 0;font-size:.875rem}.hero-shots{min-height:22rem;position:relative}.hero-shot{border-radius:var(--shot-radius);aspect-ratio:1320/2868;box-shadow:var(--shot-shadow);background:0 0;overflow:visible}.hero-shot img,.hero-shot picture,.hero-shot .shots{border-radius:inherit;border:var(--shot-border);background:var(--color-bg-muted);width:100%;height:100%;display:block;overflow:hidden}.hero-shot img{object-fit:cover}.hero-shot picture img{box-shadow:none;border:0;border-radius:0;height:100%}.hero-shot .shot{border-style:dashed;width:100%;max-width:none;height:100%}.hero-shot-front{z-index:1;width:58%;box-shadow:var(--shot-shadow-front);position:relative}.hero-shot-back{z-index:0;width:46%;position:absolute;top:12%;right:0}.shots{gap:.75rem;display:flex;overflow:hidden}.shot{aspect-ratio:1320/2868;background:var(--color-bg-muted);border:1px dashed var(--color-border);border-radius:var(--shot-radius);text-align:center;min-width:0;max-width:18.75rem;color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:1rem .75rem;font-size:.875rem;display:flex}.shot strong{color:var(--color-text);margin-bottom:.35rem;font-weight:650}.band-forest{padding:var(--section-space) 0;background:var(--color-forest);color:var(--color-forest-text)}.scenes{padding:var(--section-space) 0 0}.scene{padding:0 0 var(--section-space);gap:1.5rem;display:grid}.scene h2{margin-bottom:.7rem}.scene p{max-width:var(--prose);margin:0}.scene-media{max-width:18.75rem;margin:0}.scene-media img,.scene-media picture,.scene-media .shots,.scene-media .shot{width:100%;max-width:18.75rem}.scene-media picture{border-radius:var(--shot-radius);box-shadow:var(--shot-shadow);border:0;display:block;overflow:visible}.scene-media img{border-radius:var(--shot-radius);border:var(--shot-border);box-shadow:var(--shot-shadow);display:block}.scene-media picture img{border:var(--shot-border);border-radius:inherit;box-shadow:none}.scene-media figcaption{color:var(--color-text-muted);text-align:center;margin:.5rem 0 0;font-size:.8125rem}.scene-media .shot{border-style:solid}@media (width>=1024px){.scene{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:4rem}.scene-flip{grid-template-columns:300px minmax(0,1fr)}.scene-flip .scene-copy{order:2}}.types{padding:0 0 var(--section-space)}.types h2{margin-bottom:.85rem}.types-intro,.types-note{max-width:var(--prose);margin:0 0 1.1rem}.types-note{color:var(--color-text-muted);margin-top:1.1rem}.chips{max-width:var(--content);flex-wrap:wrap;gap:.55rem .6rem;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-raised);padding:.45rem .9rem;font-size:.9375rem;line-height:1.35}.privacy-band h2,.privacy-band p{max-width:var(--prose)}.privacy-band h2{margin-bottom:1rem}.privacy-band p{margin:0 0 .9rem}.pricing{padding:var(--section-space) 0}.pricing>h2{margin-bottom:1.5rem}.pricing-grid{gap:1.25rem;display:grid}.pricing-col{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:1rem;padding:1.6rem 1.4rem 1.7rem}.pricing-col h3{margin-bottom:.85rem;font-size:1.25rem}.pricing-col p{margin:0 0 .85rem}.pricing-col ul{margin:0;padding:0 0 0 1.1rem}.pricing-col li{margin-bottom:.35rem}.pricing-col .pricing-plans{grid-template-columns:1fr 1fr;gap:.7rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.pricing-plans>li{background:var(--color-bg-muted);border-radius:var(--radius);min-width:0;margin:0;padding:.85rem .9rem .9rem}.pricing-plan-title{flex-wrap:wrap;align-items:center;gap:.35rem .45rem;display:flex}.pricing-plan-name{font-weight:650}.pricing-plan-badge{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);padding:.1rem .5rem;font-size:.75rem;font-weight:500;line-height:1.4}.pricing-plans p{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.9375rem}.pricing-col .pricing-shared{margin:0 0 .55rem}.pricing-col .pricing-price-note{color:var(--color-text-muted);margin:.9rem 0 0;font-size:.9375rem}@media (width<=480px){.pricing-col .pricing-plans{grid-template-columns:1fr}}@media (width>=768px){.pricing-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}.pricing-note{max-width:var(--prose);color:var(--color-text-muted);margin:1.25rem 0 0;font-size:1rem}.faq{padding:0 0 var(--section-space);max-width:var(--prose)}.faq>h2{margin-bottom:.5rem}.faq details{border-bottom:1px solid var(--color-border);padding:1rem 0}.faq summary{cursor:pointer;letter-spacing:-.02em;font-size:1.125rem;font-weight:650}.faq details p{margin:.75rem 0 0}.faq-more{margin:1.25rem 0 0}.band-cta{scroll-margin-top:var(--header-h)}.band-cta h2{max-width:20ch;margin-bottom:1.5rem}.apps{padding:2.5rem 0 var(--section-space);scroll-margin-top:calc(var(--header-h) + .75rem)}@media (width>=768px){.apps{padding-top:4rem}}.apps-heading{margin:0 0 2rem;font-size:clamp(1.75rem,1.5vw + 1.25rem,2.25rem)}.apps-grid-multi{gap:1.25rem;display:grid}@media (width>=768px){.apps-grid-multi{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}.app-card{--app-theme:var(--color-bg-muted);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:1rem;transition:border-color .15s;position:relative;overflow:hidden}.app-card:hover{border-color:#b7c1b4}.app-card:has(.app-card-link:focus-visible){outline:2px solid var(--color-text);outline-offset:2px}.app-card-solo,.app-card-multi{grid-template-areas:"stage""copy";display:grid}@media (width>=768px){.app-card-solo{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"copy stage";align-items:stretch;min-height:24.5rem}}.app-card-stage{background:var(--app-theme);grid-area:stage;min-height:15rem;position:relative;overflow:hidden}.app-card-solo .app-card-stage{height:15rem;min-height:15rem}.app-card-multi .app-card-stage{height:13.75rem;min-height:13.75rem}@media (width>=768px){.app-card-solo .app-card-stage{height:auto;min-height:24.5rem}}.app-card-stage .hero-shot{box-shadow:var(--shot-shadow-lime)}.app-card-stage .hero-shot-front{box-shadow:var(--shot-shadow-lime-front)}.app-card-shots{position:absolute;inset:0}.app-card-solo .hero-shot-front{z-index:1;width:9.75rem;position:absolute;top:1.35rem;bottom:auto;left:18%}.app-card-solo .hero-shot-back{z-index:0;width:8.25rem;position:absolute;top:2.35rem;bottom:auto;right:14%}@media (width>=768px){.app-card-solo .hero-shot-front{width:15.625rem;top:1.5rem;bottom:auto;left:10%}.app-card-solo .hero-shot-back{width:13.125rem;top:2.75rem;bottom:auto;right:8%}}.app-card-multi .hero-shot-front{width:7.25rem;position:absolute;bottom:-14%;left:50%;transform:translate(-50%)}.app-card-multi .hero-shot-back{display:none}.app-card-copy{grid-area:copy;padding:1.5rem 1.35rem 1.6rem}@media (width>=768px){.app-card-solo .app-card-copy{flex-direction:column;justify-content:center;padding:2.25rem 2rem 2.35rem 2.25rem;display:flex}}.app-card-name{margin-top:.85rem;font-size:1.5rem}.app-card-solo .app-card-name{font-size:1.75rem}.app-card-link{color:inherit;text-decoration:none}.app-card-link:after{content:"";z-index:0;position:absolute;inset:0}.app-card-link:focus{outline:none}.app-card-tagline{max-width:36rem;color:var(--color-text-muted);margin:.45rem 0 0;font-size:1.125rem}.app-card-tags{flex-wrap:wrap;gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.app-card-tags li{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);padding:.15rem .6rem;font-size:.75rem;line-height:1.4}.app-card-actions{z-index:1;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.15rem;display:flex;position:relative}.band-forest .btn{background:var(--color-accent);color:var(--color-accent-text)}.text-link{text-underline-offset:.18em;font-weight:650;text-decoration:underline;transition:color .15s}.text-link:hover{color:var(--color-text-muted)}.band-forest .text-link:hover{color:inherit;opacity:.8}.dateline{color:var(--color-text-muted);letter-spacing:0;flex-wrap:wrap;gap:.2rem 1rem;margin:.75rem 0 .35rem;font-size:.9375rem;display:flex}.dateline-item{white-space:nowrap}.prose{max-width:var(--prose);padding:2.5rem 0 4rem;font-size:1.125rem;line-height:1.75}.prose>:first-child{margin-top:0}.prose h1{margin-bottom:.75rem;font-size:clamp(2rem,2vw + 1.5rem,2.75rem)}.prose h2{margin:2.5em 0 .65rem;font-size:1.5rem}.prose h3{letter-spacing:-.02em;margin:1.25rem 0 .4rem;font-size:1.125rem;font-weight:700}.prose p,.prose ul,.prose ol{margin:0 0 .85rem}.prose p{overflow-wrap:break-word}.prose li{overflow-wrap:break-word;margin-bottom:.25rem}.prose a{text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.18em;transition:color .15s}.prose a:hover{color:var(--color-text-muted)}.prose table{border-collapse:collapse;width:100%;margin:.35rem 0 1rem;font-size:.9375rem;line-height:1.5}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border);word-break:break-word;padding:.45rem .5rem}.prose th{font-weight:650}@media (width<=700px){.prose table,.prose thead,.prose tbody,.prose tr,.prose th,.prose td{width:100%;display:block}.prose thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.prose tr{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);margin:0 0 .75rem;padding:.5rem .65rem}.prose td{border:0;padding:.2rem 0}.prose td:before{content:attr(data-label);color:var(--color-text-muted);margin-bottom:.1rem;font-size:.75rem;display:block}}.footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);padding:1.5rem 0 2rem;font-size:.875rem}.footer-stack{flex-direction:column;gap:.7rem;display:flex}.footer-row{flex-wrap:wrap;align-items:center;gap:.45rem .9rem;margin:0;display:flex}.footer-copy{margin:0}.footer-mark{flex-shrink:0;width:20px;height:20px;display:block}.footer a{color:var(--color-text-muted);text-decoration:none;transition:color .15s}.footer a:hover{color:var(--color-text)}.not-found{max-width:36rem;padding:4rem 0 5rem}.not-found h1{font-size:clamp(2rem,6vw,3rem)}.not-found p{margin:1rem 0 0}.lang-block+.lang-block{border-top:1px solid var(--color-border);margin-top:2.5rem;padding-top:2.5rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
