@charset "UTF-8";
:root{--ink:#234b4d;--muted:#627778;--paper:#f8f9f4;--line:#d8e0d9;--green:#dbe8b9;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",SimSun,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b16d3b;outline-offset:5px}::selection{background:#dbe8b9;color:#234b4d}[hidden]{display:none!important}.skip-link{position:fixed;top:8px;left:10px;transform:translateY(-150%);z-index:100;background:white;padding:10px 20px}.skip-link:focus{transform:none}
.site-header{height:86px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;background:#f8f9f4f5;position:sticky;top:0;z-index:30;border-bottom:1px solid #e1e6dd;backdrop-filter:blur(12px)}.brand{display:flex;gap:13px;align-items:center;line-height:1.2}.brand-mark{font-family:Georgia,serif;font-size:48px;font-style:italic;position:relative;line-height:1}.brand-spark{font-family:var(--sans);font-size:23px;position:absolute;right:-8px;top:-2px;color:#6f8b6a}.brand b{font-family:Georgia,serif;font-size:25px;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500}.desktop-nav>a:not(.nav-download){position:relative}.desktop-nav>a:not(.nav-download):after{content:"";position:absolute;bottom:-9px;left:0;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transition:transform .25s}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current="location"]:after{transform:scaleX(1)}.nav-download{padding:11px 22px;background:var(--ink);color:var(--paper);border-radius:3px}.nav-download span{margin-left:20px}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{height:min(820px,calc(100svh - 86px));min-height:620px;position:relative;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center 63%;z-index:-3}.hero-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#f1f6ed80,transparent 61%),linear-gradient(0deg,#0f292b70,transparent 22%)}.hero-copy{position:absolute;left:8%;top:8%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500;margin:0 0 23px;display:block}.hero .eyebrow{display:flex;gap:10px;align-items:center;color:#24494e;font-size:10px;letter-spacing:2.2px}.hero .eyebrow>span{height:1px;width:28px;background:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-weight:400;margin-bottom:23px;line-height:1.1}.hero-sfls{font-family:Georgia,"Times New Roman",serif;display:block;font-size:clamp(90px,10.8vw,162px);letter-spacing:3px;font-weight:400;line-height:1}.title-flower{display:inline-block;font-family:var(--sans);font-size:40px;vertical-align:top;margin-top:13px;margin-left:11px;color:#4d7168}.hero-name{display:block;font-family:var(--serif);font-size:clamp(25px,3vw,42px);letter-spacing:6px;margin-top:10px}.hero-tagline{font-family:var(--serif);font-size:19px;letter-spacing:3px;margin-bottom:23px}.mobile-break{display:none}.hero-button{display:flex;align-items:center;justify-content:space-between;width:184px;border:1px solid #45615f;border-radius:2px;padding:11px 17px;background:#f9fbf391;backdrop-filter:blur(8px);font-size:12px;transition:background .25s,transform .25s}.hero-button:hover{background:var(--paper);transform:translateY(-3px)}.hero-button span{font-size:21px;line-height:1}.hero-side{position:absolute;right:4%;top:16%;writing-mode:vertical-rl;letter-spacing:8px;font-family:var(--serif);font-size:13px;color:#24494d}.hero-bottom{position:absolute;bottom:24px;left:4.2%;right:4.2%;display:flex;justify-content:space-between;align-items:center;color:white;font-size:10px;letter-spacing:1px}.hero-bottom i,.status-label i{width:6px;height:6px;background:#d5e5ae;display:inline-block;border-radius:50%;margin-right:8px}.hero-bottom>a span{margin-left:25px;font-size:19px}.photo-note{font-size:9px;letter-spacing:1.6px}.notice-bar{display:flex;align-items:center;gap:24px;padding:22px 8%;border-bottom:1px solid var(--line);font-size:12px;background:#fff}.notice-label{font-size:10px;letter-spacing:1.5px;white-space:nowrap;padding-right:24px;border-right:1px solid var(--line)}.notice-bar>a{flex:1;display:flex;align-items:center;justify-content:space-between}.notice-bar>a:hover{text-decoration:underline}.notice-index{font-family:Georgia,serif;font-size:11px;color:var(--muted);margin-left:20px}
.section-wrap{max-width:1320px;padding:0 64px;margin:0 auto}.section-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:55px;color:var(--muted)}.section-label>span:last-child{font-size:11px;letter-spacing:2px}.story{padding-top:94px;padding-bottom:70px}.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10%}.story-heading .eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:23px}h2{font-family:var(--serif);font-size:clamp(28px,3.1vw,44px);font-weight:500;line-height:1.65;letter-spacing:2px}.story-heading h2{font-size:clamp(29px,3vw,43px);line-height:1.7}.story-heading em{font-style:normal;background:linear-gradient(transparent 65%,#dbe8b9 65%,#dbe8b9 92%,transparent 92%)}.story-route{display:flex;align-items:center;gap:20px;margin-top:30px;font-size:12px}.story-route>span{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid #afc0ab;border-radius:50%}.story-route>i{font-style:normal;color:#9cb298}.story-body{padding-top:8px;font-size:14px;line-height:2.2;color:var(--muted)}.story-body .lead{font-family:var(--serif);font-size:21px;line-height:1.9;color:var(--ink);margin-bottom:23px}.story-body p{margin-bottom:21px}.story-footnote{font-size:13px;color:var(--ink);border-left:2px solid #b6cba2;padding-left:16px}.story-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}.story-tags span{border:1px solid #d7dfd1;padding:3px 12px;font-size:10px;letter-spacing:1px;line-height:2}.memory-line{display:flex;align-items:center;gap:28px;padding:42px 0 0;margin-top:60px;border-top:1px solid var(--line)}.memory-line>span:first-child{font-size:55px;line-height:1;color:#87a07c}.memory-line p{font-family:var(--serif);font-size:15px;letter-spacing:2px;line-height:1.9;margin:0}.memory-line b{font-weight:400}.memory-coord{margin-left:auto;color:var(--muted);font-size:9px;line-height:1.8;letter-spacing:1.5px}
.chapters{padding:76px 0 65px;background:#eaf0eb}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:36px;margin-bottom:38px}.section-heading h2{margin:0}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.chapter-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 0;gap:0}.chapter-tab{text-align:left;background:none;border:0;border-top:1px solid #bccbc1;border-bottom:1px solid #bccbc1;padding:22px 20px 22px 0;position:relative;transition:background .2s}.chapter-tab:before{content:"";width:7px;height:7px;position:absolute;left:0;top:-4px;border-radius:50%;background:#9eafa4}.chapter-tab.active:before{background:var(--ink);box-shadow:0 0 0 5px #d4dfd1}.chapter-tab.active{border-bottom:2px solid var(--ink)}.chapter-tab:hover{background:#e0e9de}.chapter-tab>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.chapter-tab b{display:block;font-family:var(--serif);font-size:23px;font-weight:500;margin:3px 0 7px}.chapter-tab small{font-size:9px;letter-spacing:1px;color:var(--muted)}.chapter-panels{margin-top:30px}.chapter-panel{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--paper);min-height:365px}.chapter-art{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:31px 34px;overflow:hidden;background:#cdded4}.chapter-art:after{content:"";position:absolute;z-index:-1;width:300px;height:300px;border:1px solid #43695f2b;border-radius:50%;right:-120px;bottom:-140px;box-shadow:0 0 0 25px #43695f08,0 0 0 50px #43695f08,0 0 0 75px #43695f08}.art-caption{font-size:9px;letter-spacing:2px}.art-number{position:absolute;right:26px;top:-32px;font-family:Georgia,serif;font-size:190px;line-height:1.5;font-style:italic;color:#fff5;z-index:-1}.art-drawing{font-family:var(--serif);font-size:43px;line-height:1.65;letter-spacing:4px;margin-top:30px}.art-footer{font-size:10px;letter-spacing:2px;border-top:1px solid #234b4d33;padding-top:15px;margin-top:35px}.art-code{background:#d5e3e8}.art-code .art-drawing{font-family:Georgia,serif}.art-exam{background:#e7e1c9}.art-sport{background:#e1cfc3}.chapter-copy{padding:38px 44px}.pill{font-size:10px;display:inline-block;border:1px solid var(--line);padding:3px 10px;letter-spacing:1px}.chapter-copy h3{font-family:var(--serif);font-size:25px;line-height:1.7;font-weight:500;letter-spacing:1px;margin:16px 0}.chapter-copy p{font-size:12px;color:var(--muted);line-height:2;margin-bottom:13px}.chapter-people{border-top:1px solid var(--line);padding-top:15px;margin-top:23px;font-size:10px;color:var(--muted)}.chapter-people span{margin-left:20px;font-size:10px;letter-spacing:1px;color:var(--ink)}.section-note{font-size:10px;color:var(--muted);margin:20px 0 0;line-height:1.9}
.characters{padding-top:88px;padding-bottom:90px}.character-note{font-size:11px;color:var(--muted);margin-top:-20px;margin-bottom:28px}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.character-card{border:1px solid var(--line);padding:18px 20px 14px;text-align:left;background:#edf0e5;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;min-width:0}.character-card:nth-child(2){background:#e8edf0}.character-card:nth-child(3){background:#e3ece7}.character-card:nth-child(4){background:#f1e8dd}.character-card:nth-child(5){background:#eee7da}.character-card:nth-child(6){background:#e7e7ee}.character-card:nth-child(7){background:#e5eddc}.character-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #234b4d0d}.character-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:var(--muted)}.character-letter{position:relative;display:block;font-family:Georgia,serif;font-size:99px;font-style:italic;line-height:1.4;padding:8px 0}.character-symbol{position:absolute;right:5px;bottom:30px;font-size:38px;line-height:1;font-family:var(--sans);color:#778c7666;font-style:normal}.character-card:nth-child(6) .character-symbol{font-size:25px}.character-summary b{display:block;font-family:var(--serif);font-size:16px;font-weight:500;margin-bottom:4px;white-space:normal}.character-summary>span{font-size:11px;color:var(--muted)}.character-open{font-size:9px;display:flex;justify-content:space-between;border-top:1px solid #234b4d26;padding-top:12px;margin-top:20px}.character-open>span{font-size:17px;line-height:1.1}.character-you{border:1px dashed #c4d0bf;padding:25px 20px;display:flex;flex-direction:column;justify-content:center}.character-you>span{font-size:31px;color:#8aa183}.character-you p{font-family:var(--serif);font-size:21px;margin:10px 0 14px;line-height:1.7}.character-you small{font-size:10px;color:var(--muted);line-height:1.9}
.development{background:#254b4d;color:#f5f6e9;padding:70px 0 85px}.development .section-label{border-color:#ffffff30;color:#c2d1c9}.dev-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.status-label{font-size:9px;letter-spacing:1.5px}.dev-intro h2{margin:20px 0 22px;font-size:40px}.dev-intro>p{color:#d2ded5;font-size:13px;line-height:2}.dev-intro .dev-disclaimer{font-size:11px;color:#b8cbc2;margin:22px 0}.text-link{font-size:12px;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:40px;padding:7px 0}.text-link>span{font-size:20px;line-height:1}.text-link:hover{opacity:.75}.dev-list>article{display:flex;gap:18px;padding:25px 0;border-bottom:1px solid #ffffff26;align-items:flex-start}.dev-list>article:first-child{border-top:1px solid #ffffff26}.dev-number{font-family:Georgia,serif;font-size:12px;color:#a8c2b5;padding-top:2px}.dev-list h3{font-size:15px;font-weight:500;letter-spacing:1px;margin:0 0 8px}.dev-list p{font-size:11px;color:#bdcfc6;line-height:2;margin:0;max-width:290px}.dev-state{margin-left:auto;white-space:nowrap;border:1px solid #a5bca052;padding:3px 8px;font-size:8px;color:#d2e0b6;margin-top:2px}
.news{padding-top:85px;padding-bottom:88px}.news-list{border-top:1px solid var(--line)}.news-list details{border-bottom:1px solid var(--line)}.news-list summary{cursor:pointer;display:flex;align-items:center;list-style:none;gap:28px;padding:24px 0}.news-list summary::-webkit-details-marker{display:none}.news-tag{font-size:9px;border:1px solid #becfbb;border-radius:2px;padding:3px 10px;white-space:nowrap;color:var(--muted)}.news-list summary h3{font-size:14px;font-weight:500;margin:0;letter-spacing:.5px}.details-icon{font-size:21px;margin-left:auto;line-height:1;transition:transform .2s}.news-list details[open] .details-icon{transform:rotate(45deg)}.news-body{padding:0 50px 20px 104px;max-width:950px;font-size:12px;line-height:2.1;color:var(--muted)}.news-body p:last-child{margin-bottom:0}
.download{position:relative;background:#e6eddf;overflow:hidden;padding:72px 0}.download:before,.download:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #a6b99a40;transform:rotate(35deg);pointer-events:none}.download:before{left:-340px;top:-330px}.download:after{right:-380px;bottom:-380px}.download-inner{text-align:center;position:relative}.download .eyebrow{font-size:9px;margin:0;letter-spacing:2px}.download-flower{display:block;font-size:40px;color:#7f9975;line-height:1;margin:25px 0 15px}.download h2{font-size:41px;line-height:1.6;margin-bottom:20px}.download p{font-size:12px;color:var(--muted);line-height:2}.download-disabled{display:flex;align-items:center;justify-content:space-between;background:#244c4c;color:#eef4de;border:0;border-radius:3px;width:290px;max-width:100%;padding:17px 23px;margin:28px auto 12px;font-size:13px;opacity:.7}.download-disabled>span{font-size:20px;line-height:1}.download-note{display:block;font-size:10px;color:var(--muted)}.download .text-link{margin-top:22px;font-size:11px;gap:30px}.site-footer{padding:45px max(4.2%,calc((100% - 1192px)/2)) 24px;background:#f9faf6}.footer-top{display:flex;align-items:center;gap:40px;margin-bottom:40px}.footer-brand{font-family:Georgia,serif;font-size:33px;letter-spacing:2px}.footer-brand span{display:block;font-family:var(--serif);font-size:12px;letter-spacing:2px}.footer-top>p{font-family:var(--serif);font-size:12px;line-height:1.9;margin:0 0 0 auto;letter-spacing:2px}.back-top{border:1px solid var(--line);border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;font-size:20px}.back-top:hover{background:#e6eddf}.footer-bottom{display:flex;gap:25px;justify-content:space-between;font-size:9px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line);letter-spacing:.5px}
.character-dialog{padding:0;border:0;max-width:780px;width:calc(100% - 40px);max-height:85svh;overflow:auto;color:var(--ink);background:var(--paper);box-shadow:0 20px 80px #102f3555}.character-dialog[open]{display:grid;grid-template-columns:.6fr 1fr}.character-dialog::backdrop{background:#123436a8;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:1px solid #b4c3b2;background:var(--paper);font-size:25px;z-index:1;line-height:1}.dialog-letter{background:var(--character-bg,#e0e8d6);font-family:Georgia,serif;font-size:170px;font-style:italic;display:flex;align-items:center;justify-content:center;min-height:440px}.dialog-content{padding:50px 35px 32px}.dialog-content .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:13px}.dialog-content h2{font-size:32px;margin-bottom:8px}.dialog-subtitle{font-family:var(--serif);font-size:19px;line-height:1.8}.dialog-content>p:not(.eyebrow):not(.dialog-subtitle):not(.dialog-note){font-size:13px;line-height:2;color:var(--muted)}.dialog-facts{font-size:11px;display:grid;grid-template-columns:55px 1fr;gap:6px 10px;border-top:1px solid var(--line);padding-top:18px}.dialog-facts dt{color:var(--muted)}.dialog-facts dd{margin:0}.dialog-content .dialog-note{font-size:9px;line-height:1.8;color:var(--muted);margin:20px 0 0}.noscript-note{padding:20px;text-align:center}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.motion-ready .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-copy{left:calc((100% - 1350px)/2)}.hero-photo{object-position:center 68%}}
@media(max-width:1100px){.desktop-nav{gap:22px}.section-wrap{padding-left:40px;padding-right:40px}.hero-copy{top:9%;left:7%}.hero{height:730px;min-height:600px}.hero-sfls{font-size:128px}.hero-name{font-size:34px}.chapter-copy{padding:30px}.chapter-art{padding:26px}.art-drawing{font-size:37px}.character-card{padding:16px}.character-summary b{font-size:14px}.dev-grid{gap:6%}.dev-state{font-size:8px;padding:3px 5px}.dev-list>article{gap:12px}.dev-list p{max-width:230px}}
@media(max-width:800px){html{scroll-padding-top:82px}.site-header{height:72px;padding:0 24px}.brand-mark{font-size:39px}.brand b{font-size:22px}.brand small{font-size:9px;letter-spacing:2px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;border:1px solid #c8d3c3;background:transparent;padding:10px}.menu-toggle>span{height:1px;width:100%;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:20px 24px 28px;box-shadow:0 16px 20px #234b4d16;border-bottom:1px solid var(--line)}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:2px}.hero{height:710px;min-height:0}.hero-copy{top:7%;left:7%}.hero-photo{object-position:58% center}.hero-wash{background:linear-gradient(180deg,#e8f0ed70,transparent 65%),linear-gradient(0deg,#0f292b80,transparent 22%)}.hero-sfls{font-size:115px}.hero-name{font-size:30px;letter-spacing:5px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:20px}.hero-tagline{font-size:16px;letter-spacing:2px}.hero-side{display:none}.hero-bottom{left:24px;right:24px;bottom:20px}.hero-bottom>a{font-size:9px}.photo-note{display:none}.notice-bar{padding:18px 24px;gap:14px}.notice-label{font-size:8px;padding-right:14px}.notice-bar>a{font-size:10px;gap:15px}.notice-index{display:none}.section-wrap{padding-left:28px;padding-right:28px}.section-label{margin-bottom:36px;font-size:9px;letter-spacing:1px}.section-label>span:last-child{font-size:10px;letter-spacing:1px}.story{padding-top:60px;padding-bottom:50px}.story-grid{gap:7%;grid-template-columns:1fr 1fr}.story-heading h2{font-size:29px;letter-spacing:0}.story-body .lead{font-size:17px}.story-body{font-size:12px}.story-footnote{font-size:11px}.story-route{gap:12px}.story-route>span{height:45px;width:45px;font-size:10px}.memory-line{margin-top:38px;padding-top:28px}.memory-coord{font-size:8px}.section-heading h2{font-size:29px}.section-heading>p{font-size:10px}.chapter-tab b{font-size:18px}.chapter-tab{padding:17px 8px 17px 0}.chapter-tab>span{font-size:8px;letter-spacing:1px}.chapter-tab small{font-size:8px;letter-spacing:0}.chapter-panel{min-height:370px;grid-template-columns:.8fr 1.2fr}.chapter-copy{padding:25px}.chapter-copy h3{font-size:20px}.chapter-copy p{font-size:11px}.chapter-art{padding:24px}.art-drawing{font-size:30px;letter-spacing:1px}.art-caption{font-size:7px;letter-spacing:1px}.art-number{font-size:140px;right:10px;top:-15px}.art-footer{font-size:8px;letter-spacing:1px}.chapter-people{font-size:9px}.chapter-people span{margin-left:10px;font-size:9px}.character-grid{grid-template-columns:repeat(2,1fr);gap:14px}.character-letter{font-size:96px;line-height:1.2}.character-summary b{font-size:16px}.character-you{min-height:250px}.characters{padding-top:60px;padding-bottom:60px}.development{padding:55px 0}.dev-grid{grid-template-columns:1fr;gap:35px}.dev-intro h2{font-size:32px}.dev-intro>p br{display:none}.dev-intro .dev-disclaimer{margin:15px 0}.dev-list p{max-width:none}.dev-list>article{gap:20px}.dev-state{padding:3px 8px}.news{padding-top:60px;padding-bottom:60px}.news-list summary{gap:18px}.news-list summary h3{font-size:12px}.news-body{padding-left:96px;padding-right:20px;font-size:11px}.download{padding:55px 0}.download h2{font-size:33px}.footer-top{gap:20px}.footer-brand{font-size:29px}.footer-top>p{font-size:11px}.footer-bottom{font-size:8px;gap:12px}.character-dialog{max-width:650px}.dialog-letter{font-size:125px}.dialog-content{padding:55px 25px 25px}}
@media(max-width:560px){.hero{height:calc(100svh - 72px);min-height:675px;max-height:850px}.hero-photo{object-fit:cover;object-position:57% center}.hero-wash{background:linear-gradient(180deg,#e9f1eea6,transparent 58%),linear-gradient(0deg,#0f292b99,transparent 25%)}.hero-copy{top:7%;left:7%;right:5%}.hero-sfls{font-size:108px;letter-spacing:0}.hero-name{font-size:26px;letter-spacing:2px}.title-flower{font-size:29px;margin-left:5px;margin-top:12px}.hero-tagline{font-size:15px;margin-bottom:18px}.hero-button{width:163px;padding:9px 14px;font-size:11px}.hero-bottom{align-items:flex-end}.hero-bottom>span{font-size:8px;letter-spacing:0}.hero-bottom>a{font-size:8px;letter-spacing:0}.hero-bottom>a span{margin-left:10px}.notice-bar{padding:15px 20px;gap:10px}.notice-label{font-size:7px;padding-right:10px;letter-spacing:.5px}.notice-bar>a{font-size:9px;line-height:1.8;gap:8px}.section-wrap{padding-left:24px;padding-right:24px}.section-label{margin-bottom:30px}.section-label>span:last-child{font-size:9px}.story-grid{grid-template-columns:1fr;gap:34px}.story-heading h2{font-size:33px;line-height:1.65}.story-heading .eyebrow{font-size:11px;margin-bottom:18px}.story-route{margin-top:24px;gap:18px}.story-route>span{width:47px;height:47px}.story-body{font-size:13px;line-height:2.15}.story-body .lead{font-size:20px}.story-body p{margin-bottom:18px}.story-footnote{font-size:12px}.memory-line{gap:16px;margin-top:32px}.memory-line>span:first-child{font-size:41px}.memory-line p{font-size:12px;letter-spacing:1px}.memory-coord{display:none}.chapters{padding:50px 0 40px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:29px;letter-spacing:1px}.section-heading>p{font-size:11px;margin-top:13px}.chapter-tabs{grid-template-columns:repeat(2,1fr);gap:22px 14px;margin-top:27px}.chapter-tab{padding:14px 0}.chapter-tab b{font-size:20px;margin:4px 0}.chapter-tab>span{font-size:8px}.chapter-tab small{font-size:8px;letter-spacing:1px}.chapter-panel{grid-template-columns:1fr}.chapter-art{min-height:235px;padding:22px 25px}.art-drawing{font-size:32px;line-height:1.5;margin:10px 0}.art-number{font-size:185px;top:-5px;right:22px}.art-caption{font-size:8px}.art-footer{margin-top:12px;padding-top:12px;font-size:9px}.chapter-copy{padding:26px 25px 28px}.chapter-copy h3{font-size:22px;margin:15px 0}.chapter-copy p{font-size:12px;line-height:2}.chapter-people{margin-top:18px}.section-note{font-size:9px}.character-note{font-size:10px;line-height:1.9;margin-top:-14px;margin-bottom:22px}.character-grid{gap:11px}.character-card{padding:13px 12px 12px}.character-top{font-size:7px;letter-spacing:.5px}.character-letter{font-size:84px;padding:10px 0;line-height:1.3}.character-symbol{font-size:27px;bottom:23px;right:0}.character-card:nth-child(6) .character-symbol{font-size:19px}.character-summary b{font-size:13px;line-height:1.8;margin-bottom:3px;letter-spacing:-.2px}.character-summary>span{font-size:10px}.character-open{font-size:8px;margin-top:16px;padding-top:11px}.character-you{padding:20px 16px;min-height:0}.character-you p{font-size:18px}.character-you small{font-size:9px}.dev-intro h2{font-size:34px}.dev-intro>p{font-size:12px}.dev-intro .dev-disclaimer{font-size:10px}.dev-list>article{gap:12px;padding:22px 0;flex-wrap:wrap}.dev-list>article>div{flex:1;min-width:160px}.dev-list h3{font-size:14px}.dev-list p{font-size:11px}.dev-state{font-size:8px;margin:0 0 0 25px}.news-list summary{gap:12px;padding:21px 0;align-items:flex-start}.news-tag{font-size:8px;padding:2px 6px}.news-list summary h3{font-size:12px;line-height:1.8;flex:1}.details-icon{font-size:18px;padding-top:4px}.news-body{padding:0 15px 20px 0;font-size:12px}.download .eyebrow{font-size:7px;letter-spacing:1.3px}.download h2{font-size:34px}.download p{font-size:11px}.download-disabled{width:265px;font-size:12px}.site-footer{padding:35px 24px 22px}.footer-top{flex-wrap:wrap;gap:25px;margin-bottom:28px}.footer-brand{font-size:29px}.footer-brand span{font-size:10px}.footer-top>p{font-size:10px;letter-spacing:1px;margin-left:auto}.back-top{display:none}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;gap:6px 18px;font-size:8px}.footer-bottom>span:last-child{margin-left:auto}.character-dialog[open]{grid-template-columns:1fr}.dialog-letter{font-size:110px;min-height:160px;height:160px}.dialog-content{padding:25px}.dialog-content h2{font-size:28px}.dialog-subtitle{font-size:18px}.dialog-content>p:not(.eyebrow):not(.dialog-subtitle):not(.dialog-note){font-size:12px}.dialog-close{width:38px;height:38px}.dialog-content .dialog-note{margin-top:15px}}
@media(max-width:360px){.hero-sfls{font-size:93px}.hero-name{font-size:23px}.hero-copy{left:6%}.hero .eyebrow{font-size:7px;letter-spacing:1px}.section-wrap{padding-left:20px;padding-right:20px}.character-summary b{font-size:12px}.character-top{font-size:6px}.hero-bottom{left:18px;right:18px}.hero-bottom>a{max-width:95px}.notice-label{display:none}.section-label>span:last-child{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
/* A shorter photo viewport keeps the full campus sign visible on narrow screens. */
@media(max-width:560px){.hero{background:#e5eef0}.hero-photo{top:auto;bottom:0;height:64%;object-position:50% bottom}.hero-wash{background:linear-gradient(180deg,#e5eef0 0%,#e5eef0 38%,#e5eef0e0 43%,#e5eef000 65%),linear-gradient(0deg,#0f292b99,transparent 20%)}.hero .eyebrow{letter-spacing:1.1px}}
/* Homepage actions: both paths remain visible on phones. */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-actions .hero-download{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero-actions .hero-download:hover{background:#316264}.hero .eyebrow{font-size:12px;letter-spacing:2px}.story-body .lead{margin-bottom:18px}.section-heading h2{font-size:clamp(27px,2.8vw,40px)}
@media(max-width:800px){.hero .eyebrow{font-size:11px;letter-spacing:1.5px}.hero-actions{gap:10px}.section-heading h2{font-size:28px}}
@media(max-width:560px){.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero-tagline{font-size:14px;letter-spacing:.5px}.hero-actions .hero-button{width:143px;padding:10px 13px}.hero-actions{gap:10px}.hero .hero-name{margin-top:10px}.story-heading h2{font-size:30px}.section-heading h2{font-size:27px}}
@media(max-width:360px){.hero-actions .hero-button{width:130px}.hero-tagline{font-size:12px}.hero .eyebrow{font-size:9px}.section-heading h2{font-size:25px}}
/* Chapter 01 announcement. Keep the existing static page and component styles. */
.hero{height:760px;min-height:700px;max-height:none;background:#e6eeec}
.hero-photo{object-position:66% center}
.hero-wash{background:linear-gradient(90deg,#edf3edf5 0%,#edf3ede8 28%,#edf3ed90 45%,#edf3ed00 72%),linear-gradient(0deg,#102f36a6,transparent 25%)}
.hero-copy{top:58px;left:max(6%,calc((100% - 1192px)/2));max-width:600px}
.hero .eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:20px}
.hero-game-name{display:flex;align-items:center;gap:17px;margin-bottom:42px}
.hero-game-name>span:first-child{font:48px/1 Georgia,serif;letter-spacing:2px}
.hero-game-name>span:last-child{font:19px/1.8 var(--serif);letter-spacing:2px;border-left:1px solid #234b4d50;padding-left:17px}
.hero-english-name{font:italic 17px/1.5 Georgia,serif;letter-spacing:2px;color:#4e715a;margin:-30px 0 25px}
.demo-label{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;margin-bottom:19px}
.demo-label>span{width:6px;height:6px;border-radius:50%;background:#52754c;box-shadow:0 0 0 4px #52754c15}
.hero h1{font-family:var(--serif);font-size:clamp(45px,4.5vw,65px);font-weight:500;line-height:1.35;letter-spacing:1px;margin-bottom:23px}
.hero h1 em{font-style:normal;color:#4e715a}
.hero-description{font-size:14px;line-height:1.95;letter-spacing:1px;margin-bottom:28px;color:#36595a}
.hero-actions .hero-button{width:176px;min-height:48px;font-size:12px}
.hero-actions .hero-github{background:#f8f9f4d9}
.hero-release-note{font-size:10px;color:#496264;margin:16px 0 0;letter-spacing:.3px}
.hero-chapter-stamp{position:absolute;right:6%;top:56px;width:157px;padding:15px 18px;border:1px solid #234b4d55;background:#f8f9f475;backdrop-filter:blur(8px);display:flex;flex-direction:column;color:#244b4d}
.hero-chapter-stamp>span{font-size:8px;letter-spacing:1.2px}
.hero-chapter-stamp>b{font:italic 77px/1.25 Georgia,serif}
.hero-bottom{font-size:11px}
.notice-bar{background:#e4edda;padding-top:19px;padding-bottom:19px}
.notice-bar>a{font-size:12px}
.story-heading h2{margin-bottom:24px}
.story-promise{font-size:11px;letter-spacing:1px;color:var(--muted)}
.story-features{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px;padding-top:32px;border-top:1px solid var(--line)}
.story-features article>span{font-size:9px;letter-spacing:1.3px;color:var(--muted)}
.story-features h3{font:500 19px/1.8 var(--serif);margin:14px 0 9px}
.story-features p{font-size:12px;line-height:2;color:var(--muted);margin-bottom:0}
.demo-pill{background:#e5edda;border-color:#c4d4b9}
.chapter-tab.active small{color:#345d42;font-weight:600}
.art-first{background:linear-gradient(145deg,#cfdfd2,#e2e9d9)}
.chapter-copy .text-link{font-size:11px;gap:25px;margin-top:2px}
.chapter-copy .chapter-people{margin-top:16px}
.dev-current{background:#ffffff08;padding-left:14px!important;padding-right:14px!important;border-left:2px solid #d6e7b1}
.dev-current .dev-state{background:#d6e7b1;color:#254b4d;border-color:#d6e7b1;font-weight:600}
.dev-intro h2{font-size:38px;line-height:1.6}
.dev-colophon{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #ffffff26;padding-top:22px;margin-top:45px;color:#c2d1c9;font-size:10px;letter-spacing:.5px}
.download-disabled{opacity:1;background:#d5dfce;color:#496147;border:1px solid #b8c9ae}
.download-note{font-size:11px}
@media(max-width:1100px){
 .hero-copy{left:6%;max-width:540px}.hero h1{font-size:57px}.hero-chapter-stamp{right:4%;width:130px}.hero-chapter-stamp>b{font-size:64px}
 .hero-wash{background:linear-gradient(90deg,#edf3edf7,#edf3edcb 38%,#edf3ed20 75%),linear-gradient(0deg,#102f36a6,transparent 25%)}
}
@media(max-width:800px){
 .hero{height:760px;min-height:720px}.hero-copy{top:45px;left:7%;right:7%;max-width:530px}.hero h1{font-size:53px}
 .hero-game-name{margin-bottom:35px}.hero-game-name>span:first-child{font-size:42px}.hero-game-name>span:last-child{font-size:18px}
 .hero-chapter-stamp{display:none}.hero-wash{background:linear-gradient(90deg,#edf3edf2,#edf3edce 43%,#edf3ed50),linear-gradient(0deg,#102f36a6,transparent 25%)}
 .story-features{gap:22px}.story-features h3{font-size:17px}.dev-intro h2{font-size:35px}.dev-intro>p br{display:initial}
}
@media(max-width:560px){
 .hero{height:940px;min-height:0;max-height:none;background:#e6eeec}.hero-copy{top:34px;left:24px;right:24px;max-width:none}
 .hero .eyebrow{font-size:9px;letter-spacing:.5px;margin-bottom:17px}.hero .eyebrow>span{width:19px}
 .hero-game-name{gap:12px;margin-bottom:33px}.hero-game-name>span:first-child{font-size:34px}.hero-game-name>span:last-child{font-size:15px;letter-spacing:1px;padding-left:12px}
 .demo-label{font-size:9px;letter-spacing:1.4px;margin-bottom:13px}.hero h1{font-size:43px;line-height:1.4;margin-bottom:17px;letter-spacing:0}
 .hero-description{font-size:12px;line-height:1.9;letter-spacing:.5px;margin-bottom:22px}.hero-actions{gap:10px;flex-wrap:wrap}
 .hero-actions .hero-button{width:calc((100% - 10px)/2);max-width:176px;min-height:47px;padding:10px 13px;font-size:11px}
 .hero-actions .hero-github{width:100%;max-width:362px;flex-basis:100%;justify-content:center;gap:14px}
 .hero-release-note{font-size:9px;letter-spacing:0;line-height:1.8;max-width:100%}
 .hero-photo{top:auto;bottom:0;height:43%;object-fit:cover;object-position:50% bottom}
 .hero-wash{background:linear-gradient(180deg,#e6eeec 0%,#e6eeec 52%,#e6eeec00 72%),linear-gradient(0deg,#102f36b3,transparent 20%)}
 .hero-bottom{left:24px;right:24px;bottom:22px}.hero-bottom>span{font-size:9px}.hero-bottom>a{font-size:9px}
 .notice-bar>a{font-size:10px}.notice-label{font-size:8px}.notice-bar{align-items:flex-start}
 .story-features{grid-template-columns:1fr;gap:0;margin-top:35px;padding-top:0}.story-features article{padding:24px 0;border-bottom:1px solid var(--line)}
 .story-features h3{font-size:19px;margin-top:10px}.story-features p{font-size:12px}.story-promise{font-size:10px}
 .dev-intro h2{font-size:32px}.dev-colophon{display:grid;gap:9px;margin-top:30px;padding-top:19px;font-size:9px}
 .download h2{font-size:30px}.download .eyebrow{font-size:9px}.download-disabled{min-height:56px}.download-note{font-size:10px}
}
@media(max-width:360px){
 .hero-copy{left:20px;right:20px}.hero-game-name>span:last-child{font-size:13px}.hero h1{font-size:37px}.hero .eyebrow{font-size:8px}.hero-release-note{font-size:8px}.hero-bottom{left:20px;right:20px}
}

/* Released Demo and named character profiles. */
.character-card[data-character="daomeixiong"]{background:#edf0e5}
.character-card[data-character="qiwenchang"]{background:#e8edf0}
.character-card[data-character="xiaodeng"]{background:#f1e8dd}
.character-card[data-character="wanglihao"]{background:#eee7da}
.character-card[data-character="lige"]{background:#e7e7ee}
.character-card[data-character="heyunze"]{background:#e5eddc}
.character-letter.character-mark{font-family:var(--serif);font-style:normal;font-size:72px;line-height:1.45;padding:17px 0;color:#3a5f55}
.character-summary{display:block;margin-bottom:18px}
.character-summary b{font-size:21px;line-height:1.6;letter-spacing:1px}
.character-alias{display:block;font:13px/1.5 Georgia,serif;letter-spacing:1px;color:var(--muted)}
.character-card .character-open{margin-top:auto}
.character-mystery{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border:1px dashed #b8c8b3;background:#f1f4ec;padding:25px 22px;min-width:0}
.mystery-mark{font-family:var(--serif);font-size:38px;letter-spacing:-4px;line-height:1.4;margin:30px 0 22px;color:#8a9f86}
.character-mystery h3{font:500 21px/1.7 var(--serif);margin-bottom:7px;letter-spacing:2px}
.character-mystery p{font-size:11px;color:var(--muted);line-height:1.9;margin:0}
.chapter-people span{display:block;margin:7px 0 0;line-height:1.9;letter-spacing:0}
.download-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin:30px auto 20px;text-align:left}
.platform-download{position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:108px;padding:21px 54px 21px 23px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;transition:background .2s,transform .2s;font-size:15px;line-height:1.7}
.platform-download:hover{background:#316264;transform:translateY(-2px)}
.platform-download-meta{font-size:11px;color:#d2e0d5;letter-spacing:.3px}
.platform-download-arrow{position:absolute;right:23px;top:50%;transform:translateY(-50%);font-size:25px}
.download .download-instructions{font-size:11px;margin:18px 0 0}
.news-body a:not(.text-link){text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.character-letter.character-mark{font-size:66px}.character-summary b{font-size:21px}.download-options{gap:13px}.platform-download{font-size:13px;padding-left:18px;padding-right:43px}.platform-download-arrow{right:18px}}
@media(max-width:560px){
 .character-letter.character-mark{font-size:56px;padding:18px 0 14px}.character-summary b{font-size:18px;letter-spacing:.5px}.character-summary>span{font-size:11px;line-height:1.9;display:block}.character-top{font-size:8px;letter-spacing:.3px;gap:6px}
 .character-alias{font-size:12px}.character-mystery{padding:20px 14px}.mystery-mark{font-size:29px;letter-spacing:-4px;margin:20px 0}.character-mystery h3{font-size:18px;letter-spacing:1px}.character-mystery p{font-size:10px}
 .download-options{grid-template-columns:minmax(0,1fr);max-width:360px;gap:12px;margin-top:25px}.platform-download{min-height:96px;font-size:14px;padding:20px 48px 20px 20px}.platform-download-meta{font-size:11px}.platform-download-arrow{right:20px}.download .download-instructions{font-size:10px}
}

/* Browser edition entry, with the downloadable editions kept alongside it. */
.web-play-link{display:grid;grid-template-columns:1fr auto;text-align:left;align-items:center;max-width:760px;margin:30px auto -12px;padding:22px 26px;border:1px solid #183e40;background:#183e40;color:#f4f5ec;border-radius:3px;gap:7px 20px}.web-play-link>span{font-size:17px}.web-play-link>small{font-size:11px;opacity:.78;grid-column:1}.web-play-link>b{grid-column:2;grid-row:1/3;font-size:26px;font-weight:400}.web-play-link:hover{background:#2d5d5b}.web-play-link:focus-visible{outline:3px solid #467165;outline-offset:4px}
@media(max-width:560px){.web-play-link{max-width:360px;padding:20px}.web-play-link>span{font-size:15px}.web-play-link>small{font-size:10px}}

/* Use the supplied emblems intact; crop their blank margins in the layout. */
.club-emblem{background:linear-gradient(135deg,#3e8b79,#397ca1)}.club-emblem img{mix-blend-mode:screen}
.brand{flex-shrink:0}.brand-logos{display:flex;align-items:center;gap:10px;flex-shrink:0}.school-emblem,.club-emblem{display:block;position:relative;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}.school-emblem{width:64px;height:42px}.school-emblem img{position:absolute;display:block;max-width:none;width:80px;height:auto;left:-7px;top:-17px}.club-emblem{width:44px;height:44px}.club-emblem img{position:absolute;display:block;max-width:none;width:80px;height:auto;left:-19px;top:-18px;filter:invert(1)}.brand-divider{width:1px;height:30px;background:var(--line)}
@media(min-width:801px) and (max-width:1050px){.desktop-nav{gap:14px;font-size:12px}.nav-download{padding:10px 14px}.nav-download span{margin-left:10px}.brand{gap:10px}.brand-logos{gap:7px}}
@media(max-width:800px){.brand{gap:10px}.brand-logos{gap:6px}.school-emblem{width:48px;height:32px}.school-emblem img{width:60px;left:-5px;top:-13px}.club-emblem{width:34px;height:35px}.club-emblem img{width:64px;left:-15px;top:-14px}.brand-divider{height:24px}}
@media(max-width:360px){.brand{gap:8px}.brand b{font-size:20px;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:1px}}
/* Leave a clear inset around the entire school emblem, including its right tip. */
.school-emblem img{width:74px;left:-4px;top:-13px}
@media(max-width:800px){.school-emblem img{width:55px;left:-3px;top:-10px}}
/* Keep a visible inset around every edge of the club mark at both sizes. */
.club-emblem img{width:72px;left:-14px;top:-13px}
@media(max-width:800px){.club-emblem img{width:54px;left:-10px;top:-9px}}
.platform-unavailable{background:#d5dfce;color:#496147;border-color:#b8c9ae;cursor:default}
.platform-unavailable .platform-download-meta{color:#627778}
.platform-unavailable:hover{background:#d5dfce;transform:none}
