/* /bosses + /lore (storm show). loaded only on those pages */
.keyart{position:relative;margin:0;overflow:hidden;border-bottom:1px solid var(--n3)}
.keyart img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover}
.keyart .cap{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1.25rem 1.5rem;background:linear-gradient(transparent,rgba(18,18,37,.92))}
.keyart .cap h1{margin:.2rem 0;font-size:clamp(1.8rem,5vw,3.2rem)}
.keyart .cap p{margin:0;max-width:46rem;color:#cfcaf5}
.boss{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.6rem;align-items:center;margin:3rem 0;padding:1.2rem;border-radius:16px;background:var(--n2);border:1px solid var(--n3)}
.boss:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.boss:nth-of-type(even) .boss-art{order:2}
.boss-art img{display:block;width:100%;height:auto;border-radius:12px;aspect-ratio:16/10;object-fit:cover}
.boss.v{border-color:#6C3BFF66}.boss.c{border-color:#FF4D6D66}.boss.g{border-color:#FFD23F66}
.boss .billing{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:#8F89B8;margin:0}
.boss h2{margin:.2rem 0 .5rem;font-size:clamp(1.5rem,3.4vw,2.2rem)}
.boss.v h2{color:#A58BFF}.boss.c h2{color:var(--c)}.boss.g h2{color:var(--g)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0;padding:0;list-style:none}
.chips li{background:var(--n3);border-radius:999px;padding:.2rem .7rem;font-size:.85rem}
.acts{margin:.8rem 0;padding-left:1.2rem}.acts li{margin:.3rem 0}.acts b{color:var(--l)}
.quote{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;color:#cfcaf5;background:#0e0e1f;border-left:3px solid var(--v);padding:.5rem .8rem;border-radius:6px;margin:.4rem 0}
.boss.c .quote{border-left-color:var(--c)}.boss.g .quote{border-left-color:var(--g)}
.phase{display:flex;gap:.8rem;align-items:center;margin-top:.8rem}
.phase picture{flex:0 0 46%;display:block}.phase img{display:block;width:100%;height:auto;border-radius:10px}
.boss-art picture,.teaser picture,.lineup picture,.keyart picture{display:block}
.phase p{margin:0;font-size:.9rem;color:#b9b4e0}
.teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.teaser{background:var(--n2);border:1px solid var(--n3);border-radius:14px;overflow:hidden}
.teaser img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.teaser div{padding:.8rem 1rem}.teaser h3{margin:.1rem 0 .3rem}
.lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.lineup a{display:block;text-align:center;background:radial-gradient(circle at 50% 35%,#2d2160,#121225 70%);border:1px solid var(--n3);border-radius:14px;padding:.6rem;color:var(--l);text-decoration:none}
.lineup a:hover,.lineup a:focus-visible{border-color:var(--v)}
.lineup img{width:100%;height:auto;aspect-ratio:1}
.lore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}.tbl th,.tbl td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--n3);vertical-align:top}
.tbl th{color:var(--g);font-weight:600}
.pull{font-size:1.25rem;color:var(--l);border-left:4px solid var(--c);padding:.4rem 1rem;margin:1.5rem 0}
@media (max-width:820px){.boss,.boss:nth-of-type(even){grid-template-columns:1fr}.boss:nth-of-type(even) .boss-art{order:0}
.teasers,.lineup{grid-template-columns:1fr 1fr}.lore-grid{grid-template-columns:1fr}.phase{flex-direction:column;align-items:stretch}.phase picture{flex:none}}
@media (max-width:520px){.teasers,.lineup{grid-template-columns:1fr}}
.arm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1rem 0}
.arm{background:#1a1a33;border:1px solid #2c2c50;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.arm>div{padding:.8rem 1rem 1rem}.arm picture img{display:block;width:100%;height:auto;aspect-ratio:1}
.arm h3{margin:.2rem 0;display:flex;align-items:center;gap:.5rem;font-size:1.05rem}.ico{image-rendering:pixelated;width:32px;height:32px}
.rar{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.leg .rar{color:#FFD23F}.epi .rar{color:#FF4D6D}.rar{color:#B9A8FF}.leg{border-color:#FFD23F55}.epi{border-color:#FF4D6D55}
.arm p{overflow-wrap:anywhere}
.armset{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.5rem;margin:2rem 0;align-items:start}
.armset picture img{width:100%;height:auto;border-radius:14px;display:block}
.arm-grid.small{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.small .arm>div{padding:.6rem .8rem}
.arm-nav span{padding:.5rem 1rem}
@media(max-width:820px){.armset{grid-template-columns:1fr}}
