@charset "UTF-8";
:root{--ink:#19382e;--muted:#617168;--paper:#f8f6ee;--line:#d5ddd0;--green:#285741;--lime:#dceb95;--orange:#df713e;--white:#fff;--max:1240px;font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;line-height:1.9}a{color:inherit;text-underline-offset:.3em}button{font:inherit}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}::selection{background:var(--lime)}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px 22px;z-index:20}.skip:focus{top:12px}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:900;letter-spacing:.08em;font-size:22px}.brand-symbol{width:38px;height:38px;position:relative;display:grid;place-items:center;background:var(--green);color:var(--lime);border-radius:50%;font-size:22px}.brand small{display:block;font-size:9px;letter-spacing:.32em;line-height:1.2}.nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:700}.nav a{text-decoration:none;position:relative}.nav a:hover:after,.nav a[aria-current=page]:after{content:"";position:absolute;bottom:-10px;left:0;right:0;height:3px;background:var(--orange)}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:800;display:flex;gap:10px;align-items:center;margin:0 0 20px}.eyebrow:before{content:"";width:7px;height:7px;background:var(--orange);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.35;letter-spacing:.03em}h1{font-size:clamp(38px,4.6vw,64px);font-weight:800}h2{font-size:clamp(28px,3vw,42px)}h3{line-height:1.5;font-size:21px}.lead{font-size:15px;line-height:2.1;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:15px 23px;min-height:54px;background:var(--green);color:#fff;text-decoration:none;font-size:13px;font-weight:700;border:1px solid var(--green);border-radius:4px;transition:background .15s,transform .15s}.button:hover{background:#143c29;transform:translateY(-2px)}.button-light{background:transparent;color:var(--ink);border-color:var(--line)}.button-light:hover{background:#e9eddf}.button-lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.button-lime:hover{background:#e9f5b9}.arrow{font-size:20px;line-height:1}.actions{display:flex;gap:12px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.12em;border:1px solid currentColor;padding:3px 12px;border-radius:50px}.status:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.home-hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:650px;gap:60px;align-items:center;padding-top:52px;padding-bottom:68px}.home-hero h1{margin-bottom:24px}.home-hero .lead{max-width:430px}.home-hero .actions{margin-top:35px}.hero-stamp{font-family:Georgia,serif;font-style:italic;font-size:20px;margin-top:38px;color:#879382}.character-quilt{height:470px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;position:relative}.quilt-piece{isolation:isolate;overflow:hidden;border-radius:70px 70px 10px 10px;background:#e7e9d8;position:relative;align-self:stretch;margin-top:38px}.quilt-piece:nth-child(2){margin-top:0;margin-bottom:38px;background:#e4eadc}.quilt-piece:nth-child(3){margin-top:76px;background:#f2e0c9}.quilt-piece:nth-child(4){margin-top:0;margin-bottom:38px;background:#ebdfce}.quilt-piece:nth-child(5){background:#dde3d3}.quilt-piece img{height:100%;width:100%;object-fit:cover;object-position:50% 5%;mix-blend-mode:multiply;max-width:none}.quilt-piece span{position:absolute;bottom:18px;left:0;right:0;text-align:center;writing-mode:vertical-rl;width:max-content;margin:auto;font-size:11px;letter-spacing:.22em;font-weight:800;background:#f8f6eedb;padding:8px 4px;border-radius:20px}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px}.ticker strong{font-size:10px;letter-spacing:.2em}.ticker p{margin:0;flex:1}.ticker time{font-family:Georgia,serif;color:var(--muted)}.section{padding:96px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading p{max-width:350px;margin:0;color:var(--muted);font-size:13px}.game-feature{border:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;background:#fff;overflow:hidden}.game-feature-art{height:460px;position:relative;background:#e6ecd9;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}.game-feature-art img{height:125%;width:auto;max-width:none;mix-blend-mode:multiply}.game-feature-art .vertical-note{position:absolute;left:26px;top:28px;writing-mode:vertical-rl;letter-spacing:.3em;font-size:14px;font-weight:700}.game-feature-copy{padding:50px;align-self:center}.game-feature-copy h3{font-size:40px;margin:15px 0 10px}.game-feature-copy .genre{font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:25px}.game-feature-copy p{font-size:14px}.game-feature-copy .button{margin-top:15px}.soft{background:#eef1e5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.two-col p{font-size:14px;color:var(--muted)}.simple-list{padding:0;margin:0;list-style:none}.simple-list li{border-bottom:1px solid var(--line);padding:22px 0;display:flex;align-items:baseline;gap:24px}.simple-list strong{font-size:16px}.simple-list span{font-size:12px;color:var(--muted)}.follow-block{display:flex;gap:80px;justify-content:space-between;align-items:center}.follow-block h2{margin-bottom:18px}.follow-block .lead{margin-bottom:0;max-width:630px}.follow-labels{display:flex;flex-wrap:wrap;gap:10px}.follow-labels span,.follow-labels a{background:#edf0e5;border:1px solid var(--line);padding:14px 28px;border-radius:3px;white-space:nowrap;font-weight:700;font-size:14px}.follow-labels small{display:block;font-size:10px;color:var(--muted);font-weight:500}.footer{border-top:1px solid var(--line);padding:36px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer .brand{font-size:16px}.footer-links{display:flex;gap:22px;font-size:12px}.copyright{font-size:10px;color:var(--muted)}.breadcrumb{display:flex;gap:9px;list-style:none;padding:24px 0;margin:0;font-size:10px;color:var(--muted);flex-wrap:wrap}.breadcrumb li+li:before{content:"/";margin-right:9px}.game-hero{padding:25px 0 55px;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.game-hero .hero-title{font-size:clamp(60px,6.3vw,92px);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;line-height:1.25;margin:22px 0 12px;letter-spacing:.04em;white-space:nowrap}.roman-title{letter-spacing:.24em;font-size:10px;color:var(--muted);margin-bottom:30px}.hero-tagline{font-size:24px;font-weight:700;letter-spacing:.04em}.game-hero .character-quilt{height:525px}.game-subnav{background:var(--green);color:#fff;display:flex;justify-content:center;gap:80px;align-items:center;padding:19px 22px;font-size:12px;letter-spacing:.05em}.game-subnav a{text-decoration:none}.game-subnav a:hover{text-decoration:underline}.story-block{max-width:770px;margin:auto;text-align:center}.story-block .eyebrow{justify-content:center}.story-block h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:36px;line-height:1.7}.story-block p{font-size:15px;line-height:2.3;color:var(--muted)}.story-block .story-tail{color:var(--ink);font-weight:700;margin-top:30px}.numbered-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.numbered-item{border-top:1px solid var(--ink);padding-top:22px}.numbered-item .number{font-family:Georgia,serif;font-size:42px;color:#88a07d;line-height:1.4}.numbered-item h3{margin:16px 0}.numbered-item p{font-size:13px;color:var(--muted)}.roster-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.mini-character{text-decoration:none}.mini-portrait{height:280px;background:#edf0e5;overflow:hidden;border-bottom:3px solid var(--accent,#7c9672)}.mini-portrait img{height:165%;width:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply;transition:transform .3s}.mini-character:hover img{transform:scale(1.025)}.mini-character small{font-size:10px;color:var(--muted);display:block;margin-top:17px}.mini-character strong{font-size:17px}.center-action{text-align:center;margin-top:36px}.game-info{display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.info-grid{display:grid;grid-template-columns:100px 1fr;font-size:13px;margin:0}.info-grid dt,.info-grid dd{border-bottom:1px solid var(--line);padding:17px 0;margin:0}.info-grid dt{color:var(--muted)}.info-grid dd{padding-left:25px}.platforms{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.platforms span{font-family:Georgia,serif;font-size:18px;border:1px solid var(--line);padding:10px 16px}.note{font-size:11px;color:var(--muted);line-height:1.9}.page-title{padding:22px 0 44px}.page-title h1{margin-bottom:14px}.page-title .lead{margin-bottom:0}.character-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:40px}.character-tab{border:1px solid var(--line);background:transparent;display:flex;flex-direction:column;align-items:stretch;padding:0;cursor:pointer;text-align:left;position:relative}.character-tab .tab-photo{height:135px;overflow:hidden;background:#eef0e7;display:block}.character-tab img{width:100%;height:270%;object-fit:cover;object-position:50% 0%;mix-blend-mode:multiply;transition:transform .2s}.character-tab:hover img{transform:scale(1.025)}.character-tab .tab-name{font-size:13px;font-weight:700;padding:12px 14px}.character-tab[aria-selected=true]{border-color:var(--green);box-shadow:inset 0 -3px var(--green)}.character-tab[aria-selected=true] .tab-name{background:var(--green);color:#fff}.profile{display:grid;grid-template-columns:1.04fr 1fr;gap:75px;align-items:center;border-top:1px solid var(--line);padding:55px 0}.profile[hidden]{display:none}.profile-visual{height:640px;position:relative;background:var(--portrait-bg,#ebeee2);border-radius:200px 200px 0 0;overflow:hidden}.profile-visual img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.profile-visual .portrait-label{position:absolute;left:20px;bottom:20px;font-size:10px;letter-spacing:.1em;padding:4px 12px;background:#fff;border-radius:30px}.profile .eyebrow{margin-bottom:12px}.profile h2{font-size:42px;margin-bottom:4px}.reading{color:var(--muted);font-size:11px;letter-spacing:.16em;margin-bottom:25px}.profile-tagline{font-size:24px;font-weight:700;line-height:1.65;margin-bottom:22px}.profile-description{font-size:14px;color:var(--muted);line-height:2.1}.character-facts{display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:25px 0;list-style:none}.character-facts li{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:4px 15px}.outfit-controls{display:flex;gap:8px;margin-top:30px}.outfit-controls button{border:1px solid var(--line);background:transparent;padding:8px 20px;font-size:12px;border-radius:3px;cursor:pointer}.outfit-controls button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.support-card .support-portrait{background:#e6ebdf;aspect-ratio:4/5;overflow:hidden}.support-card img{height:155%;width:100%;object-fit:cover;object-position:top;mix-blend-mode:multiply}.support-card h3{font-size:17px;margin:20px 0 8px}.support-card p{font-size:12px;color:var(--muted)}.support-card.cat img{height:100%;object-fit:contain}.character-end{background:var(--green);color:#fff;padding:60px 0}.character-end .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.character-end h2{font-size:26px;margin:0}.error-page{min-height:60vh;display:grid;place-items:center;text-align:center;padding:90px 24px}.error-number{font:italic 100px Georgia,serif;color:#99ad82;line-height:1}.error-page h1{font-size:28px;margin:20px 0}.review-banner{background:#fff3cb;color:#51431c;text-align:center;font-size:11px;padding:7px 16px;border-bottom:1px solid #dec37e}.review-banner strong{margin-right:10px}.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}
@media(min-width:1500px){.home-hero{min-height:710px}.character-quilt{height:520px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header-inner{height:84px}.nav{gap:22px}.home-hero{gap:30px;min-height:580px}.home-hero h1{font-size:40px}.character-quilt{height:390px;gap:5px}.game-feature-copy{padding:35px}.two-col{gap:50px}.game-hero{gap:30px}.game-hero .hero-title{font-size:60px}.game-hero .character-quilt{height:450px}.game-subnav{gap:50px}.profile{gap:40px}.profile-visual{height:560px}.mini-portrait{height:210px}.character-tab .tab-photo{height:110px}.game-info{gap:40px}.follow-block{gap:35px}.footer-links{gap:15px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{height:76px;gap:10px}.brand{font-size:18px;gap:8px}.brand-symbol{width:30px;height:30px;font-size:18px}.brand small{font-size:8px}.nav{gap:16px;font-size:11px}.nav .desktop-nav{display:none}.home-hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:42px;gap:25px}.home-hero h1{font-size:40px;margin-bottom:18px}.home-hero .lead{font-size:13px}.home-hero .actions{margin-top:25px}.hero-stamp{display:none}.character-quilt{height:325px;gap:6px}.quilt-piece{margin-top:25px;border-radius:50px 50px 6px 6px}.quilt-piece:nth-child(2),.quilt-piece:nth-child(4){margin-bottom:25px}.quilt-piece:nth-child(3){margin-top:45px}.quilt-piece span{font-size:9px;bottom:12px}.ticker{display:grid;grid-template-columns:1fr auto;gap:7px}.ticker p{font-size:11px;grid-column:1 / -1;grid-row:2}.ticker time{font-size:11px}.section{padding:58px 0}.section-heading{display:block;margin-bottom:26px}.section-heading p{margin-top:18px}.game-feature{grid-template-columns:1fr}.game-feature-art{height:310px}.game-feature-copy{padding:28px}.game-feature-copy h3{font-size:34px}.game-feature-copy .genre{margin-bottom:18px}.game-feature-copy .button{width:100%}.two-col,.game-info{grid-template-columns:1fr;gap:20px}.two-col h2{font-size:30px}.simple-list li{gap:20px;padding:18px 0}.follow-block{display:block}.follow-labels{margin-top:24px}.follow-labels span,.follow-labels a{padding:10px 22px}.footer-inner{flex-wrap:wrap}.footer .brand{flex-basis:100%}.footer-links{font-size:11px;gap:20px}.copyright{margin-top:10px;flex-basis:100%}.breadcrumb{padding:20px 0;font-size:9px}.game-hero{display:flex;flex-direction:column;gap:25px;padding-top:12px;padding-bottom:32px;align-items:stretch}.game-hero .hero-title{font-size:clamp(42px,15.5vw,66px)}.game-hero .character-quilt{height:325px}.roman-title{margin-bottom:18px}.hero-tagline{font-size:20px}.game-hero .lead{font-size:13px}.game-subnav{gap:0;justify-content:space-around;padding:17px 10px;font-size:11px}.story-block h2{font-size:27px}.story-block p{font-size:13px}.numbered-grid{grid-template-columns:1fr;gap:25px}.numbered-item{display:grid;grid-template-columns:48px 1fr;column-gap:15px}.numbered-item .number{grid-row:1/3;font-size:32px}.numbered-item h3{font-size:18px;margin:3px 0 12px}.numbered-item p{margin-bottom:0}.roster-preview{grid-template-columns:repeat(3,1fr);gap:22px 10px}.mini-portrait{height:180px}.mini-character strong{font-size:14px}.mini-character small{font-size:9px;margin-top:10px}.game-info h2{margin-bottom:12px}.info-grid{grid-template-columns:78px 1fr;font-size:12px}.page-title{padding:18px 0 25px}.page-title h1{font-size:34px}.page-title .lead{font-size:12px}.character-picker{gap:5px;margin-bottom:0}.character-tab .tab-photo{height:80px}.character-tab .tab-name{font-size:10px;padding:9px 3px;text-align:center;white-space:nowrap}.character-tab img{height:220%}.profile{grid-template-columns:1fr;padding:25px 0 40px;gap:28px}.profile-visual{height:440px;width:100%;max-width:420px;margin:auto;border-radius:160px 160px 0 0}.profile h2{font-size:34px}.profile-tagline{font-size:21px;margin-bottom:16px}.profile-description{font-size:13px}.reading{margin-bottom:18px}.outfit-controls{margin-top:20px}.support-grid{grid-template-columns:repeat(2,1fr);gap:28px 15px}.support-card h3{font-size:15px;margin-top:15px}.support-card p{font-size:11px}.character-end .wrap{display:block}.character-end h2{font-size:24px;margin-bottom:24px}.review-banner{font-size:10px}.review-banner strong{display:block}.button{gap:22px;padding:13px 20px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.footer-links{flex-wrap:wrap}.footer-links a:last-child{line-height:1.7}.follow-labels a:hover{text-decoration:underline}

/* Reserve the fixed announcement height, including the mobile home-indicator area. */
:root{--release-strip-height:60px;--release-strip-space:calc(var(--release-strip-height) + env(safe-area-inset-bottom,0px))}
html{scroll-padding-bottom:calc(var(--release-strip-space) + 20px)}
body{padding-bottom:var(--release-strip-space)}
.release-strip{position:fixed;inset:auto 0 0;z-index:15;height:var(--release-strip-space);padding:0 max(16px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(16px,env(safe-area-inset-left,0px));background:#111;color:#fff;box-shadow:0 -1px 0 #ffffff14}
.release-strip-content{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;margin:0;font-size:16px;font-weight:700;letter-spacing:.06em;line-height:1.5;text-align:center;text-decoration:none}
a.release-strip-content:hover{text-decoration:underline}
a.release-strip-content:focus-visible{outline-offset:-5px}
@media(max-width:700px){:root{--release-strip-height:56px}.release-strip-content{font-size:14px;letter-spacing:.04em}}

/* AI disclosure is present in the page content and reachable from every footer. */
.ai-policy{margin-top:30px}.ai-policy h3{font-size:17px;margin-bottom:10px}.ai-policy p{margin-bottom:0}.footer-note{font-size:11px;color:var(--muted);margin-top:20px;margin-bottom:0}.footer-note a{display:inline-block;margin-left:12px}.character-ai-note{margin:14px 0 0}

/* Consent stays above the release strip; both choices have equal emphasis. */
.analytics-consent{position:fixed;right:20px;bottom:calc(var(--release-strip-space) + 16px);z-index:16;width:min(420px,calc(100% - 40px));max-height:calc(100vh - var(--release-strip-space) - 32px);max-height:calc(100dvh - var(--release-strip-space) - 32px);overflow:auto;padding:24px;background:var(--paper);border:1px solid var(--green);border-radius:8px;box-shadow:0 8px 32px #19382e24}
.analytics-consent[hidden]{display:none}
.analytics-consent h2{font-size:18px;margin-bottom:12px}
.analytics-consent p{font-size:12px;line-height:1.9;margin-bottom:12px}
.analytics-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analytics-choices button{min-height:46px;border:1px solid var(--green);border-radius:4px;padding:10px 12px;background:var(--paper);font-size:13px;font-weight:700;cursor:pointer}
.analytics-choices button:hover{background:var(--lime)}
.analytics-choices button[aria-pressed=true]{background:var(--green);color:#fff}
.privacy-page{max-width:820px;padding-bottom:72px}
.privacy-page h1{font-size:clamp(28px,4vw,42px);overflow-wrap:anywhere}
.privacy-section{border-top:1px solid var(--line);padding-top:30px;margin-bottom:32px}
.privacy-section h2{font-size:22px;margin-bottom:16px}
.privacy-section p{font-size:14px;overflow-wrap:anywhere}
.privacy-section .note{font-size:11px}
.analytics-settings{scroll-margin-top:24px}
.analytics-settings .analytics-choices{max-width:380px}
.analytics-status{padding:14px 16px;background:#eef1e5;border-radius:4px}
@media(max-width:700px){.analytics-consent{right:12px;bottom:calc(var(--release-strip-space) + 12px);width:calc(100% - 24px);padding:18px}.analytics-choices{gap:10px}.privacy-page .page-title{padding-bottom:30px}.privacy-section h2{font-size:20px}}
