.stronghold-backdrop{display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .82);cursor:pointer;padding:28px 12px}.stronghold-frame-wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;cursor:default;touch-action:pan-y;width:100%;max-width:min(100%,calc((100dvh - 96px)*1.6))}.stronghold-frame{position:relative;width:100%;display:flex;flex-direction:column;border-radius:18px;background:radial-gradient(ellipse at 50% 0%,hsl(var(--primary) / .1),transparent 55%),linear-gradient(180deg,hsl(var(--card) / .95),hsl(var(--background) / .95));box-shadow:0 0 0 1px hsl(var(--primary) / .4),inset 0 0 0 2px hsl(var(--primary) / .15),0 0 24px -6px hsl(var(--primary) / .35),0 28px 80px -20px #000000b3;will-change:transform}.stronghold-frame__top{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 12px 4px;flex-shrink:0}.stronghold-frame__hud{position:absolute;top:-18px;left:8px;right:8px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}.stronghold-frame__hud>*{pointer-events:auto}.stronghold-stage{position:relative;width:100%;aspect-ratio:16 / 10;padding:0 10px}.stronghold-stage__inner{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #e0c28540,inset 0 24px 60px -20px #00000073;background:hsl(var(--card))}.stronghold-diorama{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none;z-index:0}.stronghold-frame__footer{display:flex;justify-content:center;align-items:center;padding:8px 12px 10px;flex-shrink:0}.stronghold-hint-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:hsl(var(--background) / .7);border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:stronghold-hint-fadein .4s ease-out .2s both}@keyframes stronghold-hint-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.stronghold-sprite{position:absolute;cursor:pointer;background:transparent;border:0;padding:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1),filter .18s ease,opacity .18s ease;touch-action:manipulation;transform-origin:50% 90%}.stronghold-sprite[data-state]:active,.stronghold-sprite.stronghold-sprite--juice:active{transition:transform 60ms ease-out,filter 60ms ease-out}.stronghold-sprite--bob .stronghold-sprite__img{animation:stronghold-sprite-bob 3.2s ease-in-out infinite;animation-delay:inherit;will-change:transform}@keyframes stronghold-sprite-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.stronghold-sprite--hovered{filter:brightness(1.08) drop-shadow(0 10px 22px hsl(0 0% 0% / .55)) drop-shadow(0 0 14px hsl(45 95% 60% / .55))}.stronghold-sprite--previewing{filter:brightness(1.12) drop-shadow(0 14px 28px hsl(0 0% 0% / .55)) drop-shadow(0 0 18px hsl(45 95% 60% / .7))}.stronghold-sprite--dimmed{opacity:.85;filter:brightness(.92) saturate(.9)}.stronghold-sprite--focused{filter:brightness(1.1) drop-shadow(0 0 8px hsl(45 95% 60% / .9)) drop-shadow(0 0 22px hsl(var(--primary) / .7));z-index:999}.stronghold-sprite--ready .stronghold-sprite__img{animation:stronghold-sprite-ready-hop 1.4s ease-in-out infinite}@keyframes stronghold-sprite-ready-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.stronghold-sprite__img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.stronghold-ring{position:absolute;left:50%;bottom:4%;width:78%;aspect-ratio:2 / 1;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at center,hsl(var(--primary) / .55) 0%,hsl(var(--primary) / .18) 45%,transparent 70%);filter:blur(2px);pointer-events:none;animation:stronghold-ring-pulse 1.6s ease-in-out infinite}@keyframes stronghold-ring-pulse{0%,to{opacity:.45;transform:translate(-50%) scale(.92)}50%{opacity:.95;transform:translate(-50%) scale(1.05)}}.stronghold-status{position:absolute;left:50%;bottom:-10px;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:10px;background:hsl(var(--background) / .85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid hsl(var(--border));font-size:9px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px -4px #00000080}.stronghold-status__bar{width:48px;height:4px;border-radius:4px;background:hsl(var(--muted));overflow:hidden;position:relative}.stronghold-status__fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f59f0a,#f8bc54);transform-origin:left center}.stronghold-status--ready .stronghold-status__fill{background:linear-gradient(90deg,#21c45d,#51e186);width:100%!important;animation:stronghold-ready-pulse 1.4s ease-in-out infinite}@keyframes stronghold-ready-pulse{0%,to{opacity:.7}50%{opacity:1}}.stronghold-plaque{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:linear-gradient(180deg,#433c2d,#2a261d);border:1px solid hsl(40 30% 35%);border-radius:4px;color:#f2d98c;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 0 hsl(0 0% 0% / .6);box-shadow:inset 0 1px #a68c5966,inset 0 -2px #0006,0 4px 12px -4px #0009}.stronghold-banner{position:absolute;top:0;width:18px;height:40px;background:linear-gradient(180deg,#c32222,#981b1b);clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);box-shadow:0 4px 8px -2px #00000080;transform-origin:top center}.stronghold-banner--left{inset-inline-start:12px}.stronghold-banner--right{inset-inline-end:12px}.stronghold-ambient--high .stronghold-banner{animation:stronghold-banner-sway 3s ease-in-out infinite alternate}@keyframes stronghold-banner-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.stronghold-fx-smoke{position:absolute;width:26px;height:60px;pointer-events:none;transform:translate(-50%,-100%)}.stronghold-fx-smoke__puff{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,hsl(0 0% 90% / .55),transparent 65%);animation:stronghold-smoke-rise 5s ease-out infinite}.stronghold-fx-smoke__puff:nth-child(2){animation-delay:1.6s}.stronghold-fx-smoke__puff:nth-child(3){animation-delay:3.2s}@keyframes stronghold-smoke-rise{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:.7}to{opacity:0;transform:translateY(-50px) scale(1.4)}}.stronghold-fx-flame{position:absolute;width:18px;height:18px;pointer-events:none;border-radius:50%;transform:translate(-50%,-100%);background:radial-gradient(circle,hsl(35 95% 60% / .9),hsl(15 85% 45% / .4) 60%,transparent 80%);animation:stronghold-flame-flicker 1.6s ease-in-out infinite;mix-blend-mode:screen}@keyframes stronghold-flame-flicker{0%,to{opacity:.7;transform:translate(-50%,-100%) scale(1)}50%{opacity:1;transform:translate(-50%,-102%) scale(1.1)}}.stronghold-camera{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}.stronghold-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.stronghold-particle-cluster{position:absolute;width:60px;height:80px;transform:translate(-50%,-100%)}.stronghold-particle{position:absolute;bottom:0;width:6px;height:6px;border-radius:50%;opacity:0;pointer-events:none;will-change:transform,opacity}.stronghold-particle--smoke{background:radial-gradient(circle,hsl(0 0% 90% / .55),transparent 65%);width:14px;height:14px;animation:stronghold-particle-smoke 5.2s ease-out infinite}@keyframes stronghold-particle-smoke{0%{opacity:0;transform:translate(0) scale(.6)}20%{opacity:.65}to{opacity:0;transform:translateY(-54px) scale(1.6)}}.stronghold-particle--spark{background:radial-gradient(circle,hsl(35 95% 65% / .95),hsl(15 80% 50% / .4) 55%,transparent 80%);width:4px;height:4px;animation:stronghold-particle-spark 1.4s ease-out infinite;mix-blend-mode:screen;box-shadow:0 0 6px #faa938b3}@keyframes stronghold-particle-spark{0%{opacity:0;transform:translate(0) scale(.4)}10%{opacity:1}to{opacity:0;transform:translate(var(--spark-dx, 8px),-28px) scale(.6)}}.stronghold-particle--ember{background:radial-gradient(circle,hsl(45 100% 70% / .9),hsl(25 90% 50% / .4) 50%,transparent 75%);width:5px;height:5px;animation:stronghold-particle-ember 2.6s ease-out infinite;mix-blend-mode:screen}@keyframes stronghold-particle-ember{0%{opacity:0;transform:translate(0) scale(.5)}15%{opacity:.95}to{opacity:0;transform:translateY(-38px) scale(.9)}}.stronghold-particle--banner{background:radial-gradient(circle,hsl(0 70% 55% / .55),transparent 70%);width:6px;height:6px;animation:stronghold-particle-banner 4s ease-in-out infinite}@keyframes stronghold-particle-banner{0%,to{opacity:.35;transform:translate(0)}50%{opacity:.7;transform:translate(3px,-8px)}}.stronghold-particle--grain{background:radial-gradient(circle,hsl(45 60% 75% / .55),transparent 70%);width:3px;height:3px;animation:stronghold-particle-grain 3.8s linear infinite}@keyframes stronghold-particle-grain{0%{opacity:0;transform:translate(0)}20%{opacity:.8}to{opacity:0;transform:translate(10px,-22px)}}.stronghold-particle--torch{background:radial-gradient(circle,hsl(30 100% 65% / .85),hsl(15 90% 45% / .3) 55%,transparent 80%);width:7px;height:7px;animation:stronghold-particle-torch 1.8s ease-in-out infinite;mix-blend-mode:screen}@keyframes stronghold-particle-torch{0%,to{opacity:.55;transform:translateY(-2px) scale(.9)}50%{opacity:.95;transform:translateY(-8px) scale(1.15)}}@media (prefers-reduced-motion: reduce){.stronghold-particle,.stronghold-camera,.stronghold-sprite--bob .stronghold-sprite__img,.stronghold-sprite--ready .stronghold-sprite__img{animation:none!important}}.stronghold-entry{position:relative;overflow:hidden;border-radius:16px;border:1px solid hsl(var(--primary) / .3);background:hsl(var(--card));cursor:pointer;transition:all .2s ease}.stronghold-entry:hover{border-color:hsl(var(--primary) / .6);transform:translateY(-1px);box-shadow:0 12px 32px -8px hsl(var(--primary) / .4)}.stronghold-entry__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.4}.stronghold-entry__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--card) / .95),hsl(var(--card) / .55) 60%,hsl(var(--card) / .85))}
