@charset "UTF-8";
:root{--bg:#fffafc;--bg-deep:#f9dce7;--surface:#fffafbd9;--surface-light:#fffefe;--line:rgba(146,67,99,.21);--text:#603445;--muted:#795365;--pink:#a52c65;--peach:#77384f;--accent:#c1267e;--violet:#783ac5;--max:1240px;--radius:16px;--header:88px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}body::before{content:"";position:absolute;inset:0 0 auto;height:900px;pointer-events:none;background:radial-gradient(ellipse at 76% 25%,#79405730,transparent 55%),radial-gradient(ellipse at 10% 45%,#78419a17,transparent 50%);z-index:-1}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}img{display:block;max-width:100%;height:auto}figure,p,dl,dd{margin:0}h1,h2,h3{font-weight:650;line-height:1.4;margin:0;letter-spacing:.015em}h2{font-size:clamp(26px,2.7vw,36px)}h3{font-size:19px}p{color:var(--muted)}[hidden]{display:none!important}::selection{background:#a6537b;color:white}:focus-visible{outline:3px solid var(--peach);outline-offset:5px;border-radius:4px}.shell{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding-top:100px;padding-bottom:100px;scroll-margin-top:24px}.section-tint{background:linear-gradient(110deg,#351a2b88,#2c152380);border-block:1px solid var(--line)}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.sr-only{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;top:10px;left:10px;transform:translateY(-150%);padding:12px 22px;background:var(--peach);color:var(--bg);z-index:200}.skip-link:focus{transform:translateY(0)}
.site-header{height:var(--header);position:sticky;top:0;z-index:50;background:#28121ff2;border-bottom:1px solid var(--line)}.header-inner{width:min(1380px,calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:18px;font-weight:650;letter-spacing:.02em}.brand small{display:block;color:#bd9dac;font-size:8px;letter-spacing:.2em;font-weight:400;line-height:1.6;margin-top:3px}.brand-mark{width:38px;height:42px;border:1px solid #d19cb65c;border-radius:13px 13px 13px 3px;display:grid;place-items:center;color:var(--pink);background:#eaa3c10a}.brand-mark .icon{width:26px;height:26px}.site-header nav{display:flex;align-items:center;gap:24px;font-size:13px;color:var(--muted)}.site-header nav>a:not(.button){padding:29px 0;position:relative}.site-header nav>a:not(.button)::after{position:absolute;bottom:19px;left:50%;width:4px;height:4px;content:"";background:var(--pink);border-radius:50%;opacity:0;transition:opacity .2s}.site-header nav>a:hover,.site-header nav>a.active{color:var(--pink)}.site-header nav>a.active::after{opacity:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:54px;padding:13px 25px;border-radius:7px;font-size:14px;font-weight:600;line-height:1.6;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(115deg,#f0b5ca,#d09de1);color:#321a2b;box-shadow:0 8px 30px #ba618324;border:1px solid #f7d2e0}.button-primary:hover{background:linear-gradient(115deg,#ffd2dd,#dfb6ef);box-shadow:0 8px 30px #ba618347}.button-quiet{border:1px solid #b07a9447;color:#efc4d5;background:#ffffff03}.button-quiet:hover{background:#ffffff08}.site-header .nav-cta{min-height:40px;padding:9px 17px;font-size:12px;gap:14px}.nav-cta .icon{width:17px;height:17px}.menu-toggle{border:1px solid var(--line);border-radius:8px;width:44px;height:44px;background:var(--surface);padding:11px;flex:none}.menu-toggle>span:not(.sr-only){height:1px;width:100%;background:var(--pink);display:block;margin:5px 0}.js .menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;min-height:740px;align-items:center;padding-top:62px;padding-bottom:70px;overflow:clip}.eyebrow{font-size:10px;letter-spacing:.2em;display:flex;align-items:center;gap:12px;color:var(--pink);font-weight:550}.eyebrow>span:not(.live-dot){border:1px solid var(--line);padding:2px 7px;font-size:10px;letter-spacing:.08em;border-radius:3px}.live-dot{width:6px;height:6px;background:var(--pink);border-radius:50%;box-shadow:0 0 0 5px #efb5cc12}.hero-prelude{font-size:13px;letter-spacing:.12em;color:#c7a7b7;margin:26px 0 13px}.hero h1{font-size:clamp(38px,4.2vw,60px);line-height:1.25;font-weight:750;letter-spacing:.045em}.hero h1 span{display:block;background:linear-gradient(100deg,var(--peach),#edb8dc 58%,#c6abf0);color:transparent;background-clip:text}.hero-poem{font-size:24px;line-height:1.65;letter-spacing:.11em;margin-top:22px;color:#f4d7e4;font-weight:350}.hero-description{font-size:14px;line-height:2;max-width:405px;margin-top:20px}.hero-actions{display:flex;gap:14px;margin-top:29px}.hero-tags{display:flex;align-items:center;margin-top:25px;font-size:11px;color:#bfa2b2;gap:0}.hero-tags span+span::before{content:"/";padding:0 16px;color:#795568}.hero-art{position:relative;isolation:isolate;max-width:500px;width:100%;justify-self:end;padding:28px 28px 28px 0}.portrait-frame{height:490px;border-radius:180px 180px 16px 16px;overflow:hidden;position:relative;border:1px solid #e4b0c665;box-shadow:0 20px 60px #10090f70;background:var(--surface)}.hero-portrait{width:100%;height:100%;object-fit:contain;object-position:51% 35%}.portrait-shade{position:absolute;inset:0;background:linear-gradient(0deg,#301323eb,transparent 33%),linear-gradient(90deg,#6e365125,transparent 45%)}.portrait-caption{position:absolute;bottom:28px;left:27px;right:20px}.portrait-caption>span{font-size:9px;letter-spacing:.22em;color:#edbdce;display:block;margin-bottom:9px}.portrait-caption strong{font-size:14px;letter-spacing:.06em;font-weight:500}.orbit{position:absolute;z-index:-1;border:1px solid #c38da83d;border-radius:50%;pointer-events:none}.orbit-one{width:110%;height:74%;left:-9%;top:9%;transform:rotate(-36deg)}.orbit-two{width:105%;height:95%;left:-7%;top:5%;border-style:dashed;border-color:#e1b1c417;transform:rotate(25deg)}.hero-star{position:absolute;color:var(--peach);font-size:52px;z-index:2;text-shadow:0 0 26px #ed90bd55}.star-one{right:2px;top:55px}.star-two{left:-28px;bottom:64px;font-size:40px;color:#baa0df}.art-label{position:absolute;z-index:2;top:11px;left:23px;font-size:9px;letter-spacing:.2em;background:var(--bg);padding:0 10px;color:#f5b8ce}.art-label span{display:block;font-size:10px;letter-spacing:.08em;margin-top:3px;color:#c0a4b4}.floating-note{display:flex;align-items:center;gap:13px;position:absolute;right:-3px;bottom:4px;background:#442638f2;border:1px solid #be8ba54f;padding:15px 22px;box-shadow:0 14px 35px #0b060e40;border-radius:8px;z-index:3;color:var(--pink)}.floating-note>span{font-size:11px;color:#ecd3df}.floating-note small{font-size:9px;display:block;color:#bc9bac;letter-spacing:.06em}.vertical-type{position:absolute;right:-9px;top:36%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.27em;color:#b38c9e}.facts-band{background:#321a2880;border-block:1px solid var(--line)}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding-block:28px}.facts>div{text-align:center;border-right:1px solid var(--line)}.facts>div:last-child{border:0}.facts dt{font-size:11px;color:#bfa2b2;margin-bottom:4px;letter-spacing:.06em}.facts dd{font-size:30px;font-weight:350;font-family:Georgia,"Microsoft YaHei",serif;color:var(--peach);line-height:1.5}.facts dd span{font-size:11px;font-family:"Microsoft YaHei",sans-serif;color:var(--muted);margin-left:4px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-heading h2{margin-top:15px}.section-heading>p{font-size:13px;max-width:330px;line-height:1.9}.intro-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:55px}.story-visual{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#351e30;box-shadow:0 20px 50px #170d1640}.story-visual>img{width:100%;aspect-ratio:16/10;object-fit:contain}.story-visual figcaption{padding:16px 21px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.story-visual figcaption span{display:block;letter-spacing:.2em;color:var(--pink);font-size:8px;margin-bottom:3px}.small-label{font-size:10px;letter-spacing:.1em;color:var(--pink)}.story-copy h3{font-size:27px;line-height:1.55;margin:12px 0 19px}.story-copy p{font-size:13px;line-height:2;text-align:justify}.story-copy p+p{margin-top:14px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:18px;color:var(--pink);border-bottom:1px solid #bf8ca34d;padding-bottom:5px;margin-top:22px}.text-link .icon{width:17px;height:17px}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}.character-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:25px;border:1px solid var(--line);border-radius:10px;padding:27px 30px;background:linear-gradient(110deg,#e9b5d007,transparent)}.character-initial{font-family:Georgia,serif;font-size:70px;color:#e2a8c32e;line-height:1;flex:none}.character-card h3{font-size:17px;margin:5px 0 7px}.character-card p{font-size:12px;line-height:1.9}.gameplay-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.gameplay-copy article{display:flex;gap:21px;padding:23px 0;border-bottom:1px solid var(--line)}.gameplay-copy article:first-child{padding-top:0}.gameplay-copy article:last-child{border:0;padding-bottom:0}.step-num{font-family:Georgia,serif;font-size:25px;color:#d5a0b3a3;flex:none;line-height:1.5}.gameplay-copy h3{font-size:17px;margin-bottom:8px}.gameplay-copy p{font-size:12px;line-height:1.9}.interface-figure{border:1px solid #b9809e45;background:var(--bg);border-radius:var(--radius);overflow:hidden;transform:rotate(1deg);box-shadow:0 24px 45px #180b1738}.interface-figure img{width:100%;aspect-ratio:16/9;object-fit:contain}.interface-figure figcaption{font-size:11px;color:var(--muted);padding:15px 18px;display:flex;align-items:center;gap:10px}.status-dot{width:5px;height:5px;display:inline-block;background:var(--pink);border-radius:50%}.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin-top:58px;margin-bottom:22px}.gallery-heading h3{font-size:19px;margin-top:8px}.gallery-controls{display:flex;gap:9px}.gallery-controls button{border:1px solid #ca95b346;width:38px;height:38px;background:transparent;border-radius:50%;color:var(--pink);font-size:18px;line-height:1}.gallery-controls button:hover{background:#e5a1c11a}.gallery{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8f5e78 transparent;padding:0 0 15px}.gallery-card{width:calc((100% - 60px)/4);min-width:225px;flex:none;scroll-snap-align:start;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.gallery-card>img{aspect-ratio:4/4.1;width:100%;object-fit:contain;object-position:top}.gallery-card figcaption{font-size:11px;color:#d5bdca;padding:13px 15px}.gallery-card figcaption span{font-family:Georgia,serif;color:var(--pink);margin-right:10px}.caption-note{font-size:10px;color:#b39ba9;margin-top:9px}.route-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:35px;border:1px solid #c58aaa40;border-radius:var(--radius);background:linear-gradient(115deg,#66344931,#3e234322);align-items:center;margin-bottom:26px}.route-intro h3{font-size:23px;margin:10px 0 13px}.route-intro p{font-size:12px;line-height:1.9;max-width:360px}.route-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.route-flow li{position:relative;text-align:center}.route-flow li+li::before{content:"";height:1px;background:#af7c9e4d;width:calc(100% - 53px);right:calc(50% + 32px);top:22px;position:absolute}.route-flow li>span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid #d3a4bd66;background:#422538;margin:0 auto 15px;color:var(--peach);font-family:Georgia,serif;font-size:14px}.route-flow strong{display:block;font-size:13px;font-weight:550}.route-flow small{display:block;font-size:10px;color:#bda5b4;margin-top:6px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.guide-card{position:relative;border:1px solid var(--line);background:#ffffff02;border-radius:10px;padding:25px 28px 25px 62px}.guide-index{position:absolute;left:21px;top:27px;font-family:Georgia,serif;color:#cc98b38c;font-size:15px}.guide-card h3{font-size:16px;margin-bottom:10px}.guide-card p{font-size:12px;line-height:1.95}.tip{display:flex;gap:16px;padding:20px 24px;margin-top:24px;background:#bd8ed00c;border-left:2px solid #bc90d2;border-radius:0 8px 8px 0}.tip .icon{color:var(--violet);width:19px;margin-top:2px}.tip p{font-size:11px}.tip strong{color:var(--violet);font-weight:550;margin-right:10px}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:linear-gradient(140deg,#efb5cc06,transparent);border:1px solid var(--line);border-radius:12px;padding:30px}.feature-icon{height:43px;width:43px;display:grid;place-items:center;border:1px solid #bb88a43d;border-radius:11px;color:var(--pink);background:#c489ab08;margin-bottom:23px}.feature-card h3{font-size:17px;margin-bottom:11px}.feature-card p{font-size:12px;line-height:2}.specs{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding-top:42px;margin-top:42px;border-top:1px solid var(--line);align-items:center}.specs h3{font-size:24px;margin:8px 0 13px}.specs p{font-size:11px;max-width:300px}.specs dl{display:grid;grid-template-columns:repeat(2,1fr);gap:19px 35px}.specs dl div{padding-bottom:12px;border-bottom:1px solid var(--line)}.specs dt{font-size:10px;color:#b99cab;margin-bottom:5px}.specs dd{font-size:13px;color:#f1d8e5}.timeline{border-top:1px solid var(--line)}.update{display:grid;grid-template-columns:240px 1fr;gap:40px;padding:30px 0;border-bottom:1px solid var(--line)}.update-date time{font-family:Georgia,serif;font-size:23px;letter-spacing:.025em;color:var(--pink);line-height:1.5}.update-date span{display:block;font-size:10px;margin-top:5px;color:#bfa0b0}.update h3{font-size:17px;margin-bottom:10px}.update ul{margin:0;padding-left:17px;color:var(--muted);font-size:12px;line-height:2}.update li::marker{color:#b5839e}.faq-layout{display:grid;grid-template-columns:320px 1fr;gap:90px}.faq-intro h2{font-size:38px;margin-top:18px}.faq-intro p{font-size:13px;line-height:2;margin-top:20px}.faq-emblem{font-size:130px;color:#da9dc72b;font-family:Georgia,serif;line-height:1.2;margin:24px 0 0}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;position:relative;padding:21px 35px 21px 37px;font-size:14px;line-height:1.7;color:#ead8e2}.faq-list summary::-webkit-details-marker{display:none}.faq-number{position:absolute;left:0;top:23px;font-family:Georgia,serif;font-size:11px;color:#b58b9f}.faq-plus{position:absolute;right:4px;top:19px;color:var(--pink);font-size:22px;font-weight:300;transition:transform .2s}.faq-list details[open] .faq-plus{transform:rotate(45deg)}.faq-list details[open] summary{color:var(--pink)}.faq-answer{padding:0 30px 23px 37px}.faq-answer p{font-size:12px;line-height:2}.closing{text-align:center;padding-block:95px;position:relative;overflow:hidden}.closing .eyebrow{justify-content:center;font-size:9px}.closing h2{font-size:36px;line-height:1.6;margin:24px 0 15px}.closing h2 span{color:var(--pink)}.closing p{font-size:13px}.closing .button{margin-top:26px;min-width:180px}.closing-star{position:absolute;right:7%;top:15%;font-size:220px;font-family:Georgia,serif;color:#ce93af10;transform:rotate(15deg);z-index:-1}.site-footer{background:var(--bg-deep);padding:35px 0 24px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:26px;border-bottom:1px solid var(--line)}.footer-top .brand{font-size:16px}.back-top{font-size:11px;color:var(--pink)}.footer-details{padding-top:24px}.footer-details p{font-size:10px;line-height:2;color:#b39baa}.footer-bottom{display:flex;align-items:center;gap:24px;margin-top:20px;font-size:10px;color:#b39baa}.footer-bottom>span{margin-right:auto}.privacy-button{border:0;background:none;padding:0;font-size:10px;color:#bfa5b4}.privacy-note{padding-top:15px}
/* Pearl / peach light theme: a continuous page gradient and restrained glass surfaces. */
body{background:linear-gradient(180deg,#fffefe 0%,#fff9fb 10%,#fff2f6 32%,#ffeaf0 62%,#fbdce7 100%);background-color:var(--bg)}
body::before{background:radial-gradient(ellipse at 78% 36%,#f6b6d23d,transparent 55%),radial-gradient(ellipse at 15% 65%,#e3cafa24,transparent 50%)}
::selection{background:#f6bfdb;color:#603445}
:focus-visible{outline-color:var(--violet)}
.skip-link{background:#fff;color:var(--pink);box-shadow:0 4px 20px #9e507e26}
.section-tint{background:linear-gradient(110deg,#ffffff59,#fff6fa38)}
.site-header{background:#fffdfde8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 5px 25px #9e507e06}
.brand small{color:var(--muted)}
.brand-mark{border-color:#c68fa547;background:linear-gradient(135deg,#fff,#ffe4ef);box-shadow:inset 0 1px 0 #fff}
.site-header nav{color:#795365}
.site-header nav>a.button-primary:hover{color:#fff}
.button-primary{background:linear-gradient(115deg,#bf2377,#783ac5);color:#fff;border:1px solid #ffffff85;box-shadow:0 8px 23px #de399c27,0 0 16px #af57df13}
.button-primary:hover{background:linear-gradient(115deg,#a91d68,#6830b4);color:#fff;box-shadow:0 10px 28px #e2399c45,0 0 24px #a743dd27}
.button-quiet{background:#ffffff85;border-color:#bc7c984d;color:var(--peach);box-shadow:inset 0 1px 0 #fff}
.button-quiet:hover{background:#fff}
.menu-toggle{background:#fff9fccc}
.live-dot{background:#d13889;box-shadow:0 0 0 5px #ed69ad12}
.hero-prelude,.hero-tags,.facts dt{color:var(--muted)}
.hero h1 span{background:linear-gradient(100deg,#a52c65,#b02c85 58%,#783ac5);background-clip:text}
.hero-poem{color:#804259}
.hero-tags span+span::before{color:#be88a0}
.portrait-frame{border-color:#ffffffd9;box-shadow:0 22px 55px #ad607d26,0 0 0 1px #cc94ae33}
.portrait-shade{background:linear-gradient(0deg,#62344ce8,transparent 33%)}
.portrait-caption{color:#fff}
.portrait-caption>span{color:#ffe4f0}
.orbit{border-color:#c982a93d}
.orbit-two{border-color:#b18cce2e}
.hero-star{color:#c34d92;text-shadow:0 0 26px #ed90bd33}
.star-two{color:#9473ba}
.art-label{background:#fff8fb;color:var(--pink);border-radius:4px}
.art-label span{color:var(--muted)}
.floating-note{background:#fffcfee8;border-color:#ffffffed;box-shadow:0 12px 32px #b6658724;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.floating-note>span{color:#77384f}
.floating-note small,.vertical-type{color:var(--muted)}
.facts-band{background:#ffffff80}
.facts dd{color:#984064}
.story-visual{background:#ffffffa6;box-shadow:0 18px 45px #ab6b8814}
.text-link{border-bottom-color:#b778994d}
.character-card{background:linear-gradient(110deg,#ffffffa3,#fff7fa55);box-shadow:inset 0 1px 0 #ffffffb3}
.character-initial{color:#bc668c4d}
.step-num{color:#a95c7b}
.interface-figure{background:#fffafbd9;border-color:var(--line);box-shadow:0 20px 45px #a966891a}
.gallery-controls button{background:#ffffff85;border-color:#bd809b4d}
.gallery-controls button:hover{background:#fff}
.gallery{scrollbar-color:#c98ca9 #fff2f6}
.gallery-card{background:#ffffffa3;box-shadow:0 6px 16px #ac65840a}
.gallery-card figcaption,.caption-note{color:var(--muted)}
.route-panel{background:linear-gradient(115deg,#ffffffb3,#f8e9f680);border-color:var(--line)}
.route-flow li+li::before{background:#c18da84d}
.route-flow li>span{background:#ffffffcc;border-color:#c793ae66;color:var(--pink);box-shadow:0 4px 14px #a94f8210}
.route-flow small{color:var(--muted)}
.guide-card{background:#ffffff8c;box-shadow:inset 0 1px 0 #fff}
.guide-index{color:#aa587c}
.tip{background:#f3e8f780;border-left-color:#a17aca}
.feature-card{background:linear-gradient(140deg,#ffffffb3,#fff8fc59);box-shadow:inset 0 1px 0 #ffffffd9}
.feature-icon{background:#ffffffbf;border-color:#cca4b64d;color:#a52c65}
.specs dt{color:var(--muted)}
.specs dd{color:var(--text)}
.timeline{padding-inline:32px;background:#ffffff9c;border:1px solid #ffffffde;border-radius:16px;box-shadow:0 12px 35px #ac65840d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.update:last-child{border-bottom:0}
.update-date span{color:var(--muted)}
.update li::marker{color:#ad527b}
.faq-emblem{color:#ba6c9730}
.faq-list summary{color:var(--text)}
.faq-number{color:#995572}
.closing-star{color:#b76c9417}
.site-footer{background:linear-gradient(180deg,#ffffff54,#fff4f8ab)}
.footer-details p,.footer-bottom,.privacy-button{color:var(--muted)}
@media(min-width:1600px){.hero{min-height:780px}.hero-art{max-width:520px}.portrait-frame{height:520px}}
@media(max-width:1200px){.header-inner{width:calc(100% - 48px)}.site-header nav{gap:16px}.brand{font-size:16px}.hero{gap:40px}.shell{width:calc(100% - 72px)}.hero-art{padding-right:22px}.portrait-frame{height:460px}.hero h1{font-size:49px}.intro-grid{gap:35px}.gameplay-grid{gap:35px}.faq-layout{gap:45px;grid-template-columns:260px 1fr}}
@media(max-width:1100px){:root{--header:76px}.site-header nav{gap:18px;font-size:13px}.js .menu-toggle{display:block}.js .site-header nav{position:absolute;top:75px;left:0;right:0;background:#2c1625;border-bottom:1px solid var(--line);padding:20px 36px 26px;display:none;grid-template-columns:repeat(3,1fr);gap:10px}.js .menu-toggle[aria-expanded=true]+nav{display:grid}.site-header nav>a:not(.button){padding:11px 0}.site-header nav>a:not(.button)::after{display:none}.site-header .nav-cta{width:max-content;margin-top:8px}.site-header:has(.menu-toggle[hidden]){height:auto;min-height:76px}.header-inner:has(.menu-toggle[hidden]){flex-wrap:wrap;padding-block:15px}.site-header nav:has(+*){flex-wrap:wrap}.hero{min-height:660px;gap:20px}.hero h1{font-size:45px}.portrait-frame{height:425px}.hero-art{padding:26px 24px 26px 10px}.hero-description{font-size:13px}.hero-poem{font-size:21px}.hero-actions .button{padding-inline:18px;gap:20px}.floating-note{right:5px;padding:13px 16px}.feature-card{padding:25px}.faq-layout{grid-template-columns:220px 1fr;gap:35px}.intro-grid{gap:28px}.story-copy h3{font-size:23px}.section-heading h2{font-size:29px}.route-panel{grid-template-columns:1fr;gap:27px}.route-intro p{max-width:none}.route-intro h3 br{display:none}.route-flow{padding-top:8px}}
@media(max-width:800px){.shell{width:calc(100% - 44px)}.section{padding-block:65px}.hero{padding-top:45px;padding-bottom:48px;gap:20px;min-height:600px}.hero h1{font-size:36px}.hero-prelude{font-size:10px;letter-spacing:.06em;margin-top:20px}.hero-poem{font-size:18px;letter-spacing:.05em;margin-top:17px}.hero-description{font-size:12px;line-height:1.9;margin-top:16px}.hero-actions{gap:9px;margin-top:22px}.hero-actions .button{font-size:12px;gap:10px;padding:11px 15px;min-height:47px}.hero-art{padding:25px 15px 25px 0}.portrait-frame{height:385px;border-radius:140px 140px 12px 12px}.portrait-caption{left:18px;bottom:24px}.portrait-caption strong{font-size:11px}.portrait-caption>span{font-size:7px}.floating-note{bottom:3px;padding:11px 13px;gap:9px}.floating-note>span{font-size:9px}.floating-note small{font-size:7px}.floating-note .icon{width:18px}.vertical-type{right:-2px;font-size:6px}.star-one{font-size:37px;right:-3px}.star-two{font-size:30px;left:-17px}.art-label{font-size:7px}.art-label span{font-size:8px}.hero-tags{font-size:9px;flex-wrap:wrap}.hero-tags span+span::before{padding:0 9px}.section-heading{margin-bottom:30px;gap:25px}.section-heading h2{font-size:26px}.section-heading>p{font-size:11px;max-width:260px}.intro-grid,.gameplay-grid{grid-template-columns:1fr;gap:28px}.story-visual>img{aspect-ratio:16/9}.story-copy{padding-top:3px}.story-copy h3{font-size:26px}.story-copy h3 br{display:none}.character-grid{gap:15px}.character-card{padding:23px;gap:15px}.character-initial{font-size:48px}.character-card h3{font-size:15px}.character-card p{font-size:11px}.gameplay-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gameplay-copy article{display:block;border:0;padding:0}.gameplay-copy h3{font-size:15px;margin:10px 0}.gameplay-copy p{font-size:11px}.interface-figure{transform:none}.gallery-heading{margin-top:38px}.gallery-card{width:230px;min-width:230px}.features-grid{grid-template-columns:repeat(2,1fr);gap:16px}.specs{gap:25px}.specs h3{font-size:21px}.specs dl{gap:15px 20px}.specs dd{font-size:11px}.update{grid-template-columns:170px 1fr;gap:25px}.update-date time{font-size:21px}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-intro{position:relative}.faq-intro h2{font-size:30px}.faq-intro p{margin-top:10px}.faq-intro p br{display:none}.faq-emblem{position:absolute;right:15px;top:0;font-size:105px;margin:0}.faq-intro .text-link{margin-top:13px}.closing{padding-block:68px}.closing h2{font-size:31px}}
@media(max-width:600px){:root{--header:70px}html{scroll-padding-top:90px}.header-inner{width:calc(100% - 36px)}.brand{font-size:15px;gap:9px}.brand-mark{width:33px;height:37px}.brand-mark .icon{width:23px}.brand small{font-size:7px;letter-spacing:.17em}.js .site-header nav{top:69px;padding:17px 22px 24px;grid-template-columns:repeat(2,1fr)}.js .menu-toggle{width:40px;height:40px}.shell{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;gap:23px;overflow:hidden;padding-top:35px;padding-bottom:36px}.hero-copy{position:relative;z-index:3}.hero .eyebrow{font-size:9px}.hero-prelude{font-size:11px;margin:20px 0 9px}.hero h1{font-size:clamp(37px,9.5vw,52px);letter-spacing:.035em;line-height:1.25}.hero h1 span{display:inline}.hero-poem{font-size:21px;margin-top:19px}.hero-poem br{display:none}.hero-description{font-size:12px;max-width:95%;margin-top:12px}.hero-actions{margin-top:22px;gap:11px}.hero-actions .button{font-size:13px;min-height:48px;gap:22px;padding-inline:21px}.hero-tags{margin-top:17px;font-size:10px}.hero-tags span+span::before{padding-inline:13px}.hero-art{width:100%;max-width:365px;justify-self:center;padding:23px 18px 27px;margin-top:8px}.portrait-frame{height:365px;border-radius:145px 145px 13px 13px}.hero-portrait{object-position:50% 40%}.orbit-one{width:100%;left:0}.orbit-two{width:100%;left:0}.star-one{right:4px;top:45px;font-size:41px}.star-two{left:0;bottom:75px;font-size:36px}.art-label{left:37px;top:9px}.portrait-caption{left:20px}.portrait-caption strong{font-size:12px}.portrait-caption>span{font-size:8px}.floating-note{right:0;bottom:0;padding:12px 18px}.floating-note>span{font-size:10px}.floating-note small{font-size:8px}.vertical-type{right:1px;font-size:6px}.facts{grid-template-columns:repeat(2,1fr);gap:22px 0;padding-block:24px}.facts>div:nth-child(2){border:0}.facts dt{font-size:10px}.facts dd{font-size:28px}.facts dd span{font-size:10px}.section{padding-block:54px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:25px;line-height:1.55;margin-top:12px}.section-heading>p{font-size:12px;line-height:1.9;max-width:none;margin-top:14px}.eyebrow{font-size:8px;gap:9px}.eyebrow>span:not(.live-dot){font-size:9px}.story-visual{border-radius:12px}.story-visual figcaption{font-size:10px;padding:14px 16px}.story-copy h3{font-size:24px;margin-top:9px}.story-copy p{font-size:12px;line-height:2}.story-copy h3 br{display:block}.character-grid{grid-template-columns:1fr;margin-top:26px;gap:13px}.character-card{padding:23px;gap:21px}.character-initial{font-size:56px}.character-card h3{font-size:16px}.character-card p{font-size:12px}.gameplay-copy{grid-template-columns:1fr;gap:0}.gameplay-copy article{display:flex;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.gameplay-copy article:first-child{padding-top:0}.gameplay-copy article:last-child{padding-bottom:0}.gameplay-copy h3{font-size:16px;margin:0 0 8px}.gameplay-copy p{font-size:12px}.interface-figure figcaption{font-size:9px;padding:12px 13px;gap:8px}.gallery-heading h3{font-size:18px}.gallery-heading .small-label{font-size:8px}.gallery-controls{gap:7px}.gallery-controls button{width:33px;height:33px}.gallery{gap:14px;margin-right:-20px;padding-right:20px}.gallery-card{min-width:220px;width:72%}.gallery-card figcaption{font-size:10px}.caption-note{font-size:9px}.route-panel{padding:24px 20px;border-radius:12px;gap:26px}.route-intro h3{font-size:23px}.route-intro h3 br{display:block}.route-flow{grid-template-columns:repeat(2,1fr);row-gap:25px}.route-flow li:nth-child(3)::before{display:none}.route-flow strong{font-size:12px}.route-flow small{font-size:9px}.guide-grid{grid-template-columns:1fr;gap:12px}.guide-card{padding:22px 20px 22px 53px}.guide-index{left:18px;top:24px;font-size:13px}.guide-card h3{font-size:16px}.guide-card p{font-size:12px}.tip{padding:18px 17px;gap:12px}.tip p{font-size:10px;line-height:1.95}.tip strong{display:block;margin:0 0 5px}.features-grid{grid-template-columns:1fr;gap:13px}.feature-card{padding:24px 23px 24px 80px;position:relative}.feature-icon{position:absolute;left:22px;top:26px;width:38px;height:38px;border-radius:9px}.feature-icon .icon{width:21px}.feature-card h3{font-size:16px}.feature-card p{font-size:12px}.specs{grid-template-columns:1fr;padding-top:28px;margin-top:29px;gap:25px}.specs h3{font-size:23px}.specs p{font-size:11px;max-width:none}.specs dl{gap:15px 25px}.specs dd{font-size:12px}.update{grid-template-columns:1fr;gap:15px;padding-block:25px}.update-date{display:flex;align-items:center;gap:16px}.update-date time{font-size:21px}.update-date span{font-size:9px;margin:0}.update h3{font-size:16px}.update ul{font-size:12px;line-height:2.1}.faq-intro h2{font-size:29px}.faq-intro p{font-size:12px}.faq-list summary{font-size:13px;padding:19px 28px 19px 29px}.faq-number{top:21px;font-size:10px}.faq-plus{top:17px;font-size:21px;right:1px}.faq-answer{padding:0 15px 20px 29px}.faq-answer p{font-size:12px}.closing{padding-block:60px}.closing h2{font-size:28px;margin-top:19px}.closing p{font-size:12px}.closing .eyebrow{font-size:7px}.closing-star{font-size:160px;right:-30px;top:70px}.site-footer{padding-top:26px}.footer-top .brand{font-size:13px}.footer-top{gap:15px;padding-bottom:22px}.back-top{font-size:10px;white-space:nowrap}.footer-details p{font-size:9px;line-height:2.1}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:13px 20px}.footer-bottom>span{width:100%}.privacy-button{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body{background:white;color:#111}.site-header,.hero-art,.button,.gallery-controls,.closing,.site-footer,.hero-tags,.faq-emblem{display:none!important}.shell{width:100%}.section{padding-block:20px;break-inside:avoid}.section-tint,.facts-band{background:none}p,dd,.small-label,.eyebrow{color:#333!important}h1 span{color:#111!important}.hero{display:block;min-height:0;padding:20px 0}.hero-poem,.hero-description{color:#333}.hero h1{font-size:32px}.section-heading h2{font-size:24px}.faq-answer{display:block!important}.faq-list details>*{display:block}.gallery{flex-wrap:wrap}.gallery-card{width:30%;min-width:0}.facts dd{color:#333}}
@media(max-width:600px){.gallery-controls button{width:44px;height:44px}}
@media(max-width:1100px){.js .site-header nav{background:#fffafdf5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 14px 25px #a7638512}}
@media(max-width:600px){.timeline{padding-inline:20px}.js .menu-toggle{width:44px;height:44px}}

/* Full-bleed artwork behind the title and softly alternating section bands. */
main{overflow-x:clip}
.hero-stage{
  position:relative;
  isolation:isolate;
  overflow:clip;
  background-color:#fceaf1;
  background-image:
    linear-gradient(90deg,rgba(255,250,252,.985) 0%,rgba(255,248,251,.96) 37%,rgba(255,240,246,.58) 68%,rgba(255,247,250,.56) 100%),
    linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 24%,rgba(249,220,231,.32) 100%),
    url("img/optimized/tu1-1440.webp");
  background-size:cover;
  background-position:center 42%;
}
.hero-stage .hero{background:transparent}
.section{position:relative;isolation:isolate}
.section::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:calc((100% - 100vw)/2);
  width:100vw;
  pointer-events:none;
}
#intro::before,#guide::before,#updates::before{
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.9) 16%,#fff 48%,rgba(255,255,255,.9) 84%,rgba(255,255,255,.18) 100%);
}
#content::before,#features::before,#faq::before{
  background:linear-gradient(180deg,rgba(255,232,240,.2) 0%,rgba(255,235,242,.9) 16%,#ffedf3 48%,rgba(255,235,242,.9) 84%,rgba(255,232,240,.2) 100%);
}
.section-tint{background:transparent;border-block-color:transparent}
.facts-band{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.92) 35%,rgba(255,248,251,.78));border-color:#dca9bf38}
.closing{position:relative;isolation:isolate}
.closing::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:calc((100% - 100vw)/2);
  width:100vw;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,235,243,.18),rgba(255,237,244,.92) 28%,#ffedf3 72%,rgba(255,237,244,.22));
}
@media(max-width:600px){
  .hero-stage{
    background-image:
      linear-gradient(180deg,rgba(255,250,252,.96) 0%,rgba(255,247,250,.93) 44%,rgba(255,242,247,.84) 100%),
      url("img/optimized/tu1-1440.webp");
    background-position:64% center;
  }
}
@media print{
  .hero-stage,.facts-band{background:none}
  .section::before,.closing::before{display:none}
}

/* Revised content, release cards, screenshot viewer and fixed detail action. */
h1,h2{color:#8e285f;background:linear-gradient(110deg,#88324c 0%,#ab256e 48%,#7434ac 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero h1{white-space:nowrap;font-size:clamp(32px,3.7vw,54px);letter-spacing:.015em}
.site-header nav{gap:17px}
.site-header nav>a:not(.button){display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.site-header nav>a>.icon{width:15px;height:15px}
.menu-toggle{display:grid;place-items:center;padding:9px}
.menu-toggle>.icon{width:23px;height:23px}
.floating-cta{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:45;min-height:54px;padding:14px 22px;border-radius:999px;gap:20px;box-shadow:0 8px 30px #a82f7759}
.site-footer{padding-bottom:105px}
.gameplay-rows{display:grid;gap:68px}
.gameplay-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.gameplay-row.is-reversed .gameplay-visual{grid-column:2;grid-row:1}
.gameplay-row.is-reversed .gameplay-text{grid-column:1;grid-row:1}
.gameplay-visual{min-width:0}
.gameplay-visual img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:12px;box-shadow:0 16px 36px #ad6d8b1c}
.gameplay-visual figcaption{font-size:11px;margin-top:12px;color:var(--muted)}
.gameplay-text h3{font-size:clamp(21px,2vw,27px);margin:12px 0 19px}
.gameplay-text p{font-size:14px;line-height:2;max-width:480px}
[data-reveal]{opacity:1;transform:none}
.reveal-pending{opacity:0;transform:translateX(var(--reveal-distance,28px));transition:opacity .65s ease,transform .65s ease}
.reveal-pending[data-reveal=left]{--reveal-distance:-28px}
.reveal-visible{opacity:1;transform:none}
.screenshots-section{background:#241c2c;color:#fff4fa}
.screenshots-section::before{display:none}
.screenshots-section h2{background-image:linear-gradient(110deg,#fff0f6,#f4add0 52%,#cbb2fb)}
.screenshots-section .eyebrow{color:#e8add1}
.screenshots-section .eyebrow>span{border-color:#cfa3c64d}
.screenshots-section .section-heading>p{color:#d1b8cc}
.screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.screenshot-card{min-width:0}
.screenshot-link{display:block;position:relative;overflow:hidden;border-radius:12px;background:#352b40;aspect-ratio:16/9;outline-offset:5px}
.screenshot-link img{width:100%;height:100%;object-fit:contain;object-position:center}
.screenshot-zoom{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;background:#241528cc;color:#fff;font-size:10px;backdrop-filter:blur(6px)}
.screenshot-zoom .icon{width:15px;height:15px}
.screenshot-card figcaption{font-size:12px;color:#dbc5d8;margin-top:13px}
.screenshot-card figcaption>span{color:#ebacd0;margin-right:10px;font-family:Georgia,serif}
.screenshot-note{font-size:11px;color:#c7adc1;margin-top:24px}
#updates .section-heading,#faq .section-heading{display:block}
#updates .section-heading>p,#faq .section-heading>p{max-width:none;margin-top:16px}
.timeline{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.update{display:block;width:100%;padding:32px 36px;background:#ffffffd9;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #a5688710}
.update:last-child{border:1px solid var(--line)}
.update-header{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.update-date{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.update-date>.icon{width:18px;height:18px;color:var(--pink)}
.update-date time{font-size:20px}
.update-date span{display:inline-block;font-size:11px;margin:0;padding:3px 11px;border:1px solid #c483a14d;border-radius:99px;background:#fff2f8}
.update h3{font-size:21px;margin:0}
.update-body p{font-size:14px;line-height:1.95}
.update-body ul{font-size:13px;margin-block:17px;line-height:2}
.update-body .update-note{font-size:12px;background:#fff5fa;border-radius:8px;padding:13px 17px}
.faq-layout{display:block}
.faq-list{display:grid;gap:15px;border:0}
.faq-list details{width:100%;border:1px solid var(--line);border-radius:12px;background:#ffffffc9;box-shadow:0 4px 18px #ab66850a;overflow:hidden}
.faq-list summary{font-size:15px;padding:23px 56px 23px 62px;min-height:70px}
.faq-number{left:24px;top:25px;font-size:12px}
.faq-plus{right:23px;top:25px;line-height:1;display:flex}
.faq-plus .icon{width:18px;height:18px;transition:transform .2s}
.faq-list details[open] .faq-plus{transform:rotate(90deg)}
.faq-answer{padding:0 56px 24px 62px}
.faq-answer p{font-size:13px;line-height:2}
.privacy-button{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.privacy-button[hidden]{display:none}
.privacy-button .icon{width:15px;height:15px}
.back-top,.footer-bottom a{display:inline-flex;align-items:center;gap:7px}
.back-top .icon,.footer-bottom a .icon{width:15px;height:15px}
.lightbox{width:min(1180px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 32px);padding:16px 20px 20px;background:#201824;color:#fff;border:1px solid #b880a142;border-radius:16px;box-shadow:0 20px 90px #0007;overflow:auto}
.lightbox::backdrop{background:#110c16eb;backdrop-filter:blur(9px)}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#e3cbdc;margin-bottom:12px}
.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c4a4bd55;border-radius:50%;background:#ffffff0c;color:#fff;flex:none}
.icon-button:hover{background:#ffffff20}
.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:18px;align-items:center}
.lightbox-stage figure{min-width:0}
.lightbox-image{width:100%;height:min(65dvh,680px);object-fit:contain;border-radius:8px;background:#17121b}
.lightbox-prev .icon{transform:rotate(180deg)}
.lightbox-stage figcaption{text-align:center;font-size:13px;line-height:1.8;color:#f3d9eb;margin-top:14px}
.lightbox-hint{text-align:center;font-size:11px;color:#c1a8b8;margin-top:12px}
html:has(.lightbox[open]){overflow:hidden}
body:has(.lightbox[open]) .floating-cta{visibility:hidden}
@media(max-width:1100px){.js .menu-toggle{display:grid}.site-header nav>a:not(.button){padding-block:11px}.site-header nav{gap:10px}.gameplay-row{gap:35px}}
@media(max-width:900px){.screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gameplay-text p{font-size:13px}.gameplay-rows{gap:48px}}
@media(max-width:700px){
  .gameplay-row{grid-template-columns:minmax(0,1fr);gap:22px}
  .gameplay-row.is-reversed .gameplay-visual,.gameplay-row.is-reversed .gameplay-text{grid-column:auto;grid-row:auto}
  .gameplay-text h3{font-size:22px;margin-block:9px 13px}
  .gameplay-text p{max-width:none;font-size:13px}
  .update{padding:25px 24px}.update h3{font-size:19px}.update-body p{font-size:13px}
}
@media(max-width:600px){
  .hero h1{font-size:clamp(29px,8.2vw,44px)}
  .floating-cta{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:48px;padding:12px 20px;font-size:13px;gap:15px}
  .timeline{padding:0;gap:17px}
  .update-date{gap:9px}.update-date time{font-size:18px}.update-date span{font-size:10px}
  .update-header{margin-bottom:17px;padding-bottom:17px}.update-body ul{font-size:12px}
  .faq-list summary{font-size:13px;padding:21px 43px 21px 45px}
  .faq-number{left:17px;top:23px;font-size:10px}.faq-plus{right:16px;top:23px}
  .faq-answer{padding:0 22px 22px 45px}.faq-answer p{font-size:12px}
  .screenshot-grid{gap:20px 14px}.screenshot-card figcaption{font-size:10px}
  .screenshot-zoom{right:7px;bottom:7px;padding:5px 7px}.screenshot-zoom>span{display:none}
  .lightbox{width:calc(100% - 20px);padding:12px;border-radius:12px}
  .lightbox-stage{grid-template-columns:1fr 1fr;gap:14px}
  .lightbox-stage figure{grid-column:1/-1;grid-row:1}
  .lightbox-image{height:55dvh}.lightbox-prev{justify-self:end}.lightbox-next{justify-self:start}
  .lightbox-stage figcaption{font-size:12px}
}
@media(max-width:540px){.screenshot-grid{grid-template-columns:minmax(0,1fr)}.screenshot-card figcaption{font-size:12px}.screenshot-zoom>span{display:inline}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none;transition:none}}
@media(forced-colors:active){h1,h2{-webkit-text-fill-color:CanvasText;background:none;color:CanvasText}}
@media print{h1,h2{-webkit-text-fill-color:#111;background:none}.floating-cta,.lightbox,.screenshot-zoom{display:none!important}.reveal-pending{opacity:1;transform:none}.screenshots-section{background:#fff;color:#111}.screenshot-grid{grid-template-columns:repeat(3,1fr)}}

/* Preserve full source frames; gallery images fit inside equal 16:9 frames. */
.portrait-frame{height:auto;border-radius:12px}
.hero-portrait{width:100%;height:auto;object-fit:contain;object-position:center}
.portrait-shade{display:none}
.portrait-caption{position:static;padding:19px 22px;background:#fff5fa}
.portrait-caption>span{color:var(--muted)}
.portrait-caption strong{color:var(--text)}
.story-visual>img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Footer recommendations use the same white-to-pink palette as the main page. */
.friend-links{padding:42px 0 46px;background:linear-gradient(110deg,#fffdfd 0%,#fff5f9 48%,#f9dce7 100%);border-top:1px solid var(--line);text-align:center}
.friend-links h2{font-family:Georgia,"Songti SC","SimSun",serif;font-size:clamp(26px,3vw,34px);line-height:1.4;letter-spacing:.04em;margin:0 0 26px}
.friend-links-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 16px}
.friend-links-list a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;max-width:100%;padding:12px 25px;border:1px solid #d99bb857;border-radius:999px;background:#ffffffd9;color:var(--text);box-shadow:0 8px 22px #ad607d0b;font-size:15px;font-weight:600;line-height:1.6;text-decoration:none;overflow-wrap:anywhere;transition:background .2s,border-color .2s,box-shadow .2s}
.friend-links-list a:hover{background:#fff;border-color:#bf6b98;box-shadow:0 8px 24px #ad607d20}
.friend-links-list a:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
@media(max-width:600px){.friend-links{padding:34px 0 38px}.friend-links h2{margin-bottom:22px}.friend-links-list{gap:12px}.friend-links-list a{font-size:13px;min-height:46px;padding:11px 19px}}
@media(prefers-reduced-motion:reduce){.friend-links-list a{transition:none}}

/* Circular page branding uses artwork generated from img/logo.png. */
.brand{gap:16px}
.brand-mark{width:64px;height:64px;flex:none;overflow:hidden;border-radius:50%}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
@media(max-width:600px){.brand{gap:12px}.brand-mark{width:48px;height:48px}}

/* Transform only sibling-level panels, keeping nested images/reveal effects independent.
   Transparent outlines add highlights without changing any box dimensions. */
:is(.facts>div,.story-visual,.character-card,.gameplay-row,.route-panel,.guide-card,.tip,.feature-card,.screenshot-card,.update,.faq-list>details,.friend-links-list>a){
  transform-origin:center;
  outline:1px solid transparent;
  outline-offset:2px;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,outline-color .3s ease;
}
:is(.facts>div,.story-visual,.character-card,.gameplay-row,.route-panel,.guide-card,.tip,.feature-card,.screenshot-card,.update,.faq-list>details,.friend-links-list>a):hover{
  transform:translateY(-4px) scale(1.04);
  border-color:#c86b9d;
  outline-color:#d991bba6;
  box-shadow:0 12px 30px #ac497523,0 0 20px #e476ba26;
}
.screenshots-section .screenshot-card:hover{
  outline-color:#f0a5d3b3;
  box-shadow:0 12px 30px #0f08173d,0 0 24px #e476ba30;
}
/* Reserve clearance in existing gaps; transforms never participate in layout. */
.facts{column-gap:16px}
.character-grid,.guide-grid,.features-grid,.faq-list,.friend-links-list{row-gap:24px}
.timeline{gap:32px}
@media(prefers-reduced-motion:reduce){
  :is(.facts>div,.story-visual,.character-card,.gameplay-row,.route-panel,.guide-card,.tip,.feature-card,.screenshot-card,.update,.faq-list>details,.friend-links-list>a){transition:none}
}

/* Shared corner sizes, after responsive and interaction rules. */
.site-header,.hero-stage,.section,.facts-band,.site-footer,.friend-links,
.portrait-frame,.portrait-caption,.floating-note,.story-visual,.story-copy,
.facts>div,.character-card,.gameplay-row,.gameplay-visual,.gameplay-text,
.interface-figure,.gallery-card,.route-panel,.guide-card,.tip,.feature-card,
.specs,.specs>div,.specs dl>div,.timeline,.screenshot-card,.update,
.update-body .update-note,.faq-list details,.faq-answer,.lightbox,.privacy-note{
  border-radius:16px;
}
.button,button,.menu-toggle,.icon-button,.gallery-controls button,
.friend-links-list a,.skip-link,.screenshot-zoom{
  border-radius:9999px;
}
.hero-portrait,.story-visual>img,.gameplay-visual img,.interface-figure img,
.gallery-card>img,.screenshot-link,.screenshot-link img,.lightbox-image{
  border-radius:12px;
}
.eyebrow>span:not(.live-dot),.small-label,.hero-tags>span,.art-label,
.update-date>span,.route-flow li>span,.feature-icon{
  border-radius:4px;
}
/* Keep the previously requested circular branding. */
.brand-mark,.brand-logo{border-radius:50%}

/* Detail actions only: stronger contrast, larger touch targets and press feedback. */
.button.button-primary{
  min-height:62px;
  padding:16px 32px;
  gap:20px;
  border:1px solid #ffffffa6;
  border-radius:9999px;
  background:linear-gradient(115deg,#b41467 0%,#9630a7 52%,#6229b6 100%);
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1.6;
  box-shadow:0 10px 24px #8c235c33,0 0 16px #db4eaa29,inset 0 1px 0 #ffffff40;
  transform-origin:center;
  touch-action:manipulation;
  transition:transform .24s cubic-bezier(.2,.85,.3,1.35),box-shadow .24s ease;
}
.button.button-primary:hover{
  background:linear-gradient(115deg,#9f105a 0%,#842297 52%,#5220a0 100%);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 13px 28px #8c235c40,0 0 22px #db4eaa38,inset 0 1px 0 #ffffff4d;
}
.button.button-primary:focus-visible{
  outline:3px solid var(--violet);
  outline-offset:5px;
}
.button.button-primary:active{
  transform:scale(.97);
  box-shadow:0 4px 12px #8c235c33,0 0 10px #db4eaa24,inset 0 2px 4px #4b10452e;
  transition-duration:.1s;
}
.site-header .button-primary.nav-cta{
  min-height:48px;
  padding:12px 20px;
  gap:14px;
  font-size:14px;
}
.button-primary.floating-cta{
  min-height:62px;
  padding:16px 30px;
}
@media(max-width:600px){
  .hero-actions .button-primary{
    min-height:58px;
    padding:15px 24px;
    gap:14px;
    font-size:14px;
  }
  .button-primary.floating-cta{
    position:fixed;
    left:max(16px,env(safe-area-inset-left));
    right:max(16px,env(safe-area-inset-right));
    bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:60;
    width:auto;
    min-height:60px;
    padding:16px 24px;
    gap:18px;
    font-size:16px;
  }
}
@media(prefers-reduced-motion:reduce){
  .button.button-primary{transition:none}
}

/* Detail actions: animate only a masked border, never the button contents. */
@property --detail-border-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
@keyframes detail-border-flow{
  to{--detail-border-angle:360deg}
}
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor){
  .button.button-primary{isolation:isolate}
  .button.button-primary:not(.floating-cta){position:relative}
  .button.button-primary::before{
    content:"";
    position:absolute;
    inset:-1px;
    padding:2px;
    border-radius:inherit;
    background:conic-gradient(from var(--detail-border-angle),#ff62af,#ffc857,#78f4bf,#63d9ff,#a58bff,#ff62af);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
    opacity:0;
    transition:opacity .25s ease;
    animation:detail-border-flow 2s linear infinite paused;
  }
  .button.button-primary:hover::before{
    opacity:1;
    animation-play-state:running;
  }
}
@media(prefers-reduced-motion:reduce){
  .button.button-primary::before{animation:none;transition:none}
}

/* Update notes: full-width editorial cards, following the supplied reference. */
#updates .timeline{gap:26px}
#updates .update{min-width:0;padding:34px 38px;border-radius:16px;background:linear-gradient(120deg,#ffffffed,#fff9fce8);box-shadow:0 12px 32px #a5688710}
#updates .update:first-child{border-color:#ce8caa}
#updates .update-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin:0 0 15px;padding:0;border:0}
#updates .update h3{font-size:22px;line-height:1.6;overflow-wrap:anywhere}
#updates .update-date{margin:0;flex-shrink:0}
#updates .update-date span{color:#85415f;font-size:11px;line-height:1.7;border-radius:4px}
#updates .update-draft .update-date span{background:#f7effc;border-color:#c4a5d5;color:#704885}
#updates .update-body p{font-size:15px;line-height:1.95}
#updates .update-body ul{margin:18px 0 0;padding-left:23px;font-size:14px;line-height:1.95}
#updates .update-body li+li{margin-top:9px}
@media(max-width:700px){
  #updates .timeline{gap:22px}
  #updates .update{padding:25px 23px}
  #updates .update-header{gap:9px;margin-bottom:13px}
  #updates .update h3{width:100%;font-size:19px}
  #updates .update-body p,#updates .update-body ul{font-size:13px;line-height:1.95}
  #updates .update-body ul{padding-left:19px;margin-top:15px}
}

/* Non-interactive game labels in the hero subtitle position. */
.game-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:11px;
  max-width:560px;
  margin-top:25px;
}
.game-tags span{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 16px;
  border-radius:9999px;
  background:linear-gradient(105deg,#c51d71 0%,#e339a3 42%,#973bd4 72%,#6848e3 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
  filter:drop-shadow(0 0 8px #df3ba62b);
}
.game-tags span::before{
  content:"";
  position:absolute;
  inset:0;
  padding:1.5px;
  border-radius:inherit;
  background:linear-gradient(110deg,#f02886,#ff55bb 38%,#ad48e2 70%,#6659eb);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
@media(max-width:800px){
  .game-tags{gap:9px;margin-top:20px}
  .game-tags span{min-height:34px;padding:7px 13px;font-size:11px}
}
@media(max-width:600px){
  .game-tags{max-width:100%;gap:8px;margin-top:18px}
  .game-tags span{min-height:32px;padding:6px 11px;font-size:10px}
}
@media print{
  .game-tags span{color:#333;-webkit-text-fill-color:#333;background:none;filter:none;border:1px solid #777}
  .game-tags span::before{display:none}
}
