@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&family=Playfair+Display:ital,wght@0,700;1,700;1,900&display=swap');

:root{--pink:#f32476;--ink:#160812;--yellow:#fff460;--paper:#f2ece5;--bar:76px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pink);color:var(--ink);font-family:"DM Sans","Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}
.design-bar{position:fixed;z-index:100;inset:0 0 auto;height:var(--bar);padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(8,8,10,.95);color:#fff;border-bottom:1px solid #29292f;backdrop-filter:blur(18px)}
.design-bar__brand{display:flex;align-items:center;gap:10px;width:max-content}.design-bar__brand>i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--pink);font:800 12px Manrope,sans-serif;font-style:normal;transform:rotate(-4deg)}.design-bar__brand span b,.design-bar__brand span small{display:block}.design-bar__brand b{font-size:9px;letter-spacing:.12em}.design-bar__brand small{margin-top:3px;color:#777781;font-size:7px;letter-spacing:.13em}.cover-modes{display:flex;gap:4px;padding:5px;border:1px solid #323239;border-radius:999px;background:#141419}.cover-mode{padding:10px 17px;border:0;border-radius:999px;background:transparent;color:#85858e;cursor:pointer;font-size:9px;letter-spacing:.09em;transition:.25s}.cover-mode i{margin-right:7px;color:#55555f;font-style:normal}.cover-mode:hover{color:#fff}.cover-mode.is-active{background:#f5f4ef;color:#111}.design-bar__back{justify-self:end;color:#85858e;font-size:8px;letter-spacing:.13em}
main{padding-top:var(--bar)}

.public-bar{position:fixed;z-index:100;inset:0 0 auto;height:var(--bar);padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(8,8,10,.96);color:#fff;border-bottom:1px solid #29292f;backdrop-filter:blur(18px)}.public-bar .site-logo{width:max-content}.public-bar__nav{display:flex;gap:34px;font-size:8px;letter-spacing:.16em}.public-bar__nav a{transition:.2s}.public-bar__nav a:hover{color:var(--yellow)}.public-bar__label{justify-self:end;color:#a79ba2;font-size:7px;letter-spacing:.17em}

.hero{max-width:1540px;min-height:calc(100vh - var(--bar));margin:auto;padding:0 48px;background:var(--pink);overflow:hidden}.site-logo{font:800 23px Manrope,sans-serif;letter-spacing:-.055em}.site-logo small{display:block;margin-top:-2px;font:700 7px "Noto Sans JP",sans-serif;letter-spacing:.25em}.hero-stage{position:relative;height:870px;overflow:hidden;border-bottom:2px solid}
.hero-art{position:absolute;z-index:2;top:20px;right:8%;width:47%;height:750px;overflow:hidden;border-radius:46% 46% 5px 5px;box-shadow:0 30px 80px rgba(72,0,34,.3);transition:.65s var(--ease)}.hero-art img{object-position:52% 24%;transform:scale(1.08);transition:.65s var(--ease)}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(74,0,42,.4),transparent 42%);border:1px solid rgba(255,255,255,.5);border-radius:inherit}
.hero-type{position:absolute;inset:0;pointer-events:none}.hero-type span{position:absolute;left:0;font:800 clamp(120px,16vw,260px)/.7 Manrope,sans-serif;letter-spacing:-.105em;white-space:nowrap;transition:.55s var(--ease)}.hero-type span:first-child{top:104px}.hero-type span:last-child{bottom:72px}.hero-type--back{z-index:1}.hero-type--back span{color:transparent;-webkit-text-stroke:2px var(--ink)}.hero-type--front{z-index:3;clip-path:inset(0 3% 0 44%)}.hero-type--front span{color:#fff;mix-blend-mode:difference;-webkit-text-stroke:0}
.hero-copy{position:absolute;z-index:5;left:2%;top:300px;color:#fff}.hero-copy h1{margin:0 0 24px;font-size:clamp(60px,6vw,94px);line-height:.76;letter-spacing:-.08em}.hero-copy h1 em{color:var(--yellow);font-family:"Playfair Display",Georgia,serif}.hero-copy p{font:600 10px/1.9 "Noto Sans JP",sans-serif}.hero-enter{position:absolute;z-index:6;right:2%;top:140px;display:grid;place-items:center;width:130px;height:130px;border-radius:50%;background:var(--yellow);transform:rotate(8deg);box-shadow:0 20px 50px rgba(65,0,28,.25);transition:.25s}.hero-enter:hover{transform:rotate(0) scale(1.06)}.hero-enter span{font-size:9px;line-height:1.2;letter-spacing:.1em}.hero-enter b{position:absolute;right:25px;bottom:20px;font-size:22px}.mode-note{position:absolute;z-index:7;right:0;bottom:20px;display:flex;gap:10px;align-items:center;padding:10px 13px;background:var(--ink);color:#fff}.mode-note>b{font-size:20px}.mode-note>span{font-size:6px;line-height:1.5;letter-spacing:.14em}.mode-note em{color:var(--yellow);font-style:normal}
.mode-solid .hero-type--front{clip-path:none}.mode-solid .hero-type--front span{color:#fff;mix-blend-mode:normal;-webkit-text-stroke:0;text-shadow:0 5px 25px #8c003d55}.mode-solid .hero-type--front span:last-child{color:var(--yellow)}.mode-solid .hero-type--back{opacity:.12}.mode-solid .hero-art{right:3%;width:55%;border-radius:180px 12px 12px 180px}.mode-solid .hero-art img{object-position:45% 24%}
.mode-full .hero-stage{background:#10070d}.mode-full .hero-art{inset:0;width:100%;height:100%;border-radius:0;box-shadow:none}.mode-full .hero-art img{object-position:58% 28%;transform:scale(1.02);filter:saturate(.9) brightness(.76)}.mode-full .hero-art::after{border:0;border-radius:0;background:linear-gradient(90deg,rgba(13,5,10,.85),transparent 50%),linear-gradient(to top,rgba(13,5,10,.5),transparent 45%)}.mode-full .hero-type--back{display:none}.mode-full .hero-type--front{clip-path:none}.mode-full .hero-type--front span{color:#fff;mix-blend-mode:difference;-webkit-text-stroke:0}.mode-full .hero-copy{top:292px}.mode-full .hero-enter{right:4%}

.originals{max-width:1540px;margin:auto;padding:115px 48px;background:var(--paper)}.section-head{display:grid;grid-template-columns:1.2fr 1fr auto;gap:50px;align-items:end;margin-bottom:70px}.section-head small{font-size:8px;letter-spacing:.18em}.section-head h2{margin:18px 0 0;font-size:clamp(56px,7vw,110px);line-height:.76;letter-spacing:-.09em}.section-head h2 em{color:var(--pink);font-family:"Playfair Display",Georgia,serif}.section-head>p{margin:0;font:500 11px/2 "Noto Sans JP",sans-serif}.section-head>b{font-size:9px;letter-spacing:.15em}
.character{position:relative;height:620px;margin-top:22px;overflow:hidden;background:#24131b}.character__image{position:absolute;inset:0}.character__image img{object-position:50% 38%;transition:.7s var(--ease)}.character:hover img{transform:scale(1.025)}.character__image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,6,10,.76),transparent 56%),linear-gradient(to top,rgba(15,6,10,.54),transparent 42%)}.character__number{position:absolute;left:25px;top:22px;color:#fff;font-size:9px;letter-spacing:.16em}.character__name{position:absolute;left:35px;bottom:34px;color:#fff}.character__name small{color:var(--yellow);font-size:7px;letter-spacing:.18em}.character__name h3{margin:10px 0 7px;font:900 clamp(43px,5.6vw,86px)/.9 "Noto Sans JP",sans-serif;letter-spacing:-.08em}.character__name p{margin:0;font-size:10px;letter-spacing:.16em}.character__name p span{margin-left:14px;color:#c9bdc4;font:500 9px "Noto Sans JP",sans-serif;letter-spacing:.08em}.character__link{position:absolute;right:25px;bottom:26px;padding:14px 17px;background:var(--yellow);font-size:8px;letter-spacing:.15em}.character--olivia .character__image img{object-position:50% 36%}.character--olivia .character__image::after{background:linear-gradient(90deg,rgba(4,31,37,.76),transparent 56%),linear-gradient(to top,rgba(4,31,37,.48),transparent 42%)}.character--ruriko .character__image img{object-position:50% 40%}.character--ruriko .character__image::after{background:linear-gradient(90deg,rgba(58,15,28,.78),transparent 56%),linear-gradient(to top,rgba(43,11,19,.52),transparent 42%)}

.fanworks{max-width:1540px;margin:auto;padding:120px 48px;background:#100d0f;color:#f4edf1}.fanworks__head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;align-items:start;margin-bottom:65px}.fanworks__head>span{color:var(--pink);font-size:8px;letter-spacing:.19em}.fanworks__head h2{margin:0;font-size:clamp(52px,6.4vw,98px);line-height:.78;letter-spacing:-.09em}.fanworks__head h2 em{color:var(--pink);font-family:"Playfair Display",Georgia,serif}.fanworks__head>p{margin:0;color:#9c9298;font:400 10px/1.9 "Noto Sans JP",sans-serif}
.fan-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:10px}.fan-card{position:relative;grid-column:span 4;grid-row:span 3;overflow:hidden;background:#28131d}.fan-card--wide{grid-column:span 7;grid-row:span 3}.fan-card--tall{grid-column:span 5;grid-row:span 4}.fan-card--portrait{grid-column:span 5;grid-row:span 4}.fan-card--red{grid-column:span 4}.fan-card img{object-position:50% 28%;transition:.5s var(--ease)}.fan-card:hover img{transform:scale(1.045)}.fan-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,3,7,.7),transparent 35%)}.fan-card span{position:absolute;z-index:2;left:17px;bottom:15px;font-size:10px;font-weight:700;letter-spacing:.12em;text-shadow:0 2px 10px #000}.fan-card span b{margin-right:10px;color:var(--pink)}.fanworks__more{display:flex;justify-content:space-between;margin-top:45px;padding:22px 0;border-block:1px solid #393035;font-size:9px;letter-spacing:.15em}.fanworks__more b{color:var(--pink)}

.marquee-gallery{--marquee-gap:clamp(12px,1.4vw,24px);--marquee-card-width:clamp(190px,19vw,300px);--marquee-distance:-2400px;--marquee-duration:32s;max-width:1540px;margin:auto;padding:105px 0 115px;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(243,36,118,.15),transparent 32%),#100d0f;color:#f4edf1;border-top:1px solid #30262b}.marquee-gallery__head{padding:0 48px 52px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;align-items:start}.marquee-gallery__head>span{color:var(--pink);font-size:8px;letter-spacing:.19em}.marquee-gallery__head h2{margin:0;font-size:clamp(52px,6.4vw,98px);line-height:.78;letter-spacing:-.09em}.marquee-gallery__head h2 em{color:var(--pink);font-family:"Playfair Display",Georgia,serif}.marquee-gallery__head p{margin:0;color:#9c9298;font:400 10px/1.9 "Noto Sans JP",sans-serif}.portrait-marquee{position:relative;width:100%;overflow:hidden;padding:clamp(16px,2vw,30px) 0}.portrait-marquee::before,.portrait-marquee::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:min(9vw,130px);pointer-events:none}.portrait-marquee::before{left:0;background:linear-gradient(90deg,#100d0f,transparent)}.portrait-marquee::after{right:0;background:linear-gradient(-90deg,#100d0f,transparent)}.portrait-marquee__track{display:flex;width:max-content;opacity:0;will-change:transform;animation:portrait-marquee var(--marquee-duration) linear infinite;animation-play-state:paused;transition:opacity .35s ease}.portrait-marquee__track.is-ready{opacity:1;animation-play-state:running}.portrait-marquee__group{display:flex;flex:none;gap:var(--marquee-gap);padding-right:var(--marquee-gap)}.portrait-marquee__card{position:relative;flex:none;width:var(--marquee-card-width);aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:clamp(8px,1vw,16px);background:#24141c;box-shadow:0 22px 60px rgba(0,0,0,.34)}.portrait-marquee__card img{object-fit:cover;object-position:right center;transform:scale(1.01);transition:transform .35s var(--ease),filter .35s var(--ease)}.portrait-marquee__card:hover img{transform:scale(1.055);filter:brightness(1.08)}@keyframes portrait-marquee{to{transform:translate3d(var(--marquee-distance),0,0)}}

.links{max-width:1540px;margin:auto;padding:120px 48px;background:var(--pink)}.links__head{display:grid;grid-template-columns:1.5fr 1fr;gap:45px;align-items:end;margin-bottom:55px}.links__head small{font-size:8px;letter-spacing:.19em}.links__head h2{margin:17px 0 0;font-size:clamp(58px,7vw,108px);line-height:.76;letter-spacing:-.09em}.links__head p{margin:0 0 7px;font:600 11px "Noto Sans JP",sans-serif}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service{position:relative;min-height:300px;padding:28px;display:flex;flex-direction:column;border:2px solid;background:rgba(255,255,255,.05);transition:.3s var(--ease)}.service:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(80,0,35,.18)}.service>span{font-size:8px;letter-spacing:.16em}.service h3{margin:auto 0 0;font-size:clamp(45px,5vw,76px);letter-spacing:-.07em}.service p{margin:6px 0 24px;font:600 10px "Noto Sans JP",sans-serif}.service>b{font-size:8px;letter-spacing:.16em}.service--pixiv{background:#fff;color:#080808}.service--patreon{background:var(--yellow)}.service--shop{background:var(--ink);color:#fff}.service--x{background:transparent}
footer{height:150px;max-width:1540px;margin:auto;padding:0 48px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--ink);color:#fff}footer>a:first-child{font:800 24px Manrope,sans-serif}footer>a:first-child small{display:block;font:700 7px "Noto Sans JP",sans-serif;letter-spacing:.2em}footer>span{color:#756a70;font-size:8px;letter-spacing:.14em}footer>a:last-child{justify-self:end;font-size:8px;letter-spacing:.14em}.toast{position:fixed;z-index:200;left:50%;bottom:24px;padding:13px 18px;border-radius:999px;background:#fff;color:#111;box-shadow:0 10px 40px #0008;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.25s;font-size:11px}.toast.is-visible{opacity:1;transform:translate(-50%,0)}

@media(max-width:980px){:root{--bar:116px}.design-bar{height:var(--bar);grid-template-columns:1fr auto;padding:10px 18px}.cover-modes{grid-column:1/-1;width:100%}.cover-mode{flex:1}.design-bar__back{font-size:7px}.hero,.originals,.fanworks,.links{padding-left:24px;padding-right:24px}.hero-art{right:2%;width:57%}.hero-type--front{clip-path:inset(0 2% 0 41%)}.section-head{grid-template-columns:1fr 1fr}.section-head>b{display:none}.fanworks__head{grid-template-columns:1fr 2fr}.fanworks__head>p{grid-column:2}.fan-card{grid-column:span 6}.fan-card--wide,.fan-card--tall,.fan-card--portrait{grid-column:span 6}.service-grid{grid-template-columns:1fr 1fr}.marquee-gallery__head{padding-inline:24px;grid-template-columns:1fr 2fr}.marquee-gallery__head p{grid-column:2}}
@media(max-width:620px){:root{--bar:108px}.design-bar{padding:8px 12px}.design-bar__brand span,.design-bar__back{display:none}.cover-modes{gap:2px}.cover-mode{padding:9px 3px;font-size:7px}.cover-mode i{display:none}.hero,.originals,.fanworks,.links{padding-left:14px;padding-right:14px}.site-nav{height:75px}.site-nav>div{display:none}.site-nav>span{font-size:6px}.hero-stage{height:920px}.hero-type span{font-size:23vw}.hero-type span:first-child{top:190px}.hero-type span:last-child{bottom:60px;font-size:19vw}.hero-art,.mode-solid .hero-art{top:210px;right:0;width:94%;height:670px;border-radius:48% 48% 4px 4px}.hero-type--front{clip-path:inset(0 0 0 8%)}.hero-copy{left:0;top:38px}.hero-copy h1{font-size:16vw}.hero-copy p{display:none}.hero-enter{right:0;top:640px;width:105px;height:105px}.mode-note{left:0;right:auto;bottom:16px}.mode-solid .hero-type--front span{font-size:23vw}.mode-solid .hero-type--front span:last-child{font-size:19vw}.mode-full .hero-art{inset:0;width:100%;height:100%;border-radius:0}.mode-full .hero-type--front span{font-size:23vw}.mode-full .hero-type--front span:last-child{font-size:19vw}.mode-full .hero-copy{top:38px}.mode-full .hero-enter{right:10px}.originals{padding-top:80px;padding-bottom:80px}.section-head{grid-template-columns:1fr}.section-head>p{margin-top:15px}.section-head h2{font-size:15vw}.character{height:570px}.character__image img,.character--olivia .character__image img,.character--ruriko .character__image img{object-position:55% 50%}.character__name{left:18px;bottom:68px}.character__name h3{font-size:11vw}.character__name p span{display:block;margin:5px 0 0}.character__link{left:18px;right:auto;bottom:18px}.fanworks{padding-top:85px;padding-bottom:85px}.fanworks__head{grid-template-columns:1fr}.fanworks__head h2{font-size:14vw}.fanworks__head>p{grid-column:auto}.fan-grid{grid-template-columns:1fr;grid-auto-rows:auto}.fan-card,.fan-card--wide,.fan-card--tall,.fan-card--portrait,.fan-card--red{grid-column:auto;grid-row:auto;height:430px}.links{padding-top:85px}.links__head{grid-template-columns:1fr}.links__head h2{font-size:15vw}.service-grid{grid-template-columns:1fr}.service{min-height:260px}footer{height:130px;padding:0 15px;grid-template-columns:1fr auto}footer>span{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 2026-07-12 comparison controls */
.crop-twin .hero-art{-webkit-mask:radial-gradient(ellipse 58% 55% at 27% 32%,#000 98%,transparent 100%),radial-gradient(ellipse 58% 55% at 73% 32%,#000 98%,transparent 100%),linear-gradient(#000 0 0) 0 50%/100% 50% no-repeat;mask:radial-gradient(ellipse 58% 55% at 27% 32%,#000 98%,transparent 100%),radial-gradient(ellipse 58% 55% at 73% 32%,#000 98%,transparent 100%),linear-gradient(#000 0 0) 0 50%/100% 50% no-repeat;border-radius:0}
.crop-heart .hero-art{clip-path:polygon(50% 10%,61% 1%,78% 0,93% 12%,100% 30%,97% 52%,85% 70%,50% 100%,15% 70%,3% 52%,0 30%,7% 12%,22% 0,39% 1%);border-radius:0}
.crop-double .hero-art{-webkit-mask:radial-gradient(ellipse 24% 74% at 24% 50%,#000 98%,transparent 100%),radial-gradient(ellipse 24% 74% at 76% 50%,#000 98%,transparent 100%);mask:radial-gradient(ellipse 24% 74% at 24% 50%,#000 98%,transparent 100%),radial-gradient(ellipse 24% 74% at 76% 50%,#000 98%,transparent 100%);border-radius:0}
.section-controls{display:flex;gap:4px;align-self:end;padding:4px;border:1px solid var(--ink);border-radius:999px}.section-controls button{padding:8px 11px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;font-size:7px;letter-spacing:.1em}.section-controls button.is-active{background:var(--ink);color:#fff}.section-controls--dark{margin-top:18px;border-color:#4e4248;width:max-content}.section-controls--dark button.is-active{background:var(--pink);color:#fff}
.original-style-impact .character__name h3{font-size:clamp(66px,7.7vw,120px);line-height:.78}
.original-style-edge .character::before{content:""}.original-style-edge .character__name{left:auto;right:24px;top:50%;bottom:auto;transform:translateY(-50%);display:flex;flex-direction:row-reverse;gap:15px;align-items:start;text-align:right}.original-style-edge .character__name h3{margin:0;padding:18px 10px;background:var(--pink);color:#fff;font-size:clamp(48px,5vw,78px);line-height:1;letter-spacing:-.12em;writing-mode:vertical-rl}.original-style-edge .character__name small{writing-mode:vertical-rl;color:var(--yellow)}.original-style-edge .character__name p{display:none}.original-style-edge .character__link{left:25px;right:auto}
.original-style-ghost .character::before{content:attr(data-name);position:absolute;z-index:2;left:2%;top:50%;transform:translateY(-50%);width:96%;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.8);font:900 clamp(80px,10vw,155px)/.85 "Noto Sans JP",sans-serif;letter-spacing:-.1em;white-space:nowrap;pointer-events:none}.original-style-ghost .character__name h3{font-size:clamp(40px,4vw,62px)}
.fan-layout-strip .fan-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:440px}.fan-layout-strip .fan-card,.fan-layout-strip .fan-card--wide,.fan-layout-strip .fan-card--tall,.fan-layout-strip .fan-card--portrait,.fan-layout-strip .fan-card--red{grid-column:span 1;grid-row:span 1;height:auto}.fan-layout-strip .fan-card:nth-child(even){transform:translateY(35px)}
.fan-layout-covers .fan-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:270px}.fan-layout-covers .fan-card,.fan-layout-covers .fan-card--wide,.fan-layout-covers .fan-card--tall,.fan-layout-covers .fan-card--portrait,.fan-layout-covers .fan-card--red{grid-column:span 1;grid-row:span 1;height:auto}.fan-layout-covers .fan-card:first-child{grid-column:span 2;grid-row:span 2}.fan-layout-covers .fan-card:nth-child(2){grid-row:span 2}.fan-layout-covers .fan-card:nth-child(5){grid-column:span 2}
.links--rows{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.links__row-head small{font-size:8px;letter-spacing:.19em}.links__row-head h2{margin:18px 0 28px;font-size:clamp(60px,7vw,108px);line-height:.76;letter-spacing:-.09em}.links__row-head p{font:600 11px/1.8 "Noto Sans JP",sans-serif}.link-rows{border-top:2px solid}.link-rows a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;min-height:105px;border-bottom:2px solid;transition:.22s}.link-rows a:hover{padding-inline:15px;background:var(--ink);color:var(--yellow)}.link-rows small,.link-rows span{font-size:8px;letter-spacing:.13em}.link-rows b{font-size:30px}
@media(max-width:980px){.section-head{grid-template-columns:1fr}.section-controls{margin-top:20px;width:max-content}.fanworks__head{grid-template-columns:1fr}.fanworks__head>div{grid-column:1}.links--rows{grid-template-columns:1fr}}
@media(max-width:620px){.cover-mode{font-size:6px}.original-style-impact .character__name h3{font-size:13vw}.original-style-edge .character__name{right:12px}.original-style-edge .character__name h3{font-size:10vw}.original-style-ghost .character::before{font-size:17vw;white-space:normal}.fan-layout-strip .fan-grid{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px}.fan-layout-strip .fan-card,.fan-layout-strip .fan-card:nth-child(even){min-width:300px;height:440px;transform:none}.fan-layout-covers .fan-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:280px}.fan-layout-covers .fan-card:first-child{grid-column:span 2}.fan-layout-covers .fan-card:nth-child(2){grid-row:span 1}.fan-layout-covers .fan-card:nth-child(5){grid-column:span 2}.links--rows{display:block}.links__row-head{margin-bottom:45px}.link-rows a{grid-template-columns:32px 1fr}.link-rows span{display:none}}
@media(max-width:620px){.marquee-gallery{--marquee-card-width:58vw;padding:80px 0 88px}.marquee-gallery__head{padding:0 14px 34px;grid-template-columns:1fr}.marquee-gallery__head h2{font-size:14vw}.marquee-gallery__head p{grid-column:auto}.portrait-marquee::before,.portrait-marquee::after{width:34px}}

/* 2026-07-12 selected layouts */
.originals--selected .character__name h3{display:flex;align-items:baseline;gap:.12em;margin:10px 0 28px;font-size:clamp(96px,11.5vw,180px);line-height:.92;letter-spacing:.025em;white-space:nowrap}.originals--selected .character--olivia .character__name h3{gap:.025em}.originals--selected .character__name h3 .name-part--katakana{letter-spacing:-.075em}.originals--selected .character__name p{position:relative;margin:0;font-size:11px;line-height:1.7}.originals--selected .character__name p span{margin-left:20px}.selected-label{display:block;margin-top:20px;color:var(--pink);font-size:7px;letter-spacing:.17em}
.fanworks--selected .fan-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:115px;grid-auto-flow:dense;gap:10px}.fanworks--selected .fan-card,.fanworks--selected .fan-card--wide,.fanworks--selected .fan-card--tall,.fanworks--selected .fan-card--portrait,.fanworks--selected .fan-card--red{height:auto}.fanworks--selected .fan-card:nth-child(1){grid-column:1/7;grid-row:1/5}.fanworks--selected .fan-card:nth-child(2){grid-column:7/10;grid-row:1/5}.fanworks--selected .fan-card:nth-child(3){grid-column:10/13;grid-row:1/3}.fanworks--selected .fan-card:nth-child(4){grid-column:10/13;grid-row:3/5}.fanworks--selected .fan-card:nth-child(5){grid-column:1/5;grid-row:5/9}.fanworks--selected .fan-card:nth-child(6){grid-column:5/9;grid-row:5/7}.fanworks--selected .fan-card:nth-child(7){grid-column:9/13;grid-row:5/9}.fanworks--selected .fan-card:nth-child(8){grid-column:5/7;grid-row:7/9}.fanworks--selected .fan-card:nth-child(9){grid-column:7/9;grid-row:7/9}.fanworks--selected .fan-card:nth-child(10){grid-column:1/4;grid-row:9/14}.fanworks--selected .fan-card:nth-child(11){grid-column:4/9;grid-row:9/12}.fanworks--selected .fan-card:nth-child(12){grid-column:9/13;grid-row:9/12}.fanworks--selected .fan-card:nth-child(13){grid-column:4/7;grid-row:12/14}.fanworks--selected .fan-card:nth-child(14){grid-column:7/13;grid-row:12/14}.fanworks--selected .fan-card:nth-child(15){grid-column:1/5;grid-row:14/16}.fanworks--selected .fan-card:nth-child(16){grid-column:5/9;grid-row:14/18}.fanworks--selected .fan-card:nth-child(17){grid-column:9/13;grid-row:14/16}.fanworks--selected .fan-card:nth-child(18){grid-column:1/5;grid-row:16/18}.fanworks--selected .fan-card:nth-child(19){grid-column:9/11;grid-row:16/18}.fanworks--selected .fan-card:nth-child(20){grid-column:11/13;grid-row:16/18}
@media(max-width:620px){.originals--selected .character__name h3{gap:.10em;font-size:17vw;line-height:.95;letter-spacing:.015em;margin-bottom:22px}.originals--selected .character--olivia .character__name h3{gap:.015em;font-size:11vw}.originals--selected .character--ruriko .character__name h3{font-size:13vw}.originals--selected .character__name p{font-size:8px}.fanworks--selected .fan-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:95px;grid-auto-flow:dense}.fanworks--selected .fan-card:nth-child(5n+1){grid-column:1/5;grid-row:auto/span 4}.fanworks--selected .fan-card:nth-child(5n+2){grid-column:auto/span 2;grid-row:auto/span 3}.fanworks--selected .fan-card:nth-child(5n+3){grid-column:auto/span 2;grid-row:auto/span 2}.fanworks--selected .fan-card:nth-child(5n+4),.fanworks--selected .fan-card:nth-child(5n){grid-column:auto/span 1;grid-row:auto/span 1}}

/* Pre-cropped hero artwork: display the supplied asset without site-side masking. */
.design-bar{grid-template-columns:1fr auto}
.mode-solid .hero-art{border-radius:0;box-shadow:none;clip-path:none;-webkit-mask:none;mask:none}
.mode-solid .hero-art::after{display:none}
.mode-solid .hero-art img{object-fit:contain;object-position:center;transform:none}
@media(max-width:980px){:root{--bar:76px}}
@media(max-width:620px){:root{--bar:70px}.hero-art,.mode-solid .hero-art{border-radius:0}}

/* Editable description typography */
:root{--hero-description-size:10px;--originals-description-size:11px;--fanworks-description-size:10px;--links-description-size:11px;--link-description-size:8px}.hero-copy p{font-size:var(--hero-description-size)}.section-head>p{font-size:var(--originals-description-size)}.fanworks__head p{margin:0;color:#9c9298;font:400 var(--fanworks-description-size)/1.9 "Noto Sans JP",sans-serif}.links__row-head p{font-size:var(--links-description-size)}.link-rows span{font-size:var(--link-description-size)}
@media(max-width:980px){.public-bar{padding:0 18px}}
@media(max-width:620px){.public-bar{padding:0 14px;grid-template-columns:auto 1fr}.public-bar .site-logo{font-size:19px}.public-bar .site-logo small{font-size:6px}.public-bar__nav{justify-self:end;gap:14px;font-size:6px}.public-bar__label{display:none}}
@media(max-width:620px){.fan-card span{left:8px;bottom:8px;max-width:calc(100% - 16px);font-size:7px;line-height:1.2;letter-spacing:.05em}.fan-card span b{margin-right:4px}}

/* Landscape hero artwork fills the full cover while keeping portrait/cutout behavior unchanged. */
.mode-solid .hero-art.hero-art--landscape{inset:0;width:100%;height:100%;overflow:hidden}
.mode-solid .hero-art.hero-art--landscape img{width:100%;height:100%;margin:0;object-fit:cover;object-position:center;transform:none}
.mode-solid .hero-art.hero-art--landscape::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,var(--pink) 0%,rgba(243,36,118,.96) 14%,rgba(243,36,118,.68) 29%,rgba(243,36,118,.18) 45%,transparent 62%);pointer-events:none}
@media(max-width:620px){.mode-solid .hero-art.hero-art--landscape{inset:0;width:100%;height:100%}.mode-solid .hero-art.hero-art--landscape img{object-position:30% center}.mode-solid .hero-art.hero-art--landscape::before{background:linear-gradient(to bottom,var(--pink) 0%,rgba(243,36,118,.82) 18%,rgba(243,36,118,.16) 42%,transparent 58%)}}

/* Marquee interaction, link affordance and editable typography */
:root{--marquee-description-size:10px}.marquee-gallery__head p{font-size:var(--marquee-description-size)}.portrait-marquee:hover .portrait-marquee__track,.portrait-marquee:focus-within .portrait-marquee__track{animation-play-state:paused}.portrait-marquee__card::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(to top,rgba(8,4,7,.78),transparent);pointer-events:none}.portrait-marquee__link-label{position:absolute;z-index:1;right:13px;bottom:11px;color:#fff;font-size:8px;font-weight:700;letter-spacing:.16em;text-shadow:0 2px 10px #000;opacity:.72;transform:translateY(2px);transition:.25s var(--ease);pointer-events:none}.portrait-marquee__card:hover .portrait-marquee__link-label,.portrait-marquee__card:focus-visible .portrait-marquee__link-label{color:var(--yellow);opacity:1;transform:translateY(0)}.portrait-marquee__card:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
