/* LUMINOUS — visual layer for the independent edition. */
:root{--void:#080b15;--line:rgba(212,200,167,.2);--mute:#a8adc1;--gold:#e7c78b}
*{box-sizing:border-box}
#app{overflow:clip;background:radial-gradient(ellipse at 78% 20%,#1d203c 0,transparent 50%),#080b15}
.nebula{opacity:.24;filter:blur(70px)}
#lobby{padding:32px 30px 24px}
.wrap{max-width:1050px;gap:20px}
.topbar{min-height:54px}
.logo-en{font-family:Georgia,'Times New Roman',serif;font-size:32px;letter-spacing:.22em;font-weight:400;filter:none;background-image:linear-gradient(110deg,#ffedd0,#ceb37d)}
.logo-jp{font-size:9px;letter-spacing:.23em;margin-top:10px;color:#b9b4a7}
.gems{padding:8px 6px 8px 14px;border-radius:8px;background:#111725;font-size:14px;gap:10px}
.plus{box-shadow:none;background:#d8bd85;border-radius:5px}
.icon-btn{border-radius:8px;height:42px;width:42px;background:#111725}
.edition-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:17px;color:#9ea6bb;font-size:11px;letter-spacing:.15em}
.edition-line span:last-child{font-size:9px;letter-spacing:.19em;color:#c4ab78}
.banner{grid-template-columns:1.15fr 1fr;min-height:400px;padding:28px 52px;gap:30px;border-radius:14px;border-color:#9c79404f;background:radial-gradient(ellipse at 75% 35%,#63373055,transparent 65%),linear-gradient(110deg,#151724,#221924 60%,#181521);box-shadow:0 24px 70px #0005}
.banner::before{font-size:390px;right:14%;color:#d39b6620}
.banner::after{opacity:.4}
.bn-card{order:2;width:min(100%,238px);max-width:270px;transform:rotate(7deg);filter:drop-shadow(0 14px 24px #0009)}
.bn-info{order:1;gap:16px;z-index:1}
.ribbon{font-family:var(--ui);font-size:10px;letter-spacing:.18em;color:#e5c893;background:none;border-radius:0;padding:0 0 10px;transform:none;box-shadow:none;border-bottom:1px solid #b88d4d66}
.bn-title{font-size:20px;letter-spacing:.3em;color:#edcfb0}
.bn-name{font-family:var(--brush);font-size:76px;letter-spacing:.05em;line-height:1.1;filter:none;background-image:linear-gradient(180deg,#fff4e4,#e9c18a)}
.bn-quote{font-family:var(--brush);font-size:16px;color:#bbb2b6;line-height:1.8}
.bn-rate{font-size:12px;letter-spacing:.07em;color:#e7d2ad}
.bn-rate span{font-family:Georgia,serif;border:1px solid #b6935466;padding:4px 7px;margin-right:9px}
.bn-timer{font-size:10px;color:#958b91;letter-spacing:.2em}
.meta{padding:0 3px}.pity{font-size:12px}.pity b{font-size:19px;font-family:var(--ui)}
.chip{border-radius:6px;background:#151b2b;font-size:11px;padding:8px 12px}
.pulls{grid-template-columns:1fr 1.35fr;gap:16px}
.pull{border-radius:9px;padding:19px 10px 15px;gap:6px;box-shadow:0 5px 20px #0004}
.pull .pl{font-family:var(--ui);font-size:23px;font-weight:800;letter-spacing:.12em}
.pull1{border:1px solid #637b9c;background:linear-gradient(120deg,#2c425d,#1b2a43);color:#eaf2ff}
.pull10{border:1px solid #efd6a1;background:linear-gradient(115deg,#f3deac,#c79b50);color:#2b2010;animation:none}
.pull .tag{font-size:9px;background:#664c2c;letter-spacing:.05em;padding:3px 10px}
.pull10 .pl{text-shadow:none}.pull .cost{font-size:12px}
.god{margin-top:0;font-size:12px}.god small{font-size:10px}
.sw{width:36px;height:21px}.sw::after{width:15px;height:15px}.god input:checked+.sw::after{transform:translateX(15px)}
.audio-controls{display:flex;align-items:center;justify-content:center;gap:14px;color:#a7adbe}
.audio-controls label{font-size:10px;letter-spacing:.13em}.audio-controls label span{margin-left:8px;font-variant-numeric:tabular-nums}
.audio-controls input{width:120px;accent-color:#d8bd85;cursor:pointer}
.sound-panel{display:flex;flex-direction:column;align-items:center;gap:8px}
.sound-panel .audio-controls{display:grid;grid-template-columns:88px 120px 76px;gap:12px}
.sound-panel .audio-controls label{text-align:right;letter-spacing:.06em}
.sound-panel .audio-controls input{margin:0}
.sound-panel .chip{padding:7px 8px;min-height:32px}
#bgmToggle[aria-pressed="true"]{color:#e5ce9e;border-color:#aa8c555e;background:#27251f}
.music-caption{display:flex;align-items:center;gap:8px;color:#aa9b7d;font-size:10px;letter-spacing:.08em}
#bgmStatus{color:#8991a6;font-size:9px;letter-spacing:0}
.music-dot{width:4px;height:4px;border-radius:50%;background:#6c7183}
.sound-panel.playing .music-dot{background:#d8bd85;box-shadow:0 0 7px #d8bd8588}
.gallery-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;color:#c9b98f;font-family:Georgia,serif;font-size:12px;letter-spacing:.2em}
.gallery-head small{font-family:var(--ui);color:#959caf;font-size:10px;letter-spacing:0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.roster-news{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 16px;border:1px solid #8abeca35;border-radius:8px;background:linear-gradient(100deg,#17343d99,#14203966);font-size:12px;color:#dcf0ed}
.roster-news b{font-size:9px;letter-spacing:.12em;color:#8fdbd7}.roster-news small{margin-left:auto;color:#acb5cb;font-size:11px}
.arrival-badge{position:absolute;top:9px;right:9px;z-index:1;border:1px solid #cfeee955;border-radius:3px;padding:3px 6px;background:#103b3fde;color:#c1fff0;font-size:8px;letter-spacing:.13em;font-weight:500}
.gallery-item{position:relative;isolation:isolate;text-align:left;overflow:hidden;border:1px solid #a38c602e;border-radius:8px;height:132px;background:#151b2b;transition:transform .25s,border-color .25s;padding:20px}
.gallery-item:hover{transform:translateY(-3px);border-color:#c8aa6b}
.gallery-item img{position:absolute;z-index:-2;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .6s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111523 20%,#111523bd 45%,transparent 100%)}
.gallery-item span{display:flex;flex-direction:column;gap:10px}.gallery-item small{color:#d6bf8d;font-size:9px;letter-spacing:.16em}.gallery-item strong{font-family:var(--brush);font-size:22px;font-weight:400}.gallery-item em{font-style:normal;font-size:9px;color:#b6b9c4;letter-spacing:.1em}
.foot{margin:0;font-size:10px;line-height:1.7}
.card{box-shadow:0 12px 28px #0008;border-radius:4%/3%}
.card .art{inset:1.5cqw;border-radius:3cqw}
.character-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;pointer-events:none}
.illustrated .kj,.illustrated .sig,.illustrated .burst{display:none}
.card.illustrated .motes{opacity:.55;mix-blend-mode:screen}
.card .plate{left:1.5cqw;right:1.5cqw;bottom:1.5cqw;border-radius:0 0 3cqw 3cqw;background:linear-gradient(transparent,#080b15dc 43%,#080b15f5);padding:24cqw 6cqw 6cqw;gap:2cqw}
.card .rb{font-family:Georgia,serif;font-style:italic;left:6cqw;top:6cqw;font-size:12cqw;filter:drop-shadow(0 1cqw 2cqw #000)}
.card .el{width:11cqw;height:11cqw;font-size:6cqw;border-width:.4cqw;backdrop-filter:blur(5px)}
.card .st{font-size:5.4cqw;letter-spacing:1cqw}.card .nm{font-family:var(--brush);font-size:11.5cqw;font-weight:400;letter-spacing:.05em;text-shadow:0 .5cqw 1cqw #000}
.card .ti{font-size:5cqw;letter-spacing:.15em}.card.rr2 .holo{opacity:.14}.card.rr3 .holo{opacity:.2}
.card .glare{opacity:.6}.card:not(.illustrated) .sig{opacity:.25}.card:not(.illustrated) .kj{text-shadow:0 0 10cqw var(--e1);font-size:45cqw}
.card:not(.illustrated) .art{background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--e1) 65%,#142134),#080b15 85%)}
.cback{border:1px solid #b69b6666;background:radial-gradient(circle at 50% 40%,#293556,#0b1121 75%);box-shadow:0 10px 20px #0008}
.cback::before{inset:5%;border-color:#c4b28255;background:repeating-linear-gradient(45deg,#a18c6b09 0 1px,transparent 1px 6px)}
.cback svg{filter:drop-shadow(0 0 10px #c8b58066);opacity:.7}
.band .ck.portrait{color:transparent;mix-blend-mode:normal;opacity:1;width:62%;height:145%;right:1%;background-size:cover;background-position:50% 27%;mask-image:linear-gradient(90deg,transparent,#000 27%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 27%)}
.band .ci{text-shadow:0 2px 25px #000;left:15%}.ci .n{font-family:var(--brush);font-size:clamp(44px,9vw,100px)}
.ci .q{background:#080b15aa;backdrop-filter:blur(8px)}
.sc-wrap{width:min(330px,65vw,calc((100dvh - 265px)*.714))}.sc-label{font-family:Georgia,serif;letter-spacing:.1em}
.btn{border-radius:7px}.btn.gold{background:linear-gradient(115deg,#f3deac,#c79b50);border:1px solid #efd6a1}.btn.blue{background:linear-gradient(120deg,#2c425d,#1b2a43);border:1px solid #637b9c}
.sheet{background:linear-gradient(160deg,#1a2032,#0c111e);border-color:#bda77844;border-radius:12px}
#show{overflow:hidden}.sc-wrap{flex-shrink:0}#show .rays.on{opacity:.24}.preview-tag{font-size:10px;letter-spacing:.15em;color:#d3c3a0;z-index:2}
@media(min-width:850px) and (min-height:950px){#lobby{padding-top:48px}.wrap{gap:24px}.banner{min-height:450px}.bn-card{width:265px}}
@media(max-width:640px){#lobby{padding:20px 16px}.wrap{gap:16px}.logo-en{font-size:24px}.logo-jp{font-size:7px;letter-spacing:.13em}.tr{gap:6px}.gems{font-size:12px;gap:5px;padding-left:8px}.gems svg{width:14px}.icon-btn{width:33px;height:36px}.edition-line{font-size:9px;letter-spacing:.02em}.edition-line span:last-child{font-size:8px;letter-spacing:.08em}.banner{min-height:292px;padding:23px 20px;grid-template-columns:1fr 1fr;gap:10px;border-radius:10px}.bn-card{width:100%;transform:rotate(5deg)}.bn-info{gap:12px}.ribbon{font-size:7px;letter-spacing:.06em}.bn-title{font-size:15px;letter-spacing:.16em}.bn-name{font-size:44px}.bn-quote{font-size:11px;line-height:1.8}.bn-rate{font-size:9px;line-height:2}.bn-rate span{display:block;width:max-content;padding:0 6px}.bn-timer{font-size:8px;letter-spacing:.02em}.meta{gap:10px}.pity{font-size:10px}.pity b{font-size:17px}.meta-btns{gap:5px}.chip{font-size:10px;padding:7px 9px}.pulls{gap:10px}.pull .pl{font-size:18px}.pull{padding-top:21px}.gallery{gap:8px}.gallery-item{height:148px;padding:12px 9px}.gallery-item img{width:100%;opacity:.85}.gallery-item::after{background:linear-gradient(0deg,#0c101dee,transparent)}.gallery-item span{position:absolute;bottom:12px;gap:7px}.gallery-item strong{font-size:16px}.gallery-item small{font-size:7px;letter-spacing:.04em}.gallery-item em{font-size:8px}.gallery-head{font-size:10px;letter-spacing:.12em}.gallery-head small{font-size:8px}.god{gap:7px;font-size:11px}.god small{font-size:9px}.sc-quote{font-size:14px}.ci .q{max-width:76vw;line-height:1.6}.band .ck.portrait{width:80%;right:0}}
@media(max-width:360px){.logo-en{font-size:20px}.logo-jp{font-size:6px}.banner{padding:18px 14px}.bn-name{font-size:37px}.meta{justify-content:center}.gallery-head{letter-spacing:0}}
@media(max-height:540px) and (orientation:landscape){#show{flex-direction:row;flex-wrap:wrap;align-content:center;gap:15px}.sc-wrap{width:min(190px,30vw,calc((100dvh - 60px)*.714))}.sc-info{max-width:28vw}.sc-label{font-size:35px}.sc-btns{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bn-card{transform:none}}
