.hero{padding:24px 0 0}.hero h1{font-size:36px;margin:8px 0}.hero p{font-size:14.5px;max-width:650px}.hero .eyebrow{font-size:11.5px}.bis-armory-tag{display:flex;justify-content:space-between;margin-top:26px;padding:12px 16px;background:#19130f;border:1px solid var(--line);font-size:11.5px;letter-spacing:.12em;color:var(--legendary-bright)}.bis-armory-tag span{color:var(--muted)}.bis-controls{margin-top:0;justify-content:flex-start;background:#100d0b;padding:14px 16px;border:1px solid var(--line);border-top:0;gap:12px}.bis-control{flex:1;min-width:120px}.bis-control select{width:100%;font-size:13.5px;padding:9px 30px 9px 10px}.bis-control label{font-size:11px}.bis-build-notes{text-align:left;font-size:12.5px;color:var(--muted);padding:8px 0}.bis-build-notes summary{cursor:pointer}.bis-scenario{margin-top:10px}.bis-comments-jump{display:none}.hero+.pad{padding-top:10px}.bis-sheet-wrap{margin-top:0}.bis-frame-inner{padding:18px}.bis-corner{display:none}.bis-sheet-header{text-align:left;margin-bottom:16px;padding-bottom:12px;position:relative}.bis-sheet-header .bis-name{font-size:22px;text-transform:none;letter-spacing:0}.bis-sheet-header .bis-sub{font-size:11.5px;margin-top:4px}.bis-meta:empty{display:none}.armory-progress{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-top:12px;font-size:12.5px;color:var(--muted)}.armory-progress button{border:0;background:none;color:var(--legendary-bright);font:inherit;cursor:pointer}
.bis-columns{grid-template-columns:minmax(0,1fr) minmax(260px,1.15fr) minmax(0,1fr);gap:14px}.bis-col{gap:6px}.eq-slot{padding:10px 8px;gap:9px;position:relative;align-items:center;min-height:66px;background:#17120e}.eq-slot-body{padding-right:18px}.eq-slot-label{font-size:10.5px;margin-bottom:4px}.eq-slot-body>.eq-item{font-size:13.5px;line-height:1.4}.eq-slot-icon{width:42px;height:42px}.eq-details{margin-top:5px;font-size:12px;color:var(--muted)}.eq-details summary{cursor:pointer;color:var(--muted);font-size:11.5px}.eq-details .eq-enchant,.eq-details .eq-gems,.eq-details .eq-source,.eq-details .eq-alt{font-size:12px;line-height:1.6;margin-top:6px}.armory-owned{position:absolute;right:6px;top:9px;cursor:pointer}.armory-owned input{accent-color:var(--legendary);width:12px;height:12px}.eq-slot.is-collected{border-left:2px solid var(--legendary)}
.bis-model{display:block;min-height:0;position:sticky;top:86px;background:radial-gradient(ellipse at 50% 50%,#34261a 0%,#151210 65%);border:1px solid #4b3a29;align-self:start;padding:0}.armory-viewer-header{display:flex;justify-content:space-between;gap:8px;padding:12px 10px;border-bottom:1px solid #ffffff0d;font-size:10px;letter-spacing:.08em;color:var(--muted)}#armoryLoadState{color:#d6aa71;text-align:right;letter-spacing:0}.armory-stage{height:445px;position:relative}.armory-stage iframe{width:100%;height:100%;border:0;display:block}.armory-viewer-controls{display:flex;gap:8px;padding:0 10px}.armory-viewer-controls label{flex:1;font-size:11px;color:var(--muted)}.armory-viewer-controls select{width:100%;margin-top:4px;padding:7px 3px;color:var(--text);background:#211a14;border:1px solid var(--line);font:inherit;font-size:12.5px}.armory-camera{display:flex;justify-content:center;gap:8px;margin:10px}.armory-camera button{background:#211a14;border:1px solid var(--line);color:var(--text);padding:6px 12px;font-size:12.5px;cursor:pointer}.armory-toggles{display:flex;gap:18px;justify-content:center;font-size:12px;color:var(--muted)}.armory-toggles input{accent-color:var(--legendary)}.armory-hint,.armory-attribution{text-align:center;font-size:11px!important;color:var(--muted);margin:10px 0}.armory-attribution{font-size:10px!important;opacity:.6}.bis-weapons{margin-top:14px;padding-top:14px;gap:12px}.bis-info-grid{display:block;margin-top:0}.bis-info-card[hidden]{display:none}.bis-info-card{padding:20px}.bis-info-card h2{display:none}.armory-info-tabs{display:flex;gap:0;overflow:auto;margin-top:24px;border-bottom:1px solid var(--line)}.armory-info-tabs button{padding:12px 18px;white-space:nowrap;font-size:12.5px;color:var(--muted);background:#17120e;border:0;border-bottom:2px solid transparent;cursor:pointer}.armory-info-tabs button[aria-selected=true]{color:var(--legendary-bright);border-bottom-color:var(--legendary)}.bis-info-card ol{flex-direction:row;flex-wrap:wrap;gap:12px 28px}.bis-info-card p,.bis-info-card li{font-size:13.5px!important}
@media(min-width:1200px){.hero>.wrap,.hero+.pad>.wrap{max-width:1280px}}@media(max-width:860px){.bis-columns{grid-template-columns:1fr 1fr}.bis-model{grid-column:1/-1;grid-row:1;position:relative;top:auto;max-width:420px;width:100%;justify-self:center}.armory-stage{height:350px}.bis-frame-inner{padding:12px}.hero h1{font-size:29px}.bis-armory-tag span{display:none}.bis-control{min-width:120px}.eq-slot-icon{display:none}.eq-slot{min-height:70px}.eq-slot-body>.eq-item{font-size:12.5px}.armory-info-tabs button{padding:12px}.armory-progress{font-size:11.5px}}@media(max-width:480px){.bis-columns{gap:8px}.bis-controls{padding:12px;gap:8px}.armory-stage{height:340px}.bis-weapons{grid-template-columns:1fr}.hero+.pad{padding-bottom:24px}}
.bis-control select{min-width:0;box-sizing:border-box}@media(max-width:480px){.bis-control{flex:1 1 calc(50% - 8px);min-width:0}}

/* ---- BiS artwork ----
   Frame: the carved-hall art is drawn as a border image so its crown, arch, pillars and base ornaments stay crisp
   and only the dark hall in the middle stretches to the sheet's height. Everything is sized in cqw (a share of the
   sheet's width) so the art scales with the layout. Layouts 1000px and wider only; narrower screens keep the plain frame. */
/* Character panel: anchored to the bottom and drawn ~6% larger than the panel so the pedestal's top surface sits under
   the 3D model's feet (checked against the live viewer: feet land ~465px down a 682px-tall panel). */
.bis-model{background:
  linear-gradient(0deg,rgba(10,8,7,.72),rgba(10,8,7,0) 200px),   /* keeps the race / appearance controls readable */
  url(/bis-assets/bis-char-bg.webp) 50% 100%/max(100%,446px) auto no-repeat,#0c0a09}
@media(min-width:1000px){
  .bis-sheet-wrap{container-type:inline-size}
  .bis-frame{
    border:1px solid transparent;
    border-image:url(/bis-assets/bis-frame-bg.webp) 265 52 80 52 fill / 22.6cqw 4.43cqw 6.82cqw 4.43cqw stretch;
    background:#0e0c0a;box-shadow:0 30px 70px -30px rgba(0,0,0,.7);
  }
  .bis-frame::before,.bis-corner{display:none}
  /* tight fit: content starts 20px under the frame's top edge and runs straight down; the art behind it
     (crown, arch, gargoyles) is allowed to be covered */
  .bis-sheet-wrap{margin-top:28px}
  .bis-frame-inner{padding:20px calc(4.43cqw + 8px) 22px}
  .bis-sheet-header{margin-bottom:10px;padding-bottom:10px;text-shadow:0 1px 5px rgba(0,0,0,.9)}
}


/* ---- Character preview: pre-rendered pictures ----
   One picture per angle is stacked in .armory-set; turning the character just switches which one is visible.
   The feet sit ~6% above the picture's bottom edge, which lands on the pedestal in the panel artwork. */
.armory-stage{position:relative;overflow:visible;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:none}
.armory-stage.is-dragging{cursor:grabbing}
.armory-stage.is-empty{cursor:default}
.armory-stage:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--glow,#ff8a1f) 70%,transparent)}
.armory-stage::before{content:"";position:absolute;left:14%;right:14%;bottom:1%;height:13%;border-radius:50%;pointer-events:none;opacity:.16;filter:blur(7px);
  background:radial-gradient(closest-side,color-mix(in srgb,var(--glow,#ff8a1f) 70%,transparent),transparent)}
.armory-stage.is-pulse::before{animation:armory-ground-pulse .95s ease-out}
@keyframes armory-ground-pulse{0%{opacity:.75;transform:scale(.7)}100%{opacity:.16;transform:scale(1)}}
.armory-set{position:absolute;left:0;right:0;bottom:0;aspect-ratio:560/644;pointer-events:none;transition:opacity .4s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.armory-set.is-entering{opacity:0;transform:translateY(9px) scale(.985)}
.armory-set.is-leaving{opacity:0;transform:translateY(4px) scale(.992);transition-duration:.3s}
.armory-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .16s ease;-webkit-user-drag:none;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.55))}
.armory-shot.is-on{opacity:1;transition:none}                 /* the new angle appears at once; the old one fades out, so there is no dip */
.armory-set[data-how="scrub"] .armory-shot{transition:none}   /* dragging: no fading at all */
.armory-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:0 30px 70px;color:var(--muted)}
.armory-empty b{font:600 15px/1.2 'Chakra Petch',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--glow,#ff8a1f) 70%,#fff)}
.armory-empty span{font-size:12.5px;line-height:1.55;max-width:240px}
.armory-viewer-controls select:disabled,.armory-camera button:disabled{opacity:.42;cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.armory-set,.armory-shot{transition:none!important}.armory-stage.is-pulse::before{animation:none}}

/* the pictures are 560x644: the picture area takes exactly that shape at any width (387 x 445 on desktop), so the character fills it */
.armory-stage{height:auto;aspect-ratio:560/644}
.armory-viewer-controls label{width:100%}
