@font-face{font-family:InterFallback;src:local("Arial");font-display:swap}
:root{--blue:#2869ff;--ink:#182137;--pink:#ed80ae;--yellow:#ffe05b;--paper:#f8faff;--line:#dce3ef;--ease:cubic-bezier(.2,.75,.2,1);--header:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;font-family:InterFallback,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--paper);overflow-x:clip}button,a,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid var(--pink);outline-offset:6px}img{display:block;max-width:100%}button{border:0}::selection{background:var(--yellow);color:var(--ink)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:var(--yellow);padding:15px;z-index:200}.skip-link:focus{top:10px}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:100}.site-header{height:var(--header);padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;gap:22px;position:fixed;inset:0 0 auto;background:#ffffffef;border-bottom:1px solid #dfe4ed;backdrop-filter:blur(20px);z-index:50}.brand{display:flex;gap:11px;align-items:center;flex-shrink:0}.brand-mark{font-size:42px;font-weight:950;font-style:italic;letter-spacing:-8px;color:var(--blue);line-height:1;transform:skew(-7deg);width:58px}.brand-mark span{font-size:33px;color:var(--pink);display:inline-block;transform:translateY(-8px)}.brand-copy{font-size:10px;line-height:1.4;letter-spacing:1px;font-weight:800}.brand-copy strong{font-size:24px;line-height:1.1;letter-spacing:3px}.brand-copy strong span{color:var(--blue)}.desktop-nav{display:flex;align-items:stretch;height:100%;gap:30px}.desktop-nav a{position:relative;display:flex;gap:7px;align-items:center;font-size:14px;font-weight:750;white-space:nowrap}.desktop-nav a>span{font-size:10px;color:#8c96a9;font-weight:500;align-self:center}.desktop-nav a:after{content:"";position:absolute;bottom:0;height:4px;left:0;width:100%;background:var(--blue);transform:scaleX(0);transition:transform .25s}.desktop-nav a.active,.desktop-nav a:hover{color:var(--blue)}.desktop-nav a.active:after{transform:scaleX(1)}.header-reserve{padding:12px 20px;background:var(--blue);color:white;font-size:14px;font-weight:750;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:background .2s}.header-reserve:hover{background:var(--ink)}.header-reserve span{margin-left:20px}.menu-toggle{display:none}.mobile-nav{display:none}.section{position:relative;scroll-margin-top:0}.hero{height:max(820px,100svh);max-height:1200px;min-height:720px;overflow:clip;background:radial-gradient(ellipse at 35% 30%,#fff 20%,#f3f6fb 80%)}.hero-ghost{position:absolute;top:105px;left:-16px;font-size:clamp(150px,16.4vw,320px);font-weight:950;letter-spacing:-12px;line-height:1;white-space:nowrap;color:#e8edf5;user-select:none}.hero-blue{position:absolute;right:-18%;top:12%;width:52%;height:96%;background:var(--blue);transform:skew(-26deg)}.hero-blue:after{content:"";position:absolute;inset:18px;border:1px solid #ffffff48}.hero-stripes{position:absolute;right:7.5%;bottom:9%;width:280px;height:150px;background:repeating-linear-gradient(135deg,transparent 0 13px,#fff 13px 22px);opacity:.35}.hero-dotfield{position:absolute;left:42%;top:29%;height:250px;width:220px;background:radial-gradient(var(--blue) 1.5px,transparent 2px) 0 0/11px 11px;opacity:.25;mask-image:linear-gradient(90deg,transparent,#000)}.hero-copy{position:relative;z-index:3;padding-top:clamp(240px,29vh,350px);margin-left:7%;width:48%;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.eyebrow{font-family:Arial,"Microsoft YaHei",sans-serif;font-size:12px;font-weight:800;letter-spacing:2px;display:flex;gap:12px;align-items:center}.tiny-cross{color:var(--blue);font-size:24px}.eyebrow-line{height:1px;width:35px;background:var(--blue)}h1{font-size:clamp(44px,4.85vw,88px);font-weight:950;letter-spacing:-3px;line-height:1.28;margin:22px 0 14px}h1>span{color:var(--blue)}.title-outline{-webkit-text-stroke:1.5px var(--blue);color:#fff}.hero-tag{font-family:Arial,sans-serif;display:flex;gap:13px;letter-spacing:1.8px;font-size:10px;font-weight:800;margin:0}.hero-tag span:last-child{color:#8a97ae}.hero-description{font-size:15px;line-height:2;color:#626d81;margin:25px 0 28px}.hero-actions{display:flex;gap:24px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:17px 25px;font-size:19px;font-weight:800;min-height:76px;transition:transform .25s,box-shadow .25s;position:relative;clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,17px 100%,0 calc(100% - 17px))}.button:hover{transform:translateY(-4px)}.button-yellow{background:var(--yellow);color:var(--ink)}.button small{display:block;font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:5px}.button b{font-size:30px;font-weight:500}.hero-pv{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:800;white-space:nowrap}.play-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #b9c5da;border-radius:50%;font-size:11px;color:var(--blue);transition:background .2s}.hero-pv:hover .play-icon{background:var(--blue);color:#fff}.hero-pv small{display:block;font-size:8px;color:#8792a6;letter-spacing:1px;margin-top:4px}.platforms{display:flex;gap:22px;align-items:center;font-size:11px;color:#657187;margin-top:22px}.platform-note{padding-left:20px;border-left:1px solid #c9d2e1}.hero-art{position:absolute;z-index:2;width:59%;right:-1%;top:115px;height:calc(100% - 150px);will-change:transform;pointer-events:none}.hero-art>img,.hero-art>video{position:absolute;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 25px 25px #14295622);animation:hero-in 1.3s var(--ease) both;transform-origin:50% 60%}.art-orbit{position:absolute;border:1px solid #adc3eb80;width:72%;aspect-ratio:1;left:10%;top:9%;border-radius:50%}.art-orbit:before,.art-orbit:after{content:"";position:absolute;border:1px dashed #afc4e788;inset:20px;border-radius:50%}.art-orbit:after{inset:-24px;border-style:solid;opacity:.4}.art-coordinate{position:absolute;right:14%;top:9%;color:#fff9;font-family:monospace;font-size:10px;line-height:1.7;letter-spacing:1px}.hero-character-tag{position:absolute;right:9%;top:47%;display:flex;flex-direction:column;align-items:flex-start;transform:rotate(6deg);z-index:3}.hero-character-tag>span{font-size:clamp(36px,5vw,78px);font-weight:950;letter-spacing:-4px;color:var(--pink);line-height:1;text-shadow:3px 3px 0 #fff}.hero-character-tag i{color:var(--yellow);font-size:38px;font-style:normal;text-shadow:none}.hero-character-tag b{background:#fff;padding:9px 30px 9px 13px;font-size:21px;box-shadow:5px 5px 0 var(--ink)}.hero-character-tag small{font-size:9px;letter-spacing:1px;background:var(--ink);color:#fff;padding:8px 12px;margin-top:5px}.hero-bottom{position:absolute;left:7%;right:7%;bottom:28px;display:flex;align-items:center;justify-content:space-between;z-index:4;gap:20px}.scroll-cue{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750}.scroll-cue>span{font-size:27px;animation:nudge 2s infinite}.scroll-cue small{font-size:9px;letter-spacing:2px;color:#8290a7}.hero-bottom>span:nth-child(2){font-size:9px;letter-spacing:2px;color:#7a879d;margin-left:auto}.hero-pagination{color:#fff9;font-size:12px;font-family:Arial,sans-serif;margin-left:80px}.hero-pagination b{font-size:30px;color:white}.page-rail{position:fixed;right:22px;top:40%;display:flex;flex-direction:column;gap:19px;align-items:center;z-index:40;mix-blend-mode:normal}.page-rail>a{font-size:10px;font-weight:800;color:#96a4bc;position:relative}.page-rail>a.active{color:var(--blue)}.page-rail>a.active:before{content:"";position:absolute;inset:-5px -6px;border:1px solid var(--blue);transform:rotate(45deg)}.page-rail>span{writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#9facbf;margin-top:16px}.hero-copy{animation:copy-in 1s .1s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translate(60px,45px) scale(1.06)}to{opacity:1;transform:none}}@keyframes copy-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(min-width:1800px){.hero-copy{margin-left:9%}.hero-art{right:2%;width:58%}}
@media(max-width:1200px){.desktop-nav{gap:17px}.site-header{padding:0 3%;gap:14px}.desktop-nav a{font-size:12px}.brand-copy strong{font-size:22px}.header-reserve{padding:12px}.hero-actions{gap:16px}.button{font-size:16px;padding:16px 20px;gap:26px}.hero-art{width:65%;right:-7%}.hero-copy{margin-left:6%}.hero-character-tag{right:14%}.hero-pv small{display:none}.platform-note{display:none}.page-rail{right:15px}.eyebrow{letter-spacing:1px;font-size:10px}}
@media(max-width:900px){:root{--header:72px}.desktop-nav,.page-rail{display:none}.site-header{padding:0 5%}.brand-mark{font-size:34px;width:45px}.brand-mark span{font-size:25px}.brand-copy{font-size:8px}.brand-copy strong{font-size:20px}.header-reserve{margin-left:auto;font-size:12px;padding:10px 13px}.header-reserve span{margin-left:8px}.menu-toggle{width:35px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;padding:5px}.menu-toggle span{height:2px;width:24px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;top:var(--header);inset-inline:0;display:flex;flex-direction:column;background:#fff;padding:20px 6% 30px;z-index:49;box-shadow:0 20px 30px #18213712}.mobile-nav a{padding:16px;border-bottom:1px solid var(--line);font-size:17px;font-weight:700}.hero{height:950px;max-height:none}.hero-copy{padding-top:185px;width:65%;margin-left:6%}.hero-art{top:225px;height:660px;width:82%;right:-13%}.hero-blue{top:25%;right:-30%;width:55%;height:83%}.hero-copy h1{font-size:58px}.hero-description{font-size:14px;max-width:290px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-pv{padding-left:12px}.hero-ghost{top:115px;font-size:150px;letter-spacing:-7px}.hero-character-tag{top:42%;right:16%}.hero-character-tag>span{font-size:60px}.hero-tag{font-size:8px;gap:9px}.hero-bottom>span:nth-child(2){display:none}.art-coordinate{display:none}.hero-dotfield{left:25%}.hero-pagination{margin-left:0}.hero-character-tag b{font-size:18px}}
@media(max-width:600px){.hero{height:960px;min-height:900px}.hero-copy{padding-top:149px;margin-left:6%;width:90%}.eyebrow{font-size:9px;gap:8px;letter-spacing:1px}.hero-copy h1{font-size:clamp(35px,8.8vw,52px);letter-spacing:-1.5px;line-height:1.3;margin:14px 0 12px}.hero-ghost{top:93px;font-size:105px;letter-spacing:-6px}.hero-tag{font-size:7px;letter-spacing:1.3px}.hero-description{font-size:12px;line-height:1.8;margin:18px 0;max-width:none}.hero-art{width:119%;height:520px;right:-10%;top:347px}.hero-blue{height:580px;top:337px;width:64%;right:-42%}.hero-actions{position:absolute;top:832px;left:0;right:0;flex-direction:row;gap:15px;align-items:center}.hero-actions .button{min-height:64px;font-size:15px;gap:14px;flex:1;padding:11px 15px}.button small{font-size:8px;letter-spacing:1.6px}.hero-pv{font-size:11px;padding-left:0;gap:6px}.hero-pv>span:last-child{display:none}.hero-pv .play-icon{width:50px;height:50px;background:white}.platforms{position:absolute;top:910px;margin:0;font-size:10px;gap:25px}.hero-bottom{bottom:12px;left:6%;right:6%}.hero-bottom .scroll-cue{font-size:10px;gap:8px}.scroll-cue small{font-size:8px;letter-spacing:1px}.hero-pagination{font-size:9px;color:#8792a6}.hero-pagination b{font-size:20px;color:var(--blue)}.hero-character-tag{right:12%;top:49%}.hero-character-tag>span{font-size:50px}.hero-character-tag b{font-size:16px;padding:7px 20px 7px 10px}.hero-character-tag small{font-size:8px;padding:7px}.hero-character-tag i{font-size:27px}.hero-dotfield{top:350px;left:5%;width:150px;height:190px}.hero-stripes{bottom:160px;right:-50px;width:210px;height:180px}.art-orbit{top:12%}.hero-copy{animation:copy-in .8s var(--ease) both}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-art{transform:none!important}}

/* Shared chapter language: cut corners, hard color, generous typography. */
.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}.ticker{height:64px;display:flex;align-items:center;overflow:hidden;background:var(--yellow);color:var(--ink);transform:rotate(-2deg) scale(1.02);position:relative;z-index:5;margin-top:-24px;box-shadow:0 7px 0 #182137;pointer-events:none}.ticker>div{white-space:nowrap;font-weight:900;font-size:22px;letter-spacing:1px;animation:ticker 35s linear infinite}.ticker span{font-size:29px;margin:0 42px;color:var(--blue)}@keyframes ticker{to{transform:translateX(-50%)}}.section-kicker{font-size:12px;font-weight:750;letter-spacing:2.5px;margin:0 0 22px;color:var(--blue)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;position:relative;z-index:2}.section-heading h2,.characters-heading h2{font-size:clamp(36px,3.8vw,64px);line-height:1.25;letter-spacing:-1.5px;margin:0;font-weight:900}.section-heading h2 span,.characters-heading h2 span{color:var(--blue)}.section-heading p:not(.section-kicker){font-size:16px;line-height:1.9;color:#748198}.reveal{transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 75ms)}.motion-enabled .reveal:not(.is-visible){opacity:0;transform:translateY(42px)}.section-background-word{position:absolute;font:950 clamp(140px,20vw,330px)/1 Arial,sans-serif;color:#ffffff0b;letter-spacing:-12px;top:85px;left:-15px;user-select:none}.rewards{background:var(--blue);color:#fff;padding:125px 8% 90px;overflow:clip}.rewards:after{content:"";position:absolute;right:-90px;top:110px;border:1px solid #ffffff1c;width:350px;height:350px;transform:rotate(45deg);pointer-events:none}.rewards .section-kicker{color:#c5d8ff}.rewards .section-heading h2 span{color:var(--yellow)}.rewards .section-heading p:not(.section-kicker){color:#e1e9ff}.reward-intro{width:37%;padding-bottom:5px}.reward-intro p{margin:0 0 18px}.reward-goal{display:flex;align-items:baseline;gap:14px;border-top:1px solid #ffffff4d;padding-top:13px}.reward-goal>span{font-size:12px;white-space:nowrap}.reward-goal strong{font-family:Arial,sans-serif;font-size:clamp(40px,4.5vw,70px);line-height:1.15;font-weight:900;letter-spacing:-2px;color:var(--yellow)}.reward-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px;margin-top:68px;position:relative;padding-bottom:70px}.reward-track:after{content:"";position:absolute;bottom:24px;left:8%;right:8%;height:1px;background:#ffffff70}.reward-card{position:relative;background:#fff;color:var(--ink);padding:18px 16px 20px;box-shadow:7px 8px 0 #1249c5;isolation:isolate}.reward-card:before{content:"";position:absolute;top:0;right:0;border-bottom:14px solid #dae6ff;border-right:14px solid var(--blue)}.reward-card-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;color:var(--blue);letter-spacing:.8px}.reward-card h3{font:900 clamp(23px,2.2vw,35px)/1.2 Arial,sans-serif;margin:19px 0 8px}.reward-card h3 small{font-size:12px;font-weight:500;color:#8290a8}.reward-image{height:160px;display:grid;place-items:center;background:radial-gradient(ellipse,#e6edff,transparent 66%);transition:transform .4s var(--ease)}.reward-image img{height:145px;width:100%;object-fit:contain;transition:transform .4s var(--ease)}.reward-card:hover .reward-image img{transform:translateY(-10px) rotate(5deg)}.reward-card p{font-size:13px;display:flex;gap:4px;justify-content:space-between;margin:16px 0 13px;align-items:baseline}.reward-card p strong{font-family:Arial,sans-serif;font-size:19px;color:var(--blue)}.milestone-label{font-size:10px;color:#788499;border-top:1px solid var(--line);padding-top:12px;display:block}.reward-node{position:absolute;width:34px;height:34px;border:1px solid #aac4ff;background:var(--blue);border-radius:50%;bottom:-63px;left:calc(50% - 17px);display:grid;place-items:center;color:#fff;font-family:Arial,sans-serif;font-size:11px;z-index:2}.reward-special{background:var(--yellow);transform:translateY(-17px)}.reward-special .reward-image{background:none;overflow:visible}.reward-special .reward-image img{height:190px;width:140%;max-width:140%;margin-top:-10px}.reward-special .reward-card-top{color:var(--ink)}.reward-special .reward-card-top span:last-child{color:#cf548d;font-size:15px;font-weight:900}.reward-special .milestone-label{border-color:#1c24342b;color:#605b3c}.reward-special .reward-node{bottom:-80px;color:var(--blue);border:0;background:var(--yellow)}.reward-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center}.reward-bottom>p{font-size:12px;color:#d2e0ff;margin:0}.text-link{background:none;color:white;font-size:15px;font-weight:700;white-space:nowrap;padding:8px 0;border-bottom:1px solid #fff9}.text-link span{margin-left:40px;font-size:22px}
.characters{padding:110px 8% 80px;background:#fbfcff;overflow:clip}.characters-heading{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:2}.characters-heading h2{font-size:clamp(34px,3vw,50px)}.chapter-mark{font-size:12px;letter-spacing:2px;font-weight:700}.chapter-mark b{color:var(--pink);font-size:30px;padding-left:15px}.faction-filters{display:flex;gap:24px;margin-top:38px;position:relative;z-index:6}.faction-filters button{background:none;font-size:14px;color:#7d879b;padding:10px 4px;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.faction-filters button.active{color:var(--blue);border-color:var(--blue);font-weight:800}.faction-filters button:hover{color:var(--blue)}.character-stage{position:relative;min-height:650px;margin-top:25px}.character-watermark{position:absolute;left:32%;top:0;font:900 clamp(100px,13vw,210px)/1 Arial,sans-serif;color:#e9eef8;letter-spacing:-7px;white-space:nowrap;pointer-events:none}.character-stripes{position:absolute;width:35%;height:145px;right:-3%;bottom:120px;background:repeating-linear-gradient(-45deg,var(--blue) 0 11px,transparent 11px 24px);opacity:.22;transform:rotate(-7deg);pointer-events:none}.character-disc{position:absolute;width:500px;max-width:55%;aspect-ratio:1;right:2%;top:11%;border:1px solid #b8cdfa;border-radius:50%;background:radial-gradient(#d9e5ff70,transparent 68%)}.character-disc:before{content:"";inset:18px;position:absolute;border:1px dashed #bed0f0;border-radius:50%}.character-disc:after{content:"+";position:absolute;right:10%;top:8%;color:var(--pink);font-size:60px}.character-info{width:39%;padding-top:30px;position:relative;z-index:3}.character-overline{display:flex;justify-content:space-between;align-items:center;max-width:340px;font-size:12px;letter-spacing:1.5px;color:#99a4b7}.character-overline b{font-size:42px;color:var(--pink);font-style:italic;letter-spacing:-1px;line-height:1}.character-origin{display:inline-block;margin-top:23px;font-size:12px;background:var(--yellow);padding:6px 13px;transform:skew(-5deg);color:#33405a}.character-info h3{font-size:clamp(42px,4vw,66px);font-weight:900;line-height:1.2;letter-spacing:0;margin:16px 0 4px}.character-info p#character-english{font-size:22px;font-weight:800;letter-spacing:3px;color:var(--blue);margin:0}.character-info p#character-english span{font-size:12px;letter-spacing:1px;margin-left:13px;font-weight:500;color:#99a3b6}.character-info blockquote{font-size:17px;line-height:1.8;font-weight:750;color:var(--blue);margin:28px -10px 14px}.character-bio{font-size:14px;line-height:1.9;color:#778298;margin:0;max-width:400px}.character-stats{display:flex;gap:28px;margin:22px 0 26px}.character-stats dt{font-size:9px;color:#95a0b3;letter-spacing:.6px;margin-bottom:7px}.character-stats dd{font:700 20px/1 Arial,sans-serif;margin:0}.character-stats dd small{font-size:11px;font-weight:400}.gallery-preview{display:flex;width:100%;max-width:340px;padding:0;background:white;border:1px solid var(--line);text-align:left;align-items:center;box-shadow:4px 4px 0 #ecf0f7;transition:transform .2s}.gallery-preview:hover{transform:translateY(-3px)}.gallery-preview>img{width:45%;height:80px;object-fit:cover}.gallery-preview>span{padding:0 16px;flex:1;font-size:13px;font-weight:700}.gallery-preview b{float:right;color:var(--blue)}.gallery-preview small{display:block;font-size:8px;font-weight:400;color:#98a4b8;letter-spacing:.6px;margin-top:7px}.character-visual{position:absolute;right:-4%;top:-40px;width:69%;height:700px;z-index:2;pointer-events:none}.character-visual>img,.character-visual>video{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 18px #25325f17);position:absolute;inset:0;transition:opacity .25s;will-change:transform}.character-visual.art-enter>img,.character-visual.art-enter>video{animation:character-enter .55s var(--ease) both}.character-visual[data-mode=scene]{width:64%;right:-2%}.character-spark{position:absolute;font-size:58px;color:var(--pink);z-index:2;text-shadow:4px 2px 0 #b9d6ff;animation:float 5s ease-in-out infinite}.spark-one{right:13%;top:20%}.spark-two{bottom:19%;left:10%;font-size:30px;color:var(--blue);animation-delay:-2s}.character-view-controls{position:absolute;right:16%;bottom:0;z-index:5;border:1px solid #cbd6ed;padding:4px;background:#ffffffda;display:flex;box-shadow:4px 4px 0 #e9eef8}.character-view-controls button{background:none;font-size:12px;padding:10px 17px;color:#8290a9;white-space:nowrap}.character-view-controls button.active{background:var(--blue);color:#fff}.character-arrows{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:18px;z-index:5}.character-arrows>button{width:42px;height:42px;background:#fff;border:1px solid #cbd6ed;color:var(--blue);font-size:24px;transition:color .2s,background .2s}.character-arrows>button:hover{color:#fff;background:var(--blue)}.character-arrows>span{font-size:12px;color:#8b99b0;font-family:Arial,sans-serif}.character-roster{display:flex;gap:12px;position:relative;z-index:4;margin-top:38px;padding:5px 3px 12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a9c3ff transparent}.roster-button{min-width:0;flex:1;height:134px;border:1px solid #d3dcec;background:linear-gradient(130deg,#e6edfb,#fff);text-align:left;position:relative;overflow:hidden;transition:border-color .2s,background .2s,transform .2s}.roster-button>img{position:absolute;right:-12px;top:0;width:90%;height:127px;object-fit:cover;object-position:top;transition:transform .4s var(--ease)}.roster-button:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#eef4ff)}.roster-button>span{position:absolute;left:12px;bottom:10px;font-size:13px;font-weight:750;z-index:2}.roster-button>small{position:absolute;left:9px;top:10px;font-size:9px;writing-mode:vertical-rl;letter-spacing:2px;color:#8397b7;z-index:2}.roster-button.active{border:2px solid var(--blue);background:var(--blue)}.roster-button.active:after{background:linear-gradient(transparent,#2869ff)}.roster-button.active>span,.roster-button.active>small{color:#fff}.roster-button:hover>img{transform:scale(1.06)}.roster-button:hover{transform:translateY(-4px)}@keyframes character-enter{from{opacity:0;transform:translateX(40px) scale(1.03)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-13px) rotate(8deg)}}
.movies{background:#111a2d;color:#fff;padding:108px 8% 92px;overflow:clip}.movie-backdrop{position:absolute;inset:0;background:linear-gradient(#111a2df2,#111a2ddc),url('assets/world-rift.webp') center/cover;opacity:.7}.movies:after{content:"";position:absolute;top:-60px;right:10%;height:360px;width:160px;border:1px solid #fff1;transform:skew(-25deg);pointer-events:none}.movies-inner{position:relative;z-index:1}.movies .section-kicker{color:#8dafff}.movies .section-heading h2 span{color:#fff}.movies .section-heading h2{color:#91b1ff}.movies .section-heading .movie-heading-note{font-size:14px;color:#9daecb;line-height:1.8;margin:0 0 3px}.movie-frame{margin-top:45px;border:1px solid #ffffff30;padding:12px;background:#141e33c9;box-shadow:12px 12px 0 #0b1424;position:relative}.movie-frame:after{content:"";position:absolute;right:-2px;top:-2px;width:45px;height:45px;border-top:3px solid var(--yellow);border-right:3px solid var(--yellow);pointer-events:none}.movie-frame-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#7d94b8;padding:3px 7px 14px}.movie-poster{position:relative;width:100%;aspect-ratio:2.12;display:block;padding:0;background:var(--ink);overflow:hidden;color:white}.movie-poster>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform 1s var(--ease)}.movie-poster:hover>img{transform:scale(1.05)}.movie-shade{position:absolute;inset:0;background:linear-gradient(0deg,#081124d9,transparent 70%)}.movie-play{position:absolute;left:calc(50% - 47px);top:calc(50% - 47px);border-radius:50%;width:94px;height:94px;display:grid;place-items:center;color:var(--ink);background:var(--yellow);font-size:24px;padding-left:5px;box-shadow:0 0 0 12px #ffffff17;transition:transform .3s}.movie-poster:hover .movie-play{transform:scale(1.1) rotate(6deg)}.movie-title{position:absolute;bottom:35px;left:38px;text-align:left}.movie-title small{display:block;font-size:10px;letter-spacing:2px;color:#cedbfa;margin-bottom:11px}.movie-title strong{font-size:30px;letter-spacing:1px}.movie-duration{position:absolute;right:30px;bottom:33px;font-size:12px;border:1px solid #ffffff65;padding:7px 11px;background:#101b3199}.movie-frame-bottom{display:flex;justify-content:space-between;align-items:center;padding:10px 7px 0;gap:15px}.movie-frame-bottom h3{font-size:16px;font-weight:750;margin:7px 0}.movie-frame-bottom h3 span{font-size:12px;color:#94a7c7;font-weight:400}.movie-frame-bottom>span{font-size:12px;color:#99acce}.movie-frame-bottom>span b{margin-left:17px;color:var(--yellow);font-size:20px}.movie-strip{display:grid;grid-template-columns:1fr .9fr 1fr;align-items:center;gap:40px;margin-top:55px}.movie-strip figure{margin:0}.movie-strip figure img{width:100%;height:auto;aspect-ratio:2.1;object-fit:cover;filter:saturate(.7)}.movie-strip figcaption{font-size:12px;color:#bbc9e1;display:flex;justify-content:space-between;margin-top:12px;gap:10px}.movie-strip figcaption>span{font-size:9px;letter-spacing:1px;color:#6e86aa}.movie-strip-quote{font-size:24px;line-height:1.6;text-align:center;font-weight:750;color:#c8d9f9}.movie-strip-quote>span{display:block;font-size:8px;letter-spacing:1.5px;color:#6d84a8;margin-top:18px}
.system{padding:110px 8% 65px;background:#f8faff;overflow:clip}.system:before{content:"";position:absolute;right:-10%;top:0;width:45%;height:480px;background:repeating-linear-gradient(-55deg,transparent 0 35px,#e9effa 35px 36px);pointer-events:none}.system .section-heading>p{font-size:16px;line-height:1.9;margin:0;color:#8190a7}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:46px}.system-card{background:white;border:1px solid #dbe3f0;padding:32px 36px;position:relative;box-shadow:5px 5px 0 #e9effa}.system-card-heading{display:flex;gap:20px;align-items:center}.device-icon{color:var(--blue);font-size:44px;width:50px;font-family:Arial,sans-serif;line-height:1}.system-card-heading small{font-size:10px;letter-spacing:2px;color:#a2adbf}.system-card-heading h3{font-size:23px;margin:5px 0 0}.system-index{margin-left:auto;font-size:36px;font-weight:900;color:#e8eef8}.system-card dl{margin:30px 0}.system-card dl>div{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #edf1f8;padding:14px 0;font-size:13px}.system-card dt{color:#8a98ad;flex-shrink:0}.system-card dd{margin:0;text-align:right;color:#4c5d7b}.platform-reserve{background:var(--ink);padding:15px 20px;color:white;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px;font-weight:700;transition:background .2s}.platform-reserve:hover{background:var(--blue)}.platform-reserve>span{font-size:20px}.system-note{font-size:12px;color:#8492a9;text-align:center;margin:22px 0 0}.last-call{position:relative;display:flex;align-items:center;gap:45px;background:var(--blue);color:#fff;padding:45px 55px 45px 225px;margin-top:110px;min-height:230px;clip-path:polygon(0 0,calc(100% - 25px) 0,100% 25px,100% 100%,25px 100%,0 calc(100% - 25px))}.last-call:before{content:"";position:absolute;left:0;top:0;width:25%;height:100%;background:repeating-linear-gradient(135deg,transparent 0 15px,#ffffff18 15px 23px)}.last-call>img{position:absolute;left:16px;bottom:-17px;width:195px;height:260px;object-fit:contain;transform:rotate(-6deg)}.last-call>div{position:relative}.last-call>div>span{font-size:9px;letter-spacing:2px;color:#b9d0ff}.last-call h3{font-size:34px;line-height:1.3;margin:12px 0 0}.last-call .button{margin-left:auto;flex-shrink:0}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:40px 8%;gap:35px;border-top:1px solid var(--line);background:white}.site-footer p{font-size:12px;margin:0 0 8px;color:#6c7c95}.site-footer small{font-size:10px;color:#9ca8ba}.back-top{font-size:10px;letter-spacing:1px;color:var(--blue);white-space:nowrap}.back-top>span{padding-left:20px;font-size:22px}.modal{border:0;padding:45px;max-width:min(620px,92vw);width:100%;background:#f8faff;color:var(--ink);box-shadow:12px 12px 0 #2869ff80;overflow-y:auto;max-height:88svh}.modal::backdrop{background:#0e172bd4;backdrop-filter:blur(10px)}.modal[open]{animation:copy-in .35s var(--ease)}.modal-close{position:absolute;right:13px;top:13px;width:38px;height:38px;border:1px solid #c5d2e7;background:white;color:var(--blue);font-size:28px;line-height:1;display:grid;place-items:center;z-index:2}.modal-eyebrow{font-size:10px;letter-spacing:2px;color:var(--blue);font-weight:750}.modal h2{font-size:35px;line-height:1.35;letter-spacing:-1px;margin:20px 0}.modal h2 span{color:var(--blue)}.modal>p{font-size:14px;color:#7d8ba3;line-height:1.8}.reserve-options{display:grid;gap:13px;margin-top:25px}.reserve-option{display:flex;gap:16px;align-items:center;padding:22px 18px;border:1px solid #c9d8f6;background:white;font-size:16px;position:relative}.reserve-option>span{font-size:28px;color:var(--blue)}.reserve-option>small{font-size:12px;margin-left:auto;color:#8192ad}.reserve-option>b{color:var(--blue);font-size:20px}.reserve-option[aria-disabled=true]{opacity:.6;cursor:default}.reserve-option:not([aria-disabled=true]):hover{background:#edf3ff}.reserve-option.selected{border-color:var(--blue)}.modal>p.modal-note{font-size:12px;margin:20px 0 0}.dialog-secondary{margin-top:25px;padding:14px 0;background:none;color:var(--blue);font-size:14px;border-bottom:1px solid var(--blue)}.gallery-modal{padding:12px;max-width:min(1080px,94vw);background:white}.gallery-modal>img{width:100%;max-height:72svh;object-fit:contain;min-height:100px}.gallery-modal>div{display:flex;justify-content:space-between;padding:15px;align-items:center;gap:20px}.gallery-modal h2{font-size:17px;margin:0;letter-spacing:0}.gallery-modal>div>span{font-size:10px;color:#8b99ae;letter-spacing:1px}.movie-modal{padding:12px;max-width:min(1150px,94vw);background:#111a2d;color:white;box-shadow:12px 12px 0 #2869ff55}.movie-modal video{width:100%;max-height:70svh;background:black;display:block}.movie-modal h2{font-size:17px;letter-spacing:0;margin:15px 10px 7px}.movie-modal .modal-close{top:16px;right:16px}.movie-modal #movie-error{color:var(--yellow);margin:12px}body.modal-open{overflow:hidden}

/* Readable type for interface copy; tiny branding is restricted to the logo. */
.desktop-nav a>span,.eyebrow,.hero-tag,.hero-pv small,.platforms,.scroll-cue small,.hero-bottom>span:nth-child(2),.hero-character-tag small,.art-coordinate{font-size:12px}.hero-description{font-size:16px}.button small{font-size:12px;letter-spacing:1.3px}.hero-pv{font-size:14px}.reward-card-top,.milestone-label,.character-stats dt,.character-stats dd small,.gallery-preview small,.roster-button>small,.movie-frame-top,.movie-title small,.movie-strip figcaption>span,.movie-strip-quote>span,.system-card-heading small,.last-call>div>span,.site-footer small,.back-top,.modal-eyebrow,.gallery-modal>div>span{font-size:12px}.reward-card p,.gallery-preview>span,.character-view-controls button,.roster-button>span,.system-card dl>div{font-size:14px}.character-bio{font-size:16px}.hero-tag{letter-spacing:1px;gap:12px}.hero-pv small{display:none}.hero-art{right:-2%;width:61%}.hero-copy{width:51%}.character-bio{max-width:430px}.character-stage{min-height:710px}.character-visual{height:750px}.reward-special.is-visible{transform:translateY(-17px)}
@media(max-width:1200px){.reward-track{gap:12px}.rewards,.characters,.movies,.system{padding-left:6%;padding-right:6%}.reward-card{padding:16px 12px}.reward-card p{flex-direction:column;gap:6px}.reward-image{height:135px}.reward-image img{height:120px}.reward-special .reward-image img{height:160px}.reward-card-top{font-size:10px;letter-spacing:.4px}.reward-card-top span:last-child:not(:first-child){display:none}.milestone-label{font-size:11px}.character-info{width:42%}.character-visual{right:-7%;width:70%}.character-bio{font-size:15px}.character-info blockquote{font-size:16px}.movie-strip{gap:25px}.movie-strip figcaption{flex-direction:column;gap:5px}.movie-strip-quote{font-size:21px}.last-call{padding-left:185px;gap:25px}.last-call>img{width:170px;left:3px}.last-call h3{font-size:30px}.system-card{padding:27px}.system-card dl>div{font-size:12px;gap:12px}.hero-art{right:-8%;width:66%}.hero-tag{font-size:11px}.hero-actions .button{gap:16px}.hero-description{font-size:15px}.hero-bottom>span:nth-child(2){display:none}}
@media(max-width:900px){.rewards,.characters,.movies,.system{padding-top:85px;padding-bottom:70px}.section-heading{gap:30px}.section-heading h2{font-size:42px}.reward-intro{width:45%}.reward-intro p{font-size:14px!important}.reward-goal{gap:8px}.reward-goal strong{font-size:43px}.reward-track{gap:13px;grid-template-columns:repeat(5,185px);overflow-x:auto;margin-inline:-6.8%;padding:22px 6.8% 74px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#7fa7ff transparent;margin-top:35px}.reward-track:after{width:845px;left:100px;right:auto}.reward-card{scroll-snap-align:center}.reward-card p{flex-direction:row}.reward-card-top,.milestone-label{font-size:12px}.reward-card h3{font-size:27px}.reward-special.is-visible{transform:none}.reward-special .reward-node{bottom:-63px}.reward-bottom{margin-top:20px;gap:25px}.reward-bottom>p{max-width:60%;line-height:1.7}.characters-heading h2{font-size:36px}.chapter-mark{display:none}.character-info{width:47%}.character-watermark{font-size:115px;left:28%;top:40px}.character-info h3{font-size:44px}.character-visual{right:-22%;width:87%;height:650px;top:20px}.character-stage{min-height:700px}.character-info blockquote{font-size:15px}.character-bio{font-size:14px}.character-stats{gap:20px}.character-stats dt{font-size:10px}.gallery-preview{margin-top:20px}.character-view-controls{right:4%;bottom:0}.character-visual[data-mode=scene]{right:-14%;width:80%}.character-roster{gap:9px}.roster-button{flex:0 0 126px}.faction-filters{gap:20px}.movie-strip{gap:20px;grid-template-columns:1fr 1fr}.movie-strip-quote{display:none}.movie-poster{aspect-ratio:1.8}.movie-title{left:25px;bottom:25px}.movie-title strong{font-size:24px}.movie-title small{font-size:10px}.movie-duration{right:20px;bottom:25px}.movie-heading-note{display:none}.system-grid{gap:18px}.system-card{padding:23px 19px}.system-card-heading{gap:10px}.system-card-heading h3{font-size:20px}.system-card dl>div{flex-direction:column;gap:7px;font-size:14px}.system-card dd{text-align:left}.system-index{font-size:28px}.last-call{margin-top:70px;padding:35px 30px 35px 165px;gap:20px}.last-call>img{width:150px}.last-call h3{font-size:27px}.last-call>div>span{font-size:10px}.last-call .button{font-size:15px;gap:20px;padding:15px}.last-call .button small{font-size:10px}.site-footer{flex-wrap:wrap;padding:35px 6%;gap:25px}.site-footer>div{order:3;width:100%}.hero-art{width:82%;right:-13%}.hero-copy{width:65%}.hero-tag{font-size:10px}.hero-actions .button{font-size:18px;padding:18px 22px}.hero-description{font-size:16px}}
@media(max-width:600px){.ticker{height:48px;margin-top:-12px}.ticker>div{font-size:17px}.ticker span{margin:0 20px;font-size:23px}.rewards,.characters,.movies,.system{padding:68px 6% 55px}.section-kicker{font-size:10px;letter-spacing:1.7px;margin-bottom:17px}.section-heading{display:block}.section-heading h2,.characters-heading h2{font-size:34px;letter-spacing:-1px}.reward-intro{width:100%;margin-top:25px}.reward-intro p{font-size:14px!important;line-height:1.8!important}.reward-goal{max-width:320px;gap:15px;padding-top:10px}.reward-goal strong{font-size:47px}.reward-track{grid-template-columns:repeat(5,175px);margin-top:15px;padding-top:15px;padding-bottom:65px}.reward-track:after{left:92px;width:765px;bottom:15px}.reward-image{height:130px}.reward-image img{height:125px}.reward-node{bottom:-62px}.reward-special .reward-node{bottom:-62px}.reward-card h3{font-size:28px}.reward-card p{font-size:13px}.reward-bottom{flex-direction:column;align-items:flex-start;gap:15px;margin-top:20px}.reward-bottom>p{max-width:none;font-size:12px;line-height:1.8}.text-link{font-size:14px}.characters-heading h2{font-size:30px}.characters-heading h2>span{display:block;margin-top:3px}.faction-filters{gap:7px;justify-content:space-between;overflow-x:auto;margin-top:24px}.faction-filters button{font-size:12px;white-space:nowrap;padding:10px 5px}.character-stage{min-height:990px;margin-top:20px}.character-info{width:100%;padding-top:8px;position:relative;display:flex;flex-direction:column}.character-overline{width:100%;max-width:none}.character-overline b{font-size:34px}.character-origin{font-size:12px;margin-top:12px;align-self:flex-start;padding:5px 10px}.character-info h3{font-size:43px;margin:13px 0 3px}.character-info p#character-english{font-size:20px}.character-info p#character-english span{font-size:12px}.character-info blockquote{font-size:16px;line-height:1.65;margin:22px -7px 16px;max-width:100%}.character-bio{font-size:14px;line-height:1.9;position:absolute;top:732px;margin-top:0;width:100%}.character-stats{position:absolute;top:823px;gap:34px;width:100%;margin:20px 0}.character-stats dt{font-size:10px;white-space:nowrap}.character-stats dd{font-size:20px}.gallery-preview{position:absolute;top:901px;width:calc(100% - 144px);height:65px;max-width:none;margin:0}.gallery-preview>img{height:63px;width:44%}.gallery-preview>span{padding:0 9px;font-size:12px}.gallery-preview small{display:none}.character-visual{top:226px;right:-17%;width:134%;height:490px}.character-visual[data-mode=scene]{right:-17%;width:134%}.character-watermark{left:7%;top:285px;font-size:83px;letter-spacing:-3px;transform:rotate(-90deg);transform-origin:top left;color:#dce7fa}.character-disc{width:360px;max-width:95%;right:0;top:292px}.character-stripes{width:55%;right:-15%;bottom:300px;height:150px}.character-spark{font-size:42px}.spark-one{top:25%;right:13%}.spark-two{font-size:24px;left:18%}.character-view-controls{bottom:auto;top:666px;right:auto;left:50%;transform:translateX(-50%);padding:3px}.character-view-controls button{font-size:12px;padding:9px 14px}.character-arrows{bottom:24px;left:auto;right:0;gap:9px}.character-arrows>button{width:33px;height:35px;font-size:21px}.character-arrows>span{font-size:10px}.character-roster{margin-top:3px;padding-bottom:14px;margin-right:-6.8%;gap:9px}.roster-button{flex-basis:115px;height:125px}.roster-button>span{font-size:12px}.roster-button>small{font-size:9px}.roster-button>img{height:125px}.movies .section-heading h2{font-size:29px}.movies .section-heading h2>span{display:block}.movie-frame{padding:7px;margin-top:28px;box-shadow:7px 7px 0 #091221}.movie-frame-top{font-size:8px;letter-spacing:.8px;padding:5px 2px 12px}.movie-poster{aspect-ratio:1.45}.movie-poster>img{object-position:50% 50%}.movie-play{width:65px;height:65px;left:calc(50% - 32.5px);top:calc(44% - 32.5px);font-size:19px;box-shadow:0 0 0 9px #ffffff1f}.movie-title{left:16px;bottom:47px;right:10px}.movie-title small{font-size:8px;letter-spacing:1px;margin-bottom:7px}.movie-title strong{font-size:22px;letter-spacing:0}.movie-duration{bottom:14px;left:16px;right:auto;padding:4px 7px;font-size:10px}.movie-frame-bottom{padding:8px 5px 0;align-items:flex-start;flex-direction:column;gap:4px}.movie-frame-bottom h3{font-size:14px;margin:5px 0}.movie-frame-bottom h3 span{font-size:12px}.movie-frame-bottom>span{font-size:11px;padding-bottom:4px}.movie-frame-bottom>span b{font-size:16px}.movie-strip{gap:14px;margin-top:30px}.movie-strip figure img{aspect-ratio:1.5}.movie-strip figcaption{font-size:11px;line-height:1.7;margin-top:8px}.movie-strip figcaption>span{font-size:9px;letter-spacing:.5px}.system .section-heading h2{font-size:33px}.system .section-heading>p{margin-top:22px;font-size:14px;line-height:1.8}.system-grid{grid-template-columns:1fr;gap:22px;margin-top:30px}.system-card{padding:25px}.system-card-heading{gap:14px}.system-card-heading h3{font-size:23px}.system-card dl{margin:25px 0}.system-card dl>div{flex-direction:row;font-size:12px;gap:14px;padding:13px 0;align-items:center}.system-card dd{text-align:right}.system-card-heading small{font-size:11px}.device-icon{font-size:39px;width:40px}.system-index{font-size:31px}.system-note{font-size:12px;line-height:1.8;margin-top:20px}.last-call{margin-top:55px;padding:35px 23px 28px 125px;min-height:260px;display:block}.last-call>img{width:122px;left:0;bottom:4px;height:250px}.last-call h3{font-size:27px;line-height:1.3}.last-call>div>span{font-size:9px;letter-spacing:1px;line-height:1.5;display:block}.last-call .button{font-size:14px;padding:13px;margin-top:23px;min-height:57px;gap:12px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.last-call .button small{font-size:8px}.last-call .button b{font-size:23px}.site-footer{padding:30px 6%;gap:23px}.site-footer>div p{font-size:12px;line-height:1.7}.site-footer small{font-size:11px;line-height:1.8;display:block}.back-top{font-size:10px;letter-spacing:.3px}.back-top>span{padding-left:10px}.modal{padding:35px 23px}.modal h2{font-size:30px}.modal-eyebrow{font-size:10px;letter-spacing:1px;display:block;max-width:210px;line-height:1.8}.reserve-option{padding:16px 12px;gap:10px;font-size:14px;flex-wrap:wrap}.reserve-option>span{font-size:23px}.reserve-option>small{font-size:11px}.reserve-option>b{display:none}.modal>p.modal-note{font-size:12px}.gallery-modal,.movie-modal{padding:7px}.gallery-modal h2{font-size:14px}.gallery-modal>div>span{display:none}.gallery-modal>div{padding:12px}.movie-modal h2{font-size:14px}.hero-copy{width:90%}.hero-art{width:119%;right:-10%}.hero-tag{font-size:8px;letter-spacing:.8px;gap:10px}.hero-description{font-size:14px;line-height:1.8}.eyebrow{font-size:10px}.hero-actions .button{font-size:15px;padding:11px 15px;gap:15px}.button small{font-size:9px;letter-spacing:1.3px}.platforms{font-size:12px}.hero-character-tag small{font-size:9px}.hero-bottom .scroll-cue small{font-size:10px}.hero-character-tag{right:13%}.hero-actions{top:822px}.platforms{top:900px}.hero-bottom{bottom:13px}}
@media(max-width:360px){.site-header{gap:8px}.brand-copy{font-size:7px}.brand-copy strong{font-size:18px}.brand-mark{width:38px;font-size:29px}.brand-mark span{font-size:22px}.header-reserve{font-size:11px;padding:10px}.header-reserve span{display:none}.hero{height:930px}.hero-art{top:340px;height:480px}.hero-actions{top:794px}.platforms{top:866px}.hero-description{font-size:13px}.hero-tag{font-size:7px}.hero-character-tag>span{font-size:43px}.character-bio{font-size:13px}.character-stats{gap:22px}.system-card{padding:20px}.system-card dl>div{font-size:11px}.last-call{padding-left:110px}.last-call>img{width:110px}.last-call .button{font-size:12px}.movie-title strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.motion-enabled .reveal:not(.is-visible){opacity:1;transform:none}.ticker>div{animation:none}.character-spark{animation:none}.character-visual>img,.character-visual>video{will-change:auto}.reward-special.is-visible{transform:none}}

/* Game interface art direction: moving world, tactical layers, and saturated panels. */
.hero{background:#101c38;color:white;height:max(860px,100svh);max-height:1120px}.hero-world{position:absolute;inset:0;background:#14223c url('assets/world-rift.webp') center/cover;overflow:hidden;transform:scale(1.05);will-change:transform}.hero-world video{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.92;filter:saturate(1.2)}.hero-world .video-fallback{opacity:0}.hero-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08132cdd 0%,#11213eb8 38%,#0c183531 72%,#09214970 100%)}.tactical-grid{position:absolute;inset:0;background-image:linear-gradient(#9bc4ff0b 1px,transparent 1px),linear-gradient(90deg,#9bc4ff0b 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 85%);pointer-events:none}.hero-scan{position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#90bfff80,transparent);box-shadow:0 0 15px #4b8aff55;animation:scan 12s linear infinite;pointer-events:none}.hero-ghost{top:173px;left:4%;font-size:clamp(145px,15.8vw,285px);color:transparent;-webkit-text-stroke:1px #9bcbff40;letter-spacing:-7px;opacity:.9}.hero-blue{right:-25%;top:20%;width:37%;height:86%;background:linear-gradient(160deg,#3576ffb3,#1248eb85);border-left:2px solid #91b8ff8f;box-shadow:-13px 0 0 #316aff26}.hero-blue:after{inset:12px}.hero-copy{padding-top:255px;z-index:4;width:51%;margin-left:7%}.hero-copy .eyebrow{color:#bdd7ff;background:#215bad4d;padding:8px 15px;border-left:3px solid var(--yellow);width:max-content;max-width:100%;font-size:12px;letter-spacing:1.5px;box-shadow:4px 4px 0 #0819355e}.eyebrow-line{background:#9abaff}.tiny-cross{color:var(--yellow)}.hero-copy h1{font-size:clamp(44px,4.7vw,84px);line-height:1.22;letter-spacing:-2px;text-shadow:0 4px 0 #09214544;margin-top:24px}.hero-copy h1>span{color:var(--yellow)}.hero-copy .title-outline{-webkit-text-stroke:1.5px var(--yellow);color:transparent}.hero-tag{color:#b5d1ff;font-size:12px;margin-top:18px}.hero-tag span:last-child{color:#7d9dc6}.hero-description{color:#d2dff3;font-size:16px;line-height:1.9;margin:23px 0}.hero-actions .button{border:1px solid #ffe77c;box-shadow:0 0 35px #ffce2626}.hero-pv{color:#fff}.hero-pv .play-icon{color:var(--yellow);border-color:#d8e8ffa8;background:#1121427a}.platforms{color:#a2bcdf}.platform-note{border-color:#8ca5cd55}.hero-art{top:135px;right:-1%;width:58%;height:calc(100% - 185px);z-index:3}.hero-art>img,.hero-art>video{filter:drop-shadow(0 30px 30px #040c2670);object-position:center}.art-orbit{border-color:#a1c7ff50;width:78%;top:11%;left:6%;box-shadow:0 0 65px #467aff1a,inset 0 0 65px #467aff10}.art-orbit:after{border-color:#70b4ff60;border-width:1px 3px;border-style:solid;border-top-color:transparent;border-bottom-color:transparent;animation:orbit 30s linear infinite}.hero-character-tag{right:5%;top:50%}.hero-character-tag b{color:var(--ink)}.hero-dotfield{left:41%;top:36%;background:radial-gradient(#6fa8ff 1.5px,transparent 2px) 0 0/10px 10px;opacity:.3}.hero-stripes{right:-3%;bottom:16%;height:90px;width:190px;opacity:.3}.hero-bottom{bottom:28px}.hero-bottom .scroll-cue{color:#bcd2f4}.hero-bottom .scroll-cue>span{color:var(--yellow)}.hero-bottom .scroll-cue small{color:#87a4cc}.hero-pagination{color:#aecbff}.hero-pagination b{color:#fff}.hero-mission{position:absolute;top:118px;left:7%;right:7%;display:flex;align-items:center;gap:30px;border-top:1px solid #9bbce155;border-bottom:1px solid #9bbce155;padding:10px 0;color:#b1ccf1;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:12px;letter-spacing:1px;z-index:4}.hero-mission>span:first-child{color:var(--yellow);font-weight:700}.hero-mission>span:nth-child(2){margin-left:auto}.hero-mission b{font-weight:500;margin-left:18px}.mission-bars{color:var(--yellow);letter-spacing:3px}.hero-module-strip{display:flex;gap:0;margin-top:27px;width:max-content;max-width:100%;background:#0c1a36a8;border:1px solid #6e9cda50;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}.hero-module-strip>span{padding:13px 20px;font-size:14px;font-weight:800;border-right:1px solid #7897c44d;white-space:nowrap}.hero-module-strip>span:last-child{border-right:0}.hero-module-strip b{display:block;font-size:10px;letter-spacing:1.4px;color:#82a7dc;margin-bottom:7px;font-weight:500}.hero-squad{position:absolute;right:8%;bottom:38px;display:flex;gap:8px;align-items:center;z-index:5}.hero-squad>span{position:absolute;top:-23px;right:0;font-size:10px;letter-spacing:1px;color:#a8c6f3;white-space:nowrap}.hero-squad>a{width:60px;height:62px;border:1px solid #77a8ff;background:linear-gradient(135deg,#e8f1ffb5,#285ef7b5);transform:skew(-6deg);overflow:hidden;box-shadow:3px 3px 0 #07163088;transition:transform .25s,background .25s}.hero-squad>a:hover{transform:skew(-6deg) translateY(-5px);background:var(--blue)}.hero-squad img{width:100%;height:100%;object-fit:cover;object-position:top;transform:skew(6deg) scale(1.12)}.hero-squad>a.squad-more{width:37px;display:grid;place-items:center;font-size:24px;color:var(--yellow);background:#162444aa}.hero-seal{position:absolute;top:174px;right:9%;width:102px;height:102px;border:1px solid #ffe26e7d;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--yellow);font-size:10px;letter-spacing:2px;line-height:1.6;transform:rotate(12deg);z-index:5;background:#10204466;box-shadow:0 0 0 5px #ffd33e0d,inset 0 0 0 6px #ffe06812}.hero-seal b{font-size:18px;letter-spacing:1px}.hero-seal>span{font-size:7px}.motion-control{position:absolute;left:calc(7% + 220px);bottom:25px;z-index:6;padding:8px 13px;color:#c2d8f5;border:1px solid #7797c752;background:#11244685;font-size:12px;display:flex;gap:8px;align-items:center}.motion-control:hover{border-color:#a8caff;color:#fff}.hero-bottom .hero-pagination{display:none}.page-rail{background:#12213dd9;padding:17px 12px;border:1px solid #6c98e445;right:8px;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}.page-rail>a{color:#8ca9d6}.page-rail>a.active{color:var(--yellow)}.page-rail>a.active:before{border-color:var(--yellow)}.page-rail>span{color:#7d9ecb}.site-header{background:#f5f8fff5;box-shadow:0 3px 0 #276aff40}.brand-mark{filter:drop-shadow(3px 3px 0 #c2d8ff)}.desktop-nav a.active{background:linear-gradient(transparent,#2a6bff10)}
.reward-scene{position:absolute;inset:0;background:linear-gradient(90deg,#1651e1f0,#1d58e5b0),url('assets/c10-gallery.webp') center 35%/cover;pointer-events:none}.rewards>.section-background-word{z-index:1;color:#ffffff10;top:40px}.rewards .section-heading,.reward-track,.reward-bottom{position:relative;z-index:2}.rewards:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 70px,#ffffff0a 70px 72px);z-index:1;pointer-events:none}.reward-card{background:linear-gradient(145deg,#fff,#eaf1ff);border:1px solid #9cbbfa;box-shadow:6px 7px 0 #0b309177}.reward-card h3{padding-bottom:12px;border-bottom:2px solid var(--blue)}.reward-special{background:linear-gradient(145deg,#ffe06a,#ffc93f);border-color:#ffee9a}.reward-image{background:radial-gradient(#afc9ff99,transparent 70%)}.reward-image:before{content:"";position:absolute;width:105px;height:105px;border:1px solid #86aeed55;transform:rotate(45deg);z-index:-1}.reward-special .reward-image:before{border-color:#9b711a3b}.reward-special .milestone-label{font-weight:700}.reward-goal{background:#061b4b45;padding:12px 20px;clip-path:polygon(0 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%);border-left:3px solid var(--yellow)}
.characters{background:linear-gradient(110deg,#eff5fff0 15%,#e7f0ffb0 68%,#c7daffbd),url('assets/world-battle.webp') center/cover}.characters:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#9bb7e01a 1px,transparent 1px),linear-gradient(90deg,#9bb7e01a 1px,transparent 1px);background-size:38px 38px}.characters:after{content:"";position:absolute;right:-10%;top:20%;height:55%;width:31%;background:var(--blue);transform:skew(-17deg);opacity:.82;pointer-events:none;z-index:0}.character-stage{z-index:1}.characters-heading,.faction-filters{z-index:4}.character-info{padding:25px 22px 20px;background:linear-gradient(90deg,#ffffffdb,#ffffffa6 90%,transparent);border-left:3px solid var(--blue);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);box-shadow:0 10px 40px #1e4db715;min-height:600px}.character-overline{border-bottom:1px solid #afc6eb;padding-bottom:14px}.character-watermark{color:#608fef22;-webkit-text-stroke:1px #3277e832}.character-disc{border:2px solid #5992e880;box-shadow:inset 0 0 0 25px #3973e70a,0 0 0 12px #528cff09}.character-disc:before{border-color:#276cff88;border-width:2px;animation:orbit 40s linear infinite}.character-view-controls{box-shadow:5px 5px 0 #1a4dbb23}.faction-filters button{background:#f7fbffb8;padding:11px 20px;border:1px solid #acc5f1;transform:skew(-5deg);font-weight:650;color:#55749e}.faction-filters button.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:3px 3px 0 #e9abce}.roster-button{border-color:#98b9ee;background:linear-gradient(135deg,#cfddf8,#fff);box-shadow:4px 4px 0 #5c87c322}.character-arrows>button:disabled{opacity:.4;cursor:default}.movies .movie-backdrop{opacity:1;background:linear-gradient(100deg,#111a2dee,#132347c4),url('assets/world-rift.webp') center/cover}.movies:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 140px,#72a2ff0b 140px 143px)}.system{background:linear-gradient(100deg,#f0f5ffff,#e5eefff0),url('assets/world-forge.webp') center/cover}.system-card{border-top:4px solid var(--blue);background:#ffffffd9;box-shadow:7px 7px 0 #5386d624}.system-card-heading{border-bottom:1px solid #b8cdeb;padding-bottom:18px}.last-call{border:1px solid #7ca6ff;background:linear-gradient(100deg,#101b36bd,#18244980 58%,#101b36a6),url('assets/final-katana-background.png') center/cover}.character-origin{background:var(--yellow);box-shadow:3px 3px 0 #ebbb2f33}@keyframes scan{from{transform:translateY(100px)}to{transform:translateY(1100px)}}@keyframes orbit{to{transform:rotate(360deg)}}
@media(max-width:1200px){.hero{height:890px}.hero-copy{padding-top:245px;margin-left:6%;width:52%}.hero-art{top:159px;width:61%;right:-4%;height:680px}.hero-copy h1{font-size:58px}.hero-ghost{font-size:180px}.hero-character-tag{right:8%;top:50%}.hero-module-strip>span{padding:12px 15px;font-size:13px}.hero-seal{right:7%;width:85px;height:85px;top:170px}.hero-seal b{font-size:16px}.hero-squad{right:8%;bottom:34px}.hero-squad>a{width:52px;height:53px}.hero-mission{left:6%;right:6%}.character-info{padding:22px 18px}.character-info blockquote{font-size:15px;margin-left:-7px}.character-bio{font-size:14px}.character-stats{gap:19px}.faction-filters{gap:16px}.faction-filters button{font-size:13px;padding:10px 17px}.hero-tag{font-size:10px}.motion-control{left:calc(6% + 215px)}}
@media(max-width:900px){.hero{height:1030px}.hero-copy{padding-top:210px;width:75%}.hero-copy h1{font-size:58px}.hero-art{top:380px;width:92%;right:-12%;height:580px}.hero-ghost{top:155px;font-size:160px}.hero-mission{top:100px;font-size:10px;gap:15px}.hero-mission>span:nth-child(2){margin-left:auto}.hero-mission b{display:none}.hero-seal{top:170px;right:8%;width:84px;height:84px}.hero-actions{flex-direction:row;gap:20px}.hero-pv>span:last-child{display:none}.hero-module-strip{margin-top:24px}.hero-module-strip>span{padding:10px 16px}.hero-module-strip b{font-size:9px}.hero-description{font-size:15px}.hero-squad{bottom:40px;right:9%}.hero-character-tag{right:10%}.hero-blue{top:35%;right:-30%;width:50%;height:75%}.hero-dotfield{top:53%;left:10%}.hero-bottom{left:6%;bottom:28px}.motion-control{left:6%;bottom:72px}.character-info{width:49%;padding:22px 16px;min-height:610px}.character-bio{font-size:14px}.character-stats{gap:14px}.character-stats dt{font-size:9px}.faction-filters{gap:11px}.faction-filters button{padding:10px 14px;font-size:12px}.hero-video-shade{background:linear-gradient(110deg,#09152be6,#1123409c 70%,#101d3480)}.hero-tag{font-size:10px}}
@media(max-width:600px){.hero{height:1100px;min-height:1100px}.hero-mission{top:90px;left:6%;right:6%;font-size:9px;padding:9px 0;gap:8px}.mission-bars{font-size:9px;letter-spacing:0}.hero-mission>span:nth-child(2){font-size:8px}.hero-copy{padding-top:150px;width:90%;margin-left:6%}.hero-copy .eyebrow{font-size:9px;letter-spacing:.5px;padding:6px 9px;gap:6px}.hero-copy h1{font-size:clamp(35px,8.8vw,51px);letter-spacing:-1px;margin-top:17px;line-height:1.25}.hero-ghost{top:359px;font-size:105px;left:-8%;letter-spacing:-3px;-webkit-text-stroke-color:#9bcbff66;transform:rotate(-8deg)}.hero-tag{font-size:8px;letter-spacing:.5px;gap:10px;margin-top:15px}.hero-description{font-size:14px;line-height:1.8;margin:16px 0 0}.hero-copy .title-outline{-webkit-text-stroke-width:1px}.hero-art{top:382px;right:-14%;width:128%;height:520px}.hero-character-tag{top:48%;right:13%}.hero-character-tag>span{font-size:47px}.hero-character-tag small{font-size:9px}.hero-seal{top:410px;left:7%;right:auto;width:76px;height:76px;font-size:8px;transform:rotate(-10deg)}.hero-seal b{font-size:14px}.hero-seal>span{font-size:6px}.hero-blue{top:440px;right:-47%;width:65%;height:50%}.hero-video-shade{background:linear-gradient(180deg,#081632de 0,#0d2041c4 30%,#061c3b5c 50%,#09204778 72%,#09192ce8 90%)}.hero-world video{object-position:55% center}.hero-module-strip{position:absolute;top:906px;left:0;right:0;display:flex;width:100%;margin:0;background:#0c1a36b8;justify-content:space-evenly}.hero-module-strip>span{font-size:12px;padding:10px 12px;text-align:center;flex:1}.hero-module-strip b{font-size:8px;letter-spacing:.7px;margin-bottom:5px}.hero-actions{top:982px;left:0;right:0;flex-direction:row;align-items:center;gap:14px}.hero-actions .button{font-size:15px;min-height:60px;padding:11px 16px;gap:12px}.hero-actions .button small{font-size:9px}.hero-actions .hero-pv{padding:0}.hero-pv .play-icon{width:48px;height:48px;background:#1a386195;border-color:#8caeee}.platforms{top:1055px;font-size:10px;gap:20px;color:#a2bcdf}.hero-squad{bottom:auto;top:842px;right:6%;gap:5px}.hero-squad>a{width:42px;height:43px}.hero-squad>a.squad-more{width:27px;font-size:20px}.hero-squad>span{font-size:8px;letter-spacing:.5px;top:-16px}.hero-bottom{display:none}.motion-control{left:6%;top:851px;bottom:auto;font-size:10px;padding:7px 9px;gap:6px}.hero-dotfield{top:515px;left:3%;width:120px;height:160px}.hero-stripes{bottom:290px;height:70px;width:145px}.character-info{width:100%;min-height:0;padding:17px 15px 16px;background:#ffffffc7;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,0 100%);overflow:visible}.character-overline{padding-bottom:12px}.character-stage{min-height:1115px}.character-visual{top:285px;right:-17%;width:134%;height:490px}.character-watermark{top:368px}.character-disc{top:358px}.character-stripes{bottom:350px}.character-info blockquote{margin:17px -7px 0;font-size:14px}.character-info h3{font-size:39px}.character-origin{font-size:11px;margin-top:15px}.character-bio{top:808px;left:0;background:#ffffffd6;padding:14px 15px;font-size:14px;box-shadow:3px 3px 0 #376fde25;border-left:3px solid var(--blue);line-height:1.8}.character-stats{top:925px;left:0;background:#ffffffc7;padding:16px 13px;gap:24px;box-shadow:3px 3px 0 #376fde25}.character-stats dt{font-size:9px}.character-stats dd{font-size:18px}.gallery-preview{top:1035px;left:0;width:calc(100% - 146px);height:61px}.gallery-preview>img{height:59px}.character-view-controls{top:751px}.character-arrows{bottom:20px}.character-roster{margin-top:0}.characters:after{right:-41%;top:28%;height:45%;width:66%}.faction-filters{gap:6px;margin-top:25px}.faction-filters button{padding:10px 8px;font-size:11px}.reward-goal{padding:12px 14px}.reward-intro p{font-size:14px!important}.system-card{background:#ffffffdf}.character-info>.character-bio,.character-info>.character-stats,.character-info>.gallery-preview{z-index:5}.character-info{clip-path:none}.hero .platform-note{display:none}.reward-card{min-height:295px}}
@media(max-width:360px){.hero-copy h1{font-size:32px}.hero-mission>span:nth-child(2){display:none}.hero-mission .mission-bars{margin-left:auto}.hero-copy .eyebrow{font-size:8px}.hero-description{font-size:12px}.hero-module-strip>span{padding:10px 8px}.hero-module-strip b{font-size:7px}.hero-character-tag{right:12%}.character-info h3{font-size:36px}.character-bio{font-size:13px}.character-stats{gap:17px}.faction-filters button{font-size:10px;padding:10px 6px}.hero-actions .button{font-size:13px}.hero-actions .button small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-scan{display:none}.hero-world,.art-orbit:after,.character-disc:before{animation:none!important;transform:none!important}.character-watermark{translate:none!important}}
@media(min-width:901px) and (max-height:850px){:root{--header:72px}.hero{height:780px;min-height:740px}.hero-mission{top:96px;padding:8px 0}.hero-copy{padding-top:176px}.hero-copy h1{font-size:56px;margin:18px 0 10px;line-height:1.18}.hero-description{margin:18px 0;font-size:15px;line-height:1.8}.hero-tag{margin-top:12px}.hero-actions .button{min-height:68px;padding:13px 22px;font-size:17px}.hero-module-strip{margin-top:19px}.hero-module-strip>span{padding:10px 17px}.platforms{margin-top:17px}.hero-art{top:113px;height:650px;width:58%;right:-1%}.hero-ghost{top:137px;font-size:175px}.hero-seal{top:151px;right:8%;width:80px;height:80px;font-size:9px}.hero-seal b{font-size:15px}.hero-character-tag{top:51%}.hero-squad{bottom:29px}.motion-control{bottom:22px}.hero-bottom{bottom:24px}}
.faction-filters{scrollbar-width:none}.faction-filters::-webkit-scrollbar{display:none}
html{overflow-x:clip}main{overflow-x:clip}.modal{max-width:min(620px,calc(100vw - 40px))}.gallery-modal{max-width:min(1080px,calc(100vw - 40px))}.movie-modal{max-width:min(1150px,calc(100vw - 40px))}
/* Japanese typography and flexible biography layout. */
html:lang(ja) body{font-family:Arial,"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-break:strict;word-break:normal;overflow-wrap:break-word}
html:lang(ja) .brand-copy{font-size:11px;letter-spacing:.3px;line-height:1.6}
html:lang(ja) .brand-copy strong{font-size:21px;letter-spacing:0;white-space:nowrap}
html:lang(ja) .desktop-nav{gap:23px}
html:lang(ja) .desktop-nav a{font-size:13px;gap:5px}
html:lang(ja) .hero-copy h1{font-size:clamp(40px,4vw,68px);line-height:1.35;letter-spacing:-2px}
html:lang(ja) .hero-ghost{font-family:inherit;font-size:clamp(130px,13vw,235px);font-weight:900;letter-spacing:6px}
html:lang(ja) .hero-tag{letter-spacing:1px;gap:18px}
html:lang(ja) .hero-module-strip b{letter-spacing:.6px}
html:lang(ja) .section-heading h2{font-size:clamp(32px,3.3vw,55px);line-height:1.4}
html:lang(ja) .characters-heading h2{font-size:clamp(30px,2.7vw,44px);line-height:1.4}
html:lang(ja) .character-watermark{font-family:inherit;letter-spacing:3px}
html:lang(ja) .character-info h3{font-size:clamp(40px,3.5vw,56px);line-height:1.35;white-space:nowrap}
html:lang(ja) .character-info blockquote{font-size:16px;line-height:1.9;margin:22px 0 14px}
html:lang(ja) .character-bio{font-size:14px;line-height:1.9}
html:lang(ja) .character-stage{min-height:760px}
html:lang(ja) .character-info{padding-bottom:24px}
html:lang(ja) .character-info p#character-english{font-size:16px;letter-spacing:2px}
html:lang(ja) .character-info p#character-english span{letter-spacing:1px}
html:lang(ja) .reward-card p{flex-wrap:wrap}
html:lang(ja) .system-card-heading h3{font-size:22px}
html:lang(ja) .modal h2{font-size:32px;line-height:1.5}
html:lang(ja) .reserve-option strong{font-size:15px}
@media(max-width:1200px) and (min-width:901px){html:lang(ja) .desktop-nav{gap:14px}html:lang(ja) .brand-copy strong{font-size:18px}html:lang(ja) .header-reserve{font-size:12px}html:lang(ja) .header-reserve span{margin-left:9px}html:lang(ja) .desktop-nav a>span{display:none}html:lang(ja) .character-stage{min-height:800px}}
@media(max-width:900px){html:lang(ja) .brand-copy{font-size:10px}html:lang(ja) .brand-copy strong{font-size:18px}html:lang(ja) .hero-copy h1{font-size:48px}html:lang(ja) .character-stage{min-height:850px}html:lang(ja) .faction-filters button{padding:10px 12px}html:lang(ja) .section-heading h2{font-size:38px}html:lang(ja) .character-stats dt{letter-spacing:0;font-size:11px}html:lang(ja) .system-card-heading h3{font-size:18px}}
@media(max-width:600px){
 html:lang(ja) .site-header{gap:9px;padding-inline:5%}
 html:lang(ja) .brand{gap:6px}html:lang(ja) .brand-mark{width:40px;font-size:32px}
 html:lang(ja) .brand-copy{font-size:9px;letter-spacing:0}html:lang(ja) .brand-copy strong{font-size:16px}
 html:lang(ja) .header-reserve{padding:10px 11px;font-size:12px;white-space:nowrap}html:lang(ja) .header-reserve span{display:none}
 html:lang(ja) .hero-copy h1{font-size:clamp(29px,8vw,42px);line-height:1.4;letter-spacing:-1px}
 html:lang(ja) .hero-description{font-size:13px;line-height:1.9}
 html:lang(ja) .hero-tag{font-size:10px;letter-spacing:.5px;gap:13px}
 html:lang(ja) .hero-ghost{font-size:94px;letter-spacing:1px}
 html:lang(ja) .hero-squad>span{font-size:10px}
 html:lang(ja) .hero-module-strip b{font-size:10px}
 html:lang(ja) .hero-actions .button small{font-size:11px;letter-spacing:.3px}
 html:lang(ja) .hero-mission{font-size:9px;letter-spacing:0}
 html:lang(ja) .hero-mission>span:nth-child(2){font-size:9px}
 html:lang(ja) .section-heading h2{font-size:31px;line-height:1.4}
 html:lang(ja) .characters-heading h2{font-size:29px}
 html:lang(ja) .faction-filters{gap:5px}
 html:lang(ja) .faction-filters button{font-size:11px;padding:10px 7px;flex-shrink:0;min-width:max-content}
 html:lang(ja) .character-stage{min-height:0;padding-bottom:0}
 html:lang(ja) .character-info{display:flex;flex-direction:column;min-height:0;padding:17px 15px 16px;border:0;background:linear-gradient(#ffffffc7,#ffffffc7) top/100% 265px no-repeat;box-shadow:none;z-index:auto}
 html:lang(ja) .character-overline{position:relative;z-index:3}
 html:lang(ja) .character-info h3{font-size:38px;position:relative;z-index:3}
 html:lang(ja) .character-info blockquote{font-size:14px;line-height:1.8;min-height:51px;margin:18px 0 0;position:relative;z-index:3}
 html:lang(ja) .character-visual{top:283px;height:490px}
 html:lang(ja) .character-view-controls{top:757px;bottom:auto}
 html:lang(ja) .character-bio{position:relative;top:auto;left:auto;margin:550px -15px 0;width:calc(100% + 30px);padding:16px;font-size:14px;line-height:1.9;z-index:3}
 html:lang(ja) .character-stats{position:relative;top:auto;left:auto;width:calc(100% + 30px);margin:16px -15px;gap:30px;padding:16px;z-index:3}
 html:lang(ja) .gallery-preview{position:relative;top:auto;left:auto;margin:0 -15px;width:calc(100% - 103px);min-height:61px;z-index:3}
 html:lang(ja) .gallery-preview>span{font-size:12px}
 html:lang(ja) .character-arrows{bottom:28px;gap:6px}
 html:lang(ja) .character-roster{margin-top:18px}
 html:lang(ja) .system-card-heading h3{font-size:22px}
 html:lang(ja) .system-card dl>div{font-size:12px}
 html:lang(ja) .modal h2{font-size:27px;line-height:1.5}
 html:lang(ja) .reserve-option{gap:9px;display:grid;grid-template-columns:26px 1fr}
html:lang(ja) .reserve-option small{grid-column:2;font-size:12px;margin:0}

 html:lang(ja) .last-call h3{font-size:24px}html:lang(ja) .last-call .button{font-size:13px}
 html:lang(ja) .last-call .button small{font-size:10px;letter-spacing:0}
 html:lang(ja) .back-top{font-size:12px;letter-spacing:0}
}
@media(max-width:360px){html:lang(ja) .brand-copy strong{font-size:14px}html:lang(ja) .brand-copy{font-size:8px}html:lang(ja) .brand-mark{width:32px;font-size:28px}html:lang(ja) .site-header{gap:6px}html:lang(ja) .header-reserve{padding:10px 9px;font-size:11px}html:lang(ja) .menu-toggle{width:28px}html:lang(ja) .hero-description{font-size:12px}html:lang(ja) .character-info h3{font-size:34px}html:lang(ja) .gallery-preview>span{font-size:11px}}
@media(max-width:600px){.faction-filters{gap:5px}.faction-filters button{padding:10px 7px;font-size:11px;flex:1}.hero-squad>span,.hero-module-strip b,.hero-character-tag small{font-size:10px}.hero .platforms{font-size:12px}.hero-actions .button small{font-size:10px}.modal .reserve-option small{font-size:12px}.reward-card .milestone-label{font-size:12px}.system-card dl>div{font-size:13px}.hero-tag{font-size:9px}.character-bio{font-size:15px}.character-stats{top:944px}.gallery-preview{top:1048px}.character-arrows{bottom:7px}.character-stage{min-height:1120px}.character-stats dt{font-size:10px}}

/* Home: forged-gold registration control and clear video-control corner. */
.site-header .brand{position:relative;z-index:2}
.brand-logo{width:175px;height:auto;max-width:none;transform:translateY(8px);filter:drop-shadow(0 3px 4px #08204788)}
@media(max-width:900px){.brand-logo{width:120px;transform:none}}
@media(max-width:360px){.brand-logo{width:105px}}
.hero-actions .hero-reserve-button{width:max-content;min-width:0;min-height:76px;padding:11px 22px 11px 15px;justify-content:center;gap:12px;overflow:hidden;isolation:isolate;background:linear-gradient(125deg,#fff19e 0%,#ffe05b 44%,#ffb525 100%);color:#17223d;border:2px solid #fff1aa;filter:drop-shadow(7px 8px 0 #0b224a) drop-shadow(0 0 16px #ffd4528c);animation:forge-pulse 3.4s ease-in-out infinite}
.hero-reserve-button::before{content:"";position:absolute;inset:5px;border:1px solid #6344128c;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));pointer-events:none}
.hero-reserve-button::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-70%;width:30%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-22deg);animation:forge-glint 4.4s ease-in-out infinite;pointer-events:none}
.hero-reserve-icon{position:relative;z-index:1;flex:none;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 1px #fff8b7) drop-shadow(2px 3px 1px #11469c66)}
.hero-reserve-label{position:relative;z-index:1;display:block;flex:none;white-space:nowrap;font-size:23px;font-weight:950;letter-spacing:1px;line-height:1.12}
.hero-actions .hero-reserve-button:hover{transform:translateY(-5px) scale(1.02);animation-play-state:paused;filter:drop-shadow(9px 11px 0 #0b224a) drop-shadow(0 0 25px #ffdc70)}
.hero .motion-control{left:auto;right:7%;bottom:26px;top:auto;min-height:39px;background:#0b2047dc;border-color:#9fc4ff9c;box-shadow:0 4px 16px #06132988;backdrop-filter:blur(8px)}
.hero-bottom>span:nth-child(2){position:absolute;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}
@keyframes forge-pulse{0%,100%{filter:drop-shadow(7px 8px 0 #0b224a) drop-shadow(0 0 12px #ffd45272)}50%{filter:drop-shadow(7px 8px 0 #0b224a) drop-shadow(0 0 25px #ffdc70bf)}}
@keyframes forge-glint{0%,25%{left:-70%}55%,100%{left:125%}}
@media(max-width:900px){.hero .motion-control{right:6%;bottom:26px}}
@media(max-width:600px){.hero-actions .hero-reserve-button{flex:none;min-height:64px;padding:9px 14px 9px 10px;gap:8px}.hero-reserve-icon{width:38px;height:38px}.hero-reserve-label{font-size:18px;letter-spacing:0}.hero .motion-control{top:780px;bottom:auto;right:6%}}
@media(max-width:360px){.hero-actions .hero-reserve-button{gap:7px;padding-inline:10px}.hero-reserve-icon{width:34px;height:34px}.hero-reserve-label{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero-actions .hero-reserve-button,.hero-reserve-button::after{animation:none}}

/* Mobile preregistration milestones: a vertical sequence instead of a carousel. */
@media(max-width:600px){
  .reward-track{grid-template-columns:minmax(0,1fr);gap:18px;margin:24px 0 0;padding:0 0 0 24px;overflow:visible;scroll-snap-type:none;scrollbar-width:none}
  .reward-track:before{content:"";position:absolute;top:15px;bottom:20px;left:1px;width:2px;background:linear-gradient(#9dc0ff,#ffdf64)}
  .reward-track:after{display:none}
  .reward-card{min-width:0;min-height:0;padding:17px 18px 18px;scroll-snap-align:none}
  .reward-card h3{margin:12px 0 4px}
  .reward-image{height:118px}
  .reward-image img{height:112px}
  .reward-card p{margin:10px 0 9px}
  .reward-node,.reward-special .reward-node{top:16px;bottom:auto;left:-37px;width:28px;height:28px;font-size:10px}
  .reward-special,.reward-special.is-visible{transform:none}
  .reward-special .reward-image{height:150px;overflow:hidden}
  .reward-special .reward-image img{width:100%;max-width:100%;height:148px;margin-top:0}
}

/* Keep the character chapter within one desktop viewport and use fixed-size chibi selectors. */
.characters{min-height:calc(100svh - var(--header));padding:clamp(24px,4vh,42px) 6% 22px;display:flex;flex-direction:column;justify-content:space-between}
.characters-heading h2,html:lang(ja) .characters-heading h2{font-size:clamp(28px,2.7vw,42px);line-height:1.2}
.characters .section-kicker{margin-bottom:8px}
.faction-filters{margin-top:10px;gap:9px}
.faction-filters button,html:lang(ja) .faction-filters button{padding:7px 12px;font-size:11px}
.character-stage,html:lang(ja) .character-stage{flex:0 0 auto;height:clamp(350px,48svh,460px);max-height:460px;min-height:0;margin-top:10px;padding:0}
.character-info,html:lang(ja) .character-info{width:40%;height:100%;min-height:0;padding:13px 18px;display:flex;flex-direction:column;overflow:hidden;z-index:3;background:linear-gradient(90deg,#fffffff2,#ffffffd0 87%,#ffffffb0);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);box-shadow:0 10px 32px #1e4db71c}
.character-overline{padding-bottom:5px;font-size:10px}
.character-overline b{font-size:30px}
.character-origin{margin-top:7px;padding:4px 9px;font-size:10px}
.character-info h3,html:lang(ja) .character-info h3{font-size:clamp(30px,3vw,44px);margin:5px 0 0;line-height:1.08}
.character-info p#character-english,html:lang(ja) .character-info p#character-english{font-size:14px;line-height:1.2;letter-spacing:1px}
.character-info blockquote,html:lang(ja) .character-info blockquote{font-size:14px;line-height:1.45;min-height:0;margin:8px 0 0}
.character-bio,html:lang(ja) .character-bio{position:static;width:auto;max-width:none;margin:9px 0 0;padding:0;border:0;background:none;box-shadow:none;font-size:13px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.character-stats,html:lang(ja) .character-stats{position:static;width:auto;margin:auto 0 0;padding:9px 0 0;gap:20px;border-top:1px solid #afc6eb;background:none}
.character-stats dt{font-size:9px;margin-bottom:4px}
.character-stats dd{font-size:17px}
.character-watermark{top:0;left:39%;font-size:clamp(75px,9vw,135px);transform:none}
.character-disc{width:340px;max-width:42%;right:11%;top:2%}
.character-stripes{height:80px;bottom:30px}
.character-visual,html:lang(ja) .character-visual{top:0;right:-4%;width:62%;height:100%}
.character-arrows,html:lang(ja) .character-arrows{left:auto;right:0;bottom:0}
.character-roster,html:lang(ja) .character-roster{flex:0 0 auto;margin-top:9px;padding:3px 2px 8px;gap:9px;min-height:103px;overflow-x:auto;overflow-y:hidden}
.roster-button{flex:0 0 108px;width:108px;min-width:108px;height:96px;text-align:center}
.roster-button>img{left:4px;right:4px;top:1px;width:calc(100% - 8px);height:72px;object-fit:contain;object-position:center bottom}
.roster-button:after{inset:55% 0 0}
.roster-button>small{left:7px;top:4px;font-size:8px;writing-mode:horizontal-tb;letter-spacing:.2px}
.roster-button>span{left:6px;right:6px;bottom:4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){
  .characters{min-height:0;padding:42px 6% 28px;display:block}
  .characters-heading h2,html:lang(ja) .characters-heading h2{font-size:28px;line-height:1.2}
  .faction-filters{margin-top:13px;gap:6px;overflow-x:auto;justify-content:flex-start}
  .faction-filters button,html:lang(ja) .faction-filters button{flex:0 0 auto;min-width:max-content;padding:7px 9px;font-size:10px}
  .character-stage,html:lang(ja) .character-stage{height:635px;max-height:none;min-height:0;margin-top:11px}
  .character-info,html:lang(ja) .character-info{width:100%;height:100%;padding:10px 12px;overflow:visible;clip-path:none;box-shadow:none;background:linear-gradient(#ffffffe3,#ffffffb8) top/100% 190px no-repeat}
  .character-overline{padding-bottom:3px}
  .character-overline b{font-size:26px}
  .character-origin{margin-top:5px;padding:3px 8px;font-size:10px}
  .character-info h3,html:lang(ja) .character-info h3{font-size:31px;margin:5px 0 0}
  .character-info p#character-english,html:lang(ja) .character-info p#character-english{font-size:13px}
  .character-info blockquote,html:lang(ja) .character-info blockquote{font-size:12px;line-height:1.4;margin:6px 0 0;max-width:100%}
  .character-visual,html:lang(ja) .character-visual{top:178px;right:-12%;width:124%;height:320px}
  .character-watermark{top:194px;left:2%;font-size:70px;transform:none}
  .character-disc{top:195px;right:3%;width:280px;max-width:78%}
  .character-stripes{bottom:112px;height:70px}
  .character-bio,html:lang(ja) .character-bio{position:absolute;top:492px;left:0;width:100%;margin:0;padding:8px 10px;font-size:12px;line-height:1.42;-webkit-line-clamp:2;background:#fffffff0;border-left:3px solid var(--blue)}
  .character-stats,html:lang(ja) .character-stats{position:absolute;top:563px;left:0;width:calc(100% - 108px);margin:0;padding:8px 9px;gap:14px;background:#ffffffe8;border-top:1px solid #afc6eb}
  .character-stats dd{font-size:15px}
  .character-arrows,html:lang(ja) .character-arrows{right:0;bottom:11px}
  .character-roster,html:lang(ja) .character-roster{margin-top:9px;min-height:93px;gap:8px}
  .roster-button{flex-basis:86px;width:86px;min-width:86px;height:86px}
  .roster-button>img{height:63px}
  .roster-button>span{font-size:10px}
}
@media(max-width:360px){
  .character-stage,html:lang(ja) .character-stage{height:675px}
  .character-visual,html:lang(ja) .character-visual{top:195px;height:330px}
  .character-bio,html:lang(ja) .character-bio{top:524px}
  .character-stats,html:lang(ja) .character-stats{top:598px;width:calc(100% - 132px);gap:6px}
  .character-stats dd{font-size:13px}
}

/* Mobile character chapter: fit the standing art, profile, and fixed-size chibi roster more tightly. */
@media(max-width:600px){
  .characters{padding:25px 6% 18px}
  .characters-heading h2,html:lang(ja) .characters-heading h2{font-size:25px}
  .characters .section-kicker{margin-bottom:5px}
  .faction-filters{margin-top:8px}
  .character-stage,html:lang(ja) .character-stage{height:500px;margin-top:8px}
  .character-info,html:lang(ja) .character-info{background-size:100% 160px}
  .character-visual,html:lang(ja) .character-visual{top:142px;height:255px}
  .character-watermark{top:158px;font-size:62px}
  .character-disc{top:155px;width:245px}
  .character-stripes{bottom:92px}
  .character-bio,html:lang(ja) .character-bio{top:390px;padding:6px 9px;font-size:11px;line-height:1.35}
  .character-stats,html:lang(ja) .character-stats{top:452px;padding:6px 8px;gap:10px}
  .character-stats dt{font-size:8px;margin-bottom:3px}
  .character-stats dd{font-size:13px}
  .character-arrows,html:lang(ja) .character-arrows{bottom:8px}
  .character-roster,html:lang(ja) .character-roster{margin-top:5px;min-height:78px;gap:7px;padding-bottom:5px}
  .roster-button{flex-basis:78px;width:78px;min-width:78px;height:73px}
  .roster-button>img{height:53px}
  .roster-button>span{font-size:9px;bottom:3px}
  .roster-button>small{font-size:7px}
}
@media(max-width:360px){
  .character-stage,html:lang(ja) .character-stage{height:545px}
  .character-visual,html:lang(ja) .character-visual{top:157px;height:265px}
  .character-bio,html:lang(ja) .character-bio{top:417px}
  .character-stats,html:lang(ja) .character-stats{top:490px;width:calc(100% - 107px)}
}

/* Desktop character chapter: a 650px gallery with the portrait roster as the only selector. */
@media(min-width:901px){
  .characters{height:650px;min-height:650px;padding:28px 6% 24px;justify-content:space-between}
  .characters-heading h2,html:lang(ja) .characters-heading h2{font-size:clamp(26px,2.3vw,36px)}
  .characters .section-kicker{margin-bottom:4px}
  .faction-filters{margin-top:7px}
  .character-stage,html:lang(ja) .character-stage{height:380px;max-height:none;margin-top:6px}
  .character-info,html:lang(ja) .character-info{width:38%;padding:10px 14px}
  .character-overline{padding-bottom:3px}
  .character-overline b{font-size:26px}
  .character-origin{margin-top:4px;font-size:9px}
  .character-info h3,html:lang(ja) .character-info h3{font-size:clamp(28px,2.4vw,36px);margin-top:3px}
  .character-info p#character-english,html:lang(ja) .character-info p#character-english{font-size:12px}
  .character-info blockquote,html:lang(ja) .character-info blockquote{font-size:13px;margin-top:8px}
  .character-bio,html:lang(ja) .character-bio{font-size:12px;line-height:1.5;-webkit-line-clamp:3;margin-top:8px}
  .character-stats,html:lang(ja) .character-stats{padding-top:6px;gap:13px}
  .character-stats dt{font-size:8px}
  .character-stats dd{font-size:15px}
  .character-visual,html:lang(ja) .character-visual{right:0;width:56%}
  .character-roster,html:lang(ja) .character-roster{min-height:88px;margin-top:6px;padding-bottom:5px;gap:8px}
  .roster-button{flex-basis:92px;width:92px;min-width:92px;height:80px}
  .roster-button>img{height:60px}
  .roster-button>span{font-size:10px;bottom:3px}
  .roster-button>small{font-size:7px}
}
@media(max-width:600px){
  .character-stats,html:lang(ja) .character-stats{width:100%}
}

/* Character chapter artwork supplied for the purple rift scene. */
.characters{
  background:linear-gradient(90deg,#08142bbf 0%,#0b16328f 52%,#08132baa 100%),url('assets/purple-gate-background.png') center 45%/cover no-repeat;
}
.characters-heading h2{color:#f8fbff;text-shadow:0 2px 8px #07132d66}
.characters-heading h2 span{color:#9fc0ff}
.characters .section-kicker{color:#b8cff5}
.characters .chapter-mark{color:#dbe7fa}
.characters:after{opacity:.38}
.character-watermark{color:#dce8ff1c;-webkit-text-stroke-color:#a6c5ff38}
@media(max-width:600px){
  .characters{
    background:linear-gradient(180deg,#08142bd4 0%,#0b16329e 45%,#08132bb8 100%),url('assets/purple-gate-background.png') center 47%/cover no-repeat;
  }
}

/* Standing artwork at 70% of the previous 2x zoom, within the same frame. */
.characters .character-visual{overflow:visible}
.characters .character-visual>img,.characters .character-visual>video{scale:1.4;transform-origin:50% 0%}

/* Registration choices and configurable footer information. */
.registration-settings{display:flex;flex-wrap:wrap;align-items:center;gap:2px 16px;width:max-content;max-width:100%;margin-top:16px;padding:7px 11px;background:#081831cc;border:1px solid #87afff50;color:#e8f1ff;font-size:12px;line-height:1.5;pointer-events:auto;backdrop-filter:blur(8px)}
.registration-settings label{display:inline-flex;align-items:center;gap:7px;min-height:30px;cursor:pointer;white-space:nowrap}
.registration-settings input{appearance:auto;flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:#347aff;cursor:pointer}
.registration-settings input:focus-visible{outline:2px solid #ffe16d;outline-offset:4px}
.registration-provider{font-size:11px;color:#c5d7f4;white-space:nowrap}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:10px}
.footer-links a{display:inline-block;padding:5px 0;color:#526786;font-size:12px;line-height:1.6;text-underline-offset:4px;white-space:nowrap}
.footer-links a:hover{color:var(--blue);text-decoration:underline}
.footer-links a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.site-footer>div{min-width:0}
@media(max-width:600px){
  .hero{height:1190px;min-height:1190px;max-height:none}
  .registration-settings{position:absolute;top:1060px;left:0;right:0;width:auto;margin:0;padding:7px 10px;gap:0 12px;font-size:11px}
  .registration-settings label{min-height:32px;gap:5px}
  .registration-settings input{width:16px;height:16px}
  .registration-provider{flex-basis:100%;padding:3px 0;font-size:10px}
  .hero .platforms{top:1151px;margin:0}
  .footer-links{gap:5px 17px}
  .footer-links a{padding:7px 0}
}

@media(min-width:901px){
  .hero-copy{padding-top:225px}
  .registration-settings{margin-top:12px}
  .hero .platforms{margin-top:10px}
  .hero-module-strip{margin-top:12px}
  .hero-module-strip>span{padding-block:8px}
  .hero-module-strip b{margin-bottom:4px}
}
@media(min-width:901px) and (max-height:850px){.hero-copy{padding-top:146px}}

@media(max-width:360px){
  .registration-settings label{flex-basis:100%}
  .hero .platforms{top:1182px}
  .hero{height:1225px;min-height:1225px}
}

/* Hide the previous artwork immediately and show progress until the replacement is decoded. */
.character-visual>[hidden]{display:none!important}
.character-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#e6f1ff;font-size:12px;line-height:1.7;text-align:center;background:radial-gradient(ellipse,#091b426b,transparent 65%)}
.character-loading>span:last-child{max-width:85%;padding:5px 12px;background:#091b42c9;border:1px solid #8ab5ff55}
.character-loading-ring{width:44px;height:44px;border:3px solid #a8c9ff40;border-top-color:#ffdf55;border-right-color:#77b8ff;border-radius:50%;animation:character-loading-spin .8s linear infinite}
.character-loading.has-error .character-loading-ring{display:none}
.character-visual[aria-busy=true] .character-spark{visibility:hidden}
@keyframes character-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.character-loading-ring,.character-visual.art-enter>img,.character-visual.art-enter>video{animation:none}}

/* Let mobile profiles grow with their full text instead of clipping into fixed slots. */
.character-profile-heading{display:contents}
@media(max-width:900px){
  html:lang(ja) .last-call .button small{white-space:nowrap;letter-spacing:0;line-height:1.5}
  .character-bio,html:lang(ja) .character-bio{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;max-height:none}
}
@media(min-width:601px) and (max-width:900px){
  .character-stage,html:lang(ja) .character-stage{height:auto;min-height:460px;max-height:none}
  .character-info,html:lang(ja) .character-info{height:auto;min-height:460px;overflow:visible}
}
@media(max-width:600px){
  .character-stage,html:lang(ja) .character-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"profile" "art" "bio" "stats";gap:8px;height:auto;min-height:0;max-height:none}
  .character-info,html:lang(ja) .character-info{display:contents}
  .character-profile-heading{display:block;grid-area:profile;position:relative;z-index:3;min-width:0;padding:10px 12px;background:linear-gradient(#ffffffe3,#ffffffc9)}
  .character-visual,html:lang(ja) .character-visual{grid-area:art;position:relative;top:auto;right:auto;left:auto;width:124%;height:255px;margin-inline:-12%}
  .character-bio,html:lang(ja) .character-bio{grid-area:bio;position:static;width:100%;margin:0;padding:10px 12px;font-size:12px;line-height:1.65;overflow-wrap:anywhere;background:#fffffff0}
  .character-stats,html:lang(ja) .character-stats{grid-area:stats;position:static;top:auto;left:auto;width:100%;margin:0;padding:8px 10px;gap:18px}
  .character-roster,html:lang(ja) .character-roster{margin-top:10px}
  .last-call{display:grid;grid-template-columns:minmax(64px,28%) minmax(0,1fr);gap:18px 12px;padding:25px 18px;min-height:0;align-items:center}
  .last-call>img{position:relative;grid-column:1;grid-row:1;left:auto;bottom:auto;width:100%;max-width:110px;height:116px}
  .last-call>div{grid-column:2;min-width:0}
  .last-call .button{grid-column:1 / -1;width:100%;min-width:0;margin:0;padding:14px 16px;justify-content:space-between;gap:10px}
  .last-call .button>span{min-width:0}
  html:lang(ja) .last-call .button small{white-space:nowrap;letter-spacing:0;font-size:10px;line-height:1.5}
}

/* Keep the terms heading and close control visible while the full text scrolls. */
.terms-modal{width:820px;max-width:calc(100% - 32px);max-height:min(820px,88svh);padding:0;overflow:hidden;border-top:4px solid var(--blue)}
.terms-modal[open]{display:flex;flex-direction:column}
.terms-header{position:relative;flex:none;padding:24px 72px 22px 32px;background:#fff;border-bottom:1px solid var(--line)}
.terms-header h2{font-size:1.75rem;letter-spacing:0;margin:0;line-height:1.4}
.terms-header .modal-close{top:19px;right:20px;width:44px;height:44px}
.terms-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px 32px 36px;font-size:1rem;line-height:1.9;color:#344562;overflow-wrap:anywhere}
.terms-content:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.terms-content section+section{margin-top:32px}
.terms-content>p+section{margin-top:28px}
.terms-header h2 .policy-subtitle{display:block;margin-top:4px;font-size:1rem;line-height:1.6;color:#526786;font-weight:500}
.terms-content h3{margin:0 0 14px;font-size:1.125rem;line-height:1.6;color:var(--blue)}
.terms-content p{margin:0 0 14px}
.terms-content p:last-child{margin-bottom:0}
.terms-prohibitions{list-style:none;margin:18px 0;padding:0}
.terms-prohibitions li{margin:0 0 10px;padding-left:1.25em;text-indent:-1.25em}
.contact-modal{width:620px}
.contact-email a{color:var(--blue);font-size:1.125rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-email a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:600px){
  .terms-modal{max-width:calc(100% - 24px);max-height:90svh;box-shadow:5px 5px 0 #2869ff80}
  .terms-header{padding:20px 64px 18px 20px}
  .terms-header h2{font-size:1.5rem}
  html:lang(ja) .privacy-modal .terms-header h2,html:lang(ja) .commerce-modal .terms-header h2,html:lang(ja) .funds-modal .terms-header h2{font-size:clamp(1rem,5vw,1.25rem)}
  .terms-header .modal-close{top:13px;right:12px}
  .terms-content{padding:22px 20px 28px;line-height:1.85}
}

/* Both hero media share the same responsive frame. */
.hero-art>[hidden]{display:none!important}
.hero-art>video{animation:none;background:transparent;scale:1.3}

/* Supplied animations have trimmed canvases; contain each full frame without distortion. */
.characters .character-visual>video{scale:1.3;transform-origin:50% 75%;object-position:center;mask:none;-webkit-mask:none;clip-path:none;filter:none;opacity:1}
@media(max-width:600px){
  /* Reserve the enlarged animation's vertical overflow around the mobile art row. */
  .characters .character-visual{margin-block:40px}
  .characters .character-visual>video{transform-origin:center}
}
