
:root{--paper:#f4f4f0;--ink:#191a19;--muted:#6c6d67;--line:#cecec6;--acid:#e5ff00;--rail:64px;--header:96px;--gutter:clamp(28px,5vw,90px);color-scheme:light;font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}img,svg{display:block;max-width:100%}p,h1,h2,h3,h4,dl,dd{margin:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #737a00;outline-offset:5px}::selection{background:var(--acid);color:var(--ink)}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:85px;top:-100px;padding:15px 24px;background:var(--acid);z-index:100}.skip-link:focus{top:10px}.micro{font:10px/1.5 "Courier New",monospace;letter-spacing:1.2px}.section{scroll-margin-top:0}.section-eyebrow{font:11px/1 "Courier New",monospace;letter-spacing:1.7px;display:flex;align-items:center;gap:16px}.section-eyebrow>span{font-size:18px;font-weight:bold;letter-spacing:-1px}.section-topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}.section-topline>.micro{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-height:60px;padding:0 26px;font-size:15px;font-weight:bold;transition:background .2s,color .2s}.button span{font:25px Arial,sans-serif}.button-accent{background:var(--acid);color:var(--ink)}.button-accent:hover{background:var(--ink);color:var(--acid)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--acid);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:0;border-bottom:1px solid currentColor;font-size:12px;font-weight:bold}.text-link span{font-size:21px;transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.status-dot{display:inline-block;flex:none;width:5px;height:5px;border-radius:50%;background:currentColor}.rail{width:var(--rail);position:fixed;inset:0 auto 0 0;background:var(--ink);color:#f7f7f3;display:flex;align-items:center;flex-direction:column;z-index:50}.rail-mark{height:var(--header);width:100%;display:flex;align-items:center;justify-content:center;gap:4px;border-bottom:1px solid #42433b}.rail-mark span{height:26px;width:7px;background:var(--acid);transform:skew(-17deg)}.rail-mark span:last-child{height:17px;align-self:center;margin-top:9px}.rail-label{writing-mode:vertical-rl;font:9px/1 "Courier New",monospace;letter-spacing:2px;margin:30px 0}.rail-nav{display:flex;flex-direction:column;width:100%;margin:auto 0;gap:4px}.rail-nav a{height:48px;display:grid;place-items:center;font:11px "Courier New",monospace;position:relative;color:#93958c;transition:color .2s}.rail-nav a:hover{color:#fff}.rail-nav a[aria-current]{color:var(--acid)}.rail-nav a[aria-current]:before{content:"";height:16px;width:3px;background:var(--acid);position:absolute;left:0}.rail-bottom{font:7px/1.8 "Courier New",monospace;letter-spacing:.7px;color:#a5a79b;margin:35px 0 20px}.rail-bottom span{display:block;color:var(--acid);font-size:24px;text-align:center;padding-top:15px}.site-shell{margin-left:var(--rail)}.site-header{height:var(--header);position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:rgba(244,244,240,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:22px;flex-shrink:0}.brand-name{font-size:25px;letter-spacing:-1.5px;font-weight:900;position:relative;white-space:nowrap}.brand-cut{display:inline-block;width:6px;height:23px;background:var(--ink);transform:skew(-19deg);margin-left:10px;vertical-align:-2px}.brand-note{font:bold 7px/1.2 "Courier New",monospace;letter-spacing:1px;border-left:1px solid #909188;padding-left:14px}.main-nav{display:flex;align-items:stretch;align-self:stretch;gap:clamp(18px,2.5vw,45px)}.main-nav a{display:flex;align-items:center;font-size:12px;position:relative;font-weight:bold;white-space:nowrap}.main-nav a:after{content:"";height:3px;bottom:22px;left:0;right:0;position:absolute;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.main-nav a:hover:after,.main-nav a[aria-current]:after{transform:scaleX(1)}.main-nav a:last-child{gap:12px}.main-nav a:last-child span{font-size:18px}.menu-toggle{display:none}
.hero{min-height:620px;height:min(760px,calc(100svh - 190px));position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--ink)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent calc(25% - 1px),#d7d7d050 25%,transparent calc(25% + 1px)),linear-gradient(#d7d7d080 1px,transparent 1px);background-size:100% 100%,100% 124px;z-index:-3}.hero-world{position:absolute;right:0;top:0;width:33%;height:100%;background:none 59% center/cover;filter:grayscale(1);opacity:.26;z-index:-3;mask-image:linear-gradient(to right,transparent,#000 30%)}.hero-eyebrow{position:absolute;top:35px;left:var(--gutter)}.hero-eyebrow i{width:70px;height:1px;background:var(--ink);margin-left:15px}.hero-type{position:absolute;top:15%;left:calc(var(--gutter) - 8px);font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;font-size:clamp(120px,16.7vw,280px);line-height:.9;letter-spacing:-.035em;transform:scaleX(.85);transform-origin:left;white-space:nowrap;z-index:-1}.hero-copy{position:absolute;left:var(--gutter);top:51%;z-index:3}.hero-micro{margin-bottom:16px;font-size:9px;letter-spacing:1.5px}.hero h1{font-size:clamp(30px,3.5vw,54px);letter-spacing:-2px;line-height:1.25;font-weight:900}.hero-description{margin-top:17px;font-size:14px;letter-spacing:2px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.hero-actions .text-link{font-size:11px}.release-note{display:flex;align-items:center;gap:8px;margin-top:17px;font-size:9px;color:#55564e;letter-spacing:.6px}.slash{padding:0 4px;color:#a9aaa2}.hero-character{position:absolute;height:110%;width:auto;max-width:none;right:3%;bottom:-17%;object-fit:contain;z-index:2;filter:drop-shadow(10px 14px 8px #30324013);pointer-events:none}.hero-caption{position:absolute;bottom:26px;right:var(--gutter);z-index:4;background:var(--paper);border:1px solid var(--ink);padding:14px 52px 14px 17px;font-size:11px;line-height:1.6}.hero-caption>span{display:block;font:8px "Courier New",monospace;letter-spacing:1.2px;color:var(--muted);margin-bottom:5px}.hero-caption b{position:absolute;right:15px;top:23px;font-size:20px;font-weight:normal}.hero-caption:hover{background:var(--acid)}.hero-outline{position:absolute;right:2%;top:28px;font:96px/.9 Impact,Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #81847b;z-index:-2}.hero-coordinate{position:absolute;bottom:29px;left:47%;color:var(--muted);font-size:8px;z-index:1}.news-strip{display:flex;border-bottom:1px solid var(--ink);min-height:140px}.strip-heading{width:22%;padding:30px 20px 24px var(--gutter);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:8px}.strip-heading strong{font-size:20px;letter-spacing:1px}.strip-heading .micro{font-size:8px}.strip-list{flex:1;display:flex;flex-direction:column;justify-content:center;padding:17px 34px;gap:7px}.strip-item{display:flex;align-items:center;text-align:left;gap:20px;min-height:25px;font-size:11px;padding:2px 0}.strip-item time{color:var(--muted);font:9px "Courier New",monospace;flex-shrink:0}.strip-item:hover span{text-decoration:underline;text-underline-offset:4px}.strip-next{width:23%;padding:30px;background:var(--acid);display:flex;flex-direction:column;justify-content:center;gap:12px;font-size:12px;border-left:1px solid var(--ink)}.strip-next b{font-size:20px;margin-right:12px}.strip-next .micro{display:flex;justify-content:space-between;align-items:center;font-size:8px}.strip-next i{font-style:normal;font-size:20px}
.world-section{padding:80px var(--gutter) 90px}.world-heading{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:55px 0 48px;align-items:center}.world-heading h2{font-size:clamp(35px,4.2vw,66px);line-height:1.35;letter-spacing:-2px}.world-intro{max-width:450px}.world-intro>p:first-child{font-weight:bold;font-size:16px;margin-bottom:19px}.world-intro>p:nth-child(2){font-size:13px;line-height:2.1;color:var(--muted)}.world-intro .text-link{margin-top:20px}.world-image-wrap{position:relative;overflow:hidden;background:#bcbfaf;aspect-ratio:2.35}.world-image-wrap:after{position:absolute;content:"";inset:40% 0 0;background:linear-gradient(transparent,#15231a9e);pointer-events:none}.world-image-wrap img{width:100%;height:100%;object-fit:cover}.image-credit{position:absolute;top:20px;right:20px;padding:7px 10px;background:#f4f4f0dc;font-size:9px;letter-spacing:1px}.world-image-title{position:absolute;bottom:28px;left:32px;z-index:1;color:#fff}.world-image-title span{display:block;font:bold 12px "Courier New",monospace;letter-spacing:3px;margin-bottom:10px}.world-image-title strong{font-size:28px;letter-spacing:3px}.world-gallery-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);min-height:64px;gap:24px}.world-gallery-bottom>p{font-size:11px;color:var(--muted)}.world-tabs{display:flex;align-self:stretch}.world-tabs button{font:10px "Courier New","Microsoft YaHei",sans-serif;letter-spacing:1px;min-width:120px;padding:18px;border-left:1px solid var(--line)}.world-tabs button:last-child{border-right:1px solid var(--line)}.world-tabs [aria-selected=true]{background:var(--ink);color:var(--acid)}.world-features{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:38px}.world-features article+article{border-left:1px solid var(--line);padding-left:35px}.world-features .micro{color:var(--muted);font-size:9px}.world-features h3{font-size:17px;margin:14px 0}.world-features p{font-size:12px;color:var(--muted);line-height:2}
.classes-section{padding:52px var(--gutter) 50px;background:#e9eae4;border-block:1px solid var(--line);overflow:hidden}.class-stage{display:grid;grid-template-columns:56% 44%;min-height:635px;position:relative;isolation:isolate;padding-top:35px}.class-backword{position:absolute;top:70px;left:-25px;font:900 clamp(95px,15vw,230px)/1 Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:-8px;color:#d3d5cb;z-index:-2;white-space:nowrap;max-width:95%;overflow:hidden}.class-art-zone{position:relative;display:flex;align-items:flex-end;justify-content:center;padding:15px 12% 45px 0;min-width:0;height:600px}.class-ring{position:absolute;left:5%;top:18%;width:78%;aspect-ratio:1;border:1px solid #b4b7a9;border-radius:50%;z-index:-1}.class-ring:after{content:"+";position:absolute;right:13%;top:10%;font:22px "Courier New",monospace;color:#9c9f92}.portrait-frame{position:relative;overflow:hidden;height:100%;width:auto;max-width:100%;aspect-ratio:var(--portrait-ratio,.8);z-index:1}.portrait-frame img{position:absolute;max-width:none;width:var(--image-width,100%);height:var(--image-height,100%);left:var(--image-left,0);top:var(--image-top,0);object-fit:fill}.class-art-note{position:absolute;bottom:12px;left:0;z-index:2;font-size:8px;line-height:1.9;color:var(--muted)}.class-art-note span{letter-spacing:1.4px}.class-copy{align-self:center;padding:20px 0 45px 6%;position:relative}.class-copy>.micro{font-size:9px;letter-spacing:2px;margin-bottom:22px}.class-copy h3{font-size:clamp(44px,5.7vw,88px);font-weight:900;letter-spacing:-4px;line-height:1.1}.class-english{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(26px,3.2vw,48px);font-weight:900;letter-spacing:-1px;line-height:1;margin-top:12px}.class-evolved{display:inline-block;background:var(--acid);font-size:11px;letter-spacing:1px;margin-top:21px;padding:7px 12px}.class-rule{height:1px;background:var(--ink);width:45px;margin:27px 0 22px}.class-copy h4{font-size:17px;letter-spacing:.5px;margin-bottom:12px}.class-description{font-size:12px;line-height:2;color:#63665b;max-width:390px}.class-facts{display:flex;gap:40px;margin:22px 0 24px}.class-facts dt{font-size:9px;color:var(--muted);margin-bottom:7px}.class-facts dd{font-size:11px;font-weight:bold}.class-copy .button{min-height:51px;font-size:12px;gap:50px;padding:0 20px}.class-pagination{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:16px;font:10px "Courier New",monospace}.class-pagination button{width:37px;height:37px;border:1px solid #aaaea0;font-size:18px}.class-pagination button:hover{background:var(--acid)}.class-pagination b{font-size:17px}.class-selector-band{display:grid;grid-template-columns:18% 1fr;border-top:1px solid var(--ink);padding-top:25px;gap:24px}.selector-heading{padding-top:8px}.selector-heading strong{font-size:14px;display:block;margin-bottom:10px}.selector-heading .micro{font-size:8px;color:var(--muted);letter-spacing:1px}.class-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.class-tab{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #bec1b5;min-height:61px;padding:9px 14px;transition:background .2s,border-color .2s}.class-tab .tab-number{font:9px "Courier New",monospace;color:#818576}.class-tab strong{font-size:12px;display:block;line-height:1.5}.class-tab small{display:block;font-size:8px;line-height:1.7;color:#656a59}.class-tab[aria-selected=true]{background:var(--acid);border-color:var(--ink)}.class-tab:hover{border-color:var(--ink);background:#f4f4ee}.class-tab[aria-selected=true]:hover{background:var(--acid)}.portrait-frame.is-changing{animation:portrait-in .35s ease-out}@keyframes portrait-in{from{opacity:.25;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
.news-section{padding:80px var(--gutter) 85px}.news-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:38px 0 36px;gap:25px}.display-en{display:block;font:900 clamp(80px,9.5vw,150px)/.95 Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:-5px}.news-heading h2{font-size:21px;letter-spacing:2px;margin-top:15px}.news-filters{display:flex;gap:4px;padding-bottom:4px}.news-filters button{font-size:11px;min-height:40px;min-width:65px;padding:9px 13px}.news-filters [aria-pressed=true]{background:var(--ink);color:var(--paper)}.news-filters button:hover{box-shadow:inset 0 -2px var(--ink)}.news-list{border-top:2px solid var(--ink)}.news-row{display:grid;grid-template-columns:100px 90px 1fr 30px;gap:20px;align-items:center;width:100%;text-align:left;padding:26px 10px;border-bottom:1px solid var(--line);transition:background .2s}.news-row:hover{background:#e5e6de}.news-row time{font:11px "Courier New",monospace;color:var(--muted)}.news-category{font-size:10px;display:inline-block;border:1px solid #bfc1b5;padding:5px 9px;justify-self:start}.news-row h3{font-size:15px;line-height:1.6;margin-bottom:5px}.news-row p{font-size:11px;line-height:1.8;color:var(--muted)}.news-arrow{font-size:22px;justify-self:end}.news-result{margin-top:15px;color:var(--muted);font-size:9px}
.download-section{background:var(--ink);color:var(--paper);padding:54px var(--gutter) 55px;--line:#4b4d43;--muted:#a9ad9e}.download-section .section-eyebrow>span{color:var(--acid)}.download-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:53px 0}.download-copy{position:relative}.download-copy .display-en{color:#3a3d33;font-size:clamp(95px,10vw,154px);letter-spacing:-4px;line-height:.85}.download-copy h2{font-size:36px;line-height:1.45;letter-spacing:1px;position:relative;margin-top:-115px;padding-left:8px}.download-copy>p{font-size:11px;line-height:2.1;color:var(--muted);margin:26px 0 0 8px}.download-panel{align-self:center;border:1px solid #52574a;padding:32px;background:#23261f}.download-platform{display:flex;align-items:center;gap:21px;margin-bottom:28px}.download-platform svg{width:37px;height:37px;fill:var(--acid)}.download-platform .micro{font-size:8px;color:var(--muted);letter-spacing:2px}.download-platform h3{font-size:19px;margin-top:6px}.download-status{display:flex;align-items:center;gap:10px;color:var(--acid);font-size:11px;margin-bottom:18px}.download-panel .button{width:100%;font-size:14px}.button-unavailable{background:#373c2e;color:#b4bc9a;border:1px solid #5c634a}.download-help{font-size:10px;line-height:1.9;color:var(--muted);margin:15px 0 12px}.download-panel .text-link{font-size:11px;min-height:35px}.platform-note{font-size:7px;border-top:1px solid #52574a;margin-top:25px;padding-top:15px;color:var(--muted);letter-spacing:.8px}.download-panel .button-accent:hover{background:#fff;color:var(--ink)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:63px;cursor:pointer;font-size:12px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;font-weight:normal;color:var(--acid);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:11px;line-height:2;color:var(--muted);max-width:800px;padding:0 40px 22px 0}.faq-list p a{text-decoration:underline;text-underline-offset:4px}.site-footer{padding:38px var(--gutter);display:grid;grid-template-columns:1fr auto;gap:16px 30px;align-items:center}.footer-brand{font-size:23px;letter-spacing:-1px;font-weight:900;display:flex;align-items:center;gap:20px}.footer-brand span{font-size:22px;font-weight:normal}.site-footer p{font-size:11px;color:var(--muted);text-align:right}.site-footer>.micro{font-size:8px;color:var(--muted)}.back-top{font-size:10px;justify-self:end}.content-dialog{position:fixed;width:min(730px,calc(100% - 40px));max-height:85svh;border:1px solid var(--ink);padding:65px 48px 42px;background:var(--paper);color:var(--ink);overflow:auto}.content-dialog::backdrop{background:#151912b8;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:12px;font-size:11px;display:flex;align-items:center;gap:18px;padding:7px 10px}.dialog-close span{font-size:25px;font-weight:normal}.dialog-close:hover{background:var(--acid)}#dialog-body>.micro{font-size:10px;color:var(--muted);margin-bottom:18px}#dialog-title{font-size:27px;line-height:1.5;letter-spacing:-.5px;margin:0 0 25px;padding-bottom:24px;border-bottom:2px solid var(--ink)}.dialog-paragraph{font-size:13px;line-height:2.1;margin:0 0 19px;color:#55594c}.growth-route{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.growth-route li{padding:16px;border:1px solid var(--line)}.growth-route li:last-child{background:var(--acid);border-color:var(--ink)}.growth-route span{display:block;font-size:10px;color:#666c59;margin-bottom:8px}.growth-route strong{font-size:17px}.growth-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:22px}.noscript-notice{padding:15px;background:var(--acid);font-size:13px;position:fixed;bottom:0;left:var(--rail);right:0;z-index:60}
@media(min-width:1700px){:root{--gutter:90px}.hero-character{right:10%}.hero-type{font-size:275px}.hero-copy{top:53%}.class-stage{min-height:700px}.class-art-zone{height:660px}.site-shell{max-width:2000px}.hero-coordinate{left:50%}}
@media(max-width:1150px){:root{--gutter:32px;--header:84px}.brand-note{display:none}.brand-name{font-size:23px}.main-nav{gap:23px}.hero{min-height:580px}.hero-character{right:-8%;height:104%;bottom:-9%}.hero-type{font-size:17vw}.hero-copy{top:50%}.hero h1{font-size:35px}.hero-actions{gap:20px}.hero-actions .button{gap:25px;padding:0 20px}.hero-coordinate{display:none}.strip-heading{width:20%;padding-left:32px}.strip-next{width:23%;padding:25px 20px}.strip-list{padding:16px 24px}.strip-item{gap:12px}.class-stage{grid-template-columns:52% 48%;min-height:600px}.class-art-zone{height:560px;padding-right:4%}.class-copy{padding-left:7%}.class-copy h3{font-size:59px}.class-selector-band{grid-template-columns:1fr;gap:17px}.selector-heading{display:flex;align-items:center;justify-content:space-between}.selector-heading strong{margin:0}.class-tabs{gap:6px}.class-tab{padding:9px 12px}.download-layout{gap:6%}.download-panel{padding:25px}.world-heading{gap:7%}}
@media(max-width:850px){:root{--rail:48px;--gutter:26px;--header:76px}.brand-name{font-size:22px}.brand-cut{height:20px}.rail-label{font-size:8px}.rail-bottom{font-size:6px}.main-nav{gap:17px}.main-nav a{font-size:10px}.main-nav a:after{bottom:17px}.hero{min-height:660px;height:auto}.hero-type{top:12%;font-size:18vw}.hero-character{height:76%;right:-12%;bottom:0}.hero-copy{top:40%;max-width:55%}.hero h1{font-size:30px;letter-spacing:-1px;white-space:nowrap}.hero-micro{font-size:7px;letter-spacing:.8px}.hero-description{font-size:12px;letter-spacing:1px}.hero-actions{flex-direction:column;align-items:flex-start;gap:13px;margin-top:26px}.hero-actions .button{min-height:53px}.release-note{font-size:8px;line-height:1.8;max-width:170px;flex-wrap:wrap;gap:5px}.hero-caption{bottom:23px;right:23px;padding:10px 40px 10px 12px;font-size:9px}.hero-outline{font-size:70px}.news-strip{flex-wrap:wrap}.strip-heading{width:23%;padding-left:26px}.strip-heading strong{font-size:17px}.strip-list{padding:20px;width:77%;flex:auto}.strip-next{width:100%;border-left:0;border-top:1px solid var(--ink);flex-direction:row;justify-content:space-between;align-items:center;padding:17px 26px}.strip-next .micro{gap:30px}.world-section{padding-block:55px}.world-heading{padding:35px 0}.world-heading h2{font-size:36px}.world-intro>p:first-child{font-size:14px}.world-intro>p:nth-child(2){font-size:11px}.world-image-wrap{aspect-ratio:1.8}.world-features{gap:23px}.world-features article+article{padding-left:20px}.world-features h3{font-size:14px}.world-features p{font-size:11px}.class-stage{min-height:570px;grid-template-columns:48% 52%}.class-art-zone{height:530px;padding:50px 0 60px}.class-copy{padding:20px 0 50px 9%}.class-copy h3{font-size:49px}.class-english{font-size:30px}.class-copy h4{font-size:15px}.class-description{font-size:11px}.class-facts{gap:25px}.class-tabs{grid-template-columns:repeat(5,1fr)}.class-tab{gap:8px;padding:9px 8px;min-height:65px}.class-tab .tab-number{display:none}.class-tab strong{font-size:11px}.class-tab small{font-size:8px}.news-section{padding-block:55px}.news-row{grid-template-columns:75px 65px 1fr 20px;gap:12px}.news-row time{font-size:10px}.news-row h3{font-size:13px}.news-row p{font-size:10px}.news-category{font-size:9px;padding:4px 5px}.news-heading h2{font-size:18px}.news-filters button{min-width:50px;padding:9px;font-size:10px}.display-en{font-size:100px}.download-copy h2{font-size:29px;margin-top:-110px}.download-copy .display-en{font-size:110px}.download-layout{gap:5%}.download-panel{padding:22px}.download-platform{gap:14px}.download-platform h3{font-size:16px}.download-platform svg{width:29px}.download-panel .button{gap:15px;padding:0 15px}.download-copy>p{font-size:10px}.site-footer p{font-size:10px}}
@media(max-width:620px){:root{--rail:0px;--gutter:22px;--header:68px}.rail{display:none}.site-header{padding:0 22px}.brand-name{font-size:23px}.brand-cut{height:21px}.menu-toggle{display:flex;align-items:center;gap:14px;padding:12px 0 12px 12px;font-size:11px}.menu-toggle i{width:23px;height:12px;border-block:1px solid var(--ink);position:relative}.menu-toggle i:after{position:absolute;top:5px;right:0;content:"";height:1px;width:15px;background:var(--ink)}.main-nav{display:none;position:absolute;top:67px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:15px 22px 22px;gap:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav a{min-height:48px;font-size:14px;border-bottom:1px solid var(--line)}.main-nav a:after{bottom:0;right:auto;width:40px;height:2px}.main-nav a:last-child{margin-top:10px;background:var(--acid);padding-left:13px;justify-content:space-between;padding-right:13px}.hero{min-height:740px;height:calc(100svh - 68px);max-height:900px}.hero-eyebrow{top:26px;font-size:9px;gap:11px}.hero-eyebrow>span{font-size:16px}.hero-eyebrow i{width:45px;margin-left:8px}.hero-type{top:76px;left:18px;font-size:24vw;letter-spacing:-3px;transform:scaleX(.82)}.hero-outline{top:24px;right:22px;font-size:50px}.hero-character{height:70%;right:-22%;bottom:0;z-index:1;max-height:580px}.hero-world{width:45%;top:160px;opacity:.22}.hero-copy{top:24%;max-width:95%;z-index:3;pointer-events:none}.hero-micro{font-size:8px;letter-spacing:1px;margin-bottom:13px}.hero h1{font-size:34px;letter-spacing:-1.5px}.hero-description{margin-top:12px;font-size:12px;letter-spacing:1px}.hero-actions{margin-top:26px;gap:16px;pointer-events:auto}.hero-actions .button{min-height:52px;gap:28px;font-size:13px}.hero-actions .text-link{background:var(--paper);padding:0 8px;min-height:35px;font-size:10px}.release-note{max-width:160px;gap:5px;margin-top:15px;font-size:8px;background:#f4f4f0c9;padding:5px 0}.hero-caption{bottom:18px;right:20px;font-size:10px;z-index:3}.hero-caption>span{font-size:7px}.hero-caption b{top:19px}.strip-heading{width:100%;padding:20px 22px 0;border:0;flex-direction:row;justify-content:space-between;align-items:center}.strip-heading strong{font-size:16px}.strip-list{padding:14px 22px 22px;gap:10px}.strip-item{font-size:10px;gap:14px}.strip-item time{font-size:8px}.strip-item span{line-height:1.6}.strip-next{padding:15px 22px}.strip-next b{font-size:19px}.strip-next .micro{font-size:7px;gap:15px}.section-topline{padding-bottom:20px}.section-topline>.micro{font-size:7px;letter-spacing:.3px}.section-eyebrow{font-size:9px;gap:12px}.section-eyebrow>span{font-size:16px}.world-section{padding-block:45px}.world-heading{grid-template-columns:1fr;gap:24px;padding:30px 0}.world-heading h2{font-size:39px;line-height:1.3;letter-spacing:-1.5px}.world-intro>p:first-child{font-size:14px;margin-bottom:12px}.world-intro>p:nth-child(2){font-size:12px;line-height:2}.world-intro .text-link{margin-top:12px;font-size:11px}.world-image-wrap{aspect-ratio:1.2}.world-image-title{bottom:20px;left:20px}.world-image-title span{font-size:9px;letter-spacing:2px}.world-image-title strong{font-size:23px;letter-spacing:1px}.image-credit{top:12px;right:12px;font-size:8px}.world-gallery-bottom{flex-direction:column;align-items:stretch;gap:0}.world-gallery-bottom>p{font-size:10px;padding:16px 0;line-height:1.7}.world-tabs{width:100%;border-top:1px solid var(--line)}.world-tabs button{flex:1;min-width:0;font-size:9px;padding:16px 10px}.world-features{grid-template-columns:1fr;gap:24px;padding-top:29px}.world-features article{padding-left:42px;position:relative}.world-features article+article{padding:22px 0 0 42px;border-left:0;border-top:1px solid var(--line)}.world-features h3{font-size:16px;margin:10px 0}.world-features p{font-size:12px;line-height:1.9}.world-features .micro{font-size:9px}.classes-section{padding-block:35px}.class-stage{grid-template-columns:1fr;padding-top:15px;min-height:0}.class-backword{top:60px;font-size:105px;letter-spacing:-5px;left:-14px;max-width:calc(100% + 28px)}.class-art-zone{height:390px;padding:30px 20px 35px}.class-ring{width:75%;left:12%;top:13%}.class-art-note{bottom:5px;font-size:7px}.class-copy{padding:28px 0 62px}.class-copy>.micro{font-size:8px;margin-bottom:15px}.class-copy h3{font-size:54px;letter-spacing:-2px}.class-english{font-size:32px;margin-top:10px}.class-evolved{position:absolute;right:0;top:73px;font-size:9px;padding:6px 9px;letter-spacing:.5px;margin:0}.class-rule{margin:23px 0 20px}.class-copy h4{font-size:16px}.class-description{font-size:12px;max-width:none}.class-facts{gap:45px;margin-block:20px}.class-copy .button{font-size:12px;min-height:49px;gap:38px}.class-pagination{bottom:13px;gap:13px}.class-pagination button{width:34px;height:34px}.class-selector-band{padding-top:18px;gap:14px}.selector-heading strong{font-size:12px}.selector-heading .micro{font-size:7px}.class-tabs{grid-template-columns:repeat(2,1fr);gap:7px}.class-tab{min-height:55px;padding:8px 13px;gap:14px}.class-tab .tab-number{display:block;font-size:9px}.class-tab strong{font-size:12px}.class-tab small{font-size:9px}.news-section{padding-block:45px}.news-heading{flex-direction:column;align-items:stretch;gap:25px;margin:28px 0 22px}.display-en{font-size:94px;letter-spacing:-3px}.news-heading h2{font-size:20px;margin-top:8px}.news-filters{gap:7px}.news-filters button{font-size:11px;padding:10px 16px;min-height:38px}.news-row{grid-template-columns:1fr auto;gap:12px 10px;padding:21px 0}.news-row time{font-size:10px;grid-column:1;grid-row:1;align-self:center}.news-category{grid-column:1;grid-row:1;margin-left:90px;align-self:center;font-size:9px}.news-row .news-text{grid-column:1;grid-row:2}.news-row h3{font-size:14px;line-height:1.6;margin-bottom:7px}.news-row p{font-size:11px;line-height:1.8}.news-arrow{grid-column:2;grid-row:1 / 3;font-size:23px;padding:0 3px}.download-section{padding-block:35px}.download-layout{grid-template-columns:1fr;gap:33px;padding:35px 0}.download-copy .display-en{font-size:125px;line-height:.85}.download-copy h2{font-size:35px;margin-top:-124px;padding-left:0}.download-copy>p{margin:25px 0 0;font-size:12px}.download-panel{padding:26px 23px}.download-platform h3{font-size:20px}.download-platform{gap:20px}.download-platform svg{width:35px}.download-panel .button{min-height:58px;font-size:15px}.download-help{font-size:11px}.platform-note{font-size:7px}.faq-list summary{font-size:12px;min-height:66px;line-height:1.7}.faq-list p{font-size:11px;padding-right:10px}.site-footer{padding:30px 22px;gap:14px;grid-template-columns:1fr auto}.footer-brand{font-size:23px;grid-column:1 / -1;gap:18px}.site-footer p{font-size:10px;text-align:left;grid-column:1 / -1;line-height:1.8}.site-footer>.micro{font-size:7px;letter-spacing:.6px}.back-top{font-size:9px}.content-dialog{padding:65px 24px 30px;max-height:88svh;width:calc(100% - 24px)}#dialog-title{font-size:23px;line-height:1.5}.dialog-paragraph{font-size:12px}.growth-route{gap:8px}.growth-route li{padding:13px}.growth-route strong{font-size:15px}.skip-link{left:10px}}
@media(max-width:370px){.hero h1{font-size:29px}.hero-character{right:-38%;height:65%}.hero-copy{top:23%}.hero-micro{font-size:7px}.news-filters button{padding-inline:13px}.class-evolved{font-size:8px}.class-copy h3{font-size:49px}.class-tab{gap:10px}.section-topline>.micro{max-width:120px;text-align:right}.brand-name{font-size:21px}}
.news-row-title{display:block;font-size:15px;font-weight:700;line-height:1.6;margin-bottom:5px}.news-row-summary{display:block;font-size:11px;line-height:1.8;color:var(--muted)}
@media(max-width:850px){.news-row-title{font-size:13px}.news-row-summary{font-size:10px}}
@media(max-width:620px){.hero{height:860px;min-height:860px;max-height:none}.hero-copy{top:177px}.hero-character{height:55%;right:-8%;bottom:-25px;max-height:none}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}.hero-actions .text-link{padding-inline:0;gap:10px}.release-note{max-width:none;margin-top:12px}.news-row-title{font-size:14px;margin-bottom:7px}.news-row-summary{font-size:11px}}
@media(max-width:370px){.hero{height:830px;min-height:830px}.hero-copy{top:165px}.hero-character{height:52%;right:-8%}.hero-actions{gap:14px}.hero-actions .button{gap:20px;padding-inline:17px}.hero-actions .text-link{font-size:9px;gap:8px}}
.hero-world{background-image:none;background-position:60% center}
.class-stage{min-height:710px}.class-art-zone{height:675px;padding:5px 4% 40px 0}.class-ring{width:85%;left:2%;top:13%}.class-backword{top:100px}.class-copy{padding-left:6%}.portrait-frame{filter:drop-shadow(0 16px 16px #29321b10)}
.world-atlas{border-block:1px solid var(--ink);padding-top:24px}.atlas-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:22px}.atlas-heading .micro{font-size:9px;color:var(--muted)}.atlas-heading h3{font-size:25px;letter-spacing:1px;margin-top:10px}.atlas-note{font-size:11px;color:var(--muted)}.atlas-open{position:relative;width:100%;display:block;padding:0;overflow:hidden;background:#a1b69a;text-align:left}.world-map-canvas{display:block;position:relative;width:100%;aspect-ratio:1341/960;overflow:hidden;background:#477650}.world-map-canvas>img{position:absolute;max-width:none;width:107.3826%;height:113.75%;left:-3.20656%;top:-6.66667%;object-fit:fill}.atlas-open-label{position:absolute;bottom:17px;right:18px;background:var(--acid);padding:13px 18px;font-size:11px;font-weight:bold;display:flex;align-items:center;gap:35px;border:1px solid var(--ink)}.atlas-open-label b{font-size:21px;font-weight:normal}.atlas-open:hover .atlas-open-label{background:var(--ink);color:var(--acid)}.atlas-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:20px}.atlas-footer>p{font-size:11px;color:var(--muted)}.atlas-footer .text-link{font-size:10px;min-height:36px}
.content-dialog.map-dialog{width:min(1320px,calc(100% - 32px));padding:54px 28px 26px;max-height:94svh}.map-dialog #dialog-title{font-size:24px;margin-bottom:16px;padding-bottom:15px}.map-dialog #dialog-body>.micro{margin-bottom:8px}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.map-toolbar>p{font-size:11px;color:var(--muted)}.map-zoom{background:var(--ink);color:var(--paper);font-size:11px;padding:12px 18px;white-space:nowrap}.map-zoom[aria-pressed=true]{background:var(--acid);color:var(--ink)}.map-viewport{overflow:auto;max-height:65svh;overscroll-behavior:contain;background:#d9e0d1;scrollbar-color:#7d876b #d9e0d1}.map-viewport .world-map-canvas{width:100%;flex:none}.map-viewport.is-zoomed .world-map-canvas{width:180%;min-width:1100px}
@media(max-width:1150px){.class-stage{min-height:650px}.class-art-zone{height:620px;padding-right:1%}.class-copy{padding-left:7%}}
@media(max-width:850px){.class-stage{min-height:620px}.class-art-zone{height:590px;padding:30px 0 45px}.class-copy{padding-left:9%}.atlas-note{font-size:10px}.atlas-heading h3{font-size:23px}}
@media(max-width:620px){.class-stage{min-height:0}.class-art-zone{height:470px;padding:12px 10px 30px}.class-copy{padding:28px 0 62px}.class-backword{top:80px}.class-ring{width:90%;left:5%;top:15%}.atlas-heading{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:18px}.atlas-heading h3{font-size:24px}.atlas-note{font-size:11px}.atlas-open-label{bottom:10px;right:10px;padding:8px 11px;font-size:9px;gap:15px}.atlas-open-label b{font-size:18px}.atlas-footer{align-items:flex-start;padding:13px 0;gap:13px}.atlas-footer>p{font-size:10px;line-height:1.8;max-width:190px}.atlas-footer .text-link{font-size:9px;min-height:30px;gap:10px;white-space:nowrap}.content-dialog.map-dialog{padding:56px 16px 20px;width:calc(100% - 16px)}.map-dialog #dialog-title{font-size:23px}.map-toolbar{gap:12px;align-items:flex-start}.map-toolbar>p{font-size:10px;line-height:1.8;max-width:155px}.map-zoom{font-size:10px;padding:10px 13px}.map-viewport{max-height:64svh}.map-viewport.is-zoomed .world-map-canvas{min-width:950px}}
/* Artwork and decoration must never intercept class navigation, even when enlarged. */
.classes-section{isolation:isolate}.class-stage{z-index:0;overflow:hidden}.class-art-zone{pointer-events:none;overflow:hidden;isolation:isolate}.class-ring,.class-ring:after,.class-backword,.class-art-note,.portrait-frame,.portrait-frame img{pointer-events:none}.class-selector-band{position:relative;z-index:10;background:#e9eae4;pointer-events:auto}.class-tab{position:relative;z-index:1;pointer-events:auto}.class-copy{position:relative;z-index:4;pointer-events:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Cropped character compositions. Decoration never owns pointer events. */
.hero-art {
  position: absolute;
  inset: 0 -5% 0 auto;
  width: 69%;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(to right, transparent, #000 11%, #000);
}
.hero-art .hero-character {
  position: absolute;
  max-width: none;
  max-height: none;
  right: auto;
  bottom: auto;
  object-fit: fill;
  transform: none;
  transition: opacity .38s ease;
}
.hero-art.is-changing .hero-character { animation: hero-reveal .22s ease-out both; }
@keyframes hero-reveal { from { opacity: .65; } to { opacity: 1; } }
.portrait-frame.is-changing { animation: portrait-ready .2s ease-out; }
@keyframes portrait-ready { from { opacity: .75; } to { opacity: 1; } }
.hero-copy { z-index: 4; }
.hero-caption { z-index: 5; min-width: 205px; }
.hero-caption .hero-caption-name { display: inline; font: inherit; color: inherit; letter-spacing: 0; }
.hero-controls { position: absolute; bottom: 111px; right: var(--gutter); display: flex; gap: 6px; z-index: 5; }
.hero-controls button { min-height: 37px; padding: 9px 13px; background: var(--paper); border: 1px solid var(--ink); font-size: 10px; }
.hero-controls button:hover { background: var(--acid); }
.hero-controls #hero-pause { width: 39px; padding-inline: 0; font-size: 12px; }
.hero-controls #hero-pause[aria-pressed="true"] { background: var(--acid); }
.class-stage { isolation: isolate; overflow: hidden; z-index: 0; }
.class-art-zone { padding: 0; overflow: hidden; pointer-events: none; position: relative; isolation: isolate; }
.class-ring, .class-ring::after, .class-backword, .class-art-note, .portrait-frame, .portrait-frame img { pointer-events: none; }
.class-ring { top: 8%; width: 105%; left: -8%; }
.portrait-frame { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; aspect-ratio: auto; overflow: hidden; }
.portrait-frame img { max-width: none; object-fit: fill; }
.hero-art .hero-character, .portrait-frame { filter: none; }
.class-art-note { bottom: 12px; padding: 5px 9px; background: #e9eae4dc; }
.class-selector-band { position: relative; z-index: 10; background: #e9eae4; pointer-events: auto; }
.class-tab { position: relative; z-index: 1; pointer-events: auto; }
.class-copy { position: relative; z-index: 4; }
@media (max-width:1150px) {
  .hero-art { width: 68%; right: -10%; }
}
@media (max-width:850px) {
  .hero-art { width: 73%; right: -15%; }
}
@media (max-width:620px) {
  .hero { height: 820px; min-height: 820px; }
  .hero-art { inset: 365px -7% 0 -7%; width: 114%; mask-image: linear-gradient(to bottom, transparent, #000 8%, #000); }
  .hero-copy { top: 174px; }
  .hero-caption { bottom: 20px; right: 20px; min-width: 186px; }
  .hero-controls { bottom: 101px; right: 20px; }
  .class-art-zone { height: 430px; padding: 0; }
  .class-ring { width: 105%; left: -4%; top: 8%; }
  .class-stage { overflow: hidden; }
  .class-selector-band { padding-top: 18px; }
}
@media (max-width:370px) {
  .hero { height: 800px; min-height: 800px; }
  .hero-copy { top: 165px; }
  .hero-art { top: 355px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-art.is-changing .hero-character { animation: none; }
}

.rail{padding-bottom:86px}
.bgm-toggle{position:fixed;z-index:60;left:8px;bottom:max(18px,env(safe-area-inset-bottom));width:48px;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 4px;background:var(--ink);color:var(--paper);border:1px solid #6b6d60;transition:background .2s,color .2s}
.bgm-toggle:hover,.bgm-toggle:focus-visible{color:var(--acid);border-color:var(--acid)}
.bgm-toggle[data-state="playing"]{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.bgm-bars{display:flex;align-items:center;justify-content:center;gap:3px;height:15px}
.bgm-bars i{display:block;width:3px;height:3px;background:currentColor;transform-origin:center}
.bgm-bars i:nth-child(2){height:12px}.bgm-bars i:nth-child(3){height:8px}.bgm-bars i:nth-child(4){height:15px}
.bgm-toggle[data-state="playing"] .bgm-bars i{animation:bgm-level .85s ease-in-out infinite alternate}
.bgm-toggle[data-state="playing"] .bgm-bars i:nth-child(2){animation-delay:-.3s}.bgm-toggle[data-state="playing"] .bgm-bars i:nth-child(3){animation-delay:-.6s}.bgm-toggle[data-state="playing"] .bgm-bars i:nth-child(4){animation-delay:-.15s}
.bgm-toggle[data-state="off"] .bgm-bars{opacity:.45}
.bgm-name{font:bold 9px/1 "Courier New",monospace;letter-spacing:1px}
.bgm-state{font:9px/1.2 "Microsoft YaHei",sans-serif;white-space:nowrap}
@keyframes bgm-level{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media(max-width:850px){.bgm-toggle{left:2px;width:44px}}
@media(max-width:620px){.bgm-toggle{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:48px;min-height:60px;box-shadow:0 2px 10px #0002}.site-footer{padding-bottom:88px}}
@media(prefers-reduced-motion:reduce){.bgm-toggle,.bgm-toggle .bgm-bars i{animation:none!important;transition:none}}

/* Selected concept A. Scenery derives from the game's map and building references. */
:root {
  --paper: #faf8f2;
  --ink: #183b30;
  --muted: #697368;
  --line: #dddccf;
  --acid: #dce7bd;
  --gold: #ac8849;
  --green: #627f3f;
  --rail: 60px;
  --header: 98px;
  --serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
}
body { background: var(--paper); }
.site-shell { max-width: none; }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline-color: #60783f; }
.rail { background: var(--paper); color: var(--ink); border-right: 1px solid var(--line); }
.rail-mark { border-bottom-color: var(--line); }
.rail-mark span { background: var(--gold); width: 3px; height: 24px; transform: rotate(38deg); }
.rail-mark span:last-child { height: 24px; margin-top: 0; transform: rotate(-38deg); }
.rail-label { color: #717966; letter-spacing: 2.5px; }
.rail-nav { gap: 18px; }
.rail-nav a { color: #72796d; font-family: Georgia, serif; font-size: 14px; }
.rail-nav a:hover, .rail-nav a[aria-current] { color: var(--ink); }
.rail-nav a[aria-current]:before { width: 16px; height: 1px; left: calc(50% - 8px); top: 39px; background: var(--gold); }
.site-header { background: #faf8f2ed; border-bottom-color: #dddccf9c; }
.brand { display: grid; grid-template-columns: 39px auto; column-gap: 13px; row-gap: 3px; }
.brand-compass { width: 38px; height: 52px; grid-row: 1 / 3; color: var(--gold); stroke: currentColor; stroke-width: 1; }
.brand-name { font: 700 29px/1.3 var(--serif); letter-spacing: 1px; }
.brand-cut { display: none; }
.brand-note { border: 0; padding: 0; font: 7px/1.4 Georgia, serif; letter-spacing: 3px; color: var(--muted); }
.main-nav a { font-size: 13px; font-weight: 400; letter-spacing: 1px; }
.main-nav a[aria-current]:after { background: var(--gold); height: 1px; }
.main-nav a:hover { color: var(--green); }
.hero { height: clamp(650px, 48vw, 790px); min-height: 650px; max-height: none; border-bottom: 1px solid var(--line); }
.hero-world {
  inset: 0;
  width: 100%; height: 100%; opacity: 1; filter: none; mask-image: none;
  background-image: linear-gradient(90deg, #faf8f2 0%, #faf8f2e8 24%, #faf8f27a 40%, #faf8f200 61%), url("scene-a-castle-walls-v2.b09a9031d5bf.webp");
  background-size: 100% 100%, cover; background-position: center, right top;
  background-repeat: no-repeat; background-color: var(--paper);
}
.hero-grid { display: none; }
.hero-eyebrow { top: 31px; color: #768168; font-size: 9px; letter-spacing: 2px; }
.hero-eyebrow>span { font-family: Georgia, serif; font-weight: 400; }
.hero-eyebrow i { background: var(--gold); width: 35px; }
.hero-type { top: 96px; left: calc(var(--gutter) - 6px); font: 400 clamp(100px, 10.8vw, 186px)/1 Georgia, serif; color: #a5b99040; letter-spacing: -7px; transform: none; }
.hero-copy { top: 34%; width: 55%; max-width: 680px; }
.hero-micro { font-size: 8px; letter-spacing: 2.2px; color: #69745e; margin-bottom: 19px; }
.hero h1 { font: 700 clamp(37px, 4.3vw, 72px)/1.3 var(--serif); letter-spacing: -2px; white-space: nowrap; }
.hero-description { margin-top: 20px; font: 400 clamp(17px, 1.6vw, 25px)/1.6 var(--serif); letter-spacing: 2px; }
.hero-actions { margin-top: 38px; gap: 28px; }
.hero-actions .button { min-height: 56px; padding-inline: 27px; gap: 35px; font-size: 15px; font-weight: 400; letter-spacing: 2px; }
.button-accent { background: var(--green); color: #fffef8; }
.button-accent:hover { background: var(--ink); color: #fffef8; }
.hero-actions .text-link { font-size: 12px; font-weight: 400; gap: 22px; }
.release-note { margin-top: 23px; font-size: 10px; line-height: 1.6; color: #626c60; }
.hero-art { width: 52%; inset: 0 -4% 0 auto; mask-image: linear-gradient(to right, transparent, #000 8%, #000); }
.hero-compass { position: absolute; width: clamp(90px, 12vw, 170px); top: 28px; right: 24%; fill: none; stroke: var(--gold); stroke-width: .6; opacity: .38; pointer-events: none; z-index: 0; }
.hero-coordinate { left: var(--gutter); bottom: 35px; color: #7c8772; font-size: 8px; line-height: 1.9; letter-spacing: 2px; }
.hero-caption { background: #faf8f2ee; border: 1px solid #d7d6c5; right: 32px; bottom: 24px; padding: 12px 48px 12px 18px; font-size: 12px; }
.hero-caption>span { color: #697664; }
.hero-caption:hover { background: #edf0df; }
.hero-controls { right: 32px; bottom: 103px; gap: 6px; }
.hero-controls button { background: #faf8f2eb; border-color: #d7d6c5; }
.hero-controls button:hover { background: #edf0df; }
.news-strip { min-height: 110px; border-bottom-color: var(--line); }
.strip-heading { width: 21%; padding-block: 24px; }
.strip-heading strong { font: 700 20px/1.5 var(--serif); }
.strip-heading .micro { color: #7e886f; letter-spacing: 2px; }
.strip-list { padding-inline: 30px; }
.strip-next { width: 23%; background: #f0f1e4; border-left-color: var(--line); color: var(--ink); padding: 23px; }
.strip-next b { font-family: Georgia, serif; font-weight: 400; color: var(--gold); }
.world-section { padding-top: 64px; padding-bottom: 80px; }
.section-eyebrow>span { font-family: Georgia, serif; font-weight: 400; color: var(--gold); }
.world-heading { padding-top: 42px; padding-bottom: 38px; gap: 7%; }
.world-heading h2 { font: 700 clamp(34px, 3.7vw, 58px)/1.45 var(--serif); letter-spacing: -.5px; }
.world-intro>p:first-child { font-family: var(--serif); font-size: 18px; }
.world-intro>p:nth-child(2) { color: #657160; }
.journey-scenes { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 0 0 52px; }
.journey-scene { margin: 0; min-width: 0; }
.journey-scene>img { width: 100%; aspect-ratio: 2/1; height: auto; object-fit: cover; }
.journey-scene figcaption { padding-top: 20px; }
.journey-scene .micro { font-size: 8px; letter-spacing: 1.6px; color: #727f65; }
.journey-scene h3 { font: 700 23px/1.6 var(--serif); margin-top: 8px; }
.journey-scene p { color: var(--muted); font-size: 11px; line-height: 1.9; margin-top: 5px; }
.world-features article+article { border-left-color: var(--line); }
.world-features h3 { font-family: var(--serif); font-size: 20px; }
.classes-section { background: #eef0e5; }
.class-selector-band { background: #eef0e5; border-top-color: #b9c0a9; }
.class-backword { color: #dce1d0; font-family: Georgia, serif; font-weight: 400; letter-spacing: -3px; }
.class-ring { border-color: #c9c6a5; }
.class-ring:after { color: var(--gold); }
.class-art-note { background: #eef0e5e3; }
.class-copy h3 { font-family: var(--serif); letter-spacing: 0; }
.class-english { font-family: Georgia, serif; font-weight: 400; font-size: 29px; letter-spacing: 3px; }
.class-evolved { background: #e0e5cb; color: #3f5637; }
.class-rule { background: var(--gold); }
.class-copy h4 { font-family: var(--serif); font-size: 20px; }
.class-tab { border-color: #c6cdb9; }
.class-tab[aria-selected=true], .class-tab[aria-selected=true]:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.class-tab[aria-selected=true] small, .class-tab[aria-selected=true] .tab-number { color: #d0d9bb; }
.class-tab:hover { background: #faf8f2; }
.news-section { padding-block: 70px; }
.display-en { font-family: Georgia, serif; font-weight: 400; letter-spacing: -3px; }
.news-heading .display-en { font-size: clamp(76px, 8vw, 120px); color: #d7dec8; }
.news-heading h2 { font-family: var(--serif); font-size: 29px; letter-spacing: 0; }
.news-list { border-top-width: 1px; border-top-color: #a5b197; }
.news-row:hover { background: #f0f2e7; }
.download-section { background: #1d392e; --line: #4e6551; --muted: #b4c1ac; }
.download-copy .display-en { color: #45604b; }
.download-copy h2 { font-family: var(--serif); font-size: 40px; }
.download-panel { background: #243f32; border-color: #62735a; }
.download-platform h3 { font-family: var(--serif); font-size: 22px; }
.button-unavailable { background: #354e3a; color: #d0d8c1; border-color: #64755c; }
.site-footer .footer-brand { font-family: var(--serif); font-size: 26px; letter-spacing: 1px; }
.content-dialog { border-color: #adb79c; }
#dialog-title { font-family: var(--serif); border-bottom-width: 1px; }
.growth-route li:last-child { background: #e1e8cd; border-color: #a2b184; }
.bgm-toggle { background: var(--paper); color: #5b6d4d; border-color: #d4d8c5; }
.bgm-toggle:hover, .bgm-toggle:focus-visible { color: var(--ink); border-color: #7d8d68; }
.bgm-toggle[data-state="playing"] { background: #e4e9d5; color: var(--ink); border-color: #b5c2a0; }
@media (min-width:1700px) { .hero-copy { top: 34%; } .hero-coordinate { left: var(--gutter); } }
@media (max-width:1150px) {
  .brand-name { font-size: 25px; }
  .brand-note { letter-spacing: 2px; font-size: 6px; }
  .main-nav { gap: 20px; }
  .main-nav a { font-size: 11px; }
  .hero { height: 650px; }
  .hero h1 { font-size: clamp(35px, 4.5vw, 51px); }
  .hero-art { width: 56%; right: -7%; }
  .hero-copy { top: 36%; }
  .hero-micro { font-size: 7px; letter-spacing: 1.2px; }
  .hero-description { font-size: 19px; letter-spacing: 1px; }
  .hero-coordinate { bottom: 25px; }
}
@media (max-width:850px) {
  :root { --rail: 48px; --header: 84px; }
  .brand { grid-template-columns: 30px auto; gap: 3px 9px; }
  .brand-compass { width: 29px; height: 42px; }
  .brand-name { font-size: 24px; }
  .brand-note { display: block; letter-spacing: 1.8px; }
  .hero { height: 680px; min-height: 680px; }
  .hero-type { top: 100px; font-size: 100px; letter-spacing: -5px; }
  .hero-copy { top: 30%; width: 58%; }
  .hero h1 { font-size: 36px; white-space: normal; text-wrap: balance; max-width: 350px; }
  .hero-description { font-size: 16px; }
  .hero-art { width: 61%; right: -13%; inset-block: 30px 0; }
  .hero-compass { right: 16%; top: 25px; width: 95px; }
  .hero-actions { gap: 20px; align-items: flex-start; flex-direction: column; margin-top: 26px; }
  .hero-actions .button { min-height: 50px; font-size: 13px; }
  .hero-controls, .hero-caption { right: 22px; }
  .strip-heading { width: 24%; }
  .strip-list { padding-inline: 22px; }
  .strip-next { width: 100%; }
  .journey-scenes { gap: 20px; }
  .journey-scene h3 { font-size: 21px; }
  .class-english { font-size: 25px; }
}
@media (max-width:620px) {
  :root { --rail: 0px; --header: 78px; --gutter: 24px; }
  .site-header { padding-inline: 21px; }
  .brand-name { font-size: 24px; }
  .brand-note { font-size: 6px; }
  .main-nav { background: var(--paper); border-bottom-color: var(--line); }
  .hero { height: 850px; min-height: 850px; }
  .hero-eyebrow { top: 25px; }
  .hero-type { top: 75px; left: 20px; font-size: 70px; letter-spacing: -4px; }
  .hero-copy { top: 155px; width: calc(100% - 48px); max-width: none; pointer-events: auto; }
  .hero h1 { font-size: clamp(31px, 8.3vw, 46px); white-space: nowrap; max-width: none; letter-spacing: -1px; }
  .hero-micro { font-size: 6px; letter-spacing: 1.25px; margin-bottom: 16px; }
  .hero-description { font-size: 18px; margin-top: 13px; letter-spacing: 1px; }
  .hero-actions { flex-direction: row; align-items: center; gap: 23px; margin-top: 25px; }
  .hero-actions .button { padding-inline: 21px; min-height: 48px; gap: 24px; font-size: 12px; }
  .hero-actions .text-link { padding: 0; background: none; font-size: 11px; gap: 12px; }
  .release-note { max-width: none; background: transparent; margin-top: 13px; padding: 0; font-size: 8px; }
  .hero-world { inset: 320px 0 0; width: 100%; height: auto; background-image: linear-gradient(to bottom, #faf8f2 0%, #faf8f200 28%), url("scene-a-castle-walls-v2.b09a9031d5bf.webp"); background-position: 61% center; background-size: cover; }
  .hero-art { inset: 388px -10% 0 10%; width: 100%; mask-image: linear-gradient(to bottom, transparent, #000 5%, #000); }
  .hero-compass { top: 41px; right: 18px; width: 83px; opacity: .25; }
  .hero-coordinate { display: none; }
  .hero-caption { bottom: 18px; right: 20px; font-size: 10px; padding: 10px 43px 10px 13px; min-width: 184px; }
  .hero-controls { bottom: 88px; right: 20px; }
  .hero-controls button { min-height: 32px; padding: 7px 10px; font-size: 9px; }
  .strip-heading { width: 100%; padding: 22px 24px 0; }
  .strip-heading strong { font-size: 19px; }
  .strip-list { padding: 15px 24px 22px; }
  .strip-next { padding: 17px 24px; }
  .world-section { padding-block: 43px 50px; }
  .world-heading { padding: 28px 0; gap: 22px; }
  .world-heading h2 { font-size: 36px; line-height: 1.4; }
  .world-intro>p:first-child { font-size: 17px; }
  .journey-scenes { grid-template-columns: 1fr; gap: 29px; margin-bottom: 36px; }
  .journey-scene figcaption { padding-top: 16px; }
  .journey-scene h3 { margin-top: 5px; font-size: 22px; }
  .journey-scene p { font-size: 11px; }
  .world-features h3 { font-size: 19px; }
  .class-copy h3 { font-size: 50px; }
  .class-english { font-size: 27px; }
  .class-copy h4 { font-size: 19px; }
  .class-tab { padding: 9px 12px; }
  .news-section { padding-block: 45px; }
  .news-heading h2 { font-size: 26px; }
  .download-copy h2 { font-size: 34px; }
  .download-copy .display-en { font-size: clamp(76px, 25vw, 110px); }
  .download-platform h3 { font-size: 20px; }
  .site-footer .footer-brand { font-size: 24px; }
}
@media (max-width:370px) {
  :root { --gutter: 20px; }
  .brand-name { font-size: 22px; }
  .hero { height: 825px; min-height: 825px; }
  .hero-copy { width: calc(100% - 40px); }
  .hero h1 { font-size: 30px; letter-spacing: -1.5px; }
  .hero-description { font-size: 16px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { padding-inline: 17px; gap: 17px; }
  .hero-art { top: 377px; }
}

@media(max-width:620px){.hero-world{background-image:linear-gradient(to bottom,#faf8f2 0%,#faf8f200 28%),url("scene-a-castle-walls-v2-800.64ff1a4de280.webp")}}
