:root{--paper:#faf8f1;--white:#fffdf8;--ink:#293c2b;--muted:#64705e;--sage:#718361;--sage-dark:#526646;--soft:#edf0e4;--line:#d7ddcc;--orange:#f2b869;--serif:"Songti SC","Noto Serif CJK SC","STSong","SimSun",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.8 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #8a9c70;outline-offset:5px}a:hover{text-decoration:none;color:var(--sage-dark)}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}p{margin-bottom:1.1em}h1,h2,h3{font-family:var(--serif);font-weight:650;line-height:1.4}h1{font-size:clamp(42px,5.3vw,76px);letter-spacing:-.035em}h2{font-size:clamp(32px,3.2vw,46px);letter-spacing:-.02em}h3{font-size:25px}button:disabled{cursor:default}svg{vertical-align:middle;flex-shrink:0}.icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(1216px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;z-index:50;background:var(--ink);color:white;padding:12px 20px}.skip:focus{top:10px}.topbar{height:110px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:2px;font:600 44px/1 Georgia,serif;letter-spacing:-1.5px;color:#243a29}.brand img{width:74px;height:74px;object-fit:contain}.topbar nav{display:flex;gap:46px;align-items:center;font-size:17px}.topbar nav a{position:relative}.topbar nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--sage);transition:width .2s}.topbar nav a:hover:after{width:100%}.button{border:0;background:var(--sage);color:#fffdf7;display:inline-flex;align-items:center;justify-content:center;gap:15px;border-radius:99px;min-height:58px;padding:13px 30px;font:500 18px/1.6 var(--sans);transition:background .2s,transform .2s;text-align:center}.button:hover{color:var(--white);background:var(--sage-dark);transform:translateY(-2px)}.button.outline{background:transparent;border:1.5px solid var(--sage-dark);color:var(--sage-dark);min-height:49px;font-size:16px;padding:9px 27px}.button.outline:hover{background:var(--soft)}.text-link{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:0;background:none;padding:3px 0;border-bottom:1px solid var(--sage);color:var(--sage-dark);font:500 17px/1.7 var(--sans)}.menu-toggle{display:none;border:0;background:none;padding:10px}.hero{display:grid;grid-template-columns:1.03fr 1.13fr;align-items:center;gap:14px;min-height:650px;padding:48px 0 80px}.hero h1{white-space:nowrap}.hero-copy>p{font-size:20px;line-height:1.9;margin:24px 0 35px;max-width:550px}.hero-copy>p span{display:block}.hero-actions{display:flex;gap:32px;align-items:center}.hero-actions .button{min-width:224px;font-size:21px;padding:15px 32px}.platforms{display:flex;gap:14px;align-items:center;margin-top:33px;color:var(--muted);font-size:15px;letter-spacing:.5px}.platforms .icon{width:25px;height:25px}.hero-art{position:relative;align-self:center;padding-top:10px;min-width:0}.hero-art>img{width:112%;max-width:none;margin-left:-4%;animation:breathe 7s ease-in-out infinite}.rhythm{width:100%;height:106px;margin-top:-4px}.section-head{text-align:center;margin-bottom:52px}.section-head p{margin:15px 0 0;font-size:20px;color:var(--muted)}.companion{padding:62px 0 68px;position:relative;background:linear-gradient(180deg,var(--soft) 0%,var(--paper) 240px)}.companion:before{content:"";display:block;position:absolute;top:-30px;left:0;width:100%;height:35px;background:var(--soft);clip-path:polygon(0 15%,15% 55%,33% 90%,52% 86%,72% 35%,86% 62%,100% 37%,100% 100%,0 100%)}.demo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.demo-intro{padding:12px 0 0 25px}.demo-intro h3{font:500 23px/1.7 var(--serif)}.moods{display:flex;gap:12px;margin:17px 0 26px}.mood{border:1px solid var(--line);background:transparent;min-height:52px;min-width:112px;padding:9px 19px;border-radius:99px;font-size:17px;white-space:nowrap}.mood[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:#fff}.mood:hover{border-color:var(--sage)}.demo-description{max-width:420px;font-size:21px;line-height:1.9;margin-bottom:21px;min-height:80px}.caption{font-size:13px;color:#72796a;line-height:1.8}.demo-intro .caption{margin-bottom:0}.demo-garden{width:100%;max-width:450px;margin:6px 0 -10px -15px}.companion-panel{background:rgba(255,253,248,.94);border:1px solid #eeece1;box-shadow:0 8px 35px #56604408;border-radius:26px;padding:30px 36px 26px;min-height:480px}.companion-name{display:flex;gap:14px;align-items:center;font-size:19px;font-weight:500}.companion-name img{width:64px;height:64px;object-fit:contain;background:var(--soft);border-radius:50%}.companion-panel h3{font-size:31px;line-height:1.65;letter-spacing:-.5px;margin:17px 0 24px;white-space:pre-line;min-height:103px}.timeline{list-style:none;padding:0;margin:0 0 25px;border-top:1px solid #e6e8de}.timeline li{display:grid;grid-template-columns:14px 76px 1fr;column-gap:14px;padding:20px 0 18px;position:relative}.timeline li+li{border-top:1px solid #e6e8de}.timeline .dot{border-radius:50%;width:12px;height:12px;background:#95a584;margin-top:11px;z-index:1}.timeline .dot.rest{background:var(--orange)}.timeline time{font:500 23px/1.7 var(--serif);font-variant-numeric:tabular-nums}.timeline b{font-size:20px;font-weight:500}.timeline small{display:block;color:var(--muted);font-size:15px;margin-top:1px}.demo-actions{display:flex;align-items:center;justify-content:space-between;gap:22px}.demo-actions .button{flex:1;font-size:18px;min-height:55px}.demo-actions .button:disabled{background:#dfe5d5;color:#526646}.demo-result{font-size:14px;color:var(--sage-dark);margin:12px 0 0}.plus-band{background:var(--soft);padding:48px 0}.plus-inner{display:grid;grid-template-columns:1fr .9fr 1fr;align-items:center;gap:36px}.plus-name{display:flex;align-items:center;gap:8px;font:20px var(--serif);margin-bottom:14px}.plus-name img{width:48px;height:48px;object-fit:contain}.plus-inner h2{font-size:38px}.plus-inner .caption{margin-top:17px;max-width:340px}.plus-art{max-height:225px;object-fit:contain}.plus-points{list-style:none;padding:0;margin:0}.plus-points li{padding:17px 0;border-bottom:1px solid #cfd6c3;display:flex;align-items:center;gap:20px;font-size:19px}.plus-points li:last-child{border:0}.plus-points .icon{width:26px;height:26px}.journal-section{padding:100px 0 70px}.journal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}.journal-heading h2{font-size:43px}.article-list{list-style:none;margin:0;padding:0;border-top:1px solid #adb99d}.article-list li{border-bottom:1px solid #bdc7ae}.article-row{display:grid;grid-template-columns:50px 1fr 28px;gap:20px;align-items:center;padding:25px 0 28px;transition:background .2s}.article-row:hover{color:var(--ink);background:#e9eddf70}.article-number{align-self:start;padding-top:1px;font:24px/1.6 var(--serif);color:#8e9e7e}.article-row h3{font-size:25px;line-height:1.6}.article-row p{font-size:16px;color:var(--muted);margin:4px 0 0}.article-row .icon{width:26px}.faq-section{padding:12px 0 84px}.faq-section h2{margin-bottom:30px}.faq{border-bottom:1px solid #b9c4ad;margin:0}.faq summary{list-style:none;padding:22px 0;cursor:pointer;font:600 23px/1.5 var(--serif);display:flex;align-items:center;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{transition:transform .2s}.faq[open] summary{background:var(--soft);border-radius:11px;padding:17px 20px;margin:8px 0 0}.faq[open] summary .icon{transform:rotate(180deg)}.faq p{padding:21px 20px 24px;margin:0;font-size:17px;line-height:1.9;max-width:1020px;color:#57634f}.closing{background:#e1e7ce;overflow:hidden;min-height:310px}.closing .wrap{display:grid;grid-template-columns:1.2fr .9fr;gap:28px;align-items:center;min-height:310px}.closing h2{font-size:39px}.closing .button{margin-top:24px;background:#3f5540;min-height:52px;padding:9px 30px}.closing p{font-size:15px;margin:10px 0 0}.closing img{width:100%;max-height:280px;object-fit:contain;align-self:end}.footer{padding:27px 0 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.footer .brand{font-size:29px;letter-spacing:-.7px}.footer .brand img{width:45px;height:45px}.footer nav{display:flex;flex-wrap:wrap;gap:24px}.footer small{font-size:12px}.breadcrumbs{font-size:14px;color:var(--muted);padding-top:30px;margin-bottom:27px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.page-head{max-width:900px;padding:30px 0 48px}.page-head h1{font-size:clamp(36px,4.4vw,60px);line-height:1.45;max-width:930px}.page-head p{max-width:760px;color:var(--muted);font-size:20px;margin-top:22px;margin-bottom:0}.prose{max-width:780px;margin:0 auto;padding-bottom:50px}.prose h2{font-size:30px;margin:45px 0 20px}.prose h3{font-size:24px;margin:30px 0 15px}.prose p{line-height:1.95;font-size:18px;margin-bottom:20px}.prose ul,.prose ol{padding-left:1.3em;margin:22px 0 26px}.prose li{padding-left:4px;margin:12px 0}.prose a{color:var(--sage-dark);text-decoration:underline;text-underline-offset:4px}.prose .caption{font-size:14px}.prose .button{color:#fff;text-decoration:none}.callout{background:var(--soft);border-left:3px solid #8b9b78;padding:23px 28px;margin:28px 0;font-size:17px}.callout p:last-child{margin-bottom:0}.article-meta{font-size:14px;color:var(--muted);display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}.toc{border-block:1px solid var(--line);padding:17px 0;margin:15px 0 38px}.toc strong{font-size:16px}.toc ul{list-style:none;margin:12px 0 0;padding:0}.toc li{margin:4px 0;font-size:15px}.toc a{font-size:15px;text-decoration:none}.prose table{border-collapse:collapse;width:100%;margin:25px 0;font-size:16px;line-height:1.8}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px;vertical-align:top}.prose th{background:var(--soft);font-weight:500}.related{padding:40px 0 80px;border-top:1px solid var(--line)}.related h2{font-size:31px;margin-bottom:22px}.related .article-row h3{font-size:22px}.device-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:60px;max-width:800px;margin:10px auto 50px}.device-preview figure{margin:0;text-align:center}.device-preview img{width:100%;max-width:280px;margin:auto;border:6px solid #35482f;border-radius:36px;box-shadow:0 12px 35px #42523612}.device-preview figcaption{font-size:14px;color:var(--muted);padding:14px}.release-row{display:flex;align-items:flex-start;gap:25px;border-top:1px solid var(--line);padding:27px 0}.release-row>.icon{margin-top:7px;width:32px;height:32px}.release-row h2{font-size:28px;margin:0 0 8px}.release-row p{font-size:17px;color:var(--muted);margin:0}.release-state{display:block;font-size:14px;font-weight:600;color:var(--sage-dark);margin-top:11px}.journal-index{padding-bottom:85px}.portrait-inline{display:flex;align-items:center;gap:25px;background:var(--soft);padding:24px;border-radius:16px;margin:28px 0}.portrait-inline img{width:110px;height:110px;object-fit:contain}.portrait-inline h3{margin:0 0 8px}.portrait-inline p{margin:0;font-size:16px}dialog{border:1px solid var(--line);padding:30px;border-radius:22px;background:var(--paper);color:var(--ink);width:min(520px,calc(100% - 32px));max-height:90dvh;overflow:auto;box-shadow:0 18px 80px #263c2930}dialog::backdrop{background:#20302170}dialog h2{font-size:29px;margin-right:35px}.dialog-close{position:absolute;right:20px;top:22px;padding:8px;border:0;background:transparent}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.edit-fields label{display:flex;flex-direction:column;gap:8px;font-size:15px}.edit-fields input{width:100%;min-height:47px;border:1px solid #bbc7ae;border-radius:9px;background:var(--white);padding:8px 12px;font-size:17px}.edit-fields label:first-child{grid-column:1/-1}.edit-error{color:#924d35;font-size:15px;min-height:1.6em}.edit-submit{width:100%}.not-found{min-height:60vh}.not-found .button{margin-top:20px}@keyframes breathe{50%{transform:translateY(-7px)}}@media(min-width:1500px){.hero{min-height:700px}.hero h1{font-size:78px}}@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.topbar nav{gap:26px}.brand{font-size:37px}.brand img{width:60px;height:60px}.topbar>.button{font-size:14px;padding-inline:18px}.hero{gap:5px;min-height:600px}.hero h1{font-size:56px}.hero-copy>p{font-size:18px}.hero-actions{gap:24px}.hero-actions .button{min-width:190px;font-size:18px}.platforms{gap:9px;font-size:13px}.demo-grid{gap:40px}.demo-intro{padding-left:0}.mood{min-width:90px;padding-inline:15px}.companion-panel{padding:28px}.companion-panel h3{font-size:27px}.plus-inner{grid-template-columns:1fr .7fr 1fr;gap:20px}.plus-inner h2{font-size:31px}.plus-points li{font-size:17px}.journal-heading h2{font-size:37px}.closing h2{font-size:34px}.footer nav{gap:18px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.topbar{height:86px;gap:12px;position:relative}.brand{font-size:34px}.brand img{width:54px;height:54px}.topbar>.button{margin-left:auto;min-height:41px;padding:7px 14px;font-size:13px}.menu-toggle{display:block;margin-right:-8px}.topbar nav{display:none;position:absolute;top:76px;right:0;left:0;background:var(--paper);border:1px solid var(--line);padding:18px 23px;border-radius:15px;z-index:20;box-shadow:0 10px 30px #263c2910}.topbar nav[data-open=true]{display:flex;flex-direction:column;align-items:stretch;gap:0}.topbar nav a{padding:12px 0}.hero{grid-template-columns:1fr;padding:35px 0 53px;gap:12px;min-height:0}.hero h1{font-size:clamp(41px,9.6vw,64px);line-height:1.35;letter-spacing:-.04em}.hero-copy>p{font-size:17px;line-height:1.9;margin:22px 0 27px}.hero-copy>p span{display:inline}.hero-copy>p span:first-child{display:block}.hero-actions{gap:25px}.hero-actions .button{min-width:185px;min-height:54px;font-size:18px;padding:12px 23px}.hero-actions .text-link{font-size:16px}.platforms{margin-top:25px;font-size:12px;gap:10px}.platforms .icon{width:22px;height:22px}.hero-art{width:min(520px,100%);margin:0 auto;padding-top:0}.hero-art>img{width:100%;margin-left:0}.rhythm{height:74px;margin-top:-10px}.companion{padding-top:48px}.section-head{margin-bottom:37px}.section-head h2{font-size:29px;line-height:1.55}.section-head p{font-size:16px;margin-top:13px}.demo-grid{grid-template-columns:1fr;gap:22px}.demo-intro{padding:0}.demo-intro h3{font-size:21px}.moods{margin:14px 0 20px;gap:9px}.mood{flex:1;min-width:0;padding:10px 8px;min-height:48px;font-size:16px}.demo-description{font-size:18px;min-height:0;margin-bottom:13px}.demo-intro .caption{font-size:12px}.demo-garden{display:none}.companion-panel{padding:22px 21px 23px;border-radius:22px;min-height:0}.companion-name{font-size:17px;gap:12px}.companion-name img{width:50px;height:50px}.companion-panel h3{font-size:25px;line-height:1.7;margin:17px 0 21px;min-height:85px}.timeline li{grid-template-columns:10px 58px 1fr;gap:10px;padding:19px 0}.timeline .dot{width:10px;height:10px}.timeline time{font-size:20px}.timeline b{font-size:17px}.timeline small{font-size:13px}.demo-actions{gap:20px}.demo-actions .button{font-size:16px;padding-inline:14px;min-height:49px}.demo-actions .text-link{font-size:15px}.plus-band{padding:36px 0}.plus-inner{grid-template-columns:1fr;gap:15px}.plus-name{font-size:19px;margin-bottom:10px}.plus-name img{width:42px;height:42px}.plus-inner h2{font-size:29px}.plus-inner .caption{font-size:12px}.plus-art{display:none}.plus-points{grid-column:1/-1;margin-top:10px}.plus-points li{padding:15px 0;font-size:18px}.journal-section{padding:58px 0 44px}.journal-heading{display:block;margin-bottom:25px}.journal-heading h2{font-size:29px}.journal-heading>.text-link{font-size:14px;margin-top:20px}.article-row{grid-template-columns:27px 1fr 20px;gap:12px;padding:22px 0}.article-number{font-size:19px;padding-top:3px}.article-row h3{font-size:20px;line-height:1.6}.article-row p{font-size:14px;margin-top:7px;line-height:1.8}.article-row .icon{width:20px}.faq-section{padding-bottom:53px}.faq-section h2{font-size:31px;margin-bottom:23px}.faq summary{font-size:20px;padding:20px 0}.faq[open] summary{padding:14px}.faq p{font-size:16px;padding:19px 14px 22px}.closing{min-height:0}.closing .wrap{grid-template-columns:1fr;gap:0;padding-top:33px;min-height:0}.closing h2{font-size:29px}.closing .button{margin-top:20px;font-size:16px;min-height:47px}.closing p{font-size:13px}.closing img{width:85%;justify-self:end;margin-top:-20px;max-height:190px}.footer{padding-top:23px;gap:18px;align-items:flex-start}.footer .brand{font-size:30px}.footer nav{width:100%;gap:15px 20px;font-size:13px}.footer small{font-size:11px}.breadcrumbs{padding-top:15px;font-size:12px;gap:8px}.page-head{padding:20px 0 32px}.page-head h1{font-size:36px;line-height:1.5}.page-head p{font-size:17px}.prose{padding-bottom:32px}.prose h2{font-size:27px;margin:33px 0 18px}.prose h3{font-size:22px}.prose p{font-size:17px}.prose li{font-size:17px}.callout{padding:19px 20px;font-size:16px}.prose table{font-size:14px}.prose th,.prose td{padding:11px 8px}.article-meta{font-size:12px;gap:12px;margin-top:20px}.device-preview{gap:18px;margin-bottom:34px}.device-preview img{border-width:4px;border-radius:22px}.device-preview figcaption{padding:10px 0;font-size:12px}.portrait-inline{gap:14px;padding:18px}.portrait-inline img{width:70px;height:70px}.portrait-inline h3{font-size:22px}.portrait-inline p{font-size:14px}.release-row{gap:20px}.release-row h2{font-size:26px}.release-row p{font-size:16px}.related{padding:28px 0 55px}.related h2{font-size:28px}.related .article-row h3{font-size:20px}.journal-index{padding-bottom:50px}}@media(max-width:350px){.topbar>.button.outline{display:none}.wrap{width:calc(100% - 32px)}.topbar>.button{font-size:12px;padding-inline:10px}.brand{font-size:30px}.brand img{width:43px;height:43px}.hero h1{font-size:39px}.hero-actions{gap:19px}.hero-actions .button{min-width:170px}.plus-inner h2{font-size:25px}.companion-panel h3{font-size:23px}.demo-actions{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.language-switch{font-size:14px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:99px}.language-entry{display:flex;gap:24px;justify-content:center;padding:12px}.topbar{gap:18px}html[lang="en"] .hero h1{white-space:normal;line-height:1.12}html[lang="en"] .hero-copy>p span{display:inline}html[lang="en"] .hero-copy>p span:first-child{display:block}html[lang="en"] .topbar nav{gap:23px;font-size:15px}html[lang="en"] .mood{white-space:normal;font-size:15px}html[lang="en"] .plus-inner h2{font-size:32px}html[lang="en"] .companion-panel h3{font-size:27px}@media(max-width:760px){.topbar>.button.outline{display:none}.language-switch{margin-left:auto}html[lang="en"] .hero h1{font-size:52px}.demo-actions{flex-wrap:wrap}html[lang="en"] .demo-actions .text-link{font-size:14px}}

[hidden]{display:none!important}

/* Let the Chinese hero fit narrow screens without clipping text or actions. */
@media(max-width:760px){
  html[lang="zh-CN"] .hero{grid-template-columns:minmax(0,1fr)}
  html[lang="zh-CN"] .hero h1{white-space:normal}
  html[lang="zh-CN"] .hero-actions{flex-wrap:wrap}
}
