@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/barlow-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/barlow-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/barlow-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/barlow-700.ttf) format('truetype');
}
:root{color-scheme:dark;--bg:#0b0d0f;--ink:#f1f0ea;--muted:#939a9b;--line:#303438;--acid:#c5f5cc;--cyan:#9ce7ea;--serif:'Noto Serif JP','Yu Mincho',serif;--cond:'Barlow Condensed','Arial Narrow',sans-serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:disabled{cursor:default}img{max-width:100%;display:block}button,a,input{outline-offset:6px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan)}[hidden]{display:none!important}::selection{background:#cdf2d2;color:#111}.skip{position:fixed;top:-100px;left:10px;z-index:200;background:white;color:black;padding:12px}.skip:focus{top:10px}.header{position:absolute;top:0;left:0;right:0;z-index:20;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ffffff25;background:linear-gradient(#080b0de0,#080b0d30)}.brand{display:flex;align-items:center;gap:18px}.brand img{width:190px;filter:invert(1);mix-blend-mode:screen}.brand span{font:11px var(--cond);letter-spacing:2px;padding:3px 0 3px 18px;border-left:1px solid #ffffff50}.header nav{display:flex;gap:35px;font-size:12px;letter-spacing:2px}.header nav a{padding:15px 0;position:relative}.header nav a:after{content:'';position:absolute;bottom:8px;left:0;width:0;height:1px;background:var(--cyan);transition:width .2s}.header nav a:hover:after{width:100%}.official{font-size:11px;letter-spacing:1px}.official span{font-size:19px;margin-left:10px}.hero{height:min(900px,100svh);min-height:710px;position:relative;overflow:hidden;background:#101819}.hero-world{position:absolute;inset:0;background:linear-gradient(90deg,#0b0f12ee 5%,#10171a99 47%,#10191a10 85%),linear-gradient(0deg,#0b0d0f 0%,transparent 45%),url('assets/bg.webp') center 60%/cover;filter:saturate(.45)}.hero:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#c0e1e116 25%);pointer-events:none}.hero-lines{position:absolute;inset:20% -25%;transform:rotate(-32deg);border-top:1px solid #d6f7eb30;border-bottom:1px solid #d6f7eb30}.hero-art{position:absolute;inset:0 0 0 30%;z-index:1;overflow:hidden}.hero-person{position:absolute;max-width:none;object-fit:contain;filter:drop-shadow(0 20px 30px #0006)}.hero-person.front{width:1250px;height:1250px;left:50%;top:42%;transform:translate(-50%,-50%)}.hero-person.back{width:1050px;height:1050px;left:80%;top:44%;transform:translate(-50%,-50%);opacity:.85;filter:saturate(.6) brightness(.75)}.hero-content{position:relative;z-index:3;width:70%;padding:190px 0 0 7%}.eyebrow{font:12px var(--cond);letter-spacing:3px;margin:0 0 20px;color:var(--cyan);text-transform:uppercase}.spark{display:inline-block;width:5px;height:5px;transform:rotate(45deg);background:var(--cyan);margin-right:10px;vertical-align:middle}.hero h1{font:600 clamp(70px,8.6vw,132px)/.9 var(--cond);letter-spacing:-1px;margin:25px 0 0;text-shadow:0 3px 30px #0005}.hero h1>span{font-weight:500;letter-spacing:-2px}.hero h1 small{display:block;font:400 20px var(--cond);letter-spacing:14px;margin:22px 0 0 4px}.hero-ja{font-family:var(--serif);font-size:16px;letter-spacing:4px;margin:38px 0}.hero-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c6f5dc;width:190px;padding:15px 0;font-size:12px;letter-spacing:2px}.hero-link span{font-size:28px;color:var(--acid);line-height:1}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;z-index:5;border-top:1px solid #b6d2c436;padding-top:23px;font:13px var(--cond);letter-spacing:2px;color:#d7dfdc}.hero-bottom i{font-style:normal;margin:0 12px;color:#788c86}.scroll{font-size:10px}.scroll span{margin-left:28px;font-size:20px}.hero-counter{font-size:17px}.archive,.visuals{padding:90px 6% 100px;max-width:1680px;margin:auto}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px}.section-title .eyebrow{font-size:11px;letter-spacing:3px;color:#9eaaa7;margin-bottom:12px}.section-title h2{font:500 35px var(--serif);letter-spacing:5px;margin:0}.section-num{font:11px var(--cond);letter-spacing:2px;color:#8d9697}.archive-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.view-tabs{display:flex;gap:28px;align-self:stretch}.view-tabs button{position:relative;font-size:14px;padding:16px 0 22px;color:#979fa0;white-space:nowrap}.view-tabs button[aria-selected=true]{color:var(--ink)}.view-tabs button[aria-selected=true]:after{content:'';height:2px;position:absolute;bottom:-1px;background:var(--acid);left:0;right:0}.view-tabs small{font:10px var(--cond);letter-spacing:1.5px;margin-left:7px;color:#919a9a}.view-tabs button>span{font:11px var(--cond);margin-left:4px;color:var(--acid)}.search{display:flex;align-items:center;width:310px;gap:12px;padding-bottom:6px}.search svg{width:18px;height:18px;fill:none;stroke:#abb6b4;stroke-width:1.3;flex-shrink:0}.search input{border:0;background:transparent;color:white;font:11px var(--sans);width:100%;padding:10px 0;min-width:0}.search kbd{font:11px monospace;border:1px solid #45504d;padding:2px 6px;color:#8a9993}.unit-filters{display:flex;gap:0;padding:23px 0;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#52645f transparent}.unit-filters button{flex:1;white-space:nowrap;font:16px var(--cond);padding:9px 13px;border-right:1px solid #3c4141;transition:color .2s,background .2s}.unit-filters button:first-child{min-width:80px}.unit-filters button:last-child{border:0}.unit-filters span{font:10px var(--sans);margin-left:8px;color:#929b9a}.unit-filters button.active{background:var(--acid);color:#122019}.unit-filters button.active span{color:#23362a}.unit-filters button:hover:not(.active){color:var(--acid);background:#1b2420}.result-meta{display:flex;align-items:center;font:10px var(--cond);letter-spacing:1.7px;color:#8e9994;padding:22px 0 28px;gap:20px}.result-meta #result-count{font:11px var(--sans);letter-spacing:1px;color:#b1bab6}.result-meta>span:last-child{margin-left:auto}.result-meta button{font:11px var(--sans);text-decoration:underline;text-underline-offset:4px;color:var(--acid);letter-spacing:0}.unit-section{margin-bottom:64px;--unit:#a8e0d0}.unit-heading{display:flex;align-items:center;gap:15px;margin-bottom:24px}.unit-heading .number{font:400 44px var(--cond);color:var(--unit);line-height:1}.unit-heading h3{font-size:14px;font-weight:500;letter-spacing:2px;margin:0}.unit-heading small{display:block;font:10px var(--cond);letter-spacing:3px;color:#8e9c97;margin-top:5px}.unit-heading .unit-rule{flex:1;height:1px;background:var(--line);margin-left:20px}.unit-heading .tracks{font:10px var(--cond);letter-spacing:2px;color:#84918d}.music-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:33px 25px}.song-card{min-width:0;position:relative}.song-art{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;display:block;padding:0;background:#161d20;text-align:left}.song-art img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s;filter:saturate(.75)}.song-art:hover img{transform:scale(1.055);filter:saturate(1)}.song-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08141670,transparent 55%);border:1px solid #ffffff15;pointer-events:none}.song-index{position:absolute;top:12px;left:12px;z-index:2;font:11px var(--cond);letter-spacing:2px;padding:3px 6px;background:#080c0e9c;backdrop-filter:blur(5px)}.play-disc{position:absolute;bottom:14px;right:14px;z-index:2;border:1px solid #f1f5eeb3;width:37px;height:37px;border-radius:50%;display:grid;place-content:center;font-size:11px;padding-left:2px;background:#131e223d;backdrop-filter:blur(3px);transition:background .25s,color .25s}.song-art:hover .play-disc{background:var(--unit);color:#111;border-color:var(--unit)}.song-body{padding:15px 34px 0 0;position:relative}.song-name{font-size:10px;letter-spacing:1.5px;color:var(--unit);margin:0 0 7px}.song-title{font-size:17px;line-height:1.55;font-weight:500;margin:0 0 9px;letter-spacing:.2px;overflow-wrap:anywhere}.song-title button{padding:0;text-align:left}.song-credit{font-size:10px;color:#8f9996;margin:0;letter-spacing:.5px}.song-credit span{font:9px var(--cond);letter-spacing:1px;margin-right:7px}.favorite{position:absolute;right:-4px;top:21px;padding:5px;font:22px Arial;color:#8f9996;line-height:1}.favorite[aria-pressed=true]{color:var(--unit)}.character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.character-card{position:relative;min-width:0;overflow:hidden;text-align:left;background:linear-gradient(150deg,#222c2b,#11181a);padding:0;border-top:1px solid #72867a50}.character-card .character-picture{position:relative;height:265px;overflow:hidden}.character-card .character-picture:before{content:'';position:absolute;inset:35% -60%;border:1px solid #ffffff12;transform:rotate(-35deg)}.character-card img{position:absolute;width:300%;max-width:none;left:-100%;top:-80%;height:300%;object-fit:contain;transition:transform .45s}.character-card:hover img{transform:scale(1.07)}.character-card .char-num{position:absolute;top:10px;left:10px;font:10px var(--cond);letter-spacing:1px;color:#a6bab1}.character-card .char-label{position:relative;padding:14px 12px;background:#0c1114b3;border-top:1px solid #ffffff12;display:block}.character-card strong{font-size:12px;letter-spacing:1px;font-weight:500;display:block}.character-card small{font-size:9px;display:block;margin-top:7px;color:#95a29d}.character-card .has-mv{background:#202b2b}.character-card .has-mv img{width:100%;height:100%;top:0;left:0;object-fit:cover}.character-card .has-mv:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c1114aa,transparent)}#empty{padding:70px 0;text-align:center;color:#a3b0a9;font-size:13px}#empty button{display:block;margin:20px auto;color:var(--acid);text-decoration:underline}.visuals{padding-top:10px}.text-link{font-size:11px;border-bottom:1px solid #637a6b;padding:10px 0;color:#bdcec5}.gallery-feature{display:grid;grid-template-columns:1.22fr 1fr;gap:18px;height:590px}.gallery-feature button{position:relative;width:100%;height:100%;overflow:hidden;padding:0;text-align:left;background:#17211e}.gallery-feature img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-feature button:hover img{transform:scale(1.025)}.gallery-feature button:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071110b0,transparent 50%)}.gallery-feature button>span{position:absolute;bottom:27px;left:27px;right:27px;z-index:2;font:500 22px var(--serif);letter-spacing:3px}.gallery-feature small{display:block;font:9px var(--cond);letter-spacing:3px;color:#c2d9d0;margin-bottom:12px}.gallery-feature i{position:absolute;right:0;bottom:0;font:24px var(--sans);font-style:normal}.gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-height:0}.gallery-side img{object-position:75% center}.gallery-strip{display:flex;gap:12px;overflow-x:auto;margin-top:18px;padding-bottom:15px;scrollbar-width:thin;scrollbar-color:#4f6258 transparent}.gallery-strip button{padding:0;min-width:240px;width:240px;text-align:left;overflow:hidden}.gallery-strip img{aspect-ratio:16/9;object-fit:cover;transition:filter .3s;filter:saturate(.65)}.gallery-strip button:hover img{filter:saturate(1)}.gallery-strip span{font-size:10px;color:#a7b4ae;display:block;margin-top:10px;letter-spacing:1px}.closing{height:450px;position:relative;overflow:hidden;display:grid;place-content:center;text-align:center;border-top:1px solid #33433b;border-bottom:1px solid #33433b}.closing>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.5) brightness(.35)}.closing:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0d0f80,#0b0d0f50)}.closing>div{z-index:2}.closing .eyebrow{color:#c5d8ce;font-size:10px}.closing p:not(.eyebrow){font:500 35px/1.9 var(--serif);letter-spacing:8px;margin:20px 0 26px}.closing a{font:11px var(--cond);letter-spacing:4px;border-bottom:1px solid #abc8ba;padding:10px 0;display:inline-block}.closing a span{margin-left:38px}footer{padding:55px 6% 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer>div{display:flex;align-items:center;gap:20px}footer img{width:170px;filter:invert(1)}footer>div span{font:9px var(--cond);letter-spacing:2px;color:#8b9992}footer nav{display:flex;gap:25px;font-size:10px;color:#b6bfb9}footer>p{width:100%;font:9px var(--sans);color:#79847d;margin-top:15px}dialog{border:1px solid #525e59;background:#111719;color:var(--ink);padding:0;max-height:90svh;max-width:1100px;width:calc(100% - 50px);overflow-y:auto}dialog::backdrop{background:#020606d9;backdrop-filter:blur(8px)}.modal-close{position:absolute;right:14px;top:14px;width:40px;height:40px;background:#111b1ed9;border:1px solid #6c7c7466;z-index:10;font:20px var(--sans);color:white}.modal-layout{display:grid;grid-template-columns:40% 1fr;min-height:650px}.modal-portrait{position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,#364840,#14201c 60%,#101719);min-height:500px}.modal-portrait img{position:absolute;width:260%;max-width:none;height:260%;object-fit:contain;left:-80%;top:-60%}.modal-portrait.mv img{width:100%;height:100%;left:0;top:0;object-fit:cover}.modal-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#10171980,transparent)}.modal-content{padding:50px 38px 30px}.modal-content .eyebrow{font:10px var(--cond);letter-spacing:2.5px;color:var(--unit);margin-bottom:13px}.modal-content h2{font:500 28px var(--serif);margin:10px 0;letter-spacing:3px}.modal-content>p:not(.eyebrow){font-size:11px;color:#a5b6ac;margin:12px 0}.modal-divider{height:1px;background:#405049;margin:26px 0}.modal-content h3{font-size:23px;line-height:1.5;margin:10px 0;font-weight:500;overflow-wrap:anywhere}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.modal-actions>*{font:11px var(--sans);padding:13px 16px;border:1px solid #6a7c72;flex:1;text-align:center;white-space:nowrap}.modal-actions>button{background:var(--unit);color:#12211b;border-color:var(--unit)}.modal-actions span{margin-left:13px}.modal-controls{margin-top:45px;display:flex;justify-content:space-between;border-top:1px solid #405049;padding-top:20px}.modal-controls button{font:10px var(--cond);letter-spacing:1px;padding:7px 2px}.modal-controls #modal-fav{font:11px var(--sans);letter-spacing:0;color:var(--unit)}#video:empty{display:none}#video{margin-top:20px;background:#000;aspect-ratio:16/9}#video iframe{width:100%;height:100%;border:0;display:block}.player-note{font-size:10px!important}#gallery-modal{max-width:1250px;background:#0d1413}#gallery-modal>img{width:100%;height:auto;max-height:75svh;object-fit:contain;background:#080c0b}#gallery-modal>div{padding:20px 25px;display:flex;justify-content:space-between;align-items:center}#gallery-title{font-size:14px;font-weight:400;letter-spacing:1px}#gallery-modal a{font-size:11px;color:#b1c5b8}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:13px 24px;background:#c7efd0;color:#18251d;z-index:200;font-size:12px;transition:opacity .2s,transform .2s;white-space:nowrap}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.hero-person.front{left:53%}.hero-person.back{left:80%}.hero-content{padding-top:210px}}@media(max-width:1100px){.brand span{display:none}.header nav{gap:24px}.hero-content{padding-top:190px;width:80%}.hero h1{font-size:95px}.hero-art{left:25%}.hero-person.front{left:63%;top:42%}.hero-person.back{left:88%;top:43%}.hero-counter{display:none}.archive,.visuals{padding-left:4%;padding-right:4%}.view-tabs{gap:22px}.view-tabs small{display:none}.unit-filters button{padding:9px 12px}.music-grid{gap:30px 20px}.song-title{font-size:15px}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.character-card .character-picture{height:300px}.gallery-feature{height:500px}.gallery-feature button>span{font-size:18px}.modal-layout{grid-template-columns:34% 1fr}.modal-content{padding:45px 25px 25px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:76px;padding:0 5%}.brand img{width:145px}.header nav{gap:17px;font-size:10px;letter-spacing:1px}.official{display:none}.hero{height:800px;min-height:0;max-height:1000px}.hero-world{background:linear-gradient(0deg,#0b0d0f 1%,#0b0f12c7 37%,#10171a20 80%),url('assets/bg.webp') 45% center/cover;filter:saturate(.65)}.hero-art{inset:0;opacity:.97}.hero-person.front{width:940px;height:940px;left:49%;top:29%}.hero-person.back{width:840px;height:840px;left:86%;top:26%;opacity:.78}.hero-content{padding:0 7%;position:absolute;left:0;bottom:140px;width:100%}.hero-content .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:18px}.hero h1{font-size:clamp(74px,19vw,125px);line-height:.9;margin:0}.hero h1 small{font-size:14px;letter-spacing:10px;margin:15px 0 0 2px}.hero-ja{font-size:13px;letter-spacing:3px;margin:23px 0 16px}.hero-link{width:160px;font-size:11px;padding:10px 0}.hero-link span{font-size:22px}.hero-bottom{bottom:25px;padding-top:19px;font-size:11px;left:7%;right:7%;letter-spacing:1.4px}.hero-bottom .scroll{font-size:8px;letter-spacing:1.4px}.scroll span{margin-left:10px}.hero-bottom i{margin:0 7px}.hero:after{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),#c0e1e112 50%)}.archive,.visuals{padding:62px 6% 30px}.section-title{margin-bottom:27px;align-items:center}.section-title h2{font-size:25px;letter-spacing:3px}.section-title .eyebrow{font-size:9px;margin-bottom:11px;letter-spacing:2px}.section-num{font-size:9px;letter-spacing:1px}.archive-top{flex-direction:column;align-items:stretch;gap:12px;border:0}.view-tabs{gap:25px;border-bottom:1px solid var(--line)}.view-tabs button{font-size:12px;padding:14px 0 16px}.search{width:100%;padding:0 12px;background:#151c1d;gap:10px}.search input{font-size:11px;padding:14px 0}.search kbd{display:none}.search svg{width:16px;height:16px}.unit-filters{padding:18px 0;gap:8px;margin-right:-6.8%;scroll-padding:20px}.unit-filters button{flex:none;padding:10px 12px;border:1px solid #343e39;font-size:13px}.unit-filters button:first-child{min-width:72px}.unit-filters button:last-child{border:1px solid #343e39;margin-right:20px}.unit-filters span{font-size:9px;margin-left:6px}.result-meta{padding:20px 0 25px;gap:10px;font-size:8px;letter-spacing:1px}.result-meta #result-count{font-size:10px}.result-meta>span:last-child{font-size:8px}.result-meta button{font-size:10px}.unit-section{margin-bottom:40px}.unit-heading{margin-bottom:20px;gap:12px}.unit-heading .number{font-size:35px}.unit-heading h3{font-size:12px}.unit-heading small{font-size:9px;letter-spacing:2px}.unit-heading .unit-rule{margin-left:0}.unit-heading .tracks{font-size:8px;letter-spacing:1px}.music-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}.song-art{aspect-ratio:1.55}.song-index{top:7px;left:7px;font-size:8px;padding:2px 4px}.play-disc{width:27px;height:27px;bottom:8px;right:8px;font-size:9px}.song-body{padding:12px 19px 0 0}.song-name{font-size:9px;margin-bottom:7px;letter-spacing:.7px}.song-title{font-size:12px;line-height:1.65;margin-bottom:8px}.song-credit{font-size:9px;line-height:1.7;letter-spacing:0}.song-credit span{font-size:8px;margin-right:4px}.favorite{font-size:19px;right:-6px;top:16px;padding:4px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.character-card .character-picture{height:255px}.character-card .char-label{padding:12px 10px}.character-card strong{font-size:11px}.character-card small{font-size:9px}.visuals{padding-top:25px;padding-bottom:60px}.text-link{font-size:9px;padding:7px 0}.gallery-feature{grid-template-columns:1fr;height:auto;gap:12px}.gallery-feature>button{height:370px}.gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:12px;height:180px}.gallery-feature button>span{font-size:15px;letter-spacing:2px;left:18px;right:18px;bottom:18px}.gallery-feature small{font-size:8px;letter-spacing:1.6px;margin-bottom:8px}.gallery-feature i{font-size:18px}.gallery-side img{object-position:78% center}.gallery-strip{gap:12px;margin-top:15px}.gallery-strip button{min-width:200px;width:200px}.gallery-strip span{font-size:9px}.closing{height:340px}.closing p:not(.eyebrow){font-size:27px;letter-spacing:6px}.closing .eyebrow{font-size:9px;letter-spacing:2px}footer{padding:40px 6% 25px;gap:25px}footer>div{width:100%;justify-content:space-between;gap:10px}footer img{width:145px}footer>div span{font-size:8px;letter-spacing:1px}footer nav{gap:25px;font-size:10px}footer>p{font-size:8px;margin-top:5px}dialog{width:calc(100% - 24px);max-height:94svh}.modal-layout{display:block;min-height:0}.modal-portrait{height:270px;min-height:0}.modal-portrait img{width:160%;height:230%;left:-30%;top:-50%}.modal-portrait.mv img{height:100%;width:100%;left:0;top:0}.modal-content{padding:25px 20px 20px}.modal-content h2{font-size:23px}.modal-content .eyebrow{font-size:9px}.modal-content h3{font-size:21px}.modal-content>p:not(.eyebrow){font-size:10px}.modal-divider{margin:20px 0}.modal-actions{margin-top:20px;gap:9px}.modal-actions>*{font-size:10px;padding:12px 9px}.modal-controls{margin-top:25px}.modal-close{right:10px;top:10px;width:36px;height:36px}#gallery-modal>div{padding:12px 15px;display:block}#gallery-title{font-size:12px}#gallery-modal a{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.song-art-doll{background:linear-gradient(130deg,#31343a,#111d22)}.song-art-doll>img{object-fit:cover;opacity:.8}.song-art-doll .osaka-title{position:absolute;bottom:20px;left:20px;right:65px;font:500 18px var(--serif);text-shadow:0 2px 8px black;z-index:3;display:none}.character-card:has(img[src*="kit-"]) img{width:230%;height:230%;left:-65%;top:-50%}.modal-portrait:has(img[src*="kit-"]) img{width:200%;height:200%;left:-50%;top:-40%}.hero-person.front{width:1500px;height:1500px;top:41%;left:51%}.hero-person.back{width:1300px;height:1300px;top:40%;left:84%;opacity:.95;filter:saturate(.7) brightness(.8)}
@media(max-width:700px){.hero-person.front{width:1050px;height:1050px;left:50%;top:29%}.hero-person.back{width:1050px;height:1050px;left:85%;top:26%;opacity:.85}.character-card:has(img[src*="kit-"]) img{width:240%;height:240%;left:-70%;top:-55%}.modal-portrait:has(img[src*="kit-"]) img{width:160%;height:230%;left:-30%;top:-50%}}
@media(max-width:700px){.hero-person.front{top:43%}.hero-person.back{top:39%}.hero-art{mask-image:linear-gradient(to bottom,#000 35%,#0009 60%,transparent 87%)}.hero-content{bottom:135px}}
html{scroll-behavior:auto}
.song-youtube{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:6px;font-size:11px;color:var(--unit);text-underline-offset:4px}
.song-youtube:hover{text-decoration:underline}
.modal-actions>a{min-height:46px;display:flex;align-items:center;justify-content:center}
.link-tools{margin-top:15px;font-size:11px;color:#a5b6ac}
.link-tools>button{padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
#manual-url{display:block;margin-top:8px;font-size:10px}
#song-url{display:block;width:100%;margin-top:8px;padding:12px;background:#0b1012;color:#d6e1db;border:1px solid #53655b;font:12px var(--sans);border-radius:0}
@media(max-width:700px){.song-title{font-size:14px}.song-name{font-size:10px}.song-credit{font-size:10px}.song-credit span{font-size:9px}}
.modal-portrait.is-jacket{position:sticky;top:0;align-self:start;aspect-ratio:2/3;min-height:0;height:auto;background:#fff}
.modal-portrait.is-jacket img{position:absolute;inset:0;width:100%;max-width:100%;height:100%;object-fit:contain;transform:none}
.modal-portrait.is-jacket:after{display:none}
@media(max-width:700px){.modal-portrait.is-jacket{position:relative;aspect-ratio:auto;height:min(58svh,500px);min-height:320px}.modal-portrait.is-jacket img{width:100%;height:100%;inset:0;object-fit:contain}}

/* Complete cast key visual: preserve the entire illustration at every width. */
.header{position:relative;background:#0b1013;border-bottom-color:#303c40}
.hero.hero-ensemble{height:auto;min-height:0;background:radial-gradient(ellipse at 50% 12%,#18333e 0,#0b141a 52%,#0b0d0f 88%)}
.hero-ensemble:after{display:none}
.hero-ensemble .hero-art{position:relative;inset:auto;width:100%;height:min(65svh,66.66667vw,780px);margin:0;overflow:visible;mask-image:none}
.ensemble-image-link{position:relative;display:block;width:100%;height:100%;cursor:zoom-in}
.hero-ensemble .hero-art img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;filter:none}
.ensemble-expand{position:absolute;right:calc((100% - min(100%,97.5svh,1170px))/2 + 16px);bottom:16px;display:grid;place-items:center;width:36px;height:36px;background:#071017b3;border:1px solid #ccebe55e;font:23px var(--cond);color:#e9f9f5;transition:background .2s}
.ensemble-image-link:hover .ensemble-expand{background:#27453ce6}
.hero-ensemble .hero-content{position:relative;inset:auto;width:100%;padding:28px 6% 30px;display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.hero-ensemble .hero-heading .eyebrow{font-size:10px;letter-spacing:2.6px;margin:0 0 10px}
.hero-ensemble h1{font:600 clamp(44px,5.1vw,76px)/1 var(--cond);letter-spacing:-1px;margin:0;text-shadow:none;white-space:nowrap}
.hero-ensemble h1>span{font-weight:500;letter-spacing:-1px}
.hero-ensemble h1 small{font:400 13px var(--cond);letter-spacing:10px;margin:10px 0 0 2px}
.hero-ensemble .hero-ja{font-size:13px;letter-spacing:2.6px;margin:0 0 10px}
.hero-ensemble .hero-link{width:190px;padding:10px 0;font-size:11px}
.hero-ensemble .hero-bottom{position:relative;inset:auto;margin:0 6%;padding:18px 0 22px;border-top-color:#b6d2c42b}
@media(max-width:700px){
 .header{height:76px}
 .hero-ensemble .hero-art{height:auto;aspect-ratio:3/2}
 .ensemble-expand{right:12px;bottom:12px;width:30px;height:30px;font-size:20px}
 .hero-ensemble .hero-content{padding:25px 6% 26px;display:block}
 .hero-ensemble .hero-heading .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:12px}
 .hero-ensemble h1{font-size:clamp(40px,9.8vw,66px);letter-spacing:-.6px}
 .hero-ensemble h1 small{font-size:10px;letter-spacing:8px;margin-top:10px}
 .hero-ensemble .hero-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:25px}
 .hero-ensemble .hero-ja{font-size:10px;letter-spacing:1.2px;margin:0 0 10px;line-height:1.8;max-width:150px}
 .hero-ensemble .hero-link{width:140px;flex-shrink:0;padding:7px 0;font-size:10px;letter-spacing:1px}
 .hero-ensemble .hero-link span{font-size:24px}
 .hero-ensemble .hero-bottom{padding:16px 0 20px}
}
@media(prefers-reduced-motion:reduce){.ensemble-expand{transition:none}}

/* Use the completed portrait illustrations throughout the doll selector. */
.character-card .character-picture.is-jacket{height:auto;aspect-ratio:2/3;background:#fff}
.character-card .is-jacket:before{display:none}
.character-card .is-jacket img{width:100%;height:100%;max-width:100%;left:0;top:0;object-fit:cover;object-position:center top}
.character-card .is-jacket .char-num{color:#e5efe9;background:#0b1017d9;padding:4px 6px}
