@charset "UTF-8";
:root{--paper:#fcfaf5;--white:#fff;--ink:#302d27;--muted:#736d62;--gold:#947137;--gold-soft:#f5e9d0;--line:#e7decd;--teal:#087681;--teal-dark:#055e68;--serif:"Noto Serif CJK SC","Yu Mincho","Songti SC","STSong","SimSun",serif;--sans:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--radius:14px;--header:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{display:inline-block;vertical-align:middle}::selection{background:#f0dfb6;color:#302d27}:focus-visible{outline:3px solid var(--teal);outline-offset:5px;border-radius:3px}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:8px;left:16px;z-index:100;padding:10px 20px;background:var(--teal);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:13px 29px;border:1px solid var(--teal);border-radius:7px;background:var(--teal);color:#fff;font-size:14px;font-weight:600;letter-spacing:1px;box-shadow:0 5px 15px #08768112;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:var(--teal-dark);border-color:var(--teal-dark);transform:translateY(-2px);box-shadow:0 8px 20px #08768122}.button .icon{width:20px;height:20px}.button-small{min-height:43px;padding:9px 18px;gap:14px;font-size:13px;letter-spacing:.5px}.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;color:var(--gold);font-size:14px;font-weight:600}.text-link:hover{color:var(--teal)}.text-link .icon{width:20px;height:20px}.eyebrow{display:flex;align-items:center;gap:14px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:2.2px;line-height:1.6}.eyebrow span:not(.eyebrow-line){letter-spacing:1.6px}.eyebrow-line{width:33px;height:1px;background:var(--gold)}
/* Navigation stays readable without scripting; only the enhanced mobile view collapses it. */
.site-header{position:sticky;top:0;z-index:30;height:var(--header);background:#fcfaf5f5;border-bottom:1px solid #e7decdab;backdrop-filter:blur(14px)}.header-inner{width:min(1320px,calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;line-height:1.5}.brand-avatar{width:43px;height:43px;object-fit:cover;border-radius:50%;border:2px solid #f2e4c5;object-position:center}.brand-title{display:block;font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.8px}.brand-sub{display:block;font-size:9px;color:var(--muted);letter-spacing:2px;margin-top:4px}.brand-sub span{color:#b69a66;padding:0 7px}.main-nav{display:flex;align-items:center;gap:23px;white-space:nowrap}.main-nav>a:not(.button){position:relative;min-height:44px;display:flex;align-items:center;font-size:13px;color:#595447}.main-nav>a:not(.button)::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s}.main-nav>a.active,.main-nav>a:hover{color:var(--teal)}.main-nav>a.active::after,.main-nav>a:not(.button):hover::after{transform:scaleX(1)}.menu-toggle{display:flex;align-items:center;gap:6px;min-height:44px;background:transparent;border:1px solid var(--line);border-radius:5px;padding:8px 11px;color:var(--ink);font-size:12px}
/* The first screen uses the supplied portrait, framed by a restrained magic-circle motif. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 36%,#f4e5cbbd,transparent 46%),radial-gradient(ellipse at 20% 100%,#faf0db88,transparent 50%),var(--paper)}.hero::before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(#ab905d47 .8px,transparent .8px);background-size:36px 36px;mask-image:linear-gradient(100deg,transparent 40%,#000 90%);opacity:.55}.hero-orbit{position:absolute;z-index:-1;width:790px;height:790px;top:-20px;left:55%;border:1px solid #d9c4984a;border-radius:50%}.hero-orbit::after,.hero-orbit::before{content:"";position:absolute;inset:55px;border:1px solid #d9c4984a;border-radius:50%}.hero-orbit::before{inset:110px}.hero-layout{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding-top:58px;padding-bottom:47px;min-height:670px}.hero-copy{position:relative;z-index:2;padding-bottom:18px}.hero-tags{display:flex;flex-wrap:wrap;gap:0;margin:27px 0 19px;color:#78694f;font-size:11px;letter-spacing:.6px}.hero-tags span+span::before{content:"/";color:#b9a785;padding:0 12px}h1{font-family:var(--serif);font-size:clamp(52px,5.9vw,79px);font-weight:500;letter-spacing:1px;line-height:1.2}h1>span{display:block}.title-gold{color:var(--gold);margin-top:8px}.hero-subtitle{margin-top:29px;font-size:23px;line-height:1.7;letter-spacing:3px;font-family:var(--serif)}.hero-subtitle br{display:none}.hero-description{max-width:440px;margin-top:18px;line-height:1.95;font-size:14px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.hero-footnote{display:flex;align-items:center;gap:8px;margin-top:21px;font-size:11px;color:#777063;letter-spacing:.5px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--teal)}.separator{padding:0 6px}.hero-art{position:relative;padding:5px 18px 18px 0;margin-left:8px}.portrait-frame{position:relative;isolation:isolate;border-radius:230px 230px 14px 14px;aspect-ratio:506 / 660;max-width:440px;background:#25282b;box-shadow:0 28px 60px #7c654927}.portrait-frame::before{content:"";position:absolute;z-index:3;inset:-12px 12px 12px -12px;border:1px solid #b89c5f8c;border-radius:230px 230px 12px 12px;pointer-events:none}.hero-portrait{width:100%;height:100%;object-fit:cover;border-radius:inherit;filter:saturate(.85)}.portrait-shade{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(0deg,#211b14d1,transparent 33%)}.portrait-corner{position:absolute;right:18px;bottom:100px;font-size:52px;color:#f5e9d0;line-height:1}.portrait-label{position:absolute;bottom:30px;left:30px;color:#fff}.portrait-label>span:first-child{display:block;font-family:var(--serif);font-size:23px;letter-spacing:4px}.portrait-label>span:last-child{display:block;font-size:8px;letter-spacing:3px;margin-top:9px;color:#eddfc2}.art-spark{position:absolute;color:var(--gold);line-height:1}.spark-a{left:-41px;top:63px;font-size:70px;font-weight:200}.spark-b{right:-15px;top:130px;font-size:26px}.hero-art-note{position:absolute;right:-14px;bottom:-8px;display:flex;align-items:center;gap:12px;background:#fffcf4;padding:17px 23px;border:1px solid #e2d3b7;border-radius:8px;box-shadow:0 10px 25px #826a3b14;color:#695739;font-size:13px;line-height:1.6}.hero-art-note>.icon{color:var(--gold);width:28px;height:28px}.hero-art-note small{display:block;font-size:10px;letter-spacing:.5px;color:var(--muted);margin-top:3px}.art-side-note{position:absolute;right:-41px;top:220px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#937b55}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0 25px;font-size:10px;color:#84765d;letter-spacing:2px}.hero-bottom>span{display:flex;align-items:center;gap:22px}.hero-bottom i{font-size:10px;font-style:normal;color:#b69a66}.scroll-cue{display:flex;align-items:center;gap:11px;min-height:30px}.scroll-line{height:26px;width:1px;background:linear-gradient(var(--gold),transparent)}.game-specs{background:#f4ead7;border-top:1px solid #ece0c9;border-bottom:1px solid #ece0c9}.specs-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0}.specs-grid>div{padding-left:30px;border-right:1px solid #dac8a4}.specs-grid>div:first-child{padding-left:0}.specs-grid>div:last-child{border:0}.specs-grid span{font-size:10px;color:#7a6849;letter-spacing:1.5px;display:block}.specs-grid strong{font-size:15px;font-weight:500;letter-spacing:.5px}
/* Story and gameplay */
.section{padding:100px 0;scroll-margin-top:0}h2{font-family:var(--serif);font-size:37px;line-height:1.55;letter-spacing:1px;font-weight:500;margin-top:17px}h2 em{font-style:normal;color:var(--gold)}.section-lead{font-size:14px;color:var(--muted);margin-top:16px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.heading-aside{font-size:12px;color:var(--muted);line-height:1.9;text-align:right;padding-bottom:6px}.intro-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:88px}.intro-visual{position:relative;padding:15px 0 72px 0}.town-frame{position:relative;width:93%;border-radius:12px;background:var(--paper);box-shadow:0 15px 35px #64523617}.town-frame::before{content:"";position:absolute;inset:-12px 14px 14px -12px;border:1px solid var(--line);border-radius:12px;z-index:-1}.town-image{width:100%;border-radius:12px 12px 0 0}.town-frame figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 19px;font-size:11px;color:#73634a}.town-frame figcaption span{font-size:8px;letter-spacing:1.5px}.command-frame{position:absolute;right:0;bottom:18px;width:57%;padding:6px;background:#fff;border-radius:9px;box-shadow:0 9px 30px #372d382c}.command-image{width:100%;border-radius:5px}.command-frame figcaption{font-size:9px;letter-spacing:.5px;text-align:center;padding:5px 0 2px;color:var(--muted)}.visual-mark{position:absolute;bottom:10px;left:0;letter-spacing:3px;font-size:9px;color:#9a8868}.intro-copy{margin-top:21px;font-size:13px;color:var(--muted)}.intro-copy p+p{margin-top:14px}.intro-note{display:flex;gap:12px;align-items:flex-start;margin:23px 0 16px;padding:15px 17px;border-left:2px solid #c4a364;background:#fbf7ee;font-size:12px;color:#796444}.intro-note .icon{width:20px;height:20px}.content-section{background:var(--paper);border-top:1px solid #f0e9dc;border-bottom:1px solid #f0e9dc}.gameplay-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:48px}.gameplay-gallery figure{overflow:hidden;background:#fff;border:1px solid #e9dfcc;border-radius:9px}.gameplay-gallery figure>div{position:relative;height:205px;overflow:hidden;background:#333}.gameplay-gallery figure>div::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0005)}.gallery-image,.gameplay-gallery .command-image{width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .4s}.gameplay-gallery figure:hover img{transform:scale(1.035)}.image-badge{position:absolute;bottom:15px;left:19px;color:#fff;font-size:9px;letter-spacing:2px;z-index:1}.gameplay-gallery figcaption{position:relative;padding:23px 23px 22px}.gameplay-gallery figcaption>span{position:absolute;right:22px;top:14px;font-family:var(--serif);font-size:28px;color:#c7b181;font-style:italic}.gameplay-gallery h3{font-size:16px;font-weight:500;padding-right:27px}.gameplay-gallery figcaption p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:7px}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}.content-card{position:relative;padding:26px 10px 27px 52px;border-top:1px solid var(--line)}.content-card>.icon{position:absolute;top:27px;left:2px;color:var(--gold);width:25px;height:25px}.content-card h3{font-weight:500;font-size:16px;margin-bottom:9px;padding-right:25px}.content-card p{font-size:12px;color:var(--muted);line-height:1.95}.card-index{position:absolute;right:5px;top:27px;font-size:10px;color:#877450;letter-spacing:1px}.character-strip{display:flex;align-items:center;gap:25px;padding:25px 29px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:25px}.character-portrait{width:100px;height:100px;border-radius:50%;overflow:hidden;flex-shrink:0;border:4px solid var(--gold-soft)}.character-image{width:100%;height:100%;object-fit:cover}.character-strip>div:nth-child(2){flex:1}.character-strip .eyebrow{font-size:8px}.character-strip h3{font-size:16px;margin-top:8px;font-weight:500}.character-strip p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:7px}.character-strip .text-link{flex-shrink:0;font-size:12px;margin-left:12px}
/* Walkthrough remains native HTML, including all collapsed answers. */
.guide-notice{display:flex;gap:14px;align-items:flex-start;border:1px solid #dce8e5;background:#f5f9f7;border-radius:7px;padding:17px 20px;margin-bottom:27px;color:#52706b;font-size:11px;line-height:1.9}.guide-notice>.icon{width:20px;height:20px;margin-top:2px;color:var(--teal)}.prep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:47px}.prep-card{position:relative;padding:25px 26px;background:#fcfaf5;border:1px solid var(--line);border-radius:9px}.step{display:block;color:#b39458;font-family:var(--serif);font-size:28px;line-height:1.1;margin-bottom:17px}.prep-card h3{font-size:16px;font-weight:500;margin-bottom:12px}.prep-card p{font-size:12px;line-height:1.95;color:var(--muted)}.route-layout{display:grid;grid-template-columns:270px 1fr;gap:50px;align-items:start}.route-sidebar{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:27px 24px}.route-sidebar .eyebrow{font-size:8px;letter-spacing:1.4px}.route-sidebar h3{font-family:var(--serif);font-weight:500;font-size:23px;margin:10px 0 21px}.route-sidebar nav{display:grid}.route-sidebar nav a{display:flex;align-items:center;gap:15px;min-height:46px;font-size:12px;color:#665b48;border-top:1px solid #ece3d3}.route-sidebar nav a>span{font-size:9px;color:var(--gold)}.route-sidebar nav a>.icon{width:15px;height:15px;margin-left:auto}.route-sidebar nav a:hover{color:var(--teal)}.sidebar-tip{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.sidebar-tip>.icon{color:var(--gold);width:18px;height:18px;margin-top:2px}.route-detail{border-bottom:1px solid var(--line);scroll-margin-top:118px}.route-detail:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.route-detail>summary{min-height:90px;display:flex;align-items:center;gap:24px;padding:21px 5px}.route-number{font-family:var(--serif);font-size:25px;color:#aa8b4e;line-height:1}.route-detail>summary>span:nth-child(2){flex:1}.route-label{display:block;font-size:17px;line-height:1.5;font-weight:500}.route-caption{display:block;font-size:11px;color:var(--muted);margin-top:6px}.details-plus{width:18px;height:18px;color:var(--gold);transition:transform .2s}.route-detail[open]>summary .details-plus,.faq-item[open]>summary .details-plus,.advanced-detail[open]>summary .details-plus{transform:rotate(45deg)}.route-body{padding:2px 8px 26px 56px;font-size:13px;color:var(--muted)}.route-body p+p{margin-top:14px}.advanced-guides{margin-top:43px;padding:29px 33px;background:var(--paper);border:1px solid var(--line);border-radius:9px}.advanced-guides>h3{font-family:var(--serif);font-size:21px;font-weight:500;margin-bottom:14px}.advanced-detail{border-top:1px solid var(--line)}.advanced-detail>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:60px;font-size:13px}.advanced-detail>div{font-size:12px;color:var(--muted);padding:0 30px 19px 0}.advanced-detail p+p{margin-top:10px}
/* Highlights, release history and FAQ */
.feature-section{background:linear-gradient(130deg,#fbf5e9,#fcfaf5 60%,#f7f4ec);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading.centered{display:block;text-align:center;margin-bottom:47px}.centered .eyebrow{justify-content:center}.centered .section-lead{margin-top:12px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 29px}.feature-card{padding:0 6px}.feature-card>.icon{width:32px;height:32px;color:var(--gold);margin-bottom:15px}.feature-card h3{font-size:15px;font-weight:500;line-height:1.8;margin-bottom:10px}.feature-card p{font-size:12px;line-height:1.9;color:var(--muted)}.version-card{display:grid;grid-template-columns:auto auto;gap:2px 25px;align-items:center;padding:17px 23px;background:#f8f4ea;border:1px solid var(--line);border-radius:8px;font-size:11px;color:var(--muted)}.version-card>span{grid-column:1;font-size:9px}.version-card>strong{grid-column:2;grid-row:1/3;font-family:var(--serif);font-weight:500;font-size:33px;color:var(--gold)}.version-card>time{grid-column:1;font-size:11px;letter-spacing:1px}.update-intro{max-width:810px;font-size:12px;color:var(--muted);margin:-7px 0 32px}.release{display:grid;grid-template-columns:190px 1fr;gap:55px;border-top:1px solid var(--line);padding:31px 0}.release:last-child{border-bottom:1px solid var(--line)}.release-meta{position:relative;padding-left:25px;border-left:1px solid #decea9}.release-meta::before{content:"";position:absolute;width:7px;height:7px;left:-4px;top:8px;border-radius:50%;background:#b3985f;box-shadow:0 0 0 4px #faf4e5}.release-meta time{color:var(--muted);font-size:11px;letter-spacing:1.5px}.release-meta h3{font-family:var(--serif);color:var(--gold);font-size:31px;font-weight:500;line-height:1.4;margin:8px 0}.tag{display:inline-block;padding:3px 9px;border:1px solid #cee4df;background:#f2f8f5;color:#3d756e;font-size:9px;border-radius:4px}.release-copy h4{font-size:17px;font-weight:500;margin-bottom:15px}.release-copy ul{margin:0;padding-left:17px}.release-copy li{padding-left:4px;color:#aa8b4e;margin-bottom:14px}.release-copy li:last-child{margin-bottom:0}.release-copy li strong{font-size:12px;font-weight:500;color:var(--ink)}.release-copy li p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.8}.faq-section{background:var(--paper);border-top:1px solid #f0e9dc}.faq-tools{display:flex;align-items:center;gap:20px;margin-bottom:25px}.faq-search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:6px;width:420px;max-width:100%;padding:10px 16px}.faq-search>.icon{width:18px;height:18px;color:var(--gold)}.faq-search input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:12px;color:var(--ink);min-height:25px}.faq-search:focus-within{outline:2px solid var(--teal);outline-offset:2px}.faq-search input:focus-visible{outline:none}.faq-search input::placeholder{color:#7f7b72}.faq-tools>p{font-size:11px;color:var(--muted)}.faq-expand{margin-left:auto;border:0;background:transparent;color:var(--gold);font-size:12px;padding:10px 5px;min-height:44px;white-space:nowrap}.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;align-items:start}.faq-item{border-top:1px solid var(--line)}.faq-item>summary{display:flex;gap:11px;align-items:center;min-height:79px;padding:15px 2px;font-size:12px;line-height:1.9}.faq-number{font-size:9px;color:var(--gold);flex-shrink:0;margin-right:3px}.faq-item .details-plus{margin-left:auto;flex-shrink:0;width:15px;height:15px}.faq-item>div{padding:0 25px 22px 30px;font-size:12px;line-height:1.95;color:var(--muted)}.faq-empty{border:1px solid var(--line);padding:25px;font-size:13px;color:var(--muted);border-radius:8px}.final-cta{background:#f1e3c7;overflow:hidden;border-top:1px solid #e6d4ae}.final-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:56px;padding-bottom:56px}.final-inner>div,.final-inner>.button{position:relative;z-index:1}.final-inner .eyebrow{font-size:9px}.final-inner h2{font-size:35px;margin-top:10px}.final-inner p:not(.eyebrow){font-size:12px;color:#77654b;margin-top:12px}.final-inner>.button{margin-right:40px;min-width:175px}.cta-star{position:absolute;right:-30px;top:-135px;font-size:390px;line-height:1.5;color:#fff6e4a8;font-family:var(--serif);pointer-events:none}.site-footer{background:#fcfaf5}.footer-top{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:40px;padding-top:47px;padding-bottom:36px}.footer-brand{font-family:var(--serif);font-size:20px;letter-spacing:1px}.footer-top p{font-size:11px;color:var(--muted);margin-top:13px}.footer-top>div:first-child>span{font-size:9px;color:var(--muted);letter-spacing:1px}.footer-top nav{display:grid;grid-template-columns:repeat(2,auto);align-content:start;gap:4px 20px;font-size:11px;color:#776c59;padding-top:7px}.footer-top nav a{min-height:35px;display:flex;align-items:center}.footer-sources{display:grid;justify-content:end;font-size:10px;color:var(--muted);line-height:2.6}.footer-sources>span{font-size:9px;letter-spacing:1.5px;color:var(--gold);margin-bottom:3px}.footer-top a:hover,.footer-bottom a:hover{color:var(--teal)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:19px 0 22px;font-size:9px;color:var(--muted)}.footer-bottom>a{min-height:30px;display:flex;align-items:center;white-space:nowrap}.update-prompt{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:40;display:flex;gap:15px;align-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 5px 35px #0002;border-radius:8px;padding:12px 17px;font-size:12px;max-width:calc(100% - 24px)}.update-prompt p{white-space:nowrap}.update-prompt button{border:0;background:var(--teal);color:#fff;border-radius:4px;padding:9px 14px;min-height:44px;white-space:nowrap}.update-prompt #dismiss-update{background:transparent;color:var(--muted);font-size:22px;padding:4px 8px}
@media(min-width:1500px){.hero-layout{min-height:730px;padding-top:65px;padding-bottom:55px}.hero-description{max-width:460px}.hero-art{padding-right:0}.portrait-frame{max-width:460px}}
@media(max-width:1160px){.container{width:calc(100% - 64px)}.header-inner{width:calc(100% - 40px);gap:18px}.brand-title{font-size:16px}.brand-avatar{width:37px;height:37px}.main-nav{gap:15px}.main-nav>a:not(.button){font-size:12px}.button-small{padding:9px 12px}.hero-layout{gap:45px;min-height:620px}.hero-subtitle{font-size:21px;letter-spacing:2px}.hero-art-note{right:-3px;padding:14px 17px}.art-side-note{right:-24px}.intro-grid{gap:55px}.gameplay-gallery figure>div{height:175px}.gameplay-gallery figcaption{padding:19px}.gameplay-gallery h3{font-size:14px}.gameplay-gallery figcaption>span{font-size:22px;right:16px}.section-heading{gap:25px}.heading-aside{font-size:11px}.feature-grid{gap:35px 22px}.route-layout{gap:30px;grid-template-columns:240px 1fr}.section{padding:82px 0}}
@media(max-width:980px){:root{--header:77px}.brand-title{font-size:19px}.brand-avatar{width:43px;height:43px}.header-inner{position:relative;width:calc(100% - 40px)}.has-js .menu-toggle{display:flex}.site-header{height:auto;min-height:var(--header)}.header-inner{min-height:var(--header);flex-wrap:wrap}.has-js .header-inner{height:var(--header);flex-wrap:nowrap}.main-nav{width:100%;justify-content:center;flex-wrap:wrap;padding:0 0 17px;gap:10px 26px}.main-nav>a:not(.button){font-size:13px}.has-js .main-nav{display:none;position:absolute;top:var(--header);right:-20px;width:100vw;background:#fcfaf5;box-shadow:0 15px 25px #2c251910;border-bottom:1px solid var(--line);padding:17px 27px 24px;grid-template-columns:repeat(2,1fr);gap:6px 24px;max-height:calc(100dvh - var(--header));overflow:auto}.has-js .main-nav.is-open{display:grid}.has-js .main-nav>.button{grid-column:1/-1;margin-top:6px}.main-nav>a:not(.button)::after{display:none}.hero-layout{gap:25px;padding-top:48px;padding-bottom:38px;min-height:570px}h1{font-size:54px}.hero-subtitle{font-size:19px;letter-spacing:1px}.hero-description{font-size:12px}.hero-tags{font-size:10px}.hero-tags span+span::before{padding:0 8px}.hero-actions{gap:20px}.hero-actions>.button{padding:12px 23px}.hero-actions .text-link{font-size:12px;gap:8px}.hero-art{padding-right:6px}.spark-a{font-size:48px;left:-25px}.spark-b{right:-10px}.hero-art-note{font-size:11px;padding:12px;right:0;bottom:-14px}.hero-art-note small{font-size:9px}.portrait-label{left:22px;bottom:25px}.portrait-label>span:first-child{font-size:19px}.portrait-label>span:last-child{font-size:7px;letter-spacing:2px}.art-side-note{display:none}.hero-bottom{padding-top:15px;font-size:9px}.hero-bottom>span{gap:14px;letter-spacing:1px}.specs-grid>div{padding-left:20px}.specs-grid strong{font-size:13px}.section{padding:70px 0}h2{font-size:30px}.intro-grid{gap:38px}.intro-copy{font-size:12px}.intro-visual{padding-bottom:80px}.town-frame figcaption{display:block;padding:12px 15px;font-size:10px}.town-frame figcaption span{display:block;font-size:7px;margin-bottom:3px}.command-frame{width:65%;bottom:28px}.command-frame figcaption{font-size:8px}.section-heading{display:block;margin-bottom:30px}.heading-aside{text-align:left;margin-top:18px}.heading-aside br{display:none}.heading-aside br::after{content:" / "}.gameplay-gallery{gap:17px;margin-bottom:30px}.gameplay-gallery figure>div{height:145px}.gameplay-gallery figcaption{padding:16px 15px}.gameplay-gallery figcaption p{font-size:10px}.gameplay-gallery h3{font-size:13px;line-height:1.6}.gameplay-gallery figcaption>span{right:12px;top:14px;font-size:20px}.content-grid{gap:0 28px}.content-card{padding-left:42px}.character-strip{padding:22px;gap:19px;flex-wrap:wrap}.character-strip>.text-link{margin-left:119px;min-height:30px;margin-top:-13px}.character-strip>div:nth-child(2){flex-basis:calc(100% - 119px)}.prep-grid{gap:17px}.prep-card{padding:22px 19px}.prep-card h3{font-size:14px}.prep-card p{font-size:11px}.route-layout{grid-template-columns:210px 1fr;gap:26px}.route-sidebar{padding:25px 18px}.route-sidebar h3{font-size:21px}.route-sidebar nav a{font-size:11px;gap:12px}.route-detail>summary{gap:18px}.route-body{padding-left:49px;font-size:12px}.feature-grid{grid-template-columns:repeat(2,1fr);gap:30px 40px}.feature-card{padding:0}.version-card{display:inline-grid;margin-top:22px}.release{grid-template-columns:155px 1fr;gap:30px}.faq-tools{gap:13px}.faq-search{width:370px}.faq-list{gap:0 27px}.final-inner h2{font-size:30px}.final-inner>.button{margin-right:0}.footer-top{grid-template-columns:1.4fr 1fr;gap:30px}.footer-top nav{justify-content:end}.footer-sources{grid-column:1/-1;display:flex;gap:22px;justify-content:start;flex-wrap:wrap}.footer-sources>span{margin:0}.footer-bottom{font-size:8px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 32px)}.brand-title{font-size:16px;letter-spacing:.3px}.brand-sub{font-size:8px;letter-spacing:1.5px}.brand{gap:9px}.brand-avatar{width:36px;height:36px}.menu-toggle{padding:8px 10px}.menu-toggle .icon{width:18px;height:18px}.has-js .main-nav{right:-16px}.hero-layout{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-top:36px;padding-bottom:24px;min-height:0}.hero-copy{padding-bottom:0;max-width:520px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:2px}.hero-tags{margin:21px 0 18px;font-size:10px}h1{font-size:clamp(43px,10vw,64px);letter-spacing:2px}.title-gold{margin-top:6px}.hero-subtitle{margin-top:21px;font-size:20px;letter-spacing:1.5px}.hero-description{max-width:490px;font-size:12px;margin-top:14px;line-height:1.95}.hero-actions{margin-top:25px;gap:23px}.hero-actions>.button{min-height:50px;padding:11px 26px}.hero-footnote{font-size:10px;margin-top:17px}.hero-art{width:min(86%,370px);align-self:center;padding:9px 10px 18px;margin:17px 0 15px}.portrait-frame{width:100%;border-radius:200px 200px 10px 10px}.portrait-frame::before{inset:-9px 9px 9px -9px;border-radius:200px 200px 10px 10px}.portrait-label>span:first-child{font-size:21px}.portrait-label>span:last-child{font-size:8px}.hero-art-note{right:-14px;bottom:-5px;padding:14px 17px;font-size:12px}.hero-art-note small{font-size:9px}.spark-a{top:48px;left:-27px;font-size:53px}.spark-b{top:125px;right:-21px}.hero-bottom{padding-top:10px;padding-bottom:21px;font-size:8px;letter-spacing:1px}.hero-bottom>span{gap:9px;font-size:8px}.hero-bottom i{font-size:7px}.hero-orbit{width:680px;height:680px;left:7%;top:380px}.specs-grid{grid-template-columns:repeat(2,1fr);padding:16px 0;gap:16px 0}.specs-grid>div:nth-child(2){border:0}.specs-grid>div:nth-child(3){padding-left:0}.specs-grid>div{padding-left:22px}.specs-grid span{font-size:9px;letter-spacing:1px}.specs-grid strong{font-size:13px}.section{padding:57px 0}h2{font-size:28px;letter-spacing:.6px;margin-top:14px}.eyebrow{font-size:9px;gap:11px;letter-spacing:1.7px}.eyebrow span:not(.eyebrow-line){letter-spacing:1px}.intro-grid{display:flex;flex-direction:column-reverse;gap:33px;align-items:stretch}.intro-grid h2 br{display:none}.intro-copy{font-size:12px;line-height:2}.intro-copy p+p{margin-top:14px}.section-lead{font-size:12px;margin-top:13px}.intro-note{font-size:11px;padding:13px 14px;margin-top:20px}.intro-visual{width:calc(100% - 8px);margin-left:8px;max-width:570px;align-self:center;padding-bottom:69px}.town-frame{width:94%}.town-frame figcaption{display:flex;font-size:10px}.town-frame figcaption span{font-size:7px;margin:0}.command-frame{width:57%;bottom:17px}.command-frame figcaption{font-size:8px}.visual-mark{font-size:8px}.section-heading{margin-bottom:28px}.heading-aside{margin-top:14px;font-size:11px}.gameplay-gallery{grid-template-columns:1fr;gap:18px;margin-bottom:29px}.gameplay-gallery figure{display:grid;grid-template-columns:44% 56%;min-height:147px}.gameplay-gallery figure>div{height:100%;min-height:147px}.gameplay-gallery figcaption{padding:23px 16px;align-self:center}.gameplay-gallery figcaption>span{font-size:19px;right:14px;top:12px}.gameplay-gallery h3{font-size:14px;padding-right:10px;margin-top:10px}.gameplay-gallery figcaption p{font-size:11px}.image-badge{font-size:7px;bottom:12px;left:13px;letter-spacing:1px}.content-grid{grid-template-columns:1fr}.content-card{padding:23px 6px 23px 43px}.content-card>.icon{top:25px;width:24px;height:24px}.content-card h3{font-size:15px;margin-bottom:8px}.content-card p{font-size:12px}.card-index{top:25px;font-size:9px}.character-strip{padding:20px 18px;gap:15px;margin-top:21px}.character-portrait{width:70px;height:70px;border-width:3px}.character-strip>div:nth-child(2){flex-basis:calc(100% - 85px)}.character-strip h3{font-size:13px;margin-top:6px}.character-strip p:not(.eyebrow){font-size:11px}.character-strip>.text-link{margin-left:85px;font-size:11px;margin-top:-8px}.character-strip .eyebrow{font-size:7px;letter-spacing:1px}.guide-notice{font-size:10px;padding:14px;gap:10px;margin-bottom:22px}.prep-grid{grid-template-columns:1fr;gap:13px;margin-bottom:32px}.prep-card{padding:20px 21px 20px 63px}.step{position:absolute;top:21px;left:19px;font-size:24px;margin:0}.prep-card h3{font-size:14px;margin-bottom:7px}.prep-card p{font-size:11px}.route-layout{display:flex;flex-direction:column;gap:22px}.route-sidebar{width:100%;padding:22px}.route-sidebar h3{font-size:22px;margin:7px 0 16px}.route-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.route-sidebar nav a{font-size:11px;min-height:44px;gap:9px}.route-sidebar nav a>.icon{width:14px;height:14px}.sidebar-tip{margin-top:16px;padding-top:14px;font-size:10px;gap:9px;align-items:center}.sidebar-tip>.icon{margin:0}.route-list{width:100%}.route-detail>summary{min-height:80px;padding:19px 3px;gap:17px}.route-label{font-size:16px}.route-caption{font-size:10px;line-height:1.6;margin-top:5px}.route-number{font-size:23px}.route-body{font-size:12px;padding:2px 8px 23px 44px;line-height:1.95}.advanced-guides{padding:22px 20px;margin-top:31px}.advanced-guides>h3{font-size:19px;margin-bottom:12px}.advanced-detail>summary{font-size:12px;padding:11px 0;line-height:1.85}.advanced-detail>div{font-size:11px;padding-right:5px}.feature-grid{gap:31px 22px}.feature-card>.icon{width:27px;height:27px;margin-bottom:13px}.feature-card h3{font-size:13px;margin-bottom:8px}.feature-card p{font-size:11px}.centered h2{font-size:25px}.centered .section-lead{font-size:11px}.section-heading.centered{margin-bottom:32px}.version-card{padding:13px 17px;gap:0 22px;margin-top:20px}.version-card>strong{font-size:29px}.update-intro{font-size:11px;margin:0 0 25px}.release{grid-template-columns:95px 1fr;gap:19px;padding:25px 0}.release-meta{padding-left:14px}.release-meta time{font-size:9px;letter-spacing:.1px}.release-meta h3{font-size:24px;letter-spacing:-.5px;margin-top:7px}.tag{font-size:8px;padding:2px 4px;line-height:1.6}.release-copy h4{font-size:14px;line-height:1.7;margin-bottom:12px}.release-copy ul{padding-left:12px}.release-copy li{padding-left:2px;margin-bottom:13px}.release-copy li strong{font-size:11px}.release-copy li p{font-size:11px;line-height:1.9}.faq-tools{flex-wrap:wrap;gap:6px 14px;margin-bottom:19px}.faq-search{width:100%;padding:9px 13px}.faq-search input{font-size:11px;min-height:27px}.faq-tools>p{font-size:10px}.faq-expand{font-size:11px;padding:5px 3px;min-height:38px}.faq-list{grid-template-columns:1fr}.faq-item>summary{min-height:72px;font-size:12px;padding:16px 0;gap:10px}.faq-item>div{font-size:11px;padding-left:27px;padding-right:12px}.final-inner{padding-top:40px;padding-bottom:42px;align-items:flex-start;flex-direction:column;gap:24px}.final-inner h2{font-size:29px}.final-inner p:not(.eyebrow){font-size:11px;max-width:320px;line-height:1.9}.final-inner>.button{min-width:165px;min-height:50px}.cta-star{right:-25px;top:33px;font-size:250px}.footer-top{grid-template-columns:1fr;gap:21px;padding-top:35px;padding-bottom:25px}.footer-brand{font-size:19px}.footer-top p{font-size:10px;margin-top:10px}.footer-top>div:first-child>span{font-size:8px}.footer-top nav{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:8px;padding-top:0;font-size:10px}.footer-sources{display:grid;grid-template-columns:repeat(2,auto);gap:3px 17px;font-size:9px;justify-content:start}.footer-sources>span{grid-column:1/-1;margin-bottom:3px;font-size:8px}.footer-bottom{align-items:flex-start;gap:20px;padding:15px 0 22px;font-size:8px;line-height:1.9}.footer-bottom p{max-width:260px}.footer-bottom>a{min-height:30px}.update-prompt{bottom:12px;font-size:10px;gap:8px;padding:8px 10px}.update-prompt button{font-size:10px;padding:8px 10px}.update-prompt #dismiss-update{font-size:20px;padding:4px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.brand-title{font-size:14px}.brand-avatar{width:32px;height:32px}.brand-sub{font-size:7px}.menu-toggle{font-size:11px;padding:7px 8px}.hero-copy h1{font-size:41px;letter-spacing:0}.hero-subtitle{font-size:18px;letter-spacing:1px}.hero-actions{gap:15px}.hero-actions>.button{padding:11px 22px;gap:16px}.hero-actions .text-link{font-size:11px}.hero-bottom>span{letter-spacing:0;gap:6px}.hero-art-note{right:-19px}.gameplay-gallery figcaption{padding:20px 13px}.gameplay-gallery h3{font-size:12px}.gameplay-gallery figcaption p{font-size:10px}.route-sidebar nav{gap:0 17px}.feature-grid{gap:27px 18px}.centered h2{font-size:23px}.release{grid-template-columns:84px 1fr;gap:16px}}
/* Legible prose and balanced headings also serve smaller screens and zoom. */
:root{--gold:#89672f}
h2{text-wrap:balance}
.intro-copy,.route-body{font-size:14px;line-height:1.95}
.content-card p,.prep-card p,.feature-card p,.release-copy li p,.faq-item>div{font-size:13px;line-height:1.95}
.faq-item>summary{font-size:13px}
.step,.route-number,.card-index,.visual-mark{color:var(--gold)}
@media(max-width:980px){.heading-aside br{display:revert}}
@media(max-width:700px){.intro-copy,.route-body,.content-card p,.prep-card p,.feature-card p,.release-copy li p{font-size:13px}.faq-item>summary{font-size:13px}.faq-item>div,.advanced-detail>div{font-size:12px}.character-strip p:not(.eyebrow){font-size:12px}.guide-notice{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.hero-art,.hero-bottom,.hero-actions,.faq-tools,.final-cta,.update-prompt,.skip-link{display:none!important}body{background:#fff;color:#000;font-size:11pt}.container{width:100%}.section{padding:25px 0}.hero-layout,.intro-grid,.route-layout,.release{display:block;min-height:0}.hero-layout{padding:20px 0}.hero-copy{max-width:none}h1{font-size:30pt}h2{font-size:20pt}.heading-aside{display:none}.route-body,.faq-item>div{display:block!important}.gameplay-gallery,.feature-grid,.faq-list{display:block}article,figure,details{break-inside:avoid}.site-footer{background:#fff}}
/* Preserve every edge of source artwork in all viewport layouts. */
.brand-avatar{object-fit:contain;object-position:center;border-radius:8px;background:#fff}
.portrait-frame{max-width:560px;aspect-ratio:1372 / 950;border-radius:10px;background:#fff}
.portrait-frame::before{border-radius:10px}
.hero-portrait{display:block;width:100%;height:auto;object-fit:contain;border-radius:inherit}
/* Slightly enlarge supporting copy for easier reading across the page. */
body{font-size:16px}
.main-nav>a:not(.button){font-size:14px}
.hero-description,.intro-copy,.route-body{font-size:15px}
.heading-aside,.guide-notice,.route-sidebar nav a,.advanced-detail>summary,.advanced-detail>div,.faq-item>summary,.faq-item>div{font-size:14px}
.content-card p,.prep-card p,.feature-card p,.release-copy li p{font-size:14px}
.footer-top p,.footer-top nav,.footer-sources{font-size:12px}
@media(max-width:1160px){.main-nav>a:not(.button){font-size:13px}}
@media(max-width:980px){.hero-description,.intro-copy,.route-body{font-size:14px}.heading-aside{font-size:12px}.guide-notice{font-size:12px}.route-sidebar nav a,.advanced-detail>summary,.advanced-detail>div,.faq-item>summary,.faq-item>div{font-size:13px}.content-card p,.prep-card p,.feature-card p,.release-copy li p{font-size:13px}.footer-top p,.footer-top nav,.footer-sources{font-size:12px}}
@media(max-width:700px){.main-nav>a:not(.button){font-size:14px}.hero-description,.intro-copy,.route-body{font-size:14px}.heading-aside,.guide-notice,.route-sidebar nav a,.advanced-detail>summary,.advanced-detail>div,.faq-item>summary,.faq-item>div{font-size:13px}.content-card p,.prep-card p,.feature-card p,.release-copy li p{font-size:13px}.footer-top p,.footer-top nav,.footer-sources{font-size:11px}}
/* Unified corner system: panels 16px, imagery 12px, labels 4px, controls pill-shaped. */
:root{--radius:16px}
.game-specs,.hero-art-note,.town-frame,.command-frame,.gameplay-gallery figure,.character-strip,.guide-notice,.prep-card,.route-sidebar,.advanced-guides,.version-card,.faq-search,.faq-empty,.update-prompt,.lightbox-shell,.lightbox-caption{border-radius:16px}
.portrait-frame,.portrait-frame::before,.brand-avatar,.town-image,.command-image,.gallery-image,.gameplay-gallery .command-image,.character-portrait,.character-image,.screenshot-card,.lightbox-image,img{border-radius:12px}
.tag,.image-badge,.screenshot-count,.hero-tags span{border-radius:4px}
button,.button,.menu-toggle,.skip-link,.icon-button,.update-prompt button{border-radius:999px}
.friend-links-section{padding:0 0 40px;background:#f4ead7}
.friend-links-panel{padding:24px 30px 26px;background:#f4ead7;border:1px solid #ece0c9;border-radius:16px;text-align:center}
.friend-links-panel h2{margin:0 0 12px;color:var(--ink);font-family:var(--sans);font-size:24px;line-height:1.4;letter-spacing:0;font-weight:600}
.friend-links-list{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 12px}
.friend-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 20px;border:1px solid #d9c7a1;border-radius:999px;background:#fcfaf5;color:#665238;font-size:14px;line-height:1.5;transition:background .2s,color .2s,border-color .2s}
.friend-link:hover{border-color:var(--teal);background:var(--teal);color:#fff}
@media(max-width:700px){.friend-links-section{padding-bottom:26px}.friend-links-panel{padding:21px 16px 22px}.friend-links-panel h2{font-size:21px}.friend-links-list{gap:9px}.friend-link{padding:8px 15px;font-size:13px}}
/* Hover-capable pointers receive a consistent lift and accent glow. */
@media(hover:hover) and (pointer:fine){
  :is(.content-card,.gameplay-gallery figure,.character-strip,.prep-card,.feature-card,.release,.version-card,.route-sidebar,.route-detail,.advanced-detail,.faq-item,.faq-empty,.faq-search,.intro-note,.town-frame,.command-frame,.portrait-frame,.character-portrait,.screenshot-card,.specs-grid>div,.button,button,.friend-link,img){transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;will-change:transform}
  :is(.content-card,.gameplay-gallery figure,.character-strip,.prep-card,.feature-card,.release,.version-card,.route-sidebar,.route-detail,.advanced-detail,.faq-item,.faq-empty,.faq-search,.intro-note,.town-frame,.command-frame,.portrait-frame,.character-portrait,.screenshot-card,.specs-grid>div,.button,button,.friend-link,img):hover{transform:translateY(-4px);box-shadow:0 12px 28px #94713730,0 0 0 1px #94713724;border-color:#947137}
  .feature-card{border-radius:16px;outline:1px solid transparent;outline-offset:5px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,outline-color .3s ease}
  .feature-card:hover{background-color:#fffdf8;outline-color:#94713780}
  :is(.button,button,.friend-link):hover{transform:translateY(-4px);box-shadow:0 10px 24px #94713740,0 0 0 1px #94713730;border-color:#947137}
  :is(.town-frame,.command-frame,.portrait-frame,.character-portrait,.gameplay-gallery figure,.screenshot-card):hover img{transition:transform .3s ease}
  img{transition:transform .3s ease}
  img:hover,.screenshot-card:hover .screenshot-image{transform:scale(1.035)}
  .main-nav>a:not(.button)::after{transition:transform .3s ease}
}
@media(hover:none){.button:hover,button:hover,.friend-link:hover,.gameplay-gallery figure:hover img,.screenshot-card:hover .screenshot-image,img:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){:is(.content-card,.gameplay-gallery figure,.character-strip,.prep-card,.feature-card,.release,.version-card,.route-sidebar,.route-detail,.advanced-guides,.faq-item,.faq-empty,.friend-links-panel,.town-frame,.command-frame,.portrait-frame,.character-portrait,.screenshot-card,.game-specs,.friend-links-section,.button,button,.friend-link,img,.main-nav>a:not(.button)::after){transition:none!important;will-change:auto!important}:is(.content-card,.gameplay-gallery figure,.character-strip,.prep-card,.feature-card,.release,.version-card,.route-sidebar,.route-detail,.advanced-guides,.faq-item,.faq-empty,.friend-links-panel,.town-frame,.command-frame,.portrait-frame,.character-portrait,.screenshot-card,.game-specs,.friend-links-section,.button,button,.friend-link,img):hover{transform:none!important;box-shadow:none!important}}
.portrait-shade,.portrait-corner,.portrait-label{display:none}
.art-side-note{top:50%;transform:translateY(-50%)}
.gameplay-gallery figure>div{height:auto;min-height:0;background:#fff}
.gameplay-gallery figure>div::after{display:none}
.gallery-image,.gameplay-gallery .command-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center;border-radius:0}
.gameplay-gallery figure:hover img{transform:none}
.character-portrait{width:min(250px,32%);height:auto;aspect-ratio:507 / 309;border-radius:8px;flex-shrink:0;background:#1e1725}
.character-image{width:100%;height:auto;aspect-ratio:507 / 309;object-fit:contain;border-radius:5px}
@media(max-width:700px){.hero-art{width:min(100%,480px);padding:6px 10px;margin-top:10px}.portrait-frame,.portrait-frame::before{border-radius:8px}.character-portrait{width:90px;max-width:90px;height:auto;aspect-ratio:507 / 309}.character-image{aspect-ratio:507 / 309}.gameplay-gallery figure{display:block;min-height:0}.gameplay-gallery figure>div{height:auto;min-height:0}.gallery-image,.gameplay-gallery .command-image{height:auto}}
/* Screenshot thumbnails are the sole intentional 16:9 crops; the lightbox shows the complete image. */
.main-nav>a:not(.button){gap:7px}
.nav-icon{width:16px;height:16px;color:var(--gold);stroke-width:1.55}
.button-icon{width:19px;height:19px}
.faq-expand,.update-prompt button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.faq-expand .icon,.update-prompt .icon{width:17px;height:17px}
.footer-top nav a{display:flex;align-items:center;gap:8px;min-height:35px}
.footer-top nav .icon{width:16px;height:16px;color:var(--gold)}
.footer-bottom>a{gap:6px}
.floating-cta{position:fixed;z-index:35;right:28px;bottom:25px;min-height:52px;padding:12px 19px;gap:10px;border-radius:999px;box-shadow:0 8px 24px #064b5260}
.floating-cta:hover{transform:translateY(-3px)}
.floating-cta .icon{width:19px;height:19px}
.update-prompt:not([hidden]){bottom:90px}
.screenshot-section{background:#17191c;color:#f7f3eb}
.screenshot-section .eyebrow{color:#d5bd88}
.screenshot-section .section-heading{align-items:flex-end}
.screenshot-section .heading-aside{color:#c4c1b8}
.screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.screenshot-card{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border-radius:12px;background:#25272b;color:#fff;isolation:isolate}
.screenshot-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.screenshot-card:hover .screenshot-image,.screenshot-card:focus-visible .screenshot-image{transform:scale(1.05)}
.screenshot-card::after{content:"";position:absolute;inset:48% 0 0;z-index:1;background:linear-gradient(transparent,#111c);pointer-events:none}
.screenshot-caption{position:absolute;z-index:2;left:19px;right:19px;bottom:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;line-height:1.5;pointer-events:none}
.screenshot-count{font-size:10px;letter-spacing:1px;color:#eadab8;flex-shrink:0}
.screenshot-zoom-icon{position:absolute;z-index:2;right:15px;top:15px;width:30px;height:30px;padding:6px;color:#fff;background:#17191c91;border-radius:50%;opacity:0;transition:opacity .2s}
.screenshot-card:hover .screenshot-zoom-icon,.screenshot-card:focus-visible .screenshot-zoom-icon{opacity:1}
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:32px;border:0;background:#101113f2;color:#fff;overflow:hidden}
.lightbox::backdrop{background:#101113ef}
.lightbox-shell{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:24px;width:min(1500px,100%);height:100%;margin:auto}
.icon-button{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff12;color:#fff;transition:background .2s,transform .2s}
.icon-button:hover{background:#ffffff2b;transform:scale(1.04)}
.icon-button .icon{width:25px;height:25px}
.lightbox-close{position:absolute;right:0;top:0;z-index:2}
.lightbox-prev{grid-column:1;grid-row:1}
.lightbox-next{grid-column:3;grid-row:1}
.lightbox-figure{grid-column:2;grid-row:1;min-width:0;max-width:100%;max-height:100%;margin:auto;display:grid;justify-items:center;align-content:center;gap:18px}
.lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;border-radius:6px;box-shadow:0 20px 70px #0008}
.lightbox-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;font-size:13px;color:#f7f3eb}
.lightbox-caption span:last-child{font-size:11px;color:#d8c394;white-space:nowrap}
@media(max-width:1160px){.header-inner{position:relative;width:calc(100% - 40px)}.has-js .menu-toggle{display:flex}.site-header{height:auto;min-height:var(--header)}.has-js .header-inner{height:var(--header);flex-wrap:nowrap}.has-js .main-nav{display:none;position:absolute;top:var(--header);right:-20px;width:100vw;background:#fcfaf5;box-shadow:0 15px 25px #2c251910;border-bottom:1px solid var(--line);padding:17px 27px 24px;grid-template-columns:repeat(2,1fr);gap:6px 24px;max-height:calc(100dvh - var(--header));overflow:auto}.has-js .main-nav.is-open{display:grid}.has-js .main-nav>.button{grid-column:1/-1;margin-top:6px}.main-nav>a:not(.button){font-size:13px}.main-nav>a:not(.button)::after{display:none}}
@media(max-width:1160px){.header-inner{width:calc(100% - 40px)}.has-js .menu-toggle{display:flex}.has-js .header-inner{height:var(--header);flex-wrap:nowrap}.has-js .main-nav{display:none;position:absolute;top:var(--header);right:-20px;width:100vw;background:#fcfaf5;box-shadow:0 15px 25px #2c251910;border-bottom:1px solid var(--line);padding:17px 27px 24px;grid-template-columns:repeat(2,1fr);gap:6px 24px;max-height:calc(100dvh - var(--header));overflow:auto}.has-js .main-nav.is-open{display:grid}.has-js .main-nav>.button{grid-column:1/-1;margin-top:6px}.main-nav>a:not(.button){font-size:13px}.main-nav>a:not(.button)::after{display:none}}
@media(max-width:700px){.screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.screenshot-caption{left:11px;right:10px;bottom:9px;font-size:10px}.screenshot-count{font-size:8px}.screenshot-zoom-icon{right:8px;top:8px;width:27px;height:27px;opacity:1}.lightbox{padding:18px 10px}.lightbox-shell{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px}.icon-button{width:38px;height:38px}.lightbox-close{top:0;right:3px}.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}.lightbox-image{max-width:min(100%,calc(100vw - 112px));max-height:calc(100dvh - 130px);border-radius:4px}.lightbox-caption{font-size:11px}.floating-cta{right:14px;bottom:14px;min-height:48px;padding:10px 15px;font-size:12px}.update-prompt:not([hidden]){bottom:72px}.has-js .main-nav{right:-16px}}
@media(max-width:380px){.screenshot-grid{gap:9px}.screenshot-caption{font-size:9px;left:8px;right:7px}.lightbox-shell{grid-template-columns:34px minmax(0,1fr) 34px}.icon-button{width:32px;height:32px}.lightbox-image{max-width:calc(100vw - 88px)}}
@media(prefers-reduced-motion:reduce){.screenshot-image,.screenshot-zoom-icon,.icon-button{transition:none}}
@media(hover:none){.content-card:hover,.gameplay-gallery figure:hover,.character-strip:hover,.prep-card:hover,.feature-card:hover,.release:hover,.version-card:hover,.route-sidebar:hover,.route-detail:hover,.advanced-detail:hover,.faq-item:hover,.faq-empty:hover,.faq-search:hover,.intro-note:hover,.town-frame:hover,.command-frame:hover,.portrait-frame:hover,.character-portrait:hover,.screenshot-card:hover,.specs-grid>div:hover,.button:hover,button:hover,.friend-link:hover,img:hover,.gameplay-gallery figure:hover img,.screenshot-card:hover .screenshot-image{transform:none!important}}
@media(prefers-reduced-motion:reduce){.content-card:hover,.gameplay-gallery figure:hover,.character-strip:hover,.prep-card:hover,.feature-card:hover,.release:hover,.version-card:hover,.route-sidebar:hover,.route-detail:hover,.advanced-detail:hover,.faq-item:hover,.faq-empty:hover,.faq-search:hover,.intro-note:hover,.town-frame:hover,.command-frame:hover,.portrait-frame:hover,.character-portrait:hover,.screenshot-card:hover,.specs-grid>div:hover,.button:hover,button:hover,.friend-link:hover,img:hover,.gameplay-gallery figure:hover img,.screenshot-card:hover .screenshot-image{transform:none!important;box-shadow:none!important}.content-card,.gameplay-gallery figure,.character-strip,.prep-card,.feature-card,.release,.version-card,.route-sidebar,.route-detail,.advanced-detail,.faq-item,.faq-empty,.faq-search,.intro-note,.town-frame,.command-frame,.portrait-frame,.character-portrait,.screenshot-card,.specs-grid>div,.button,button,.friend-link,img,.main-nav>a:not(.button)::after{transition:none!important;will-change:auto!important}}
/* FAQ cards use one full-width column, with each question above its answer. */
.faq-list{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;align-items:stretch}
.faq-item{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.faq-item>summary{min-height:0;align-items:flex-start;padding:18px 22px 14px;gap:13px;font-size:15px;line-height:1.75}
.faq-number{padding-top:2px;font-size:11px}
.faq-item .details-plus{margin-top:3px}
.faq-item>div{padding:13px 22px 20px 54px;border-top:1px solid #eee7db;font-size:14px;line-height:1.9}
@media(max-width:700px){.faq-list{gap:11px}.faq-item>summary{padding:16px 15px 12px;gap:10px;font-size:14px}.faq-item>div{padding:11px 15px 17px 42px;font-size:13px}}
