/* Illustrated Dream Project presentation. Original artwork remains unchanged. */
body[data-design=b]{--ink:#49334f;--rose:#ba5588;--cyan:#32859d;--mint:#4d8064;background-attachment:fixed}
.brandbar .official-logo{display:block;width:270px;height:auto;max-height:68px;object-fit:contain;filter:drop-shadow(0 3px 0 #e5bce055)}
body[data-design=b] .brandbar{height:100px;padding:14px 4vw;background:linear-gradient(100deg,#fff9fdef,#fce3f1ee 50%,#e3f7ffee);border-bottom:2px solid #fff;box-shadow:0 3px 18px #a972a219;gap:24px}
body[data-design=b]:not([data-view=episode]){background-image:linear-gradient(#fff8fb35,#fff8fb35),url('assets/dream-backdrop.png');background-size:cover;background-position:center;color:var(--ink)}
body[data-design=b]:not([data-view=episode]) .brandbar{background:linear-gradient(100deg,#fff9fdef,#fce3f1ee 50%,#e3f7ffee)}
body[data-design=b] .brandbar nav{gap:12px}
body[data-design=b] .brandbar nav>a,body[data-design=b] .episode-menu>button{padding:10px 22px;border:1px solid #dec3df;border-radius:15px;background:linear-gradient(#fff,#fae8f4);box-shadow:inset 0 -3px 0 #ead5e5,0 3px 8px #80556e12;font-size:16px;font-weight:800;color:#533c60;transition:transform .2s,box-shadow .2s;white-space:nowrap}
body[data-design=b] .brandbar #site-home{padding:10px 22px;border:1px solid #c1e1ec;background:linear-gradient(#fff,#e5f7fd);box-shadow:inset 0 -3px 0 #cfe8f3}
body[data-design=b] .brandbar [aria-current]{background:linear-gradient(#fff4fa,#f6cce5);border-color:#d898bd}
body[data-design=b] .brandbar nav>a:hover,body[data-design=b] .episode-menu>button:hover{transform:translateY(-2px);box-shadow:inset 0 -3px 0 #ead5e5,0 6px 12px #80556e25}
body[data-design=b] .marquee{height:40px;border-top:1px solid #fff;border-bottom:1px solid #d2bddb;transform:none;background:linear-gradient(90deg,#f8d8eb,#d7f5fb,#f8d8eb);box-shadow:0 3px 12px #8b789a0d;color:#695071;font-size:13px;letter-spacing:.19em}
body[data-design=b] main{padding-top:24px}
body[data-design=b] .landing{min-height:calc(100svh - 190px);gap:5vw}
body[data-design=b] .intro{position:relative;padding:20px 0 20px 18px}
body[data-design=b] .intro::before{content:'';position:absolute;z-index:-1;inset:0 -30px;background:radial-gradient(ellipse,#fff9fdd9 15%,#fff9fd00 70%);pointer-events:none}
body[data-design=b] .intro .eyebrow{display:inline-block;padding:7px 15px;border:1px solid #efd0e1;border-radius:999px;background:#fff9fdc9;font-size:11px;color:#8b557f;letter-spacing:.18em;box-shadow:0 3px 10px #ad78a011}
body[data-design=b] .intro h1{font-size:clamp(64px,6.1vw,98px);letter-spacing:-.055em;line-height:1.01;text-shadow:0 3px 0 #fff;font-weight:900;margin:16px 0 22px}
body[data-design=b] .intro h1 em{color:#b7578b;text-shadow:0 3px #fff,2px 5px #d2edf7}
body[data-design=b] .intro .motto{font-size:23px;max-width:540px;color:#624469}
body[data-design=b] .episode-card{position:relative;border:2px solid #fff!important;border-radius:28px;background:linear-gradient(145deg,#fffafd,#edfaf4)!important;box-shadow:0 0 0 1px #d6bdd7,8px 10px 0 #d9f0f3,0 18px 48px #96799526!important;padding:22px;transform:rotate(1deg)}
body[data-design=b] .episode-card::before{content:'';position:absolute;width:88px;height:25px;top:-10px;right:35px;transform:rotate(8deg);background:repeating-linear-gradient(45deg,#ffdceddd 0 10px,#fff4f9dd 10px 20px);border:1px solid #f5c5db;box-shadow:0 2px 3px #694a7311}
body[data-design=b] .episode-card>.eyebrow{color:#996289;letter-spacing:.17em;font-size:11px;margin-bottom:16px}
body[data-design=b] .cover{gap:18px;grid-template-columns:1.05fr 1fr}
body[data-design=b] .cover img{border:5px solid white;border-radius:100px 100px 12px 12px;box-shadow:0 4px 15px #80768720;max-height:52svh}
body[data-design=b] .cover h2{font-size:52px;color:#366b50;text-shadow:0 2px white}
body[data-design=b] .pill{border:1px solid #b4d5c1;box-shadow:inset 0 1px white;background:linear-gradient(#f6fff9,#d9eddf);letter-spacing:.08em}
/* Text remains native and accessible; PNGs are decorative button surfaces. */
body[data-design=b] .primary{display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:72px;min-width:285px;max-width:100%;padding:17px 48px 17px 56px;background:transparent url('assets/button-pink.png') center/100% 100% no-repeat!important;border:0;border-radius:0;color:#673758!important;text-align:center;font-size:17px;font-weight:900;line-height:1.2;text-shadow:0 1px #fff;filter:drop-shadow(0 4px 3px #aa699622);transition:transform .22s,filter .22s}
body[data-design=b] .primary:hover{transform:translateY(-3px);filter:drop-shadow(0 7px 5px #aa699638) brightness(1.03)}
body[data-design=b] .primary:active{transform:translateY(1px)}
body[data-design=b] .episode-card .primary{min-width:0;width:100%;min-height:72px;padding:14px 28px 14px 37px;font-size:15px;background-image:url('assets/button-mint.png')!important;color:#305c46!important}
body[data-design=b] .watch .primary,body[data-design=b] .form-actions .primary{background-image:url('assets/button-cyan.png')!important;color:#345a76!important;min-width:250px}
body[data-design=b] .workspace{border:2px solid #fff;border-radius:22px;background:linear-gradient(140deg,#fffefbea,#f1f8efea);box-shadow:0 0 0 1px #a9c9b9,7px 9px 0 #d5e8dd,0 18px 48px #52755e1a;padding:24px;gap:18px;grid-template-columns:180px minmax(0,1fr)}
body[data-design=b] .episode-heading{border-bottom:1px solid #d3e2d4;padding-bottom:16px;margin-bottom:0}
body[data-design=b] .episode-heading h1{color:#365c42;text-shadow:0 2px white}
body[data-design=b] .back{border:1px solid #b8d3bd;border-radius:13px;background:linear-gradient(#fffef9,#edf7e9);box-shadow:inset 0 -3px #dcebdc;min-height:48px;padding:9px 16px}
body[data-design=b] .tabs{gap:9px}
body[data-design=b] .tabs button{position:relative;border:1px solid #cee0d0;background:linear-gradient(120deg,#fffefa,#edf6eb);box-shadow:inset 0 -3px #e1ecdc,0 2px 5px #5b775815;border-radius:12px;transition:transform .18s;min-height:51px;color:#4b6553}
body[data-design=b] .tabs button:hover{transform:translateX(3px)}
body[data-design=b] .tabs [aria-selected=true]{background:linear-gradient(115deg,#f5fff4,#cde6bb);border-color:#91b887;box-shadow:inset 0 -3px #b7d4a4,0 3px 8px #53724420;color:#2c5035}
body[data-design=b] .tabs [aria-selected=true]::after{content:'✦';float:right;color:#799341}
body[data-design=b] .art,body[data-design=b] .episode-video{border:5px solid #fffdf7;border-radius:14px;background:linear-gradient(135deg,#e4f0df,#f7f3de);box-shadow:0 0 0 1px #bdd0b7,0 8px 24px #62705f15}
body[data-design=b] .enlarge{color:#45604a;background:linear-gradient(90deg,#fffef9ee,#eef7e7ee);border-top:1px solid #d3dfc9}
body[data-design=b] .looks button{border:1px solid #d0d9c8;background:linear-gradient(#fffdf9,#f1f4e8);box-shadow:inset 0 -3px #e2e7d7;border-radius:12px;transition:transform .18s}
body[data-design=b] .looks button:hover{transform:translateX(-3px)}
body[data-design=b] .looks [aria-pressed=true]{background:linear-gradient(100deg,#f9f1dc,#e3f2d7);border:2px solid #87ac78;box-shadow:inset 0 -3px #c9dcb9,0 3px 8px #52634520}
body[data-design=b] #episode-links{border:2px solid #fff;box-shadow:0 0 0 1px #d5b4cf,0 12px 30px #67517729;background:linear-gradient(130deg,#fff5fa,#effaff);padding:10px;border-radius:18px}
body[data-design=b] #episode-links a{background:#fff8;border:1px solid #d8e8d9;border-radius:12px}
.dream-sparkles{position:fixed;inset:110px 0 0;pointer-events:none;z-index:0;overflow:hidden}.dream-sparkles i{position:absolute;font-style:normal;color:#d2b773;text-shadow:0 0 8px white;font-size:22px;animation:dreamTwinkle 5s ease-in-out infinite}.dream-sparkles i:nth-child(1){left:2%;top:12%}.dream-sparkles i:nth-child(2){left:47%;top:4%;animation-delay:-2s;color:#b897dd}.dream-sparkles i:nth-child(3){right:2%;top:40%;animation-delay:-1s;color:#74c8d5}.dream-sparkles i:nth-child(4){left:4%;bottom:12%;animation-delay:-3s}.dream-sparkles i:nth-child(5){right:4%;bottom:7%;animation-delay:-4s;color:#d999c5}main{position:relative;z-index:1}.marquee{position:relative;z-index:2}@keyframes dreamTwinkle{0%,100%{opacity:.35;transform:translateY(0) rotate(-10deg) scale(.8)}50%{opacity:.9;transform:translateY(-7px) rotate(12deg) scale(1)}}
body[data-view=episode] .dream-sparkles i{color:#9fb97d}
@media(max-width:1100px) and (min-width:851px){body[data-design=b] .primary{min-width:240px;padding-left:44px;padding-right:35px;font-size:16px}body[data-design=b] .cover{grid-template-columns:1fr}.cover>div{text-align:center}body[data-design=b] .cover img{height:270px;max-width:100%}body[data-design=b] .cover h2{font-size:38px}body[data-design=b] .cover p{margin-bottom:6px}}
@media(max-width:850px){body[data-design=b] .brandbar{height:auto;min-height:130px;padding:12px 16px;gap:12px;justify-content:center}.brandbar .official-logo{width:230px;max-height:55px}body[data-design=b] .brandbar nav{width:100%;gap:6px}body[data-design=b] .brandbar nav>a,body[data-design=b] .brandbar #site-home,body[data-design=b] .episode-menu>button{font-size:13px;padding:8px 10px;border-radius:11px;min-height:44px}body[data-design=b] .landing{display:block;min-height:0}body[data-design=b] .intro{padding:10px 0 24px}body[data-design=b] .intro h1{font-size:62px}body[data-design=b] .intro .motto{font-size:22px}body[data-design=b] .episode-card{margin:16px 0 12px;padding:18px;transform:none}body[data-design=b] .cover{grid-template-columns:1fr 1fr;gap:12px}body[data-design=b] .cover img{max-height:none}body[data-design=b] .cover h2{font-size:36px}body[data-design=b] .episode-card .primary{font-size:13px;min-height:65px;padding-left:24px;padding-right:16px}body[data-design=b] .primary{min-width:0;width:min(310px,100%);min-height:72px;font-size:16px}body[data-design=b] .workspace{padding:15px;display:block}body[data-design=b] .episode-heading{margin-bottom:16px}body[data-design=b] .tabs button{font-size:14px;padding:9px 5px}body[data-design=b] .tabs [aria-selected=true]::after{display:none}.dream-sparkles{opacity:.55}.proposal{display:none}}
@media(prefers-reduced-motion:reduce){.dream-sparkles i{animation:none}body[data-design=b] .primary,body[data-design=b] .tabs button,body[data-design=b] .looks button,body[data-design=b] .brandbar nav>a,body[data-design=b] .episode-menu>button{transition:none;transform:none!important}}
@media(max-width:850px){body[data-design=b] .cover{grid-template-columns:1fr}body[data-design=b] .cover img{width:min(100%,260px);height:380px;object-fit:contain;margin:auto;border-radius:100px 100px 12px 12px}body[data-design=b] .cover>div{text-align:center}body[data-design=b] .episode-card .primary{width:100%;min-height:68px;font-size:15px;padding:14px 33px 14px 42px}body[data-design=b] .brandbar nav{gap:4px}body[data-design=b] .brandbar nav>a,body[data-design=b] .brandbar #site-home,body[data-design=b] .episode-menu>button{font-size:12px;padding:8px;white-space:nowrap}body[data-design=b] .brandbar{padding-left:12px;padding-right:12px}}
@media(max-width:850px){body[data-design=b] .intro::before{inset:0}}
.episode-full-title{font-size:18px;font-weight:800;color:#446345;line-height:1.4;margin:0 0 16px}.character-facts{margin:16px 0}.character-facts div{display:grid;grid-template-columns:90px 1fr;gap:12px;border-bottom:1px solid #d5e1d0;padding:6px 0}.character-facts dt{font-weight:800}.character-facts dd{margin:0}.biography{margin:16px 0}.biography summary{cursor:pointer;font-weight:800;color:#406d4b;padding:10px 0}.biography p{margin:10px 0}.character-view aside,.credits-view aside{max-height:53svh;overflow:auto;padding:2px 10px 2px 2px}.credits-view aside p{font-size:16px}.wide-art>p:first-child{font-size:18px;margin:0 0 16px}.wide-art>button[data-enlarge]{font-size:15px;min-height:44px}.intro>p:not(.eyebrow){max-width:520px}@media(max-width:850px){.character-view aside,.credits-view aside{max-height:none;overflow:visible}.episode-full-title{font-size:17px}}
@media(max-width:850px){body[data-design=b] .watch{grid-template-columns:minmax(0,1fr)}body[data-design=b] .watch aside{min-width:0}body[data-design=b] .watch .primary,body[data-design=b] .form-actions .primary{min-width:0;width:100%}}

/* Keep profile reading comfortable without a visible scrollbar. */
.character-view aside,.credits-view aside{scrollbar-width:none;-ms-overflow-style:none}
.character-view aside::-webkit-scrollbar,.credits-view aside::-webkit-scrollbar{display:none}
.character-view aside>.eyebrow,.character-view aside>h2,.character-view aside>h2+p,.credits-view aside>.eyebrow,.credits-view aside>h2{text-align:center}
#lightbox .large img{cursor:zoom-out}
/* Pink PNG face sits below the image center because of its top ribbon.
   Offset the content by 4px without shifting the artwork or hit area. */
body[data-design=b] .intro .primary{padding-top:25px;padding-bottom:17px}
body[data-design=b] .character-spotlight:is([data-character=sora],[data-character=momoka]) .primary{padding-top:20px;padding-bottom:12px}
.form-view>.eyebrow{margin-top:24px}.form-view h2{font-size:27px;margin-top:24px;margin-bottom:8px}.form-view label small{font-size:13px;font-weight:400;color:#77677b}.form-view .wide-field{grid-column:1/-1}.submission-steps{display:flex;gap:10px;margin:28px 0;flex-wrap:wrap}.submission-steps>span{display:flex;align-items:center;gap:8px;color:#8b7b8d;font-size:13px;padding:9px 12px;background:#fff8;border:1px solid #e6d7e4;border-radius:12px}.submission-steps b{border-radius:50%;background:#eddfef;padding:3px 9px}.submission-steps [aria-current]{border-color:#cc8db5;background:#f9e8f2;color:#874f73}.submission-guidance{border-top:1px solid #e7d4e3;margin-top:22px;padding-top:12px;font-size:13px;color:#756378}.drawing-submission{text-align:center;padding:25px;border:1px dashed #be9cbc;border-radius:20px;background:linear-gradient(125deg,#fff5fa,#edf9ff);margin:6px 0 22px}.drawing-submission>span{font-size:38px;color:#ad77a3}.drawing-submission h3{margin:0;font-size:23px}.drawing-submission p{font-size:15px}.drawing-submission small{display:block;margin-top:10px;font-size:12px;color:#756378}.drawing-submission button{background:#fff9fc;border-color:#cba1bf;font-size:15px}
.spotlight-directory{min-width:0}
.spotlight-selector{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
.spotlight-selector button{padding:8px 18px;min-height:42px;border:1px solid #dfc9da;background:#fff9fc;font-size:14px;font-weight:800;box-shadow:0 3px 8px #95749a13}
.spotlight-selector button span{font-size:10px;margin-right:6px;color:#95758d}
.spotlight-selector button[aria-pressed=true]{background:#e8f3e3;border-color:#98b792;color:#39583e}
.spotlight-selector button[data-spotlight=sora][aria-pressed=true]{background:#fbe3eb;border-color:#d58daa;color:#934160}
body[data-design=b] .character-spotlight:is([data-character=sora],[data-character=momoka]){background:linear-gradient(125deg,#fff8fb,#fce6ee 60%,#eef6f1)!important;box-shadow:0 0 0 1px #d3afbd,7px 9px 0 #e1edf0,0 18px 48px #96799526!important}
.character-spotlight:is([data-character=sora],[data-character=momoka]) .spotlight-top{background:linear-gradient(100deg,#fff9f8,#f8dbe7);border-color:#e3b8cb;color:#815065}
.character-spotlight:is([data-character=sora],[data-character=momoka]) .spotlight-copy h2{color:#a14366}
.character-spotlight:is([data-character=sora],[data-character=momoka]) .spotlight-stage{background:radial-gradient(ellipse at 20% 35%,#fff3de,transparent 65%)}
body[data-design=b] .character-spotlight:is([data-character=sora],[data-character=momoka]) .primary{background-image:url('assets/button-pink.png')!important;color:#8b375c!important}
.video-pending{overflow:hidden;border:5px solid #fffafc;border-radius:14px;background:#f5e6ee;box-shadow:0 0 0 1px #d4b1c2}
.video-pending>img{width:100%;display:block;aspect-ratio:16/9;object-fit:contain}
.video-pending>div{text-align:center;padding:15px;background:linear-gradient(100deg,#fff7fb,#f0e7f6)}
.video-pending strong{font:italic 26px Georgia,serif;display:block;color:#914766}.video-pending p{margin:8px 0 0;font-size:14px;color:#746273}.video-pending>div>span{color:#ba975e}
body[data-design=b][data-view=episode]:is([data-character=sora],[data-character=momoka]){background-color:#fff4f8;color:#593c50}
body[data-design=b]:is([data-character=sora],[data-character=momoka]) .workspace{background:linear-gradient(140deg,#fffaf8ed,#fff0f5ee);box-shadow:0 0 0 1px #d6b3c4,7px 9px 0 #eedbe5,0 18px 48px #96667e1a}
body[data-design=b]:is([data-character=sora],[data-character=momoka]) .episode-heading h1,body:is([data-character=sora],[data-character=momoka]) .episode-full-title{color:#8c3d60}
body[data-design=b]:is([data-character=sora],[data-character=momoka]) .tabs button{background:linear-gradient(#fffdfb,#fae8f0);border-color:#e3c7d6;color:#855772;box-shadow:inset 0 -3px #efdae6}
body[data-design=b]:is([data-character=sora],[data-character=momoka]) .tabs [aria-selected=true]{background:linear-gradient(115deg,#fff1f6,#f3bdd3);border-color:#d189aa;color:#783d59;box-shadow:inset 0 -3px #e9a9c6}
body[data-design=b]:is([data-character=sora],[data-character=momoka]) .looks [aria-pressed=true]{background:linear-gradient(100deg,#fff2e9,#f7dce9);border-color:#bd799a;box-shadow:inset 0 -3px #e6b8ce}
body[data-design=b]:is([data-character=sora],[data-character=momoka]) .art{background:linear-gradient(135deg,#f1e3ee,#fff2e8);box-shadow:0 0 0 1px #d4b1c2,0 8px 24px #78576615}

/* Featured character: a framed debut poster, with the artwork as its focal point. */
body[data-design=b] .character-spotlight{padding:0;overflow:hidden;transform:none;border-radius:26px;background:linear-gradient(125deg,#fafff3,#eff9eb 58%,#fff8f2)!important;box-shadow:0 0 0 1px #b5cdb5,7px 9px 0 #d9edf0,0 18px 48px #647f6526!important}
body[data-design=b] .character-spotlight::before{display:none}
.spotlight-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid #b7ceb76b;background:linear-gradient(100deg,#fffef5,#e0efde);color:#44624c;font-size:10px;font-weight:900;letter-spacing:.15em}
.spotlight-top i{font-style:normal;color:#ba9661;font-size:18px;vertical-align:middle;margin-right:6px}
.spotlight-top b{font-size:19px;letter-spacing:0;margin-left:4px}
.spotlight-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:18px;padding:24px 20px 18px;align-items:center;background:radial-gradient(ellipse at 20% 35%,#fffde5,transparent 65%)}
.spotlight-stage::before{content:'✧';position:absolute;top:10px;left:43%;color:#b8995e;font-size:34px;pointer-events:none}
.spotlight-portrait{position:relative;display:block;width:100%;height:clamp(340px,47svh,470px);min-width:0;padding:0;border:5px solid #fffef7;border-radius:140px 140px 16px 16px;overflow:hidden;background:#e6ebde;box-shadow:0 0 0 1px #c6d2b7,0 9px 20px #5a755b1e;cursor:zoom-in}
.spotlight-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.portrait-caption{position:absolute;bottom:0;left:0;right:0;padding:7px 10px;background:#fffef2df;backdrop-filter:blur(8px);color:#456044;font-size:9px;font-weight:900;letter-spacing:.15em}
.portrait-caption span{float:right}
.spotlight-copy{min-width:0;text-align:left}
.spotlight-kicker{font-size:9px;font-weight:900;letter-spacing:.2em;color:#78915e;margin:0 0 7px}
.spotlight-copy h2{font-size:clamp(45px,4.1vw,68px);font-weight:900;line-height:1;letter-spacing:-.045em;color:#355e42;margin:0 0 13px;text-shadow:0 2px #fff}
.spotlight-copy h2 span{display:inline-block;color:#b79658;font-size:.43em;vertical-align:top;margin:0 0 0 5px}
.spotlight-role{font-size:12px;color:#546f53;line-height:1.7;margin:0 0 20px}
.spotlight-role>span{display:none}
.spotlight-quote{font:italic 21px/1.35 Georgia,serif;color:#586349;margin:0 0 21px}
.spotlight-song{position:relative;padding:13px 0 10px;border-top:1px solid #c5d5bc;border-bottom:1px solid #c5d5bc;margin-bottom:10px}
.spotlight-song>span{display:block;font-size:9px;font-weight:900;letter-spacing:.15em;color:#778567}
.spotlight-song strong{display:block;font:italic 29px/1.3 Georgia,serif;color:#aa5681;margin-top:3px}
body[data-design=b] .character-spotlight .primary{font-size:13px;min-height:63px;padding:12px 24px 12px 32px;white-space:nowrap}
.character-spotlight .primary>span{font-size:10px;margin-left:9px}
.spotlight-story{display:block;margin:0 auto;padding:5px 10px;min-height:32px;border:0;background:transparent;color:#57715a;font-size:12px;font-weight:800;border-radius:6px}
.spotlight-story:hover{text-decoration:underline}
.spotlight-credit{display:flex;gap:12px;align-items:center;border-top:1px solid #c4d7bd;background:#ffffff75;padding:12px 22px;color:#65745f}
.spotlight-credit>span{font-size:22px;color:#bda56d}
.spotlight-credit p{margin:0;font-size:10px;line-height:1.5}
.spotlight-credit strong{display:block;font-size:11px;font-weight:800;color:#456047}
@media(min-width:851px) and (max-width:1100px){body[data-design=b] .landing{grid-template-columns:.85fr 1.15fr;gap:3vw}.spotlight-stage{gap:12px;padding:18px 14px}.spotlight-top{padding:12px 14px;font-size:9px}.spotlight-copy h2{font-size:42px}.spotlight-quote{font-size:19px}.spotlight-song strong{font-size:25px}}
@media(max-width:850px){body[data-design=b] .character-spotlight{max-width:600px;margin:24px auto 14px}.spotlight-stage{gap:18px;padding:22px 18px}.spotlight-portrait{height:380px}.spotlight-copy h2{font-size:48px}}
@media(max-width:480px){.spotlight-stage{grid-template-columns:1fr;padding:22px;gap:24px}.spotlight-portrait{width:min(100%,270px);height:390px;margin:auto}.spotlight-copy{text-align:center}.spotlight-copy h2{font-size:62px}.spotlight-role br{display:none}.spotlight-role>span{display:inline}.spotlight-quote{font-size:23px}.spotlight-song{max-width:270px;margin:0 auto 8px}.spotlight-stage::before{left:auto;right:12px}.spotlight-top{padding:12px;font-size:9px;letter-spacing:.08em}.spotlight-credit{padding:12px 16px}body[data-design=b] .character-spotlight .primary{max-width:300px;font-size:15px;min-height:70px}}


/* Give the landing spotlight more of the desktop canvas. */
@media(min-width:1101px){
 body[data-design=b][data-view=landing] main{max-width:2400px;padding:24px 4vw}
 body[data-design=b] .landing{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4vw}
 body[data-design=b] .landing .intro{padding-left:0}
 body[data-design=b] .landing .intro h1{font-size:clamp(90px,6.3vw,132px)}
 body[data-design=b] .landing .intro .motto{font-size:clamp(24px,1.7vw,31px);max-width:670px}
 body[data-design=b] .landing .intro>p:not(.eyebrow):not(.fine){font-size:clamp(19px,1.2vw,23px);max-width:670px}
 body[data-design=b] .landing .intro .eyebrow{font-size:13px;padding:9px 18px}
 body[data-design=b] .landing .intro .fine{font-size:16px;margin-top:12px}
 body[data-design=b] .landing .intro .primary{min-width:365px;min-height:88px;font-size:20px;padding-top:29px;padding-bottom:17px}
 body[data-design=b] .landing .spotlight-portrait{height:clamp(340px,calc(100svh - 442px),650px);border-radius:180px 180px 18px 18px}
 body[data-design=b] .landing .spotlight-stage{gap:28px;padding:22px 26px}
 body[data-design=b] .landing .spotlight-top{font-size:12px;padding:16px 26px}
 body[data-design=b] .landing .spotlight-top b{font-size:24px}
 body[data-design=b] .landing .spotlight-copy h2{font-size:clamp(62px,4.5vw,90px)}
 body[data-design=b] .landing .spotlight-kicker{font-size:11px}
 body[data-design=b] .landing .spotlight-role{font-size:16px}
 body[data-design=b] .landing .spotlight-quote{font-size:clamp(22px,1.7vw,30px)}
 body[data-design=b] .landing .spotlight-song>span{font-size:11px}
 body[data-design=b] .landing .spotlight-song strong{font-size:clamp(29px,2.1vw,39px)}
 body[data-design=b] .landing .character-spotlight .primary{min-height:80px;font-size:17px}
 body[data-design=b] .landing .character-spotlight:is([data-character=sora],[data-character=momoka]) .primary{padding-top:24px;padding-bottom:12px}
 body[data-design=b] .landing .spotlight-story{font-size:15px;min-height:36px}
 body[data-design=b] .landing .spotlight-selector button{font-size:17px;min-height:48px;padding:10px 22px}
 body[data-design=b] .landing .spotlight-selector button span{font-size:12px}
 body[data-design=b] .landing .spotlight-credit p{font-size:12px}
 body[data-design=b] .landing .spotlight-credit strong{font-size:13px}
 body[data-design=b] .landing .portrait-caption{font-size:11px}
}


/* Fit the source portrait inside the arch; keep its caption below the artwork. */
body[data-design=b] .spotlight-portrait{background:radial-gradient(ellipse at 50% 25%,#fffaf0,#e6e9dd);animation:archGlow 6s ease-in-out infinite}
body[data-design=b] .spotlight-portrait img{height:calc(100% - 30px);padding:16px 0 4px;box-sizing:border-box}
body[data-design=b] .character-spotlight[data-character=leafia] .spotlight-portrait img{object-fit:contain}
body[data-design=b] .character-spotlight:is([data-character=sora],[data-character=momoka]) .spotlight-portrait{background:radial-gradient(ellipse at 50% 25%,#fff7fa,#eae2ed)}
body[data-design=b] .spotlight-portrait::before{content:'';position:absolute;inset:0;z-index:2;border-radius:inherit;padding:3px;pointer-events:none;background:linear-gradient(115deg,#dcc895 10%,#fffdf4 25%,#bce1cf 40%,#fff 50%,#e3bedb 65%,#dcc895 85%);background-size:250% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:archShimmer 7s linear infinite}
body[data-design=b] .spotlight-portrait::after{content:'✦';position:absolute;z-index:3;right:7px;top:35%;font-size:22px;color:#fffbe4;text-shadow:0 0 6px #bca26a,0 0 12px #fff;pointer-events:none;animation:archTwinkle 4.5s ease-in-out infinite}
body[data-design=b] .portrait-caption{z-index:4}
@keyframes archGlow{0%,100%{box-shadow:0 0 0 1px #c6d2b7,0 9px 20px #5a755b1e,0 0 9px #e8d59e22}50%{box-shadow:0 0 0 1px #d3c18d,0 9px 20px #5a755b1e,0 0 22px #e8d59e66}}
@keyframes archShimmer{from{background-position:0% 50%}to{background-position:250% 50%}}
@keyframes archTwinkle{0%,100%{opacity:.25;transform:translateY(5px) scale(.7)}50%{opacity:.95;transform:translateY(-5px) scale(1.1)}}
@media(prefers-reduced-motion:reduce){body[data-design=b] .spotlight-portrait,body[data-design=b] .spotlight-portrait::before,body[data-design=b] .spotlight-portrait::after{animation:none}}


/* Ambient page motion stays behind the content; artwork itself stays still. */
body[data-design=b]::before{content:'';position:fixed;inset:-5%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 12% 22%,#fac5e940,transparent 38%),radial-gradient(ellipse at 86% 67%,#bfe9f84d,transparent 42%),radial-gradient(ellipse at 52% 8%,#fff1bd3b,transparent 32%);animation:dreamAtmosphere 18s ease-in-out infinite alternate}
body[data-design=b] .landing .intro>.eyebrow,
body[data-design=b] .landing .intro>.motto,
body[data-design=b] .landing .intro>p:not(.eyebrow):not(.motto),
body[data-design=b] .landing .intro>.primary{animation:dreamReveal .65s ease-out both}
body[data-design=b] .landing .intro>.motto{animation-delay:.1s}
body[data-design=b] .landing .intro>p:not(.eyebrow):not(.motto){animation-delay:.16s}
body[data-design=b] .landing .intro>.primary{animation-delay:.22s}
body[data-design=b] .spotlight-directory{animation:dreamReveal .65s ease-out both}
body[data-design=b] .spotlight-copy>*{animation:dreamReveal .55s ease-out both}
body[data-design=b] .spotlight-copy>h2{animation-delay:.05s}
body[data-design=b] .spotlight-copy>.spotlight-quote{animation-delay:.1s}
body[data-design=b] .spotlight-copy>.spotlight-song{animation-delay:.15s}
body[data-design=b] .spotlight-copy>.primary{animation-delay:.2s}
body[data-design=b] #panel,body[data-design=b] .form-view{animation:dreamReveal .45s ease-out both}
body[data-design=b] .spotlight-selector button{transition:background-color .2s,box-shadow .2s,transform .2s}
body[data-design=b] .spotlight-selector button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #b587ab28}
@keyframes dreamAtmosphere{from{transform:translate3d(-1%,-1%,0);opacity:.5}to{transform:translate3d(2%,1%,0);opacity:1}}
@keyframes dreamReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 body[data-design=b]::before,body[data-design=b] .landing .intro>*,body[data-design=b] .spotlight-directory,body[data-design=b] .spotlight-copy>*,body[data-design=b] #panel,body[data-design=b] .form-view{animation:none}
 body[data-design=b] .spotlight-selector button{transition:none;transform:none}
}


body[data-design=b] .landing .intro>.primary,body[data-design=b] .spotlight-copy>.primary{animation-fill-mode:backwards}


/* Match the arch to a full-height portrait instead of letterboxing the image. */
body[data-design=b] .spotlight-stage{--portrait-height:clamp(340px,47svh,470px)}
body[data-design=b] .landing .spotlight-portrait{
 --arch-base:#538c63;--arch-halo:#5ba56b55;--arch-accent:#c79527;
 width:calc((var(--portrait-height) - 40px) * .666667 + 10px);
 max-width:100%;height:var(--portrait-height);margin-inline:auto;
 border-radius:48% 48% 16px 16px / 23% 23% 16px 16px;
}
body[data-design=b] .landing .spotlight-portrait img{display:block;width:100%;height:calc(100% - 30px);padding:0;object-fit:cover;object-position:center}
body[data-design=b] .character-spotlight[data-character=leafia] .spotlight-portrait img{object-fit:cover}
body[data-design=b] .character-spotlight:is([data-character=sora],[data-character=momoka]) .spotlight-portrait{--arch-base:#aa426f;--arch-halo:#d4488f55;--arch-accent:#d88c36}
body[data-design=b] .spotlight-portrait::before{padding:4px;background:linear-gradient(115deg,var(--arch-base) 10%,var(--arch-accent) 30%,#fff0a2 45%,var(--arch-base) 60%,var(--arch-accent) 80%);background-size:250% 100%;animation-duration:5s}
body[data-design=b] .spotlight-portrait::after{color:var(--arch-accent);font-size:27px;text-shadow:0 1px 2px #fff,0 0 10px #fff8;animation-duration:5s}
@keyframes archGlow{0%,100%{box-shadow:0 0 0 1px var(--arch-base),0 9px 20px #5a755b22,0 0 10px var(--arch-halo)}50%{box-shadow:0 0 0 2px var(--arch-accent),0 9px 20px #5a755b22,0 0 28px var(--arch-halo)}}
@media(min-width:481px){body[data-design=b] .spotlight-stage{grid-template-columns:auto minmax(0,1fr)}}
@media(min-width:1101px){body[data-design=b] .landing .spotlight-stage{--portrait-height:clamp(340px,calc(100svh - 442px),650px);gap:32px}}
@media(max-width:850px){body[data-design=b] .spotlight-stage{--portrait-height:380px}}
@media(max-width:480px){body[data-design=b] .spotlight-stage{--portrait-height:clamp(280px,calc((100vw - 92px) * 1.5 + 40px),430px);grid-template-columns:1fr}}
/* Saturated moving accents remain visible against the bright illustration. */
body[data-design=b]::before{background:radial-gradient(ellipse at 8% 25%,#da3f9938,transparent 35%),radial-gradient(ellipse at 91% 65%,#20a7cb38,transparent 38%),radial-gradient(ellipse at 55% 2%,#ab75d12b,transparent 33%)}
body[data-design=b] .dream-sparkles{opacity:1}
body[data-design=b] .dream-sparkles i{font-size:29px;color:#a47820;text-shadow:0 1px 2px #fff,0 0 9px #fff8}
body[data-design=b] .dream-sparkles i:nth-child(2){color:#9257b5}
body[data-design=b] .dream-sparkles i:nth-child(3){color:#1685a3}
body[data-design=b] .dream-sparkles i:nth-child(5){color:#b93b86}
@keyframes dreamTwinkle{0%,100%{opacity:.55;transform:translateY(5px) rotate(-12deg) scale(.85)}50%{opacity:1;transform:translateY(-10px) rotate(12deg) scale(1.08)}}


/* Center the heading hierarchy; justify reading copy within its own column. */
body[data-design=b] main :is(h1,h2,h3),
body[data-design=b] main .eyebrow,
body[data-design=b] main .spotlight-kicker,
body[data-design=b] main .episode-full-title{text-align:center}
body[data-design=b] main p{
 text-align:justify;text-align-last:start;text-justify:inter-word;hyphens:auto;
}
body[data-design=b] main :is(.eyebrow,.motto,.spotlight-kicker,.spotlight-role,.episode-full-title),
body[data-design=b] .video-pending p{
 text-align:center;text-align-last:center;hyphens:none;
}
body[data-design=b] .intro{text-align:center}
body[data-design=b] .intro>p{margin-left:auto;margin-right:auto}
body[data-design=b] .intro>.fine{width:fit-content;max-width:100%}
body[data-design=b] .spotlight-song{text-align:center}
body[data-design=b] .episode-heading>div{flex:1;min-width:0}
body[data-design=b] .biography summary{text-align:center}
body[data-design=b] .spotlight-credit p{hyphens:none}


/* Episode 03: ruby and lavender, with an explicit future-release state. */
.release-status{display:inline-block;border:1px solid #b887c7;border-radius:999px;background:#f3e4fb;color:#783778;padding:5px 12px;font-size:12px;font-weight:900;letter-spacing:.04em}
.spotlight-copy>.release-status,.episode-heading .release-status{display:table;margin:7px auto 10px}
.spotlight-selector{flex-wrap:wrap}
.spotlight-selector button small{display:block;margin-top:3px;font-size:10px;font-weight:800;color:#843573}
.spotlight-selector button[data-spotlight=momoka][aria-pressed=true]{background:#f0e1fb;border-color:#b288c5;color:#743377}
#episode-links .menu-release{grid-column:2;color:#893d80;font-size:11px;font-weight:900}
.spotlight-cocreator{display:block;font-size:11px;margin-top:3px}
.video-pending .release-status{margin-bottom:12px}
body[data-design=b] .character-spotlight[data-character=momoka]{background:linear-gradient(125deg,#fff4f6,#f1e7fb 65%,#fff9f1)!important}
body[data-design=b] .character-spotlight[data-character=momoka] .spotlight-top{background:linear-gradient(100deg,#fff7f6,#ecdef7);color:#823b69;border-color:#d4b6df}
body[data-design=b] .character-spotlight[data-character=momoka] .spotlight-copy h2{color:#a52c59;font-size:clamp(42px,3.4vw,76px)}
body[data-design=b] .character-spotlight[data-character=momoka] .spotlight-portrait{
 --arch-base:#915eb3;--arch-halo:#af63a94d;--arch-accent:#bc396c;
 width:calc((var(--portrait-height) - 40px) * .95 + 10px);
}
body[data-design=b][data-character=momoka] .costume-frame,
body[data-design=b][data-character=momoka] .costume-lightbox .zoom-frame{aspect-ratio:.95}
body[data-design=b][data-character=momoka] .workspace{background:linear-gradient(140deg,#fff8f9ed,#f5edffee);box-shadow:0 0 0 1px #d2b2d6,7px 9px 0 #e6daef,0 18px 48px #96667e1a}
body[data-design=b][data-character=momoka] .episode-heading h1{color:#943161}
body[data-design=b][data-character=momoka] .tabs [aria-selected=true]{background:linear-gradient(115deg,#fff0f5,#e6cef5);border-color:#b281c3;color:#71366f;box-shadow:inset 0 -3px #d9b5e8}
@media(max-width:480px){body[data-design=b] .character-spotlight[data-character=momoka] .spotlight-stage{--portrait-height:clamp(220px,calc((100vw - 102px) * 1.052632 + 40px),420px)}.spotlight-selector{justify-content:center}}


/* Pending teaser uses CSS shapes only. No unreleased artwork is requested. */
.momoka-pending{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr);align-items:center;gap:32px;max-width:1080px;margin:32px auto;padding:36px;border:2px solid #e5cce8;border-radius:28px;background:linear-gradient(130deg,#fff4f8ed,#f0e8f9ed);box-shadow:0 14px 44px #70587518}
.pending-dream-art{min-height:320px;position:relative;overflow:hidden;display:grid;place-items:center;border-radius:24px;background:#ece0f0}
.pending-dream-art::before{content:'';position:absolute;inset:15%;border-radius:48% 52% 40% 60%;background:linear-gradient(140deg,#d58dad,#ac95ca,#f1cbd8);filter:blur(28px);opacity:.65}
.pending-dream-art span{position:relative;color:#fff8fc;font-size:100px;text-shadow:0 4px 28px #865c88}
.pending-dream-copy h1{font-size:clamp(38px,5vw,66px);color:#873b65;margin:16px 0}.pending-dream-copy p{line-height:1.7;color:#6e526a}.pending-dream-copy .release-status{margin:0}.pending-dream-copy .back{margin-top:18px}
@media(max-width:650px){.momoka-pending{grid-template-columns:1fr;padding:24px;gap:12px;margin:20px auto}.pending-dream-art{min-height:210px}.pending-dream-copy{text-align:center}}
