/* Shared snow-white canvas; each world keeps its own typography and composition. */
body[data-design]{--paper:#fff;background:#fff}
.design-bar{position:sticky;top:0;z-index:60;background:#f4f8ffed;backdrop-filter:blur(16px);border-bottom-color:#dce8fa}
.design-choices a{position:relative;transition:background-color 160ms,color 160ms}
.design-choices a[data-pending]:after{content:'';position:absolute;right:5px;top:17px;width:7px;height:7px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:world-loading 650ms linear infinite}
.design-status{position:absolute;right:25px;top:calc(100% + 10px);font-size:11px;background:#fff;color:var(--deep);padding:10px 14px;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 20px #14336e10;pointer-events:none}
.design-status:empty{display:none}
@keyframes world-loading{to{transform:rotate(360deg)}}
main.landing-main{max-width:1600px;padding:0 48px 24px}
.icy-hero{position:relative;isolation:isolate;min-height:820px;margin:0 -48px;overflow:clip;--mx:0;--my:0}
.world-layer{position:absolute;inset:-6px -10px;z-index:-3;pointer-events:none}
.world-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.world-layer .world-art{transform:translate(calc(var(--mx)*-12px),calc(var(--my)*-8px)) scale(1.015);transition:transform 700ms cubic-bezier(.2,.8,.2,1)}
.world-fade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#fff 0%,#ffffff00 12%,#ffffff00 77%,#fff 100%)}
.icy-hero-copy{position:relative;width:min(600px,90%);margin:0 auto;padding-top:58px;text-align:center}
.icy-hero h1{font:600 clamp(58px,6.5vw,100px)/.98 var(--display);letter-spacing:-5px;color:var(--deep);margin:20px -50px 18px}
.icy-hero h1 em{font-style:normal;color:var(--blue)}
.icy-hero .landing-subtitle{font-size:14px;margin:0 auto 27px;max-width:420px;color:#47618a}
.icy-hero .landing-kicker{font-size:9px;letter-spacing:2px;justify-content:center}
.icy-hero .lookup-control{max-width:470px;margin:0 auto;padding:20px 22px 17px;border:1px solid #d4e3fa;border-radius:15px;background:#fffffff0;box-shadow:0 12px 44px #254e8e12;backdrop-filter:blur(12px);text-align:left}
.icy-hero .search-label{font-size:9px;letter-spacing:1px;margin:0 0 10px}
.icy-hero .searchbox{max-width:none;margin:0 0 10px;background:#f4f8ff;border:1px solid #d7e4f9;padding:5px;border-radius:8px;gap:4px}
.icy-hero .searchbox input{font-size:11px;padding:11px 4px}
.icy-hero .searchbox .btn{font-size:11px;padding:13px 14px;border-radius:5px}
.icy-hero .lookup-control .small{font-size:9px;line-height:1.5}
.icy-hero .profile-picks{margin-top:11px;gap:12px;font-size:9px}
.icy-hero .profile-picks button{font-size:10px}
.world-caption{position:absolute;left:6%;right:6%;bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:1.6px;color:var(--deep);z-index:3}
.world-caption a{letter-spacing:0;font-size:12px;font-weight:600;display:flex;align-items:center;gap:14px}
.world-caption a span{font-size:22px}
.ice-spark{position:absolute;pointer-events:none;color:#5393de;font:50px/1 var(--display);animation:ice-glint 6s ease-in-out infinite}
.ice-spark-one{left:10%;top:22%}.ice-spark-two{right:8%;top:70%;font-size:28px;animation-delay:-3s}
@keyframes ice-glint{0%,100%{opacity:.25;transform:rotate(-10deg) scale(.8)}50%{opacity:.85;transform:rotate(14deg) scale(1.1)}}
.icy-brutal{min-height:770px;border-bottom:2px solid var(--blue)}
.icy-brutal .world-layer{right:8%;left:-8%}
.icy-brutal .world-fade{background:linear-gradient(180deg,#fff 0%,transparent 14%,transparent 85%,#fff),linear-gradient(90deg,transparent 35%,#ffffff44 55%,#fff 78%)}
.icy-brutal .icy-hero-copy{margin:0 5% 0 auto;width:43%;padding-top:58px;text-align:left}
.icy-brutal .landing-kicker{justify-content:flex-start}
.icy-brutal h1{font-size:clamp(84px,10vw,146px);line-height:.86;letter-spacing:-2.5px;margin:24px 0 22px}
.icy-brutal h1 em{color:var(--blue)}
.icy-brutal .landing-subtitle{margin-left:0}
.icy-brutal .lookup-control{margin:0;border-radius:0;border:2px solid var(--blue);box-shadow:5px 5px 0 #174bed1a}
.icy-brutal .searchbox,.icy-brutal .searchbox .btn{border-radius:0}
.icy-brutal .ice-spark{display:none}
.icy-cinema{min-height:810px}
.icy-cinema .world-layer{left:0;right:-2%}
.icy-cinema .world-art{object-position:center 43%}
.icy-cinema .world-fade{background:linear-gradient(180deg,#fff,transparent 12%,transparent 82%,#fff),linear-gradient(90deg,#fff 0%,#ffffffc9 21%,#ffffff55 40%,transparent 58%)}
.icy-cinema .icy-hero-copy{margin:0 0 0 6%;width:46%;padding-top:135px;text-align:left}
.icy-cinema .landing-kicker{justify-content:flex-start}
.icy-cinema h1{font-size:clamp(60px,6.2vw,92px);font-weight:500;line-height:1.04;letter-spacing:-4px;margin:24px -60px 24px 0}
.icy-cinema h1 em{font-style:italic}
.icy-cinema .landing-subtitle{margin-left:0}
.icy-cinema .lookup-control{margin-left:0;border-radius:5px;background:#fffffff0;box-shadow:0 10px 35px #32556d0c}
.icy-cinema .ice-spark{display:none}
.icy-toy{min-height:820px}
.icy-toy .icy-hero-copy{padding-top:40px}
.icy-toy h1{font-size:clamp(64px,6.5vw,98px);line-height:1;letter-spacing:-3px}
.icy-toy .world-fade{background:linear-gradient(180deg,#fff,transparent 18%,transparent 85%,#fff)}
.icy-toy .lookup-control{border-radius:24px;border:1px solid #dce9fb;box-shadow:0 6px 0 #cbdff655,0 18px 35px #2d60990a}
.icy-toy .searchbox,.icy-toy .searchbox .btn{border-radius:12px}
.landing-main .data-promise{margin:0 24px;padding:25px 0;border-top:0;font-size:10px}
.roster-scene{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr .8fr 1.3fr;align-items:center;min-height:620px;margin:30px -15px 0;--mx:0;--my:0}
.roster-scene:before{content:'';position:absolute;inset:12% 0 0;z-index:-1;background:radial-gradient(ellipse at 65% 50%,#eaf5ff 0%,#ffffff00 65%)}
.roster-copy{padding:20px 0 20px 40px;z-index:3}
.roster-copy .eyebrow,.journey-copy .eyebrow,.closing-copy .eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.6px}
.roster-copy h2,.journey-copy h2{font:600 clamp(38px,4.4vw,63px)/1.03 var(--display);letter-spacing:-2.5px;margin:17px 0 20px;color:var(--deep)}
.roster-copy h2 em,.journey-copy h2 em{color:var(--blue);font-style:normal}
.roster-copy p,.journey-copy p{font-size:14px;max-width:330px}
.roster-copy .roster-detail,.journey-copy .roster-detail{font-size:11px;margin:15px 0 24px;line-height:1.8}
.text-cta{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:600;color:var(--blue);border-bottom:1px solid #b5cdf4;padding:10px 0}
.text-cta span{font-size:23px;transition:transform 180ms}
.text-cta:hover span{transform:translate(3px,-3px)}
.roster-scene .character-stage{height:480px;width:100%;margin:0;min-width:0;z-index:2;overflow:visible}
.roster-scene .stage-orbit,.roster-scene .stage-word,.roster-scene .sticker{display:none}
.roster-scene .character-depth{inset:0 -28% 20px}
.roster-scene .wu-character{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 20px 20px #1858a51a)}
.roster-scene .character-caption{left:6%;right:-8%;bottom:0;flex-direction:column;gap:7px;font-size:8px;letter-spacing:1px;text-align:center}
.asuri-stage{position:relative;min-width:0;z-index:1;transform:translate(calc(var(--mx)*10px),calc(var(--my)*8px));transition:transform 550ms ease-out}
.asuri-stage.revealed{animation-fill-mode:backwards}
.asuri-character{display:block;width:120%;max-width:none;height:490px;margin-left:-25%;object-fit:contain;animation:asuri-drift 7s ease-in-out infinite;user-select:none;-webkit-user-drag:none}
.legend-signature{display:block;text-align:center;margin:-15px 0 0;color:var(--blue);transform:rotate(-4deg)}
.legend-signature b{font:600 32px var(--display);letter-spacing:-1px;display:block}.legend-signature small{font-size:8px;letter-spacing:1.4px}
@keyframes asuri-drift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(1deg)}}
.journey-scene{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;min-height:600px;position:relative;margin:0 -48px 50px;--mx:0;--my:0;overflow:clip}
.journey-art{position:relative;height:620px}
.journey-art img{width:116%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,#000 60%,transparent 100%);transform:translate(calc(var(--mx)*-7px),calc(var(--my)*-6px)) scale(1.01);transition:transform 600ms ease-out}
.journey-art:after{content:'';position:absolute;inset:-1px -17% -1px 0;background:linear-gradient(180deg,#fff,transparent 22%,transparent 72%,#fff);pointer-events:none}
.journey-copy{position:relative;padding:35px 50px 35px 10px;z-index:2}
.journey-copy .btn{margin-top:2px;padding:17px 22px}
.journey-disclosure{display:block;color:var(--muted);font-size:9px;margin-top:14px;line-height:1.6}
.landing-main .tool-shelf{margin:0 24px 0}
.icy-closing{position:relative;isolation:isolate;min-height:470px;margin:20px -48px 0;display:flex;align-items:center;justify-content:flex-end;overflow:clip;--mx:0;--my:0}
.closing-world{position:absolute;inset:0 30% 0 0;z-index:-1}
.closing-world img{width:100%;height:100%;object-fit:cover;object-position:center 35%;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 50%,transparent 98%);transform:translate(calc(var(--mx)*8px),calc(var(--my)*6px));transition:transform 600ms}
.closing-world:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff,transparent 25%,transparent 65%,#fff)}
.closing-copy{width:44%;padding:60px 60px 60px 20px}
.closing-copy h2{font:600 65px/1.02 var(--display);letter-spacing:-2.5px;margin:18px 0;color:var(--deep)}
.closing-copy p{font-size:12px;margin-bottom:15px}
.world-banner{position:relative;isolation:isolate;min-height:215px;margin:-20px -15px 34px;overflow:clip;border-bottom:1px solid #e4ecf7}
.banner-world{position:absolute;inset:0 0 0 25%;z-index:-2;opacity:.75;mask-image:linear-gradient(90deg,transparent,#000 60%)}
.banner-world:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff,transparent 35%,#fff)}
.banner-copy{padding:36px 30px;position:relative;z-index:2;max-width:65%}
.banner-copy strong{font:500 33px/1.1 var(--display);letter-spacing:-.8px;color:var(--deep);display:block;margin:10px 0 17px}
.banner-copy a{font-size:11px;font-weight:600;color:var(--blue)}
.banner-character{position:absolute;right:8%;top:-22px;width:40%;height:265px;object-fit:contain;transform:rotate(-8deg);pointer-events:none}
.progress-intro{position:relative;isolation:isolate;min-height:390px;margin:0 -20px;overflow:clip;padding:50px 25px 35px;display:flex;align-items:center;justify-content:space-between}
.progress-world{position:absolute!important;inset:0 -10px 0 30%;max-width:none!important;z-index:-2!important;opacity:.6;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 65%)}
.progress-world:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff,transparent 32%,#fff)}
.progress-intro-copy{position:relative;z-index:2;max-width:65%}
.progress-intro h1{font-size:64px;letter-spacing:-2.7px}
.progress-intro .progress-mascot{position:relative;flex-shrink:0;width:280px;height:335px;right:auto;bottom:auto;margin:-15px 4% -30px 0;z-index:2}
.progress-intro .progress-mascot img{position:relative;width:100%;height:100%;top:0;left:0;object-fit:contain}
.progress-intro .progress-mascot span{display:block;font-size:9px;margin-top:-5px}
.progress-intro .progress-mascot .spark-one{top:60px;left:6px}
.progress-intro .progress-mascot .spark-two{top:110px;right:0}
body[data-design=brutal] .roster-copy h2,body[data-design=brutal] .journey-copy h2{font-size:76px;line-height:.9;letter-spacing:-1px;text-transform:uppercase}
body[data-design=brutal] .asuri-character{animation:brutal-idle 7s steps(2,end) infinite}
body[data-design=brutal] .roster-scene .character-float{animation:brutal-idle 7s steps(2,end) infinite}
body[data-design=cinema] .roster-scene .character-float{animation:cinema-idle 12s ease-in-out infinite}
body[data-design=toy] .roster-scene .character-float{animation:toy-idle 6s ease-in-out infinite}
body[data-design=brutal] .roster-scene .character-burst .character-float{animation:brutal-burst .5s steps(2,end)}
body[data-design=cinema] .roster-scene .character-burst .character-float{animation:cinema-burst 1.6s cubic-bezier(.2,.8,.2,1)}
body[data-design=toy] .roster-scene .character-burst .character-float{animation:toy-burst .95s cubic-bezier(.3,.7,.3,1)}
body[data-design=brutal] .banner-copy strong{font-size:42px;text-transform:uppercase}
body[data-design=cinema] .roster-copy h2 em,body[data-design=cinema] .journey-copy h2 em{font-style:italic}
body[data-design=cinema] .asuri-character{animation:cinema-idle 9s ease-in-out infinite}
body[data-design=toy] .roster-copy h2,body[data-design=toy] .journey-copy h2{letter-spacing:-1px}
body[data-design=toy] .asuri-character{animation:asuri-drift 5s ease-in-out infinite}
body.motion-off :is(.world-art,.asuri-stage,.asuri-character,.journey-art img,.closing-world img,.ice-spark){transform:none!important}
@media(max-width:1100px){
  .icy-hero{min-height:760px}.icy-hero h1{font-size:76px}.icy-brutal h1{font-size:105px}.icy-cinema h1{font-size:70px}.icy-cinema .icy-hero-copy{padding-top:110px;width:48%}
  .roster-scene{grid-template-columns:1fr .7fr 1.1fr;min-height:520px}.roster-copy{padding-left:15px}.roster-copy h2,.journey-copy h2{font-size:46px}.roster-scene .character-stage{height:380px}.asuri-character{height:390px}
  .journey-scene{min-height:500px}.journey-art{height:520px}.journey-copy{padding-right:35px}.closing-copy h2{font-size:52px}.progress-intro h1{font-size:54px}.progress-intro .progress-mascot{width:235px;margin-right:0}
}
@media(max-width:760px){
  .design-bar{display:grid;grid-template-columns:1fr auto;gap:0;padding:0 14px;min-height:74px}.lab-label{font-size:9px;letter-spacing:1px;padding:9px 0}.motion-toggle{grid-column:2;grid-row:1;font-size:9px;padding:7px 0;min-height:32px}.design-choices{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.design-choices a{font-size:10px;text-align:center;padding:9px 5px}.design-choices a span{font-size:8px;margin-right:4px}.design-choices a[data-pending]:after{top:12px;right:1px}.design-status{font-size:10px;right:10px;top:calc(100% + 5px)}
  main.landing-main{padding:0 22px 20px}.icy-hero{margin:0 -22px;min-height:770px}.icy-hero-copy{padding-top:35px;width:86%}.icy-hero h1{font-size:65px;letter-spacing:-3px;margin:18px -10px}.icy-hero .landing-subtitle{font-size:12px;max-width:350px}.icy-hero .lookup-control{max-width:420px;padding:18px}.icy-hero .landing-kicker{font-size:8px;letter-spacing:1.3px}.world-caption{left:24px;right:24px;font-size:8px;letter-spacing:.8px;bottom:20px}.world-caption>span:nth-child(2){display:none}.world-caption a{font-size:11px}
  .icy-manga .world-art,.icy-toy .world-art{object-position:center bottom}.icy-manga .world-layer,.icy-toy .world-layer{top:220px}.icy-manga .world-fade,.icy-toy .world-fade{background:linear-gradient(180deg,#fff 0%,#ffffffd9 25%,transparent 48%,transparent 88%,#fff 100%)}
  .icy-brutal{min-height:770px}.icy-brutal .icy-hero-copy{width:80%;margin:0 auto;padding-top:30px;text-align:right}.icy-brutal .landing-kicker{justify-content:flex-end}.icy-brutal h1{font-size:96px;margin:20px 0 16px}.icy-brutal .landing-subtitle{margin-right:0;margin-left:auto}.icy-brutal .lookup-control{margin-left:auto}.icy-brutal .world-layer{inset:250px -35% 0 -5%}.icy-brutal .world-art{object-position:22% center}.icy-brutal .world-fade{background:linear-gradient(180deg,#fff,transparent 60%,#fff)}
  .icy-cinema{min-height:800px}.icy-cinema .icy-hero-copy{width:85%;margin:0 auto;padding-top:34px}.icy-cinema h1{font-size:64px;letter-spacing:-2.5px;margin:20px 0}.icy-cinema .world-layer{inset:210px -13% 0 -25%}.icy-cinema .world-art{object-position:72% center}.icy-cinema .world-fade{background:linear-gradient(180deg,#fff 0%,#ffffffee 23%,#ffffff66 48%,transparent 62%,#fff 100%)}.icy-cinema .lookup-control{max-width:390px}
  .icy-toy h1{font-size:64px}.ice-spark{font-size:30px}.ice-spark-one{top:70%;left:7%}.ice-spark-two{top:65%}
  .landing-main .data-promise{margin:0;padding:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:9px}
  .roster-scene{grid-template-columns:1fr 1fr;margin:50px -12px 0;min-height:0}.roster-copy{grid-column:1/-1;padding:0 15px;max-width:440px}.roster-copy h2{font-size:52px}.roster-copy p{max-width:340px}.roster-copy .roster-detail{margin-bottom:10px}.roster-scene .character-stage{height:380px;margin-top:15px}.roster-scene .character-depth{inset:0 -12% 35px 0}.asuri-character{height:370px;width:140%;margin-left:-45%}.legend-signature b{font-size:26px}.legend-signature small{font-size:6px}.asuri-stage{margin-top:100px;z-index:3}
  .journey-scene{margin:20px -22px 45px;display:flex;flex-direction:column;min-height:0}.journey-art{height:350px;width:100%;margin-bottom:-30px}.journey-art img{width:100%;mask-image:none}.journey-art:after{right:0;background:linear-gradient(180deg,#fff,transparent 20%,transparent 55%,#fff)}.journey-copy{padding:0 35px;width:100%}.journey-copy h2{font-size:53px}.journey-copy p{max-width:410px}.journey-copy .roster-detail{margin-top:10px}
  .landing-main .tool-shelf{margin:0;display:flex;flex-direction:column;padding:0 12px;border:0}.tool-shelf>a,.tool-shelf>a:first-child,.tool-shelf>a:last-child{width:100%;padding:22px 0;border:0;border-top:1px solid var(--line)}.tool-shelf>a:last-child{border-bottom:1px solid var(--line)}
  .icy-closing{margin:15px -22px 0;min-height:560px;align-items:flex-end;justify-content:flex-start}.closing-world{inset:0 0 120px}.closing-world img{mask-image:none;object-position:center 35%}.closing-world:after{background:linear-gradient(180deg,#fff,transparent 20%,transparent 45%,#fff 85%)}.closing-copy{width:100%;padding:270px 35px 25px}.closing-copy h2{font-size:52px}.closing-copy p{max-width:270px}
  .world-banner{margin:-5px -10px 30px;min-height:190px}.banner-copy{padding:25px 18px;max-width:70%}.banner-copy strong{font-size:27px}.banner-copy .eyebrow{font-size:8px}.banner-character{width:56%;right:-8%;height:220px;top:5px}.banner-world{left:10%}
  .progress-intro{min-height:370px;margin:0 -12px;padding:35px 14px 30px;align-items:flex-start}.progress-intro-copy{max-width:78%!important}.progress-intro h1{font-size:45px}.progress-intro .progress-mascot{position:absolute;right:-6px;bottom:0;width:200px;height:235px;margin:0}.progress-world{inset:0 -20px 0 10%}.progress-intro-meta{max-width:235px;gap:7px}.progress-intro .progress-mascot span{font-size:7px}.progress-intro p{max-width:300px;font-size:12px}
}
@media(max-width:480px){
  .icy-hero{min-height:735px}.icy-hero h1{font-size:51px;letter-spacing:-2.2px}.icy-hero .landing-subtitle{font-size:11px;max-width:285px}.icy-hero-copy{width:88%;padding-top:26px}.icy-hero .lookup-control{padding:14px 13px;border-radius:12px}.icy-hero .searchbox{flex-wrap:nowrap;gap:3px}.icy-hero .searchbox input{width:auto;flex:1;font-size:10px;padding:10px 0}.icy-hero .searchbox .btn{width:auto;padding:12px 10px;font-size:10px;gap:5px}.icy-hero .searchbox .btn span{margin-left:0}.icy-hero .search-icon{font-size:18px;margin-left:4px}.icy-hero .profile-picks{gap:8px;flex-wrap:wrap}.icy-hero .profile-picks>span{font-size:8px}.icy-hero .profile-picks button{font-size:9px}.icy-hero .search-label{font-size:8px}.icy-hero .lookup-control .small{font-size:8px}.icy-hero .landing-kicker{font-size:7px}.world-caption{font-size:7px;left:20px;right:20px}.world-caption a{font-size:10px}.icy-manga,.icy-toy{min-height:680px}.icy-manga .world-layer,.icy-toy .world-layer{top:auto;left:-4%;right:-4%;bottom:22px;height:300px;mask-image:linear-gradient(180deg,transparent,#000 22%,#000 88%,transparent)}.icy-manga .world-art,.icy-toy .world-art{object-fit:contain;object-position:center bottom}.icy-manga .world-fade,.icy-toy .world-fade{background:linear-gradient(180deg,#fff,transparent 35%,transparent 90%,#fff)}
  .icy-brutal .icy-hero-copy{width:88%}.icy-brutal h1{font-size:78px;letter-spacing:-1px}.icy-brutal .lookup-control{border-radius:0}.icy-brutal .world-layer{top:280px;left:-20%;right:-65%}.icy-brutal .landing-subtitle{max-width:270px}.icy-cinema{min-height:780px}.icy-cinema .icy-hero-copy{width:87%}.icy-cinema h1{font-size:53px;margin-right:-10px}.icy-cinema .world-layer{top:275px;left:-55%;right:-20%}.icy-cinema .world-art{object-position:74%}.icy-toy h1{font-size:53px;letter-spacing:-1.5px}.icy-toy .lookup-control{border-radius:22px}
  .roster-copy h2{font-size:44px}.roster-copy p{font-size:13px}.roster-scene .character-stage{height:310px}.roster-scene .character-caption{font-size:6px;left:0;right:-12%;line-height:1.5}.asuri-character{height:310px;width:150%;margin-left:-55%}.legend-signature{margin-top:-8px}.legend-signature b{font-size:22px}.legend-signature small{font-size:5px;letter-spacing:.7px}.journey-art{height:300px}.journey-copy{padding:0 32px}.journey-copy h2{font-size:45px}.journey-copy p{font-size:13px}.journey-copy .btn{font-size:11px;padding:15px 18px}.closing-copy{padding-left:32px}.closing-copy h2{font-size:46px}
  .progress-intro{min-height:400px;padding-top:30px}.progress-intro-copy{max-width:100%!important}.progress-intro h1{font-size:40px;letter-spacing:-1.8px}.progress-intro p{max-width:210px}.progress-intro .eyebrow{font-size:8px;max-width:250px}.progress-intro .progress-mascot{width:165px;height:200px;bottom:0;right:-7px}.progress-intro .progress-mascot span{font-size:6px}.progress-intro-meta{max-width:170px;font-size:8px;margin-top:25px}.progress-intro .progress-mascot .spark-one{font-size:20px;top:40px}.progress-intro .progress-mascot .spark-two{font-size:16px;top:80px}
  body[data-design=brutal] .roster-copy h2,body[data-design=brutal] .journey-copy h2{font-size:62px}body[data-design=brutal] .progress-intro h1{font-size:56px}
}
@media(prefers-reduced-motion:reduce){.world-art,.asuri-stage,.asuri-character,.journey-art img,.closing-world img,.ice-spark{transform:none!important}}

/* Manga is the main experience; optional themes live in a quiet header menu. */
.site-header{position:sticky;top:0;z-index:60;background:#fffffff5;backdrop-filter:blur(14px);gap:24px}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-actions .header-cta{order:0;margin:0}
.appearance-menu{position:relative}
.appearance-menu>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;color:var(--blue);font-size:11px;list-style:none;cursor:pointer;border-radius:8px}
.appearance-menu>summary::-webkit-details-marker{display:none}
.appearance-menu>summary>span:first-child{font-size:25px;line-height:1}
.appearance-menu[open]>summary,.appearance-menu>summary:hover{background:#edf4ff}
.appearance-menu>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.appearance-panel{position:absolute;right:0;top:calc(100% + 10px);width:266px;max-width:calc(100vw - 32px);padding:17px;background:#fff;border:1px solid #d8e5f8;border-radius:14px;box-shadow:0 14px 45px #15386a18}
.appearance-panel>.eyebrow{font-size:9px;margin:0 10px 12px;letter-spacing:1.3px}
.appearance-panel .design-choices{display:flex;flex-direction:column;gap:4px;align-items:stretch;justify-content:flex-start}
.appearance-panel .design-choices a{display:flex;align-items:center;gap:8px;padding:12px 10px;min-height:44px;font-size:12px;border:0;border-radius:7px;text-align:left;font-weight:500}
.appearance-panel .design-choices a:hover{background:#f2f6fd;color:var(--blue)}
.appearance-panel .design-choices .chosen{background:#eaf1ff;color:var(--blue);font-weight:700}
.appearance-panel .design-choices small{font-size:8px;color:var(--muted);font-weight:400}
.appearance-panel .design-choices .theme-check{display:block;margin:0 0 0 auto;font-size:12px;opacity:1}
.appearance-panel .design-choices a[data-pending]:after{right:10px;top:18px}
.appearance-panel .motion-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin:12px 0 0;padding:12px 10px;border-top:1px solid var(--line);border-radius:0;color:var(--deep);font-size:11px}
.appearance-panel .motion-toggle span{font-size:11px;margin-left:8px}
.appearance-preview{display:block;font-size:10px;color:var(--muted);padding:10px}
.appearance-preview:hover{color:var(--blue)}
@media(max-width:1100px){.site-header{gap:14px}.header-actions{gap:6px}.appearance-label{display:none}}
@media(max-width:850px){.header-actions{order:1;margin-left:auto}.site-header .primary-nav{order:2}.appearance-panel{top:calc(100% + 8px)}}
@media(max-width:480px){.header-actions{gap:3px}.appearance-menu>summary{padding:7px 8px}.appearance-panel{right:0}.site-header .brand{font-size:32px}.header-actions .header-cta{padding:10px;font-size:10px}}

/* A player's cover uses the same named artwork as their real legend results. */
.player-world-banner{min-height:270px;background:radial-gradient(ellipse at 83% 44%,#d9ecff 0%,#f3f9ff 38%,#fff 72%);border-radius:14px 14px 0 0}
.player-world-banner:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff 10%,#ffffffee 32%,#ffffff00 62%),repeating-linear-gradient(125deg,transparent 0 84px,#ffffff45 85px 86px,transparent 87px 160px)}
.player-world-banner .banner-copy{max-width:56%;padding:43px 30px 36px;overflow-wrap:anywhere}
.player-world-banner .banner-copy .eyebrow{font-size:10px;letter-spacing:1.4px;line-height:1.7}
.player-world-banner .banner-copy strong{font-size:clamp(34px,4vw,56px);line-height:1.06;margin:12px 0}
.player-world-banner .banner-copy p{font-size:12px;color:#506b95;line-height:1.7;margin:0 0 20px}
.player-world-banner .player-cover-art{right:0;top:-12%;width:52%;height:148%;object-fit:contain;object-position:center 8%;transform:none;mask-image:linear-gradient(180deg,#000 65%,transparent 96%);filter:drop-shadow(0 9px 18px #3565b018)}
.player-world-banner .cover-wide-art{width:58%;height:120%;top:-8%;right:-2%;object-position:center}
.player-world-banner.cover-neutral .banner-copy{max-width:80%}
body[data-design=brutal] .player-world-banner{border-radius:0}
body[data-design=brutal] .player-world-banner .banner-copy strong{font-size:clamp(38px,4.2vw,60px)}
@media(max-width:700px){
  .player-world-banner{min-height:260px}
  .player-world-banner:before{background:linear-gradient(90deg,#fff 4%,#fffffff0 24%,#ffffff00 68%)}
  .player-world-banner .banner-copy{padding:31px 18px;max-width:61%}
  .player-world-banner .banner-copy .eyebrow{font-size:8px;letter-spacing:.8px}
  .player-world-banner .banner-copy strong{font-size:32px;letter-spacing:-1px}
  .player-world-banner .banner-copy p{font-size:10px;max-width:160px}
  .player-world-banner .player-cover-art{right:-5%;top:0;width:64%;height:124%;object-position:center top}
  .player-world-banner .cover-wide-art{width:76%;right:-18%;height:110%;top:5%}
  body[data-design=brutal] .player-world-banner .banner-copy strong{font-size:36px}
}
