@font-face{font-family:"Press Start 2P";src:url(/fonts/PressStart2P-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nova Mono;src:url(/fonts/NovaMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:New Rocker;src:url(/fonts/NewRocker-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fruktur;src:url(/fonts/Fruktur-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Allura;src:url(/fonts/Allura-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0a0712;--bg-deep:#04020a;--panel:#150f24;--panel-alt:#1f1635;--panel-hi:#2c204a;--border-dark:#04020a;--border-light:#3a2a5a;--gold:#f0b429;--gold-deep:#9a6412;--gold-soft:#ffd56f;--arcane:#8a4ad0;--bone:#e0d0f0;--bone-dim:#9a86b8;--bone-faint:#5a4878;--blood:#d00000;--blood-deep:#7a0000;--blood-bright:#ff3434;--moss:#6a8f4a;--moss-deep:#4a6a32;--vortex-green:#229503;--necropark-progress-color:#48ff76;--ghost:#8aa8c4;--ghost-deep:#4a6882;--main-menu-text:#162936;--purple:#3f1e6a;--purple-bright:#6a3aa0;--city-canvas-background-overlays:radial-gradient(ellipse at 50% 42%, #74449824 0%, #04020a0f 44%, #04020aa8 100%), linear-gradient(180deg, #0a07121f 0%, #04020a85 100%);--text:var(--bone);--text-dim:var(--bone-dim);--text-faint:var(--bone-faint);--accent:var(--gold);--chrome-radius:0px;--chrome-inset:inset 0 0 0 2px var(--border-dark), inset 0 0 0 4px var(--border-light);--font-game-title:"Fruktur", serif;--font-primary:"New Rocker", serif;--font-secondary:"Nova Mono", components-monospace, monospace;--font-tertiary:"Press Start 2P", serif;--font-signature:"Allura", cursive;--font-game-title-size:120px;--font-xs:14px;--font-sm:16px;--font-md:18px;--font-lg:20px;--font-xl:24px;--font-xxl:28px;--density-pad:16px;--density-gap:12px}*{box-sizing:border-box;font-synthesis:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}html,body{background:var(--bg-deep);color:var(--text);font-family:var(--font-secondary);font-size:var(--font-xs);-webkit-font-smoothing:none;font-smooth:never;text-rendering:optimizespeed;height:100%;line-height:1.45;overflow:hidden}body{image-rendering:pixelated}#root{height:100%}:root{--necro-cursor-default:url(/assets/cursor/Bone%20Knife.cur), default;--necro-cursor-pointer:url(/assets/cursor/Skeleton%20Hand.cur), pointer;--necro-cursor-progress:url(/assets/cursor/Skull.cur), progress;--necro-cursor-crosshair:url(/assets/cursor/Precise%20Bones.cur), crosshair;--necro-cursor-text:url(/assets/cursor/Bone%20Type.cur), text;--necro-cursor-disabled:url(/assets/cursor/Cross%20Bones.cur), not-allowed;--necro-cursor-grab:url(/assets/cursor/grab.cur), grab;--necro-cursor-grabbing:url(/assets/cursor/grabbing.cur), grabbing;--necro-cursor-move:url(/assets/cursor/Bone%20Move.cur), move}.pixel{image-rendering:pixelated;image-rendering:crisp-edges}.px{font-family:var(--font-secondary);letter-spacing:.02em}.grain-on{--crt-scanline-pitch:max(3px, calc(100vh / 360));--crt-mask-pitch:6px;--crt-corner-radius:24px}.grain-on:before,.grain-on:after{content:"";border-radius:var(--crt-corner-radius) / 18px;pointer-events:none;position:fixed;inset:2px;transform:translateZ(0)}.grain-on:before{z-index:2147483646;background-image:radial-gradient(96% 94% at 50% 48%,#fff7e003 0%,#0000 46%,#00000009 64%,#00000030 84%,#000000b3 100%),linear-gradient(113deg,#e1eef509 0%,#e1eef503 14%,#0000 31% 76%,#ffdca903 100%),linear-gradient(#f7faf406 0%,#f7faf403 30%,#0000 48%,#0000001c 72%,#0000003c 100%);background-position:50%,50%,0 0;background-repeat:no-repeat,no-repeat,repeat;background-size:100% 100%, 100% 100%, 100% var(--crt-scanline-pitch);border:1px solid #dce8eb06;box-shadow:inset 0 0 12px #d3e2e806,inset 0 0 58px #0003,inset 0 0 150px #00000030}.grain-on:after{z-index:2147483647;background-image:repeating-linear-gradient(90deg, #ff4a401a 0, #ff4a401a 1.5px, #4beb700d 1.5px, #4beb700d 3px, #4974ee17 3px, #4974ee17 4.5px, #00000021 4.5px, #00000021 var(--crt-mask-pitch)), linear-gradient(to bottom, transparent 0%, transparent 66%, #0000001f 100%);background-position:0 0,0 0;background-size:var(--crt-mask-pitch) 100%, 100% var(--crt-scanline-pitch);mix-blend-mode:soft-light;opacity:.34;will-change:opacity;animation:5.6s step-end infinite crt-phosphor-breathe}@keyframes crt-phosphor-breathe{0%,31%,33%,72%,74%,to{opacity:.34}32%{opacity:.326}73%{opacity:.348}}.crt-refresh-layer{z-index:2147483645;mix-blend-mode:soft-light;opacity:0;pointer-events:none;contain:strict;will-change:transform, opacity;background:linear-gradient(#0000 0%,#daebf102 30%,#e0f0f607 48%,#080d1107 53%,#daebf101 68%,#0000 100%);border-radius:20px/14px;height:15vh;animation:8.4s linear infinite crt-composited-refresh;position:fixed;top:-15vh;left:2px;right:2px;transform:translateY(-5vh)}.crt-refresh-layer:after{content:"";background:#e1eff405;height:1px;position:absolute;top:51%;left:0;right:0}@keyframes crt-composited-refresh{0%{opacity:0;transform:translateY(-5vh)}7%{opacity:.13}88%{opacity:.1}96%,to{opacity:0;transform:translateY(125vh)}}.panel{background:var(--panel);box-shadow:var(--chrome-inset);border-radius:var(--chrome-radius);padding:var(--density-pad);position:relative}.panel-alt{background:var(--panel-alt);box-shadow:var(--chrome-inset);border-radius:var(--chrome-radius);padding:var(--density-pad)}.tiled-frame{--tiled-size:32px;isolation:isolate;background-color:var(--panel);image-rendering:pixelated;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #04020acc,0 0 18px #0000003d}.tiled-frame-fill{z-index:3;min-width:0;position:relative}.tiled-frame-center-grid,.tiled-frame-edge{pointer-events:none;image-rendering:pixelated;display:none;position:absolute;overflow:hidden}.tiled-frame-center-grid{z-index:0;inset:0}.tiled-frame-edge{z-index:1}.tiled-frame-cell{width:var(--tiled-size);height:var(--tiled-size);background-repeat:no-repeat;background-size:var(--tiled-size) var(--tiled-size);image-rendering:pixelated;display:block}.tiled-frame-piece{z-index:1;pointer-events:none;background-repeat:no-repeat;background-size:var(--tiled-size) var(--tiled-size);image-rendering:pixelated;display:none;position:absolute}.tiled-frame-piece.is-tl,.tiled-frame-piece.is-tr,.tiled-frame-piece.is-bl,.tiled-frame-piece.is-br{width:var(--tiled-size);height:var(--tiled-size)}.tiled-frame-piece.is-tl{top:0;left:0}.tiled-frame-piece.is-tr{top:0;right:0}.tiled-frame-piece.is-bl{bottom:0;left:0}.tiled-frame-piece.is-br{bottom:0;right:0}.tiled-frame-edge.is-top,.tiled-frame-edge.is-bottom{left:var(--tiled-size);right:var(--tiled-size);height:var(--tiled-size);grid-auto-flow:column;grid-auto-columns:var(--tiled-size);grid-template-rows:var(--tiled-size)}.tiled-frame-edge.is-top{top:0}.tiled-frame-edge.is-bottom{bottom:0}.tiled-frame-edge.is-left,.tiled-frame-edge.is-right{top:var(--tiled-size);bottom:var(--tiled-size);width:var(--tiled-size);grid-auto-flow:row;grid-auto-rows:var(--tiled-size);grid-template-columns:var(--tiled-size)}.tiled-frame-edge.is-left{left:0}.tiled-frame-edge.is-right{right:0}.tiled-frame-bar,.tiled-frame-rail,.tiled-frame-panel,.tiled-frame-inset{background:var(--panel)}.interface-chrome-backdrop{z-index:0;pointer-events:none;image-rendering:pixelated;position:fixed;inset:0;overflow:hidden}.interface-chrome-backdrop.is-overlay{z-index:2}.interface-chrome-backdrop.is-ornate{z-index:8}.interface-chrome-backdrop-canvas{image-rendering:pixelated;display:block}.interface-chrome-ornate-cell{--interface-ornate-size:48px;filter:brightness(.8)saturate();image-rendering:auto;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:absolute}.interface-chrome-ornate-cell.is-horizontal{background-size:100% var(--interface-ornate-size)}.interface-chrome-ornate-cell.is-vertical{background-size:var(--interface-ornate-size) 100%}.interface-chrome-ornate-cell.is-corner{background-size:var(--interface-ornate-size) var(--interface-ornate-size)}.has-manual-interface-chrome .tiled-frame{box-shadow:none;background:0 0}.tiled-frame.has-local-chrome,.has-manual-interface-chrome .tiled-frame.has-local-chrome{background:var(--panel);box-shadow:inset 0 0 0 1px #04020acc,0 0 18px #00000057}.tiled-frame-local-chrome,.tiled-frame-local-center,.tiled-frame-local-edge,.tiled-frame-local-corner{pointer-events:none;image-rendering:pixelated;display:block;position:absolute}.tiled-frame-local-chrome{z-index:0;inset:0;overflow:hidden}.tiled-frame-local-center{background-position:50%;background-repeat:repeat;background-size:var(--tiled-size) var(--tiled-size);filter:brightness(.5)saturate(.62);inset:0}.tiled-frame-local-edge{z-index:1;background-position:50%;background-repeat:repeat;background-size:var(--tiled-size) var(--tiled-size)}.tiled-frame-local-edge.is-top,.tiled-frame-local-edge.is-bottom{right:var(--tiled-size);left:var(--tiled-size);height:var(--tiled-size)}.tiled-frame-local-edge.is-top{background-image:url(/assets/interface/border-top-2.webp);top:0}.tiled-frame-local-edge.is-bottom{background-image:url(/assets/interface/border_bottom-2.webp);bottom:0}.tiled-frame-local-edge.is-left,.tiled-frame-local-edge.is-right{top:var(--tiled-size);bottom:var(--tiled-size);width:var(--tiled-size)}.tiled-frame-local-edge.is-left{background-image:url(/assets/interface/border-left-1.webp);left:0}.tiled-frame-local-edge.is-right{background-image:url(/assets/interface/border-right-1.webp);right:0}.tiled-frame-local-corner{z-index:2;width:var(--tiled-size);height:var(--tiled-size);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.tiled-frame-local-corner.is-tl{background-image:url(/assets/interface/corner-top-left.webp);top:0;left:0}.tiled-frame-local-corner.is-tr{background-image:url(/assets/interface/corner-top-right.webp);top:0;right:0}.tiled-frame-local-corner.is-br{background-image:url(/assets/interface/corner-bottom-right.webp);bottom:0;right:0}.tiled-frame-local-corner.is-bl{background-image:url(/assets/interface/corner-bottom-left.webp);bottom:0;left:0}.avatar-menu-trigger{cursor:pointer;width:96px;height:96px;image-rendering:pixelated;background:0 0;border:0;padding:0;position:relative}.avatar-menu-trigger>*{z-index:1;position:relative}.avatar-menu-trigger:before{content:"";z-index:0;pointer-events:none;filter:blur(10px);opacity:0;background:radial-gradient(#ffd56f57 0%,#ffb84033 42%,#0000 76%);transition:opacity .42s cubic-bezier(.2,.8,.2,1);position:absolute;inset:2px}.avatar-menu-trigger:hover:before,.avatar-menu-trigger:focus-visible:before,.avatar-menu-trigger[aria-expanded=true]:before{opacity:1}.avatar-menu-trigger img,.avatar-menu-trigger .sprite{transition:filter .46s cubic-bezier(.2,.8,.2,1)}.avatar-menu-trigger:hover img,.avatar-menu-trigger:focus-visible img,.avatar-menu-trigger[aria-expanded=true] img,.avatar-menu-trigger:hover .sprite,.avatar-menu-trigger:focus-visible .sprite,.avatar-menu-trigger[aria-expanded=true] .sprite{filter:drop-shadow(0 0 2px #ffeba0)drop-shadow(0 0 6px #ffcc5cf2)drop-shadow(0 0 13px #ffa62dc7)drop-shadow(0 0 20px #ff841873)}.avatar-menu-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}.avatar-menu-panel.frame-ornate-menu{pointer-events:auto;width:292px;min-width:292px;color:var(--bone)}.avatar-menu-panel-inner.frame-ornate-menu-inner{gap:10px;padding:32px}.avatar-menu-items{flex-direction:column;display:flex}.avatar-menu-item{width:100%;min-height:38px;color:var(--bone);font:inherit;font-size:var(--font-sm);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;padding:7px 8px;transition:color .12s,background-color .12s,text-shadow .12s;display:block}.avatar-menu-item+.avatar-menu-item{border-top:1px solid #d6b25b24}.avatar-menu-item:not(:disabled):hover,.avatar-menu-item:not(:disabled):focus-visible{color:var(--gold-bright,#ffe080);text-shadow:0 0 8px #ffc14b57;background:#ab742d29;outline:none}.avatar-menu-item:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.46;text-shadow:none}.frame-ornate{--ornate-frame-y:18px;--ornate-frame-x:34px;--ornate-frame-pad:20px;--ornate-frame-blur:8px;padding:var(--ornate-frame-pad);border-style:solid;border-color:#0000;border-width:var(--ornate-frame-y) var(--ornate-frame-x);image-rendering:pixelated;-webkit-backdrop-filter:blur(var(--ornate-frame-blur));background:radial-gradient(at 50% 0,#a86ae033 0%,#1f16351a 54%,#0000 100%) padding-box padding-box,linear-gradient(#0f0a1cb8 0%,#05030cd1 100%) padding-box padding-box;border-image:;position:relative;box-shadow:0 0 0 1px #04020ad1,0 18px 42px #0000007a,inset 0 1px #e0d0f01a,inset 0 0 28px #5a2a9033}.frame-ornate>:not(.ornate-frame-art){z-index:2;position:relative}.ornate-frame-art{--ornate-art-corner:var(--ornate-art-corner-size,calc(var(--ornate-frame-y) * 5));--ornate-art-gem-width:var(--ornate-art-gem-width-size,calc(var(--ornate-art-corner) * .74));--ornate-art-side-center:var(--ornate-art-side-center-size,calc(var(--ornate-art-corner) * .52));--ornate-art-outset-y:var(--ornate-art-outset-y-size,4px);--ornate-art-outset-x:var(--ornate-art-outset-x-size,var(--ornate-frame-x));inset:calc(0px - var(--ornate-art-outset-y)) calc(0px - var(--ornate-art-outset-x));z-index:3;pointer-events:none;position:absolute;overflow:visible}.ornate-frame-art-piece{image-rendering:auto;background-repeat:no-repeat;background-size:100% 100%;position:absolute}.ornate-frame-art-piece.is-tl{width:var(--ornate-art-corner);height:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/tl.webp);top:0;left:0}.ornate-frame-art-piece.is-tr{width:var(--ornate-art-corner);height:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/tr.webp);top:0;right:0}.ornate-frame-art-piece.is-bl{width:var(--ornate-art-corner);height:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/bl.webp);bottom:0;left:0}.ornate-frame-art-piece.is-br{width:var(--ornate-art-corner);height:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/br.webp);bottom:0;right:0}.ornate-frame-art-piece.is-top-l,.ornate-frame-art-piece.is-top-r,.ornate-frame-art-piece.is-bottom-l,.ornate-frame-art-piece.is-bottom-r{height:var(--ornate-art-corner)}.ornate-frame-art-piece.is-top-l{top:0;left:var(--ornate-art-corner);width:max(0px, calc(50% - var(--ornate-art-corner) - var(--ornate-art-gem-width) / 2));background-image:url(/assets/frames/assembly-ornate/top_l.webp)}.ornate-frame-art-piece.is-top-c{width:var(--ornate-art-gem-width);height:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/top_c.webp);top:0;left:50%;transform:translate(-50%)}.ornate-frame-art-piece.is-top-r{top:0;left:calc(50% + var(--ornate-art-gem-width) / 2);right:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/top_r.webp)}.ornate-frame-art-piece.is-bottom-l{bottom:0;left:var(--ornate-art-corner);width:max(0px, calc(50% - var(--ornate-art-corner) - var(--ornate-art-gem-width) / 2));background-image:url(/assets/frames/assembly-ornate/bottom_l.webp)}.ornate-frame-art-piece.is-bottom-c{width:var(--ornate-art-gem-width);height:var(--ornate-art-corner);background-image:url(/assets/frames/assembly-ornate/bottom_c.webp);bottom:0;left:50%;transform:translate(-50%)}.ornate-frame-art-piece.is-bottom-r{right:var(--ornate-art-corner);bottom:0;left:calc(50% + var(--ornate-art-gem-width) / 2);background-image:url(/assets/frames/assembly-ornate/bottom_r.webp)}.ornate-frame-art-piece.is-left-t,.ornate-frame-art-piece.is-left-b,.ornate-frame-art-piece.is-right-t,.ornate-frame-art-piece.is-right-b{width:var(--ornate-art-corner)}.ornate-frame-art-piece.is-left-t{top:var(--ornate-art-corner);height:max(0px, calc(50% - var(--ornate-art-corner) - var(--ornate-art-side-center) / 2));background-image:url(/assets/frames/assembly-ornate/left_t.webp);left:0}.ornate-frame-art-piece.is-left-c{width:var(--ornate-art-corner);height:var(--ornate-art-side-center);background-image:url(/assets/frames/assembly-ornate/left_c.webp);top:50%;left:0;transform:translateY(-50%)}.ornate-frame-art-piece.is-left-b{bottom:var(--ornate-art-corner);height:max(0px, calc(50% - var(--ornate-art-corner) - var(--ornate-art-side-center) / 2));background-image:url(/assets/frames/assembly-ornate/left_b.webp);left:0}.ornate-frame-art-piece.is-right-t{top:var(--ornate-art-corner);height:max(0px, calc(50% - var(--ornate-art-corner) - var(--ornate-art-side-center) / 2));background-image:url(/assets/frames/assembly-ornate/right_t.webp);right:0}.ornate-frame-art-piece.is-right-c{width:var(--ornate-art-corner);height:var(--ornate-art-side-center);background-image:url(/assets/frames/assembly-ornate/right_c.webp);top:50%;right:0;transform:translateY(-50%)}.ornate-frame-art-piece.is-right-b{right:0;bottom:var(--ornate-art-corner);height:max(0px, calc(50% - var(--ornate-art-corner) - var(--ornate-art-side-center) / 2));background-image:url(/assets/frames/assembly-ornate/right_b.webp)}.ornate-frame-hit-piece{cursor:inherit;-webkit-mask:var(--ornate-frame-hit-mask) center / 100% 100% no-repeat;-webkit-mask:var(--ornate-frame-hit-mask) center / 100% 100% no-repeat;mask:var(--ornate-frame-hit-mask) center / 100% 100% no-repeat;pointer-events:none;background:#fff0!important}.ornate-frame-button>.ornate-frame-art>.ornate-frame-hit-piece{pointer-events:auto}.ornate-frame-hit-piece.is-tl{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/tl.webp)}.ornate-frame-hit-piece.is-tr{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/tr.webp)}.ornate-frame-hit-piece.is-bl{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/bl.webp)}.ornate-frame-hit-piece.is-br{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/br.webp)}.ornate-frame-hit-piece.is-top-l{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/top_l.webp)}.ornate-frame-hit-piece.is-top-r{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/top_r.webp)}.ornate-frame-hit-piece.is-bottom-l{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/bottom_l.webp)}.ornate-frame-hit-piece.is-bottom-r{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/bottom_r.webp)}.ornate-frame-hit-piece.is-left-t{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/left_t.webp)}.ornate-frame-hit-piece.is-left-b{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/left_b.webp)}.ornate-frame-hit-piece.is-right-t{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/right_t.webp)}.ornate-frame-hit-piece.is-right-b{--ornate-frame-hit-mask:url(/assets/frames/assembly-ornate/right_b.webp)}.frame-ornate-menu{--ornate-frame-y:16px;--ornate-frame-x:30px;--ornate-menu-fill-x:0px;--ornate-menu-fill-y:0px;min-width:380px}.frame-ornate-menu-inner{flex-direction:column;gap:10px;padding:32px;display:flex}.frame-ornate-menu .btn-ornate{margin-left:calc(0px - var(--ornate-menu-fill-x));margin-right:calc(0px - var(--ornate-menu-fill-x));min-height:22px;padding:13px 14px;width:calc(100% + var(--ornate-menu-fill-x) + var(--ornate-menu-fill-x))!important}.frame-ornate-menu .btn-ornate:first-child{margin-top:calc(0px - var(--ornate-menu-fill-y))}.frame-ornate-menu .btn-ornate:last-child{margin-bottom:calc(0px - var(--ornate-menu-fill-y))}.game-over-main-menu-btn.btn-ornate{min-width:316px;min-height:22px;padding:13px 14px}.frame-ornate-modal{--ornate-frame-y:22px;--ornate-frame-x:40px;--ornate-frame-pad:0px;--ornate-frame-blur:12px;--ornate-modal-fill-x:16px;--ornate-modal-fill-y:9px;-webkit-backdrop-filter:none;background:0 0;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);overflow:visible;box-shadow:0 18px 42px #0000007a}.modal-ornate{flex-direction:column;display:flex;overflow:hidden}.frame-ornate-modal.modal-ornate{overflow:visible!important}.frame-ornate-modal.modal-ornate>.ornate-frame-fill{height:100%;min-height:0;width:calc(100% + var(--ornate-modal-fill-x) + var(--ornate-modal-fill-x));margin-left:calc(0px - var(--ornate-modal-fill-x));margin-right:calc(0px - var(--ornate-modal-fill-x));margin-top:calc(0px - var(--ornate-modal-fill-y));margin-bottom:calc(0px - var(--ornate-modal-fill-y));flex-direction:column;flex:auto;display:flex;overflow:hidden}.ornate-frame-modal-center-grid{--interface-chrome-filter:brightness(.5) saturate(.5);pointer-events:none;filter:var(--interface-chrome-filter);image-rendering:pixelated;display:grid;inset:0;overflow:hidden;z-index:0!important;position:absolute!important}.ornate-frame-modal-center-cell{width:32px;height:32px;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:32px 32px;display:block}.ornate-frame-surface{--ornate-frame-y:10px;--ornate-frame-x:0px;--ornate-frame-pad:0px;--ornate-frame-blur:0px;-webkit-backdrop-filter:none;box-shadow:none;background:0 0;overflow:visible}.ornate-frame-surface>.ornate-frame-fill{z-index:1;isolation:isolate;min-width:0;position:relative}.ornate-frame-surface>.ornate-frame-fill:before{content:"";margin-top:var(--ornate-fill-margin-top,16px);margin-left:var(--ornate-fill-margin-left,16px);width:var(--ornate-fill-width,calc(100% - 32px));height:var(--ornate-fill-height,calc(100% - 24px));z-index:-1;pointer-events:none;background:linear-gradient(#150f24cc 0%,#0a0712d1 100%);position:absolute;inset:0}.frame-ornate-modal.modal-ornate>.ornate-frame-fill:before{background:0 0}.ornate-frame-surface>.ornate-frame-fill>*{z-index:1;position:relative}.ornate-frame-fill-hit{margin-top:var(--ornate-fill-margin-top,16px);margin-left:var(--ornate-fill-margin-left,16px);width:var(--ornate-fill-width,calc(100% - 32px));height:var(--ornate-fill-height,calc(100% - 24px));pointer-events:none;inset:0;z-index:0!important;position:absolute!important}.frame-ornate-modal.modal-ornate>.ornate-frame-fill>.ornate-modal-hd{z-index:5}.frame-ornate-modal.modal-ornate>.ornate-frame-fill>.ornate-modal-bd,.frame-ornate-modal.modal-ornate>.ornate-frame-fill>.modal-ornate-bd,.frame-ornate-modal.modal-ornate>.ornate-frame-fill>.settings-modal-bd{z-index:1}.ornate-frame-surface.frame-ornate-menu{--ornate-frame-y:10px;--ornate-frame-x:0px;--ornate-art-corner-size:50px;--ornate-art-gem-width-size:36px;--ornate-art-side-center-size:26px;--ornate-art-outset-y-size:4px;--ornate-art-outset-x-size:0px;--ornate-fill-margin-top:16px;--ornate-fill-margin-left:16px;--ornate-fill-width:calc(100% - 32px);--ornate-fill-height:calc(100% - 24px)}.ornate-frame-surface.frame-ornate-modal{--ornate-frame-y:10px;--ornate-frame-x:0px;--ornate-art-corner-size:50px;--ornate-art-gem-width-size:36px;--ornate-art-side-center-size:26px;--ornate-art-outset-y-size:28px;--ornate-art-outset-x-size:36px;--ornate-fill-margin-top:0px;--ornate-fill-margin-left:0px;--ornate-fill-width:calc(100%);--ornate-fill-height:calc(100%)}.ornate-frame-surface.ornate-frame-button{--ornate-frame-y:0px;--ornate-frame-x:0px;--ornate-art-corner-size:30px;--ornate-art-gem-width-size:36px;--ornate-art-side-center-size:26px;--ornate-art-outset-y-size:16px;--ornate-art-outset-x-size:16px;--ornate-fill-margin-top:-4px;--ornate-fill-margin-left:-8px;--ornate-fill-width:calc(100% + 16px);--ornate-fill-height:calc(100% + 8px)}.ornate-frame-surface.ornate-tooltip,.ornate-frame-surface.floating-tooltip,.ornate-frame-surface.workshop-cost-tooltip{--ornate-frame-y:10px;--ornate-frame-x:0px;--ornate-art-corner-size:50px;--ornate-art-gem-width-size:36px;--ornate-art-side-center-size:26px;--ornate-art-outset-y-size:24px;--ornate-art-outset-x-size:36px;--ornate-fill-margin-top:-4px;--ornate-fill-margin-left:-16px;--ornate-fill-width:calc(100% + 32px);--ornate-fill-height:calc(100% + 16px)}.ornate-frame-surface.ornate-tooltip>.ornate-frame-fill,.ornate-frame-surface.workshop-cost-tooltip>.ornate-frame-fill{justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.ornate-frame-surface:is(.ornate-tooltip,.ornate-frame-button,.floating-tooltip,.workshop-cost-tooltip) .ornate-frame-art-piece:is(.is-top-c,.is-bottom-c,.is-left-c,.is-right-c){display:none}.ornate-frame-surface:is(.ornate-tooltip,.ornate-frame-button,.floating-tooltip,.workshop-cost-tooltip) .ornate-frame-art-piece:is(.is-top-l,.is-bottom-l){left:var(--ornate-art-corner);width:max(0px, calc(50% - var(--ornate-art-corner)))}.ornate-frame-surface:is(.ornate-tooltip,.ornate-frame-button,.floating-tooltip,.workshop-cost-tooltip) .ornate-frame-art-piece:is(.is-top-r,.is-bottom-r){left:50%;right:var(--ornate-art-corner)}.ornate-frame-surface:is(.ornate-tooltip,.ornate-frame-button,.floating-tooltip,.workshop-cost-tooltip) .ornate-frame-art-piece:is(.is-left-t,.is-left-b,.is-right-t,.is-right-b){height:max(0px, calc(50% - var(--ornate-art-corner)))}.ornate-frame-button{color:var(--gold-soft);letter-spacing:0;text-shadow:0 1px #fff6be52,0 0 8px #ffd56f3d,2px 2px #0000009e;cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;padding:0;line-height:1;transition:filter .1s ease-out,transform 60ms;font-family:var(--font-primary)!important}.ornate-frame-button>.ornate-frame-fill{pointer-events:none;justify-content:center;align-items:center;gap:8px;min-height:100%;display:flex}.ornate-frame-button>.ornate-frame-fill>.ornate-frame-fill-hit{cursor:inherit;pointer-events:auto}.ornate-frame-button>.ornate-frame-fill>:not(.ornate-frame-fill-hit){pointer-events:none}.framed-btn-inner{padding:4px 12px}.framed-button-symbol{letter-spacing:0;font-weight:400;line-height:1;display:inline-block;transform:translateY(1px)translate(1px);font-family:var(--font-primary)!important}.ornate-frame-button{filter:saturate(.94)brightness(.96)}.ornate-frame-button.is-hit-hover{cursor:pointer}.ornate-frame-button.is-hit-hover:not(:disabled):not([aria-disabled=true]){filter:saturate(1.08)brightness(1.14);text-shadow:0 1px #fff6be6b,0 0 12px #ffd56f80,2px 2px #0000009e}.ornate-frame-button.is-active,.gem-btn.zoom-pan-divert-mode.is-active{color:var(--gold);filter:saturate(1.08)brightness(1.12)}.ornate-frame-button.is-active>.ornate-frame-fill:before{background:linear-gradient(#2a1c3ef0 0%,#120b1ef5 100%)}.ornate-frame-button.is-hit-active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.ornate-frame-button:disabled,.ornate-frame-button[aria-disabled=true],.btn-ornate[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.5)saturate(.7)brightness(.82)}.ornate-frame-surface.ornate-frame-button.gem-btn{--gem-btn-height:32px;--ornate-frame-y:0px;--ornate-frame-x:0px;--ornate-art-corner-size:16px;--ornate-art-gem-width-size:10px;--ornate-art-side-center-size:8px;--ornate-art-outset-y-size:5px;--ornate-art-outset-x-size:6px;--ornate-fill-margin-top:0px;--ornate-fill-margin-left:0px;--ornate-fill-width:100%;--ornate-fill-height:100%;height:var(--gem-btn-height);min-width:var(--gem-btn-height);min-height:var(--gem-btn-height);color:var(--gold-soft);vertical-align:middle;justify-content:center;align-items:stretch;display:inline-flex}.gem-btn>.gem-btn-inner{white-space:nowrap;height:100%;min-height:0;padding:0 6px;line-height:1}.gem-btn-square,.zoom-pan-control-btn{width:var(--gem-btn-height);min-width:var(--gem-btn-height);flex:0 0 var(--gem-btn-height)}.gem-btn-square>.gem-btn-inner,.zoom-pan-control-btn>.gem-btn-inner{width:100%;min-width:0;padding:0}.gem-btn-square svg{width:16px;height:16px;display:block}.gem-btn.feedback-trigger,.gem-btn.feedback-trigger.is-hit-hover,.gem-btn.feedback-trigger:focus-visible{box-shadow:none;background:0 0}.gem-btn.feedback-trigger>.ornate-frame-fill:before{background:linear-gradient(180deg, var(--blood) 0%, var(--blood-dark) 100%)}.feedback-fixed-slot{z-index:200;position:fixed;top:14px;right:12px}.feedback-fixed-slot.is-dialog-open{z-index:50}.feedback-modal-actions,.game-modal-actions{border-top:1px solid var(--border-dark);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.feedback-modal-action,.game-modal-action{flex:none;max-width:100%}.inspection-lure-commandos-modal-bg{z-index:1200;background:radial-gradient(circle at 54% 46%,#3d492a2e,#0000 48%),#020203ed;flex-direction:column;overflow:hidden}.inspection-lure-commandos-shell{aspect-ratio:3/2;filter:drop-shadow(0 14px 20px #000000c2);image-rendering:pixelated;isolation:isolate;background:url(/assets/inspection/inspection-lure-commandos-v2.png) 50%/contain no-repeat;outline:none;flex:none;width:min(97vw,150vh - 213px);position:relative}.inspection-lure-commandos-close{z-index:8;min-width:min(230px,40vw);position:absolute;left:50%;transform:translate(-50%);top:16px!important}.inspection-lure-commandos-briefing{box-sizing:border-box;color:#bac69a;font-family:var(--font-secondary);text-shadow:0 1px 1px #000;z-index:4;clip-path:polygon(0 0,100% 0,100% 44.8%,99.66% 50%,99.33% 55.2%,99.11% 60.4%,98.77% 65.6%,98.66% 70.8%,97.54% 72.9%,97.32% 75%,97.2% 75%,97.09% 72.9%,96.53% 70.8%,95.75% 70.8%,95.41% 72.9%,95.19% 75%,95.08% 77.1%,94.97% 79.2%,93.96% 81.3%,93.74% 83.3%,93.51% 85.4%,93.4% 87.5%,91.72% 89.6%,91.16% 91.7%,90.6% 93.8%,90.27% 95.8%,90.04% 97.9%,89.93% 100%,8.5% 100%,7.16% 93.8%,6.49% 91.7%,5.82% 93.8%,4.47% 100%,2.01% 100%,1.79% 91.7%,1.45% 86.5%,1.01% 81.3%,.67% 76%,.22% 70.8%,0 68.8%);background:linear-gradient(#7a924e0a 50%,#0000 50%) 0 0/100% 4px,#050a08c7;border:1px solid #97a8636b;grid-template-columns:minmax(0,1fr);align-items:center;width:58.2031%;height:9.375%;padding:.7% 1.4%;display:grid;position:absolute;top:49.0234%;left:28.776%;overflow:hidden;box-shadow:inset 0 0 16px #6580411f,0 2px 7px #0000008f}.inspection-lure-commandos-briefing>span{-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:clamp(6px,.58vw,10px);line-height:1.22;display:-webkit-box;overflow:hidden}.inspection-lure-commandos-notice{box-sizing:border-box;color:#d9c5a1;font-family:var(--font-secondary);z-index:7;background:linear-gradient(#7a924e0b 50%,#0000 50%) 0 0/100% 4px,#050a08e6;border:1px solid #b54952c7;flex-direction:column;gap:4px;width:27%;padding:clamp(6px,.65vw,12px);display:flex;position:absolute;top:30%;left:45.5%;box-shadow:inset 0 0 18px #84232f3d,0 3px 10px #000000b8}.inspection-lure-commandos-notice strong{color:#e69b8f;font-family:var(--font-primary);text-shadow:0 1px 1px #000;font-size:clamp(8px,.72vw,14px);font-weight:400;line-height:1.08}.inspection-lure-commandos-notice span{color:#bac69a;font-size:clamp(7px,.53vw,10px);line-height:1.25}.inspection-lure-commandos-pending{box-sizing:border-box;color:#d73131;font-family:var(--font-primary);text-align:center;text-shadow:0 2px #240708,0 0 8px #a71518b8;z-index:6;justify-content:center;align-items:center;width:58.2682%;height:18.3594%;padding:1.5% 4%;font-size:clamp(18px,2.4vw,46px);font-weight:400;line-height:1.08;display:flex;position:absolute;top:20.8984%;left:28.7109%}.inspection-lure-commandos-offers{z-index:4;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8.595%;width:39.388%;height:17.3828%;display:grid;position:absolute;top:70.3125%;left:33.3333%}.inspection-lure-commandos-offer{box-sizing:border-box;color:#d9cca8;font-family:var(--font-secondary);text-align:center;text-shadow:0 1px 1px #000;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2px,.2vw,4px);min-width:0;padding:2% 5%;display:flex;overflow:hidden}.inspection-lure-commandos-offer-heading{flex-direction:column;justify-content:center;align-items:center;gap:1px;width:100%;min-height:0;display:flex}.inspection-lure-commandos-offer-heading .resource-asset-icon{width:50px!important;height:50px!important}.inspection-lure-commandos-offer-heading>span:last-child{font-family:var(--font-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(7px,.55vw,10px);line-height:1.05;display:-webkit-box;overflow:hidden}.inspection-lure-commandos-offer-controls{grid-template-columns:clamp(18px,1.55vw,24px) minmax(28px,42px) clamp(18px,1.55vw,24px);justify-content:center;align-items:center;gap:2px;width:92%;display:grid}.inspection-lure-commandos-offer-controls button{color:#decf9b;font-family:var(--font-primary);background:linear-gradient(#625232d1,#261f16e6);border:1px solid #75643e;justify-content:center;align-items:center;height:clamp(18px,1.55vw,24px);padding:0;font-size:clamp(12px,1vw,17px);line-height:1;display:flex;box-shadow:inset 0 0 0 1px #0f0b08b3}.inspection-lure-commandos-offer-controls button:hover:not(:disabled),.inspection-lure-commandos-offer-controls button:focus-visible:not(:disabled){color:#fff0b5;background:linear-gradient(#816f41f0,#362c1df5)}.inspection-lure-commandos-offer-controls button:disabled{filter:grayscale(.7);opacity:.38}.inspection-lure-commandos-offer-controls input{box-sizing:border-box;color:#eee0ae;font-family:var(--font-primary);text-align:center;text-shadow:0 1px 1px #000;-moz-appearance:textfield;background:#050706d1;border:1px solid #847144b8;width:100%;min-width:0;height:clamp(18px,1.55vw,24px);padding:1px 2px;font-size:clamp(10px,.76vw,13px)}.inspection-lure-commandos-offer-controls input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inspection-lure-commandos-offer-controls input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inspection-lure-commandos-probability{aspect-ratio:1;box-sizing:border-box;color:#c9d69b;font-family:var(--font-primary);pointer-events:none;text-align:center;text-shadow:0 1px 1px #000,0 0 5px #000000e0;z-index:5;flex-direction:column;justify-content:center;align-items:center;width:9.7656%;display:flex;position:absolute;top:71.2891%;left:79.1667%}.inspection-lure-commandos-probability>span,.inspection-lure-commandos-probability>strong{z-index:1;position:relative}.inspection-lure-commandos-probability>span{color:#b4bd93;font-size:clamp(6px,.53vw,10px);line-height:1}.inspection-lure-commandos-probability>strong{color:#e3d488;margin-top:2px;font-size:clamp(15px,1.55vw,30px);font-weight:400;line-height:1}.inspection-lure-commandos-probability>i{opacity:.75;z-index:0;border-radius:50%;position:absolute;inset:8%;-webkit-mask:radial-gradient(circle,#0000 0 68%,#000 70% 80%,#0000 82%);mask:radial-gradient(circle,#0000 0 68%,#000 70% 80%,#0000 82%)}.inspection-lure-commandos-trigger{box-sizing:border-box;z-index:6;background:0 0;border:0;border-radius:44%;width:4.6224%;height:5.7617%;padding:0;position:absolute;top:60.5469%;left:81.7057%}.inspection-lure-commandos-trigger:hover:not(:disabled),.inspection-lure-commandos-trigger:focus-visible:not(:disabled){outline-offset:-3px;background:#b8241c47;outline:1px solid #ff977eeb;box-shadow:inset 0 0 0 2px #e15343e0,0 0 10px #c11e18d1}.inspection-lure-commandos-trigger:active:not(:disabled){background:#e7392a6b;transform:scale(.94)}.inspection-lure-commandos-trigger:disabled{cursor:not-allowed;background:#0000003d}.modal-footer.is-inspection-lure-commandos{z-index:8;margin-top:0;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=820px),(height<=670px){.inspection-lure-commandos-shell{width:min(98vw,150vh - 168px)}.inspection-lure-commandos-close{min-width:min(190px,42vw);top:7px!important}.inspection-lure-commandos-notice{width:30%;top:28%;left:44%}.inspection-lure-commandos-offer-heading .resource-asset-icon{width:36px!important;height:36px!important}.inspection-lure-commandos-offer-controls{grid-template-columns:18px minmax(24px,34px) 18px}.modal-footer.is-inspection-lure-commandos{bottom:7px}}@media (width<=560px),(height<=500px){.inspection-lure-commandos-notice span{display:none}.inspection-lure-commandos-offer-heading .resource-asset-icon{width:27px!important;height:27px!important}.inspection-lure-commandos-offer-controls{grid-template-columns:14px minmax(20px,26px) 14px;gap:1px}.inspection-lure-commandos-offer-controls button,.inspection-lure-commandos-offer-controls input{height:16px}}.inspection-office-modal-bg{z-index:1200;background:radial-gradient(circle at 48% 48%,#3d274633,#0000 50%),#030206eb;overflow:hidden}.inspection-office{aspect-ratio:3/2;color:#392113;filter:drop-shadow(0 14px 20px #000000b8);isolation:isolate;outline:none;width:min(97vw,144vh);max-height:96vh;position:relative}.inspection-office-art{image-rendering:pixelated;pointer-events:none;z-index:0;background:url(/assets/inspection/inspection-guard-parchment.png) 50%/contain no-repeat;position:absolute;inset:0}.inspection-office-title{z-index:2;justify-content:space-between;align-items:flex-start;gap:4%;width:46.2%;padding:0 .8% 1.2%;display:flex;position:absolute;top:17.2%;left:40.2%}.inspection-office-title>div:first-child{flex:auto;min-width:0}.inspection-office-title h1{color:#2d160d;font-family:var(--font-primary);letter-spacing:.025em;text-shadow:0 1px #ffe2976b;margin:0;font-size:clamp(16px,1.38vw,25px);font-weight:400;line-height:1.05}.inspection-office-title p{color:#5a321c;font-family:var(--font-primary);margin:3px 0 0;font-size:clamp(11px,.72vw,14px);font-weight:700;line-height:1.2}.inspection-office-title-meta{flex:0 0 32%;gap:3px;min-width:0;margin:0;display:grid}.inspection-office-title-meta>div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:5px;display:grid}.inspection-office-title-meta dt{color:#6d3c22;font-family:var(--font-primary);font-size:clamp(10px,.68vw,13px)}.inspection-office-title-meta dd{color:#351a10;font-family:var(--font-primary);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:clamp(10px,.68vw,13px);font-weight:700;overflow:hidden}.inspection-office-quote{box-shadow:none;color:#3d2115;pointer-events:none;z-index:3;border:0;width:28.5%;height:12.8%;margin:0;padding:0;position:absolute;top:2.4%;left:-5.5%}.inspection-office-quote-frame{filter:drop-shadow(4px 5px #08050aa3);z-index:1;grid-template-rows:32px minmax(0,1fr) 32px;grid-template-columns:32px minmax(0,1fr) 32px;display:grid;position:absolute;inset:0}.inspection-office-quote-piece{image-rendering:pixelated;background-image:url(/assets/speech/Sprite%20Sheet.png);background-repeat:no-repeat;background-size:950% 525%;min-width:0;min-height:0}.inspection-office-quote-piece.is-tl{background-position:0 0}.inspection-office-quote-piece.is-t{background-position:12.5% 0}.inspection-office-quote-piece.is-tr{background-position:25% 0}.inspection-office-quote-piece.is-l{background-position:0 25%}.inspection-office-quote-piece.is-c{background-position:12.5% 25%}.inspection-office-quote-piece.is-r{background-position:25% 25%}.inspection-office-quote-piece.is-bl{background-position:0}.inspection-office-quote-piece.is-b{background-position:12.5%}.inspection-office-quote-piece.is-br-tail{background-position:12.5% 75%}.inspection-office-quote-tail{height:32px;image-rendering:pixelated;background:url(/assets/speech/Sprite%20Sheet.png) 12.5% 100%/950% 525% no-repeat;width:32px;position:absolute;bottom:-32px;right:0}.inspection-office-quote-text{font-family:var(--font-tertiary);text-align:center;text-wrap:balance;z-index:2;justify-content:center;align-items:center;font-size:clamp(10px,.74vw,14px);font-weight:700;line-height:1.35;display:flex;position:absolute;inset:15% 7%}.inspection-office-quote.inspection-lure-commandos-quote{z-index:7;width:clamp(180px,28.5%,324px);height:clamp(64px,12.8%,98px);top:calc(18% - 30px);left:calc(-4% - 40px)}.inspection-office-dossier{z-index:2;flex-direction:column;gap:clamp(7px,.72vh,11px);width:45.5%;height:48.8%;display:flex;position:absolute;top:28.2%;left:40.5%;overflow:hidden}.inspection-office-status{border-bottom:1px solid #42201080;padding:0 1.2% 1.7%}.inspection-office-section-label,.inspection-office-readings h3,.inspection-office-penalties h3{color:#70401f;font-family:var(--font-primary);letter-spacing:.045em;margin:0;font-size:clamp(10px,.7vw,13px);font-weight:400;line-height:1.1}.inspection-office-status>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.inspection-office-status h2{color:#32170e;font-family:var(--font-primary);text-shadow:0 1px #ffe09a52;margin:3px 0 0;font-size:clamp(16px,1.12vw,21px);font-weight:400;line-height:1.1}.inspection-office-status>div>span,.inspection-office-queued{color:#822d2d;font-family:var(--font-primary);font-size:clamp(11px,.76vw,14px)}.inspection-office-status>div>span{margin-left:auto}.inspection-office-status p{color:#2f1b11;font-family:var(--font-primary);max-width:98%;margin:6px 0 0;font-size:clamp(12px,.82vw,15px);font-weight:700;line-height:1.32}.inspection-office-readings{counter-reset:inspection-reading;grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.inspection-office-readings h3,.inspection-office-penalties h3{border-bottom:1px solid #4220105c;grid-column:1/-1;padding-bottom:3px}.inspection-office-readings>div{counter-increment:inspection-reading;text-align:left;align-items:center;gap:7px;min-height:22px;padding:1px 1.5%;display:flex}.inspection-office-readings>div:before{color:#70401f;content:counter(inspection-reading, upper-roman) ".";font-family:var(--font-primary);text-align:right;flex:0 0 22px;font-size:clamp(10px,.68vw,13px)}.inspection-office-readings span{color:#4b2817;font-family:var(--font-primary);flex:auto;align-items:baseline;gap:7px;min-width:0;font-size:clamp(11px,.74vw,14px);line-height:1.1;display:flex}.inspection-office-readings span:after{content:"";border-bottom:1px dotted #48241294;flex:auto;min-width:18px}.inspection-office-readings strong{color:#25130b;font-family:var(--font-primary);text-align:right;flex:0 0 48px;font-size:clamp(14px,.96vw,18px);font-weight:700;line-height:1}.inspection-office-queued{background:#7e232921;border:1px solid #6c1c227a;align-self:flex-end;padding:4px 8px}.inspection-office-penalties{color:#3f2417;font-family:var(--font-primary);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch;gap:0 4%;padding:0 1.5%;font-size:clamp(11px,.76vw,14px);line-height:1.15;display:grid}.inspection-office-penalties strong{color:#2b170e;font-family:var(--font-primary);text-align:right;justify-content:flex-end;align-items:center;min-width:0;font-weight:700;display:inline-flex}.inspection-office-penalties>span,.inspection-office-penalties>strong{border-bottom:1px dotted #48241266;min-height:24px;padding:2px 0}.inspection-office-penalties strong.is-blood{color:#2b170e}.inspection-office-penalties strong.is-blood>span{background:0 0;border:0;padding:0;font-weight:700;color:#2b170e!important}.inspection-office-number{font-family:var(--font-primary)!important}.inspection-office-written-cost{flex-direction:column;align-items:stretch;gap:1px;line-height:1.2;display:flex}.inspection-office-supply-detail{line-height:1.25;display:block}.inspection-office-supply-requisition{white-space:nowrap}.inspection-office-cost-entry{white-space:nowrap;grid-template-columns:auto minmax(12px,1fr) auto;align-items:baseline;gap:5px;width:100%;display:grid}.inspection-office-cost-resource{text-align:left}.inspection-office-cost-leader{border-bottom:1px dotted #48241294;min-width:12px}.inspection-office-legal-notice{color:#3b2115;font-family:var(--font-primary);border-top:1px solid #4220106b;margin:auto 1.5% 0;padding-top:5px;font-size:clamp(10px,.7vw,13px);font-weight:700;line-height:1.28}.inspection-office-actions{z-index:5;justify-content:center;align-items:center;gap:clamp(5px,1vw,16px);width:48.5%;height:14%;display:flex;position:absolute;top:78.5%;left:39.2%}.inspection-office-seal{--inspection-seal-image:none;aspect-ratio:1;box-shadow:none;color:#f0d59b;cursor:pointer;font-family:var(--font-primary);image-rendering:pixelated;text-align:center;text-shadow:0 2px #2a090dcc;background-color:#0000;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;width:min(128px,22%);padding:8px;font-size:clamp(9px,.72vw,13px);line-height:1.05;transition:filter 80ms,transform 80ms;display:inline-flex;position:relative}.inspection-office-seal:before{background:var(--inspection-seal-image) center / contain no-repeat;content:"";filter:brightness(.56)saturate(.82);image-rendering:pixelated;pointer-events:none;z-index:0;transition:filter 80ms;position:absolute;inset:0}.inspection-office-seal>span{overflow-wrap:anywhere;z-index:1;max-width:78%;position:relative;top:-5%}.inspection-office-seal.is-bribe{--inspection-seal-image:url(/assets/inspection/purple-seal.webp)}.inspection-office-seal.is-veil{--inspection-seal-image:url(/assets/inspection/blue-seal.webp)}.inspection-office-seal.is-combat{--inspection-seal-image:url(/assets/inspection/red-seal.webp)}.inspection-office-seal.is-submit{--inspection-seal-image:url(/assets/inspection/brown-seal.webp)}.inspection-office-seal.is-clean{--inspection-seal-image:url(/assets/inspection/green-seal.webp)}.inspection-office-seal:hover:not(:disabled),.inspection-office-seal:focus-visible:not(:disabled){outline:0;transform:translateY(-2px)rotate(-1deg)}.inspection-office-seal:hover:not(:disabled):before,.inspection-office-seal:focus-visible:not(:disabled):before{filter:brightness(.72)saturate(.88)}.inspection-office-seal:active:not(:disabled){transform:translateY(2px)scale(.98)}.inspection-office-seal:disabled{cursor:not-allowed}.inspection-office-seal:disabled:before{filter:grayscale(.62)brightness(.56);opacity:.58}.inspection-office-tooltip-cost{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:inline-flex}.inspection-combat-report-modal-bg{z-index:1300;background:radial-gradient(circle at 47%,#62272e2e,#0000 48%),#030206f0;overflow:hidden}.inspection-combat-report{aspect-ratio:3/2;color:#392113;filter:drop-shadow(0 16px 22px #000000c7);isolation:isolate;outline:none;width:min(97vw,144vh);max-height:96vh;position:relative}.inspection-combat-report-art{image-rendering:pixelated;pointer-events:none;z-index:0;background:url(/assets/inspection/inspection-guard-parchment.png) 50%/contain no-repeat;position:absolute;inset:0}.inspection-combat-report-sheet{z-index:2;position:absolute;inset:0}.inspection-combat-report-outcome em{color:#812b2f;font-family:var(--font-primary);margin:4px 0 0;font-size:clamp(10px,.7vw,13px);font-style:normal;font-weight:700;line-height:1.28;display:block}.inspection-combat-report-scroll{scrollbar-color:#5027139e transparent;scrollbar-width:thin;flex-direction:column;flex:auto;gap:clamp(7px,.72vh,11px);min-height:0;padding:0;display:flex;overflow:hidden auto}.inspection-combat-report-section{flex:none}.inspection-combat-report-treasures{color:#3a2115;font-family:var(--font-primary);margin:0;padding:0 1.5% 4px 8%;font-size:clamp(11px,.74vw,14px);line-height:1.1}.inspection-combat-report-treasures li{border-bottom:1px dotted #4824126b;padding:2px 0}.inspection-combat-report-actions{z-index:5;justify-content:center;align-items:center;width:48.5%;height:14%;display:flex;position:absolute;top:78.5%;left:39.2%}.inspection-combat-report-close{width:min(128px,20%)}@media (width<=720px),(height<=620px){.inspection-office-quote-text{font-size:8px}.inspection-office-dossier{gap:3px}.inspection-office-status p{margin-top:2px}.inspection-office-legal-notice{display:none}.inspection-office-seal{width:clamp(50px,6.2vw,74px);padding:4px}}.ornate-modal-hd{z-index:2;-webkit-backdrop-filter:saturate(2);background:0 0;flex-direction:column;justify-content:center;align-items:center;min-height:78px;padding:16px 58px 14px;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #e6caff3d}.ornate-modal-hd>*{z-index:3;position:relative}.ornate-modal-hd:before,.ornate-modal-hd:after{content:"";z-index:20;pointer-events:none;filter:brightness(.82)saturate(1.05);image-rendering:auto;background-repeat:no-repeat;background-size:100% 48px;width:50%;height:48px;position:absolute;bottom:-16px}.ornate-modal-hd:before{background-image:url(/assets/frames/assembly-ornate/bottom_l.webp);left:0}.ornate-modal-hd:after{background-image:url(/assets/frames/assembly-ornate/bottom_r.webp);right:0}.ornate-modal-title,.ornate-modal-hd>span{color:var(--gold-soft);font-size:var(--font-xxl);letter-spacing:0;text-align:center;font-family:var(--font-primary);overflow-wrap:anywhere;text-shadow:0 1px #fff6be47,0 0 10px #ffd56f3d,2px 2px #000000a8;max-width:100%;line-height:1.15}.ornate-modal-title.is-long{font-size:var(--font-md)}.ornate-modal-subtitle{color:var(--bone-dim);font-family:var(--font-secondary);font-size:var(--font-xs);text-align:center;margin-top:3px;line-height:1.2}.ornate-modal-close{color:var(--gold-soft);box-shadow:none;background:0 0;position:absolute;top:14px;right:16px}.ornate-modal-close:hover{color:#fff3f3}.modal-ornate-bd{z-index:1;background:0 0;flex:1;padding:20px;position:relative}.settings-modal-bd{flex:auto;height:auto;min-height:0}.settings-sections{flex-direction:column;gap:18px;display:flex}.settings-section{border-bottom:1px solid #3a2a5ab8;padding-bottom:14px}.settings-section:last-child{border-bottom:0;padding-bottom:0}.settings-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.settings-section-title{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-xxl);text-shadow:0 1px #fff6be47,2px 2px #000000a8;margin:0;font-weight:400;line-height:1}.ornate-modal-bd{z-index:1;background:0 0;flex:1;min-height:0;padding:16px;position:relative}.components-button,.components-framed-button,.components-icon-button,.components-tile-button,.ornate-frame-button,.btn,.btn-ornate,.btn-x{box-sizing:border-box;font-size:var(--font-md);font-family:var(--font-primary)!important}.components-button *,.components-framed-button *,.components-icon-button *,.components-tile-button *,.ornate-frame-button *,.btn *,.btn-ornate *,.btn-x *{font-size:inherit;font-family:var(--font-primary)!important}.components-button-full,.components-framed-button-full{width:100%}.btn{letter-spacing:.06em;background:var(--gold);color:var(--bg-deep);box-sizing:border-box;cursor:pointer;height:32px;box-shadow:inset 0 -2px 0 var(--gold-deep), inset 0 2px 0 var(--gold-soft), inset 2px 0 0 var(--gold-soft), inset -2px 0 0 var(--gold-deep);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;padding:8px 14px;line-height:1;transition:transform 60ms,filter 60ms;display:inline-flex;font-family:var(--font-primary)!important}.btn:hover{filter:brightness(1.08)}.btn:active{box-shadow:inset 0 2px 0 var(--gold-deep), inset 0 -2px 0 var(--gold-soft), inset 2px 0 0 var(--gold-deep), inset -2px 0 0 var(--gold-soft);transform:translateY(1px)}.btn-ghost:active{box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light)}.btn.is-active{background:var(--bone);color:var(--bg-deep)}.btn-ghost{background:var(--panel-alt);color:var(--text);box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light)}.btn-ghost:hover{background:var(--panel-hi)}.components-button-secondary{background:var(--panel-alt);color:var(--gold)}.components-button-secondary:hover{background:var(--panel-hi)}.components-button-sm{min-height:28px}.components-button-lg{min-height:42px}.hud-avatar-name{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-md)}.hud-city-name{color:var(--text-dim);font-size:var(--font-sm)}.hud-nav-progress{transition:color .22s,filter .22s,text-shadow .22s}.hud-nav-progress>.ornate-frame-fill:after{content:"";height:var(--ornate-fill-height,calc(100% - 24px));margin-left:var(--ornate-fill-margin-left,16px);margin-top:var(--ornate-fill-margin-top,16px);opacity:0;pointer-events:none;width:var(--ornate-fill-width,calc(100% - 32px));z-index:-1;background:linear-gradient(#155228eb 0%,#072411f0 100%);transition:opacity .22s;position:absolute;inset:0}.hud-nav-progress.is-route-progress{animation:1.6s ease-in-out infinite hud-nav-progress-blink}.hud-nav-progress.is-route-progress>.ornate-frame-fill:after{animation:1.6s ease-in-out infinite hud-nav-progress-fill-blink}@keyframes hud-nav-progress-blink{0%,to{color:var(--necropark-progress-color);filter:saturate(1.14)brightness(1.18);text-shadow:0 1px #d2ffdc5c,0 0 12px #48ff76b8,2px 2px #0000009e}50%{color:var(--gold-soft);filter:saturate(.94)brightness(.96);text-shadow:0 1px #fff6be52,0 0 8px #ffd56f3d,2px 2px #0000009e}}@keyframes hud-nav-progress-fill-blink{0%,to{opacity:1}50%{opacity:0}}.components-framed-button-danger>.ornate-frame-fill{width:100%}.components-framed-button-danger>.ornate-frame-fill:before{background:linear-gradient(#d00000 0%,#720000 100%)}.components-framed-button-info>.ornate-frame-fill:before{background:linear-gradient(#1e6ad4 0%,#0f3a7c 100%)}.components-framed-button-success>.ornate-frame-fill{width:100%}.components-framed-button-success>.ornate-frame-fill:before{background:linear-gradient(180deg, var(--moss) 0%, var(--moss-deep) 100%)}.components-framed-button-warning>.ornate-frame-fill:before{background:linear-gradient(#d4a017 0%,#7a570c 100%)}.components-framed-button.feedback-trigger,.components-framed-button.feedback-trigger *,.components-framed-button.ornate-modal-close,.components-framed-button.ornate-modal-close *{font-family:var(--font-tertiary)!important}.btn-danger{background:var(--blood);color:var(--bone);box-shadow:inset 0 -2px 0 var(--blood-deep), inset 0 2px 0 var(--blood-bright), inset 2px 0 0 var(--blood-bright), inset -2px 0 0 var(--blood-deep)}.btn-sm{padding:5px 10px}.lock-glyph{vertical-align:-3px;--lock-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='3' y='7' width='10' height='8' fill='black'/%3E%3Cpath d='M5 7V5a3 3 0 0 1 6 0v2' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E");width:16px;height:16px;-webkit-mask:var(--lock-mask) center / 16px 16px no-repeat;-webkit-mask:var(--lock-mask) center / 16px 16px no-repeat;mask:var(--lock-mask) center / 16px 16px no-repeat;background:currentColor;display:inline-block}.lock-glyph.is-unlocked{--lock-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='3' y='7' width='10' height='8' fill='black'/%3E%3Cpath d='M11 7V5a3 3 0 0 0-5.8-1.1' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E")}.zoom-pan-controls{transform-origin:100%;align-items:center;gap:1px;min-height:32px;display:inline-flex;transform:scale(.8)}.zoom-pan-divert{align-items:center;margin-right:3px;display:inline-flex}.zoom-pan-divert-label{font-family:var(--font-primary);font-size:var(--font-md);color:var(--gold);margin-right:4px}.zoom-pan-divert-modes{align-items:center;gap:0;display:inline-flex}.zoom-pan-divert-mode{margin-inline:-1px}.zoom-pan-divert-mode:first-child{margin-left:0}.zoom-pan-divert-mode:last-child{margin-right:0}.zoom-pan-divert-input{background:var(--panel);width:44px;height:32px;color:var(--gold);box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light);font-family:var(--font-secondary);font-size:var(--font-xs);border:none;margin-left:4px;padding:0 6px}.zoom-pan-divert-status{font-size:var(--font-xs);color:var(--gold);text-align:right;min-width:36px;margin-left:4px}.zoom-pan-divert-mode>.gem-btn-inner{font-size:var(--font-xs);padding:0 6px}.workshop-sidebar-heading{align-items:center;gap:8px;min-height:28px;margin-bottom:8px;display:flex}.workshop-sidebar-title-tab{color:var(--gold-soft);cursor:pointer;font-family:var(--font-primary);font-size:var(--font-xl);letter-spacing:0;background:0 0;border:0;padding:0;line-height:1}.workshop-sidebar-title-tab[aria-current=page]{color:var(--gold)}.workshop-sidebar-title-divider{background:var(--gold);opacity:.8;align-self:center;width:2px;height:22px;display:inline-block}.workshop-sidebar-title-tab:hover{color:var(--gold-deep)}.workshop-sidebar-panel{flex:1;min-height:0;overflow:hidden auto}.workshop-room-add-title{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-sm);letter-spacing:.8px}.workshop-room-add-count{color:var(--bone);font-family:var(--font-primary);margin-right:6px}.workshop-room-add-description{color:var(--bone)}.workshop-landmark-count-label{font-family:var(--font-primary)}.workshop-vortex-pool-count-label{text-shadow:1px 1px #000}.zoom-pan-glyph{--zoom-pan-mask:none;vertical-align:-1px;width:0;height:16px;display:inline-block;position:relative}.zoom-pan-glyph:before{content:"";width:14px;height:14px;-webkit-mask:var(--zoom-pan-mask) center / 18px 18px no-repeat;-webkit-mask:var(--zoom-pan-mask) center / 18px 18px no-repeat;mask:var(--zoom-pan-mask) center / 18px 18px no-repeat;background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.zoom-pan-controls .lock-glyph{vertical-align:-1px;background:0 0;width:0;height:16px;position:relative;-webkit-mask:none;mask:none}.zoom-pan-controls .lock-glyph:before{content:"";width:14px;height:14px;-webkit-mask:var(--lock-mask) center / 18px 18px no-repeat;-webkit-mask:var(--lock-mask) center / 18px 18px no-repeat;mask:var(--lock-mask) center / 18px 18px no-repeat;background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.zoom-pan-glyph.is-zoom-out{--zoom-pan-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='7.5' cy='7.5' r='4.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M11 11l4 4M5 7.5h5' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E")}.zoom-pan-glyph.is-zoom-in{--zoom-pan-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Ccircle cx='7.5' cy='7.5' r='4.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M11 11l4 4M7.5 5v5M5 7.5h5' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E")}.zoom-pan-glyph.is-center-view{--zoom-pan-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3 7V3h4M11 3h4v4M15 11v4h-4M7 15H3v-4M6 9h6M9 6v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E")}.zoom-pan-glyph.is-pause{--zoom-pan-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Crect x='4' y='3' width='4' height='12' fill='black'/%3E%3Crect x='10' y='3' width='4' height='12' fill='black'/%3E%3C/svg%3E")}.zoom-pan-glyph.is-resume{--zoom-pan-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 3l10 6-10 6z' fill='black'/%3E%3C/svg%3E")}.btn-lg{height:42px;padding:12px 22px}.btn[disabled]{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.components-icon-button{cursor:pointer;-webkit-user-select:none;user-select:none;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.components-icon-button-xs{width:18px;height:18px}.components-icon-button-sm{width:28px;height:28px}.components-icon-button-md{width:38px;height:38px}.components-icon-button-panel{background:var(--panel-alt);color:var(--text);box-shadow:inset 0 0 0 2px var(--border-dark)}.components-icon-button-plain{color:inherit;box-shadow:none;background:0 0}.components-icon-button-close:hover,.components-icon-button-panel:hover,.components-icon-button-plain:hover{filter:brightness(1.12)}.components-icon-button.is-active,.components-icon-button[aria-pressed=true]{color:var(--gold)}.components-icon-button:disabled{cursor:not-allowed;opacity:.45}.title-screen{--title-room-x:0px;--title-room-y:0px;--title-moonlight-x:0px;--title-moonlight-y:0px;--title-foreground-x:0px;--title-foreground-y:0px;--title-motes-x:0px;--title-motes-y:0px;isolation:isolate}.title-parallax{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.title-parallax__scene{width:max(108vw,191.9vh);height:max(108vh,60.78vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.title-parallax__layer{will-change:transform;transition:transform .18s cubic-bezier(.2,.72,.24,1);position:absolute;inset:0}.title-parallax__room{z-index:0;image-rendering:pixelated;transform:translate3d(var(--title-room-x), var(--title-room-y), 0);background-color:#07101a;background-image:url(/assets/backgrounds/main-menu-interior-parallax/room.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.title-parallax__moonlight{z-index:1;mix-blend-mode:screen;transform:translate3d(var(--title-moonlight-x), var(--title-moonlight-y), 0);background:radial-gradient(circle at 9% 21%,#87d3ff33 0%,#589dd314 7%,#0000 17%),radial-gradient(at 50% 82%,#2254701a 0%,#0000 38%)}.title-parallax__background-candles{z-index:2;transform:translate3d(var(--title-room-x), var(--title-room-y), 0)}.title-parallax__background-candle{--candle-pattern:title-candle-flicker-a;--candle-duration:1.5s;--candle-delay:0s;mix-blend-mode:screen;width:5.2%;height:9.2%;animation-name:var(--candle-pattern);animation-duration:var(--candle-duration);animation-delay:var(--candle-delay);background:radial-gradient(circle,#ffe69173 0%,#ff993030 25%,#cd46120f 48%,#0000 70%);border-radius:50%;animation-timing-function:steps(4,end);animation-iteration-count:infinite;position:absolute;transform:translate(-50%,-50%)}.title-parallax__background-candle:first-child{--candle-duration:1.17s;--candle-delay:-.34s;top:50.4%;left:3.2%}.title-parallax__background-candle:nth-child(2){--candle-pattern:title-candle-flicker-b;--candle-duration:1.61s;--candle-delay:-1.08s;top:50.4%;left:6.5%}.title-parallax__background-candle:nth-child(3){--candle-pattern:title-candle-flicker-b;--candle-duration:1.33s;--candle-delay:-.72s;top:21.3%;left:21.6%}.title-parallax__background-candle:nth-child(4){--candle-duration:1.89s;--candle-delay:-1.41s;top:24%;left:22.7%}.title-parallax__background-candle:nth-child(5){--candle-pattern:title-candle-flicker-b;--candle-duration:1.46s;--candle-delay:-.19s;top:24.7%;left:23.8%}.title-parallax__background-candle:nth-child(6){--candle-duration:2.07s;--candle-delay:-1.76s;top:60.5%;left:15.9%}.title-parallax__background-candle:nth-child(7){--candle-pattern:title-candle-flicker-b;--candle-duration:1.54s;--candle-delay:-.93s;top:65.4%;left:26.9%}.title-parallax__background-candle:nth-child(8){--candle-duration:1.73s;--candle-delay:-.47s;top:66.1%;left:97.7%}.title-parallax__foreground{z-index:3;transform:translate3d(var(--title-foreground-x), var(--title-foreground-y), 0)}.title-parallax__foreground-art{image-rendering:pixelated;background-image:url(/assets/backgrounds/main-menu-interior-parallax/foreground.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:0}.title-parallax__candle-glow{mix-blend-mode:screen;background:radial-gradient(circle,#ffe28480 0%,#ffa33938 24%,#d3531614 46%,#0000 70%);border-radius:50%;width:15%;height:25%;position:absolute;top:62%;transform:translate(-50%,-50%)}.title-parallax__candle-glow--left{animation:1.37s steps(4,end) -.21s infinite title-candle-flicker-a;left:21%}.title-parallax__candle-glow--right{animation:1.91s steps(5,end) -1.13s infinite title-candle-flicker-b;left:79%}.title-parallax__motes{z-index:4;transform:translate3d(var(--title-motes-x), var(--title-motes-y), 0);background:radial-gradient(circle at 19% 39%,#ffd270b8 0 1px,#0000 2px),radial-gradient(circle at 29% 63%,#ffe1968a 0 1px,#0000 2px),radial-gradient(circle at 72% 42%,#ffc760a3 0 1px,#0000 2px),radial-gradient(circle at 83% 68%,#ffdd877a 0 1px,#0000 2px),radial-gradient(circle at 56% 25%,#92cdeb61 0 1px,#0000 2px);animation:5.2s steps(5,end) infinite title-motes-twinkle}.title-parallax__shade{z-index:5;background:radial-gradient(at 50% 40%,#03050805 0%,#0305081f 47%,#0305089e 100%),linear-gradient(#0305080a 0%,#0305081f 54%,#03050875 100%);position:absolute;inset:0}@keyframes title-candle-flicker-a{0%,to{opacity:.68;filter:brightness(.92)}28%{opacity:.9;filter:brightness(1.1)}52%{opacity:.74;filter:brightness()}76%{opacity:1;filter:brightness(1.18)}}@keyframes title-candle-flicker-b{0%,to{opacity:.82;filter:brightness()}18%{opacity:.62;filter:brightness(.9)}43%{opacity:.96;filter:brightness(1.16)}61%{opacity:.72;filter:brightness(.98)}87%{opacity:1;filter:brightness(1.2)}}@keyframes title-motes-twinkle{0%,to{opacity:.2}45%{opacity:.48}72%{opacity:.3}}@media (prefers-reduced-motion:reduce){.title-parallax__layer{transition:none}.title-parallax__candle-glow,.title-parallax__background-candle,.title-parallax__motes{animation:none}}.title-menu-actions{flex-direction:column;align-items:stretch;gap:10px;width:min(380px,100vw - 48px);display:flex}.title-menu-actions .btn-ornate{--framed-menu-radial:radial-gradient(ellipse at 54% 52%, #be9148f5 0%, #8b5b1ff7 46%, #3d2208fc 84%);--framed-menu-linear:linear-gradient(180deg, #492a09fc 0%, #9e702ffa 50%, #361d07fc 100%);width:100%;min-height:22px;color:var(--main-menu-text);text-shadow:0 1px #cfe1e21f,1px 1px #03090dc7;filter:saturate(.88)brightness(.92);padding:13px 14px;font-weight:700}.title-menu-actions .btn-ornate:after{filter:grayscale()sepia()saturate(1.75)brightness(.82)contrast(1.12)drop-shadow(0 3px 4px #0000008f)}.title-menu-actions .btn-ornate.is-hit-hover{color:var(--main-menu-text);filter:saturate(.96)brightness(1.02)}.title-save-slot-row{width:100%;position:relative}.title-save-slot-row .title-save-slot-button{width:100%;min-height:56px}.title-save-slot-row .title-save-slot-button>.ornate-frame-fill{min-height:56px}.title-save-slot-row .title-save-slot-clear{opacity:0;pointer-events:none;visibility:hidden;z-index:2;padding:0;transition:opacity 90ms ease-out,transform 90ms ease-out;position:absolute;top:50%;right:12px;transform:translate(8px,-50%)}.title-save-slot-row:hover .title-save-slot-clear{opacity:.5;pointer-events:auto;visibility:visible;transform:translateY(-50%)}.title-save-slot-row .title-save-slot-clear:hover,.title-save-slot-row .title-save-slot-clear:focus-visible{opacity:1}.title-save-slot-row .title-save-slot-clear.is-hit-active:not(:disabled):not([aria-disabled=true]){transform:translateY(calc(1px - 50%))}.components-tile-button{cursor:pointer;font:inherit;color:inherit;border:0}.components-tile-button.is-disabled-like,.components-tile-button[aria-disabled=true]{cursor:default}.components-tile-button:disabled{cursor:not-allowed;opacity:.45}.components-tile-button-bookmark{background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain}.components-tile-button-editorCell{padding:0}.btn-ornate{isolation:isolate;image-rendering:pixelated;letter-spacing:.06em;color:var(--gold-soft);text-shadow:0 1px #fff6be52,0 0 8px #ffd56f47,2px 2px #0000009e;cursor:default;pointer-events:none;filter:saturate(.82)brightness(.9);-webkit-user-select:none;user-select:none;background:0 0;border:16px solid #0000;border-width:16px 32px;justify-content:center;align-items:center;gap:8px;min-height:12px;padding:10px 4px;line-height:1;transition:filter 80ms,transform 60ms;display:inline-flex;position:relative;font-family:var(--font-primary)!important}.btn-ornate>*{z-index:2;position:relative}.framed-menu-content{justify-content:center;align-items:center;gap:inherit;pointer-events:none;display:inline-flex}.framed-menu-fill-hit-box{pointer-events:none;inset:-16px -32px;z-index:3!important;position:absolute!important}.framed-menu-fill-hit{width:77.37%;height:40.97%;cursor:inherit;pointer-events:auto;position:absolute;top:30.56%;left:11.32%}.framed-menu-frame-hit{cursor:inherit;pointer-events:auto;background:#fff0;inset:-16px -32px;-webkit-mask:url(/assets/boton.webp) 50%/100% 100% no-repeat;mask:url(/assets/boton.webp) 50%/100% 100% no-repeat;z-index:4!important;position:absolute!important}.components-framed-button-menu{--framed-menu-bg-x:var(--framed-menu-fill-x,20px);--framed-menu-bg-y:calc(var(--framed-menu-fill-y,16px) + 2px);--framed-menu-bg-width:var(--framed-menu-fill-width,calc(100% - 40px));--framed-menu-bg-height:calc(var(--framed-menu-fill-height,calc(100% - 32px)) - 4px)}.btn-ornate:before{content:"";inset:var(--framed-menu-fill-inset,-16px -32px);pointer-events:none;z-index:-2;background:var(--framed-menu-radial,radial-gradient(ellipse at 55% 58%, #5c268a94 0%, #281244d1 38%, #0a0716fa 78%)) var(--framed-menu-bg-x) var(--framed-menu-bg-y) / var(--framed-menu-bg-width) var(--framed-menu-bg-height) no-repeat, var(--framed-menu-linear,linear-gradient(180deg, #05030cfa 0%, #180c2afa 52%, #05030cfa 100%)) var(--framed-menu-bg-x) var(--framed-menu-bg-y) / var(--framed-menu-bg-width) var(--framed-menu-bg-height) no-repeat;background-origin:border-box;background-clip:border-box;position:absolute}.components-framed-button-menu.components-framed-button-danger{--framed-menu-radial:radial-gradient(ellipse at 55% 58%, #dc181894 0%, #70080edb 38%, #200206fa 78%);--framed-menu-linear:linear-gradient(180deg, #1e0205fa 0%, #6e080efa 52%, #1e0205fa 100%)}.components-framed-button-menu.components-framed-button-info{--framed-menu-radial:radial-gradient(ellipse at 55% 58%, #3282dc94 0%, #123e84db 38%, #050e22fa 78%);--framed-menu-linear:linear-gradient(180deg, #040c1efa 0%, #123a7efa 52%, #040c1efa 100%)}.components-framed-button-menu.components-framed-button-success{--framed-menu-radial:radial-gradient(ellipse at 55% 58%, #6a8f4a9e 0%, #4a6a32e0 38%, #142412fa 78%);--framed-menu-linear:linear-gradient(180deg, #142412fa 0%, #4a6a32fa 52%, #142412fa 100%)}.components-framed-button-menu.components-framed-button-warning{--framed-menu-radial:radial-gradient(ellipse at 55% 58%, #e0a8269e 0%, #84520ce0 38%, #261404fa 78%);--framed-menu-linear:linear-gradient(180deg, #241204fa 0%, #82520cfa 52%, #241204fa 100%)}.btn-ornate:after{content:"";z-index:-1;pointer-events:none;image-rendering:pixelated;background:url(/assets/boton.webp) 50%/100% 100% no-repeat;position:absolute;inset:-16px -32px}.btn-ornate.is-hit-hover{cursor:pointer;filter:saturate(.95)brightness(1.04)}.btn-ornate:active{transform:none}.btn-ornate.is-hit-active{transform:translateY(1px)}.btn-x{background:var(--panel-alt);width:28px;height:28px;color:var(--text);cursor:pointer;box-shadow:inset 0 0 0 2px var(--border-dark);border:none;justify-content:center;align-items:center;display:inline-flex;font-family:var(--font-primary)!important}.btn-x:hover{background:var(--blood);color:var(--bone)}.gem-btn.feedback-trigger,.gem-btn.feedback-trigger.is-hit-hover,.gem-btn.feedback-trigger:focus-visible{color:#fff3f3;background:#d00000;box-shadow:inset 0 0 0 2px #3a0000,inset 0 2px #ff3434,inset 0 -2px #7a0000,0 0 10px #d0000073}.gem-btn.feedback-trigger.is-hit-hover{filter:brightness(1.08)}.tabs{border-bottom:2px solid var(--border-dark);gap:0;padding-left:4px;display:flex}.tab{font-family:var(--font-secondary);font-size:var(--font-xs);letter-spacing:.08em;background:var(--panel-alt);color:var(--text-dim);cursor:pointer;box-shadow:inset 0 0 0 2px var(--border-dark);border:none;margin-right:2px;padding:8px 14px;position:relative;top:2px}.tab.is-active{background:var(--gold);color:var(--bg-deep);z-index:2;top:0}.tab:hover:not(.is-active){background:var(--panel-hi);color:var(--text)}.basic-frame{--ornate-frame-y:16px;--ornate-frame-x:30px;--ornate-modal-fill-x:0px;--ornate-modal-fill-y:0px;-webkit-backdrop-filter:none;box-shadow:none;background:0 0;min-width:0;max-width:none;max-height:none;overflow:visible}.ornate-frame-surface.frame-ornate-modal.basic-frame{--ornate-frame-y:8px;--ornate-frame-x:40px;--ornate-art-corner-size:64px;--ornate-art-gem-width-size:36px;--ornate-art-side-center-size:26px;--ornate-art-outset-y-size:24px;--ornate-art-outset-x-size:24px;--ornate-fill-margin-top:0px;--ornate-fill-margin-left:0px;--ornate-fill-width:calc(100%);--ornate-fill-height:calc(100%)}.parts-frame{--ornate-frame-y:16px;--ornate-frame-x:40px;--ornate-modal-fill-x:0px;--ornate-modal-fill-y:0px;-webkit-backdrop-filter:none;box-shadow:none;background:0 0;min-width:0;max-width:none;max-height:none;overflow:visible}.ornate-frame-surface.frame-ornate-modal.parts-frame{--ornate-frame-y:0px;--ornate-frame-x:4px;--ornate-art-corner-size:36px;--ornate-art-gem-width-size:24px;--ornate-art-side-center-size:36px;--ornate-art-outset-y-size:14px;--ornate-art-outset-x-size:14px;--ornate-fill-margin-top:0px;--ornate-fill-margin-left:0px;--ornate-fill-width:calc(100%);--ornate-fill-height:calc(100%)}.frame-avatars{min-width:0}.campaign-content{min-height:0}.campaign-avatar-picker{height:100%;min-height:0}.campaign-avatar-identity-frame{min-width:300px;height:100%;min-height:0}.campaign-avatar-identity-frame .campaign-modal-hd{display:none}.campaign-avatar-identity-frame .campaign-modal-bd{min-height:0;padding:0;overflow:hidden}.campaign-avatar-picker .campaign-modal-bd{min-height:0;overflow:hidden auto}.campaign-avatar-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.5fr);align-items:stretch;gap:16px;height:100%;min-height:0;display:grid}.campaign-avatar-layout>*{min-height:0}.campaign-avatar-grid{grid-template-columns:repeat(auto-fill,128px);justify-content:center;gap:8px;margin-top:8px;display:grid}.campaign-avatar-thumb{aspect-ratio:1;cursor:pointer;background:var(--panel-alt);width:128px;height:128px;color:inherit;font:inherit;border:0;align-items:stretch;padding:6px}.campaign-avatar-thumb:hover,.campaign-avatar-thumb:focus-visible{filter:brightness(1.08)saturate(1.05)}.campaign-avatar-thumb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.campaign-avatar-thumb-img{width:100%;height:100%;min-height:0;box-shadow:inset 0 0 0 2px var(--border-dark);justify-content:center;align-items:center;display:flex;position:relative}.campaign-avatar-identity{background:#08050d;flex-direction:column;gap:0;height:100%;min-height:0;display:flex}.campaign-avatar-identity-scene{background:radial-gradient(circle at 68% 30%,#5e2a7933,#0000 38%),#07050b;flex:auto;min-height:0;position:relative;overflow:hidden}.campaign-avatar-identity-art{aspect-ratio:2/3;pointer-events:none;width:100%;position:absolute;top:0;left:0}.campaign-avatar-identity-art>img{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;display:block}.campaign-avatar-mirror-face{z-index:2;aspect-ratio:1;filter:drop-shadow(0 2px #000000b8)drop-shadow(0 0 7px #6c369475);justify-content:center;align-items:center;width:21.5%;display:flex;position:absolute;top:32.8%;left:63.3%;transform:translate(-50%,-50%)}.campaign-avatar-mirror-face img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.campaign-avatar-identity-art>.campaign-avatar-identity-over{z-index:3;filter:drop-shadow(0 4px 2px #000000fa)drop-shadow(0 9px 7px #000000d1);position:absolute;inset:0}.campaign-avatar-preview{background:var(--bg);box-shadow:inset 0 0 0 2px var(--border-dark);justify-content:center;align-items:center;padding:16px;display:flex}.campaign-avatar-preview-img{aspect-ratio:1;width:min(220px,100%);box-shadow:inset 0 0 0 3px var(--border-dark);justify-content:center;align-items:center;display:flex}.campaign-avatar-field{gap:6px;display:grid}.campaign-avatar-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.campaign-random-btn{background:var(--panel-alt);border:1px solid var(--border-light);min-height:28px;color:var(--gold);font-family:var(--font-secondary);font-size:var(--font-xs);cursor:pointer;padding:4px 10px;line-height:1}.campaign-random-btn:hover,.campaign-random-btn:focus-visible{filter:brightness(1.12)}.campaign-random-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (width<=860px){.campaign-avatar-layout{grid-template-columns:1fr}}.campaign-map-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;gap:16px;height:100%;min-height:0;display:grid}.campaign-map-layout>*{min-height:0}.campaign-map-picker{height:100%;min-height:0}.campaign-map-picker .campaign-modal-bd{min-height:0;overflow:hidden auto}.campaign-map-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));justify-content:center;gap:8px;margin-top:8px;display:grid}.campaign-map-thumb{background:var(--panel-alt);color:inherit;cursor:pointer;font:inherit;border:0;justify-content:center;align-items:center;width:100%;height:132px;padding:6px;display:flex}.campaign-map-thumb:hover,.campaign-map-thumb:focus-visible{filter:brightness(1.08)saturate(1.05)}.campaign-map-thumb:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.campaign-map-thumb-img{pointer-events:none;max-width:100%;max-height:100%;display:block}.campaign-map-preview-panel{min-width:0;height:100%}.campaign-map-preview-panel .campaign-modal-hd{display:none}.campaign-map-preview-body{justify-content:center;align-items:center;min-height:0;padding:0;display:flex;overflow:hidden}.campaign-map-spyglass{--campaign-map-x:50%;--campaign-map-y:50%;--campaign-map-padding-y:clamp(32px, 7vh, 72px);--campaign-spyglass-size:min(60vmin, 460px);--campaign-lens-size:min(34.5vmin, 264.5px);--campaign-zoom-size:576px 1024px;--campaign-zoom-position:center;isolation:isolate;cursor:crosshair;touch-action:none;background:#05040a;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.campaign-map-spyglass-backdrop{z-index:-2;background-image:var(--campaign-map-image);filter:blur(12px)brightness(.12)saturate(.45);opacity:.68;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.campaign-map-spyglass-map{z-index:0;inset:var(--campaign-map-padding-y) 0;justify-content:center;align-items:center;display:flex;position:absolute}.campaign-map-spyglass-map-surface{aspect-ratio:288/512;max-width:100%;height:100%;position:relative}.campaign-map-spyglass-map-image{filter:brightness(.48)saturate(.74);width:100%;height:100%;image-rendering:pixelated;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.campaign-map-tokito{z-index:2;cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0;position:absolute;transform:translate(-50%,-50%)}.campaign-map-tokito .campaign-map-tokito-sprite{opacity:1;filter:brightness(.48)saturate(.74);transition:filter .12s,opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.campaign-map-tokito:hover .campaign-map-tokito-sprite,.campaign-map-tokito:focus-visible .campaign-map-tokito-sprite{opacity:1;filter:brightness(1.45)saturate(1.2)drop-shadow(0 0 2px #ffe277f2)drop-shadow(0 0 5px #ab5fe4d1)}.campaign-map-tokito:focus-visible{outline-offset:-5px;border-radius:50%;outline:1px solid #ffe277e6}.campaign-map-tokito.is-found{pointer-events:none}.campaign-map-tokito.is-found .campaign-map-tokito-sprite{animation:.48s ease-out forwards campaign-map-tokito-found}.campaign-map-spyglass:after{z-index:1;content:"";pointer-events:none;background:radial-gradient(circle,#0000 24%,#03020738 62%,#030207d1 100%),linear-gradient(#04020814,#04020880);position:absolute;inset:0}.campaign-map-spyglass-lens{z-index:2;top:var(--campaign-map-y);left:var(--campaign-map-x);width:var(--campaign-lens-size);aspect-ratio:1;background-color:#05040a;background-image:var(--campaign-map-image);background-position:var(--campaign-zoom-position);background-repeat:no-repeat;background-size:var(--campaign-zoom-size);image-rendering:pixelated;pointer-events:none;border-radius:50%;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:inset 0 0 16px 5px #000000b8,0 0 16px #2cbfdc2e}.campaign-map-tokito-lens-sprite{top:var(--campaign-tokito-lens-y,-100px);left:var(--campaign-tokito-lens-x,-100px);filter:brightness(1.12)saturate(1.08)drop-shadow(0 0 2px #ffe27785);position:absolute;transform:translate(-50%,-50%)}:is(.campaign-map-spyglass:has(.campaign-map-tokito:hover) .campaign-map-tokito-lens-sprite,.campaign-map-spyglass:has(.campaign-map-tokito:focus-visible) .campaign-map-tokito-lens-sprite){filter:brightness(1.5)saturate(1.25)drop-shadow(0 0 3px #ffe277f2)drop-shadow(0 0 7px #ab5fe4bf)}.campaign-map-spyglass-stage{z-index:3;top:var(--campaign-map-y);left:var(--campaign-map-x);width:var(--campaign-spyglass-size);aspect-ratio:1;filter:drop-shadow(0 12px 18px #000000c7);pointer-events:none;position:absolute;transform:translate(-49%,-49%)}.campaign-map-spyglass-frame{z-index:2;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.campaign-map-spyglass-hint{z-index:4;color:#e9ddbfc7;font-family:var(--font-secondary);font-size:var(--font-xs);letter-spacing:.04em;text-align:center;text-shadow:0 2px 3px #000;pointer-events:none;position:absolute;bottom:12px;left:14px;right:14px}@keyframes campaign-map-tokito-found{0%{opacity:1;filter:brightness(1.4)drop-shadow(0 0 2px #fff0a4);transform:translate(-50%,-50%)scale(1)}48%{opacity:1;filter:brightness(2.2)drop-shadow(0 0 5px #fff0a4)drop-shadow(0 0 10px #a85bdb);transform:translate(-50%,-50%)scale(1.38)}to{opacity:0;filter:brightness(1.7)drop-shadow(0 0 10px #a85bdb);transform:translate(-50%,-50%)scale(.72)}}@media (width<=860px){.campaign-map-layout{grid-template-columns:1fr}.campaign-map-preview-panel{min-height:460px}}.campaign-contract-scroll-scene{--campaign-contract-sign-duration:1.5s;isolation:isolate;color:#2d1b20;width:100%;height:clamp(270px,42vw,380px);font-family:var(--font-primary);position:relative}.campaign-confirm-tokito-stash{background:radial-gradient(circle at 42px 50%, #7c37973d, transparent 82px), var(--panel-alt);border-color:#d3a64880;align-items:center;gap:14px;display:flex;box-shadow:inset 0 0 0 1px #e1b85b3d,0 0 14px #682b821f}.campaign-confirm-tokito-icon{background:#07040cb8;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid;box-shadow:inset 0 0 0 1px #e2bb6073,0 0 9px #9147ae59}.campaign-confirm-tokito-title{color:var(--gold);font-size:var(--font-xs);margin-bottom:4px}.campaign-confirm-tokito-copy{color:var(--text-dim);font-family:var(--font-secondary);font-size:var(--font-xs);line-height:1.45}.campaign-contract-scroll-art{z-index:0;clip-path:inset(0 48%);opacity:0;pointer-events:none;animation:.82s cubic-bezier(.18,.78,.24,1) forwards campaign-contract-unfurl;position:absolute;inset:0;overflow:hidden}.campaign-contract-scroll-art img{width:100%;height:auto;image-rendering:pixelated;-webkit-user-select:none;user-select:none;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.campaign-contract-copy{z-index:2;text-shadow:0 1px #fff4c847;position:absolute;inset:32% 12% 12%;overflow:hidden}.campaign-contract-deed{color:#57264f;letter-spacing:.035em;text-align:center;min-height:1.5em;margin-bottom:8px;font-size:clamp(13px,1.45vw,17px);font-weight:800;line-height:1.35}.campaign-contract-text{color:#2d1b20;text-wrap:pretty;margin:0;font-size:clamp(11px,1.2vw,14px);line-height:1.55}.campaign-contract-ink-accent{color:#672a65;font-weight:800}.campaign-contract-ink-strong{color:#211218;font-weight:900}.campaign-contract-unwritten{visibility:hidden}.campaign-contract-caret{vertical-align:-.16em;width:0;height:1em;display:inline-block;position:relative}.campaign-contract-quill{--campaign-sign-quill-start-left:54%;--campaign-sign-quill-end-left:84%;--campaign-sign-quill-top:63%;--campaign-sign-quill-high:calc(63% - 26px);--campaign-sign-quill-upper:calc(63% - 20px);--campaign-sign-quill-middle:calc(63% - 9px);--campaign-sign-quill-low:calc(63% - 4px);z-index:3;aspect-ratio:1;object-fit:contain;opacity:0;filter:drop-shadow(0 3px 2px #2610236b);width:clamp(72px,9vw,96px);image-rendering:pixelated;pointer-events:none;transform-origin:22.13% 94.82%;-webkit-user-select:none;user-select:none;transition:top 34ms linear,left 34ms linear,opacity .14s;display:block;position:absolute;top:42%;left:50%}.campaign-contract-quill.is-writing{opacity:1;animation:.17s steps(2,end) infinite alternate campaign-contract-quill-scratch}.campaign-contract-quill.is-signing{animation:campaign-contract-quill-sign var(--campaign-contract-sign-duration) steps(42, end) .12s forwards}.campaign-contract-signature{z-index:2;clip-path:inset(0 100% 0 0);color:#57264f;width:36%;font-family:var(--font-signature);opacity:0;text-align:center;text-shadow:0 1px #fff4c842;white-space:nowrap;font-size:clamp(30px,4.8vw,46px);line-height:.9;position:absolute;bottom:25%;right:10%;overflow:hidden}.campaign-contract-signature-text{display:inline-block}.campaign-contract-signature.is-signed{animation:campaign-contract-sign var(--campaign-contract-sign-duration) steps(42, end) .12s forwards}@keyframes campaign-contract-unfurl{0%{clip-path:inset(0 48%);opacity:0;transform:scaleY(.78)}24%{opacity:1}to{clip-path:inset(0);opacity:1;transform:scaleY(1)}}@keyframes campaign-contract-quill-scratch{0%{transform:rotate(-1deg)}to{transform:rotate(1deg)}}@keyframes campaign-contract-quill-sign{0%{top:var(--campaign-sign-quill-top);left:var(--campaign-sign-quill-start-left);opacity:0;transform:rotate(-1deg)}8%{top:var(--campaign-sign-quill-high);opacity:1}15%{top:var(--campaign-sign-quill-middle)}23%{top:var(--campaign-sign-quill-upper)}31%{top:var(--campaign-sign-quill-low)}39%{top:var(--campaign-sign-quill-high)}47%{top:var(--campaign-sign-quill-middle)}55%{top:var(--campaign-sign-quill-upper)}63%{top:var(--campaign-sign-quill-low)}71%{top:var(--campaign-sign-quill-high)}79%{top:var(--campaign-sign-quill-middle)}87%{top:var(--campaign-sign-quill-upper)}92%{top:var(--campaign-sign-quill-low);opacity:1}to{top:var(--campaign-sign-quill-top);left:var(--campaign-sign-quill-end-left);opacity:0;transform:rotate(1deg)}}@keyframes campaign-contract-sign{0%{clip-path:inset(0 100% 0 0);opacity:0}8%{opacity:1}to{clip-path:inset(0);opacity:1}}@media (prefers-reduced-motion:reduce){.campaign-contract-scroll-art{clip-path:none;opacity:1;animation:none}.campaign-contract-quill.is-writing{animation:none}.campaign-contract-quill.is-signing{opacity:0;animation:none}.campaign-contract-signature.is-signed{clip-path:none;opacity:1;animation:none}}.campaign-modal-hd{min-height:64px;padding:12px 46px 10px}.campaign-modal-bd{padding:12px}.campaign-topbar{align-items:center;gap:20px;min-height:56px;padding:0 12px 0 24px;display:flex}.campaign-topbar-actions{align-items:center;gap:20px;margin-top:-4px;margin-left:24px;display:flex}.campaign-stepper{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:20px;min-width:0;display:flex}.campaign-step{cursor:default;min-width:118px;color:var(--gold);flex:0 128px}.campaign-step-inner{min-width:96px;min-height:14px;padding:3px 8px}.campaign-step-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.campaign-step.is-clickable{cursor:pointer}.campaign-step.is-clickable:hover{filter:saturate()brightness(1.04)}.campaign-step.is-clickable:active{transform:translateY(1px)}.campaign-step.is-current{filter:saturate(1.08)brightness(1.12)}.campaign-step.is-complete{color:var(--bone);filter:saturate(.9)brightness(.92)}.campaign-step.is-pending{color:var(--text-dim);filter:grayscale(.35)saturate(.62)brightness(.7)}.campaign-step-link{display:none}.campaign-step-link.is-complete{background:var(--gold-soft);box-shadow:0 0 8px #ffd56f6b}.campaign-footer-btn{--ornate-frame-y:10px;--ornate-frame-x:20px;min-width:120px;transform:translateY(6px)}.campaign-footer-btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(7px)}.campaign-footer-btn-inner{min-width:104px;min-height:18px;padding:4px 7px}.campaign-footer-btn-primary{min-width:170px}.campaign-footer-btn-primary .campaign-footer-btn-inner{min-width:146px}.campaign-footer{grid-template-columns:minmax(120px,1fr) minmax(360px,1080px) minmax(120px,1fr);align-items:center;gap:20px;margin-top:-7px;padding:10px 20px 13px;display:grid}.campaign-footer>.campaign-footer-btn:first-child{justify-self:start}.campaign-footer>.campaign-footer-btn:last-child{justify-self:end}.campaign-footer-identity{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;display:grid;transform:translateY(6px)}.campaign-footer-identity-line{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0;min-height:36px;display:grid}.campaign-footer-identity-label{color:var(--bone-dim);font-family:var(--font-secondary);font-size:var(--font-xs);white-space:nowrap;margin-right:8px}.campaign-footer-identity-input{width:100%;min-width:0;height:36px;box-shadow:none;color:var(--bone);text-align:center;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0 8px;overflow:hidden}.campaign-footer-identity-input:hover,.campaign-footer-identity-input:focus{background:#08040d57;outline:none;box-shadow:inset 0 0 0 1px #815b9761}.campaign-footer-identity-line.is-name .campaign-footer-identity-input{color:var(--gold);font-family:var(--font-primary);font-size:18px}.campaign-footer-identity-line.is-epithet .campaign-footer-identity-input{color:var(--bone-dim);font-family:var(--font-secondary);font-size:12px}.campaign-random-trigger{color:var(--gold-soft);margin-left:24px}.campaign-random-trigger-inner{padding:0}.campaign-random-die{fill:currentColor;filter:drop-shadow(1px 1px #000000b8);width:16px;height:16px;display:block}.campaign-random-die-pips{fill:var(--bg-deep)}.hud-bars-stack{position:relative}.hud-resource-bridge{z-index:8;pointer-events:none;align-items:center;width:min(640px,100% - 720px);min-width:600px;height:96px;padding:10px 4px 4px 36px;display:flex;position:absolute;top:0;left:320px}.hud-resource-bar{pointer-events:auto}.hud-topbar-resource-clearance{flex:clamp(420px,42vw,800px);min-width:min(360px,26vw);max-width:800px}.hud-topbar-resource-clearance-assembly{flex:clamp(420px,42vw,800px);min-width:min(360px,26vw);max-width:816px}.res-chip{background:var(--panel-inset,var(--bg));background:var(--bg);height:28px;box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light);font-family:var(--font-secondary);font-size:var(--font-xs);color:var(--text);border:0;align-items:center;gap:6px;margin:0;padding:0 10px 0 6px;line-height:1;display:inline-flex;position:relative;overflow:visible}.res-chip .res-val{color:var(--gold)}.res-chip-button{cursor:pointer;border:0}.res-chip-button:hover,.res-chip-button:focus-visible{filter:brightness(1.16)saturate(1.08)}.res-chip:disabled:not(.res-chip-button){opacity:1}.resource-asset-icon{-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.resource-asset-icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;display:block}.resource-tooltip-preview{flex-direction:column;align-items:center;gap:8px;display:flex}.resource-tooltip-preview img{object-fit:contain;width:128px;height:128px;image-rendering:pixelated;display:block}.res-chip-large{width:100%;min-width:0;height:100%;min-height:70px;font-size:var(--font-sm);flex-direction:column;justify-content:space-between;gap:0;padding:8px 5px 9px}.res-chip-large .res-val{text-align:center;width:100%;font-size:var(--font-md);display:block;min-width:auto!important;font-family:var(--font-primary)!important}.localized-resource-float-layer{z-index:95;pointer-events:none;position:fixed;inset:0;overflow:visible}.localized-resource-float-anchor{pointer-events:none;width:1px;height:1px;position:fixed;overflow:visible}.localized-resource-float-burst{pointer-events:none;width:1px;height:1px;position:absolute;top:-8px;left:50%;overflow:visible}.localized-resource-float{color:#71dc8d;font-family:var(--font-primary);white-space:nowrap;text-shadow:2px 2px #050307,-1px 1px #050307,1px -1px #050307,0 0 8px #43c467a6;will-change:opacity, transform;align-items:center;gap:4px;font-size:clamp(15px,1.35vw,21px);font-weight:600;line-height:1;animation:1.55s ease-out forwards localized-resource-number-float;display:inline-flex;position:absolute;left:0}.localized-resource-float.is-loss{color:#ed6671;text-shadow:2px 2px #050307,-1px 1px #050307,1px -1px #050307,0 0 8px #d33444b8}.localized-resource-float.is-research{color:#d3a6ff;text-shadow:2px 2px #050307,-1px 1px #050307,1px -1px #050307,0 0 9px #a457e8cc}@keyframes localized-resource-number-float{0%{opacity:0;transform:translate(-50%,8px)scale(.84)}14%{opacity:1;transform:translate(-50%)scale(1.08)}72%{opacity:1}to{opacity:0;transform:translate(-50%,-44px)scale(.96)}}@keyframes resource-number-fade{0%,to{opacity:0}12%,72%{opacity:1}}.floating-numbers-off .localized-resource-float-layer,.floating-numbers-off .localized-resource-float-burst,.floating-numbers-off .necropark-combat-float{display:none!important}.tile{background:var(--panel-alt);box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light);cursor:pointer;justify-content:center;align-items:center;transition:filter 60ms;display:flex;position:relative}.tile:hover{filter:brightness(1.15)}.tile.is-selected{box-shadow:inset 0 0 0 2px var(--gold), inset 0 0 0 4px var(--border-dark)}.tile.is-empty{background:linear-gradient(45deg, transparent 46%, var(--border-light) 46%, var(--border-light) 54%, transparent 54%), linear-gradient(-45deg, transparent 46%, var(--border-light) 46%, var(--border-light) 54%, transparent 54%), var(--panel);opacity:.5;background-size:12px 12px}.input,.textarea,.select{background:var(--bg);color:var(--text);box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light);font-family:var(--font-secondary);font-size:var(--font-xs);border:none;outline:none;width:100%;padding:8px 10px}.input:focus,.textarea:focus,.select:focus{box-shadow:inset 0 0 0 2px var(--gold), inset 0 0 0 4px var(--border-dark)}select.input,select.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6' fill='%23a89975'><path d='M0 0 H8 L4 6 Z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:24px}select.input::-ms-expand{display:none}select.select::-ms-expand{display:none}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.label{font-family:var(--font-secondary);font-size:var(--font-xs);letter-spacing:.08em;color:var(--text-dim);margin-bottom:4px;display:block}.h-display{font-family:var(--font-secondary);font-size:var(--font-xxl);letter-spacing:.04em;color:var(--gold);text-shadow:3px 3px 0 var(--bg-deep);line-height:1.1}.h-1{font-family:var(--font-secondary);font-size:var(--font-xxl);letter-spacing:.04em;color:var(--gold);line-height:1.2}.h-2{font-family:var(--font-primary);font-size:var(--font-xl);letter-spacing:.04em;color:var(--gold);line-height:1.2}.faint{color:var(--text-faint)}.mono{font-family:var(--font-secondary)}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between;align-items:center;display:flex}.grow{flex:1}.scroll{overflow-y:auto}.center{justify-content:center;align-items:center;display:flex}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--panel-hi);box-shadow:inset 0 0 0 2px var(--border-dark)}.hr{background:var(--border-dark);height:2px;box-shadow:0 1px 0 var(--border-light);border:none;margin:8px 0}.chip{background:var(--panel-alt);box-shadow:inset 0 0 0 1px var(--border-dark);font-family:var(--font-secondary);font-size:var(--font-xs);letter-spacing:.04em;color:var(--text-dim);align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.chip.gold{background:var(--gold);color:var(--bg-deep)}.chip.blood{background:var(--blood);color:var(--bone)}.chip.moss{background:var(--moss);color:var(--bg-deep)}.chip.ghost{background:var(--panel-hi);color:var(--ghost)}.necropark-root{-webkit-user-select:none;user-select:none;flex-direction:column;min-width:0;height:100%;display:flex;position:relative}.necropark-main{flex-direction:row;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.necropark-sidebar{flex-direction:column;flex:0 0 320px;min-height:0;display:flex}.necropark-sidebar-title{min-width:0;font-family:var(--font-primary);font-size:var(--font-xl);color:var(--gold);letter-spacing:1px;text-overflow:ellipsis;white-space:nowrap;flex:none;margin-bottom:8px;overflow:hidden}.necropark-sidebar-body{min-width:0}.necropark-dungeon-sidebar-body{flex-direction:column;flex:1;min-height:0;display:flex}.necropark-dungeon-map-frame .necropark-dungeon-map-hd{display:none}.necropark-dungeon-map-frame .necropark-dungeon-map-bd{padding:4px}.necropark-dungeon-map-preview{aspect-ratio:9/16;background:var(--panel);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:calc(100% + 12px);margin:-6px;display:flex;position:relative;overflow:hidden}.necropark-dungeon-map-image{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.necropark-map-image-stage{width:100%;height:100%;display:flex;position:relative}.necropark-map-pin-layer{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.necropark-map-hero-layer{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:9;position:absolute;inset:0}.necropark-map-hero-dot{background:var(--bone);border-radius:999px;width:14px;height:14px;display:block;position:absolute;top:100%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #04020ae6,0 0 9px #fffffff2}.necropark-map-pin{box-shadow:none;color:var(--gold);cursor:grab;font-family:var(--font-primary);font-size:var(--font-sm);pointer-events:auto;text-shadow:0 1px 2px #000000d9;touch-action:none;-webkit-user-select:none;user-select:none;z-index:5;background:url(/assets/necropark/pin.webp) 50%/contain no-repeat;border:0;justify-content:center;align-items:center;width:48px;min-width:48px;height:96px;padding:0;line-height:1;display:flex;position:absolute;transform:translate(-50%,-100%)}.necropark-map-pin:active,.necropark-map-pin.is-dragging{cursor:grabbing;z-index:7}.necropark-map-pin.is-closed{background-image:url(/assets/necropark/closed.webp)}.necropark-map-pin.is-progress{background-image:url(/assets/necropark/progress.webp)}.necropark-map-pin.is-progress,.necropark-map-pin.is-progress:active{cursor:pointer}.necropark-map-pin.is-locked,.necropark-map-pin.is-locked:active{cursor:pointer;z-index:3}.necropark-map-pin span{transform:translateY(-18px)}.workshop-canvas-viewport.is-panning,.workshop-canvas-viewport.is-panning *,.assembly-body-canvas-viewport.is-panning,.assembly-body-canvas-viewport.is-panning *{cursor:move!important}.workshop-canvas-viewport.is-dragging,.workshop-canvas-viewport.is-dragging *,.assembly-body-canvas-viewport.is-dragging,.assembly-body-canvas-viewport.is-dragging *{cursor:grabbing!important}.workshop-dev-controls{color:var(--text);z-index:40;background:linear-gradient(#271c14f5,#0d0a11f5);border:1px solid #d29c47b8;min-width:144px;position:absolute;top:18px;left:18px;box-shadow:0 8px 22px #0000007a,inset 0 0 0 1px #ffe19f14}.workshop-dev-controls.is-expanded{width:min(238px,100% - 36px)}.workshop-dev-controls button{color:inherit;cursor:pointer;font-family:var(--font-primary)}.workshop-dev-controls__toggle{font-size:var(--font-xs);letter-spacing:.08em;text-shadow:0 1px 2px #000;background:#07050a80;border:0;justify-content:space-between;align-items:center;width:100%;min-height:34px;padding:8px 10px;display:flex;color:var(--gold)!important}.workshop-dev-controls__toggle:hover,.workshop-dev-controls__toggle:focus-visible{background:#56391b6b}.workshop-dev-controls__body{border-top:1px solid #d29c475c;gap:5px;max-height:calc(100vh - 88px);padding:7px;display:grid;overflow-y:auto}.workshop-dev-controls__body button{color:var(--text);font-size:var(--font-xs);text-align:left;background:#19121eeb;border:1px solid #977a587a;min-height:32px;padding:6px 8px;line-height:1.2}.workshop-dev-controls__body button:hover,.workshop-dev-controls__body button:focus-visible{color:#fff5d7;background:#4f3220e6;border-color:#e6b35be6;outline:none}.workshop-dev-controls__divider{border-top:1px solid #d29c475c;height:1px;margin:3px 1px}.workshop-dev-catalog-modal-bg{z-index:1400;background:#020105e8}.workshop-dev-catalog-modal{width:min(1500px,100vw - 64px);height:min(850px,100vh - 64px)}.workshop-dev-catalog-modal__body{padding:0;display:flex;overflow:hidden}.workshop-dev-catalog-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.workshop-dev-catalog-table{border-collapse:separate;border-spacing:0;color:var(--bone);font-family:var(--font-secondary);font-size:var(--font-xs);width:100%;min-width:1180px;line-height:1.35}.workshop-dev-catalog-table.is-abilities{min-width:1320px}.workshop-dev-catalog-table th,.workshop-dev-catalog-table td{text-align:left;vertical-align:top;white-space:nowrap;background:#0e0a16c2;border-bottom:1px solid #7557864d;border-right:1px solid #7557862e;padding:7px 9px}.workshop-dev-catalog-table thead th{color:var(--gold-soft);font-family:var(--font-primary);letter-spacing:.04em;z-index:3;background:#35213cfa;border-bottom-color:#e0ae59b8;font-weight:400;position:sticky;top:0}.workshop-dev-catalog-table tbody th{color:#fff0bd;font-family:var(--font-primary);z-index:1;font-weight:400;position:sticky;left:0}.workshop-dev-catalog-table.has-sprites tbody th{left:65px}.workshop-dev-catalog-table td.is-sprite{text-align:center;width:48px;min-width:48px;padding:4px 8px}.workshop-dev-catalog-table.has-sprites td.is-sprite{z-index:2;position:sticky;left:0}.workshop-dev-catalog-table td.is-sprite .necropark-unit-sprite{margin:0 auto;display:block!important}.workshop-dev-catalog-table tbody tr:nth-child(2n) th,.workshop-dev-catalog-table tbody tr:nth-child(2n) td{background:#191122d1}.workshop-dev-catalog-table tbody tr:hover th,.workshop-dev-catalog-table tbody tr:hover td{background:#492f36eb}.workshop-dev-catalog-table td.is-mono,.workshop-dev-catalog-table code{color:#c7b4d1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.workshop-dev-catalog-table td.is-wide,.workshop-dev-catalog-table td.is-effects,.workshop-dev-catalog-table td.is-sources{white-space:normal;min-width:240px}.workshop-dev-catalog-table td.is-effects,.workshop-dev-catalog-table td.is-sources{max-width:440px}.workshop-dev-catalog-table td.is-book{min-width:220px}.workshop-dev-catalog-table td.is-book span,.workshop-dev-catalog-table td.is-book code{display:block}.workshop-dev-catalog-table td.is-book code{margin-top:4px;font-size:.9em}@media (width<=720px){.workshop-dev-catalog-modal{width:calc(100vw - 32px);height:calc(100vh - 32px)}}.necropark-map-pin.is-selected{filter:drop-shadow(0 0 10px #ffd052b8);z-index:6}.necropark-map-pin.is-closed.is-selected{filter:drop-shadow(0 0 10px var(--blood))}.necropark-map-pin.is-progress.is-selected{filter:drop-shadow(0 0 8px #48ff76f2)drop-shadow(0 0 16px #48ff76b8)}.necropark-map-lock-btn{z-index:8}.necropark-ticket-control{box-shadow:inset 0 0 0 1px var(--border-dark);background:#0c0814c2;flex:none;align-items:center;gap:6px;min-width:0;min-height:34px;margin-top:auto;padding:5px 6px;display:flex}.necropark-ticket-label{color:var(--text-dim);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;line-height:1;overflow:hidden}.necropark-ticket-price{flex:none;justify-content:flex-end;align-items:center;min-width:0;max-width:108px;display:flex}.necropark-ticket-upgrade-hit{flex:none;display:inline-flex}.necropark-ticket-upgrade{flex:0 0 26px;width:26px;min-width:26px;height:24px;min-height:24px;padding:0}.necropark-ticket-tooltip-tier{font-size:var(--font-xs);grid-template-columns:8px auto minmax(max-content,1fr);place-items:center start;column-gap:6px;width:100%;min-width:168px;display:grid}.necropark-ticket-tooltip-tier.is-current{color:var(--gold)}.necropark-ticket-tier-marker{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid #0000;width:0;height:0;display:block}.necropark-ticket-tooltip-tier.is-current .necropark-ticket-tier-marker{border-left-color:var(--gold)}.necropark-ticket-tier-name{justify-self:start}.necropark-ticket-tooltip-tier>:last-child{justify-self:end}.necropark-ticket-tooltip-upgrade{border-top:1px solid #d9b5ff38;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:3px;padding-top:5px;display:inline-flex}.workshop-tier-tooltip-tier{font-size:var(--font-xs);grid-template-columns:8px auto minmax(max-content,1fr);place-items:center start;column-gap:6px;width:100%;min-width:168px;display:grid}.workshop-tier-tooltip-tier.is-current{color:var(--gold)}.workshop-tier-tooltip-marker{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid #0000;width:0;height:0;display:block}.workshop-tier-tooltip-tier.is-current .workshop-tier-tooltip-marker{border-left-color:var(--gold)}.workshop-tier-tooltip-name{justify-self:start}.workshop-tier-tooltip-value{font-family:var(--font-primary);font-size:var(--font-sm);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right;white-space:nowrap;justify-self:end;min-width:0}.workshop-tier-tooltip-soul-chance{vertical-align:middle;align-items:center;gap:2px;display:inline-flex}.workshop-tier-tooltip-upgrade{border-top:1px solid #d9b5ff38;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:3px;padding-top:5px;display:inline-flex}.necropark-sidebar-body.is-palette{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.necropark-palette-scroll{flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:2px;display:flex;overflow:hidden auto}.necropark-palette-selection-dock{flex:none}.necropark-sidebar-action{flex:none;margin-top:auto}.necropark-sidebar-action .framed-menu-content{gap:6px}.necropark-new-dungeon-btn .framed-menu-content,.workshop-floating-action-btn .framed-menu-content{flex-direction:column;gap:4px}.workshop-floating-action-btn .workshop-floating-action-progress{color:var(--bone-dim);letter-spacing:.02em;font-size:var(--font-sm)!important}.necropark-new-dungeon-btn:disabled{pointer-events:none}.necropark-palette-selected{border-bottom:1px solid var(--border-dark);color:var(--bone);font-size:var(--font-xs);letter-spacing:.4px;padding:0 0 8px;line-height:1.35}.necropark-palette-selected-name{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-sm);letter-spacing:.8px}.necropark-palette-section{min-width:0}.necropark-room-add-row{border-bottom:1px solid var(--border-dark);flex-direction:column;gap:6px;padding:6px 0;display:flex}.necropark-room-kind-list{display:block}.necropark-room-add-preview{cursor:grab;image-rendering:pixelated;opacity:1;touch-action:none;justify-content:center;align-items:center;width:100%;display:flex}.necropark-room-add-preview.is-disabled{cursor:not-allowed;opacity:.45}.necropark-room-add-price{font-size:var(--font-xs);white-space:nowrap;min-height:24px}.necropark-dungeon-room-preview{aspect-ratio:1;box-shadow:inset 0 0 0 2px var(--border-dark), inset 0 0 0 3px var(--border-light);background-color:#1a1410;background-image:linear-gradient(#1a141080,#1a141080),url(/assets/cobblestone.webp);background-size:auto,64px 64px;width:100%;position:relative}.necropark-dungeon-room-preview:before,.necropark-dungeon-room-preview:after{content:"";pointer-events:none;position:absolute;inset:0}.necropark-dungeon-room-preview:before{z-index:0}.necropark-dungeon-room-preview:after{z-index:2;box-shadow:inset 0 0 0 1px #ffdc781f}.necropark-dungeon-room-preview.is-room-dark:before{background:radial-gradient(circle at 50% 48%,#4c2b803d,#0000 38%),radial-gradient(circle,#0000 35%,#020108b8 100%)}.necropark-dungeon-room-preview.is-room-unholy:before{background:radial-gradient(circle at 48% 54%,#50da7647,#0000 42%),linear-gradient(#0e482a3d,#0e482a3d)}.necropark-dungeon-room-preview.is-room-fire:before{background:radial-gradient(circle at 42% 70%,#fa74186b,#0000 38%),radial-gradient(circle at 70% 32%,#a024345c,#0000 40%),linear-gradient(#52180c38,#52180c38)}.necropark-dungeon-room-preview.is-room-dark-unholy:before{background:radial-gradient(circle at 54% 54%,#4dd2763d,#0000 34%),radial-gradient(circle,#0000 34%,#05020eb8 100%),linear-gradient(#2c1c523d,#2c1c523d)}.necropark-dungeon-room-preview-grid{z-index:1;grid-template-columns:1fr 1fr;gap:4px;display:grid;position:absolute;inset:22px}.necropark-dungeon-room-preview-grid span{background:#d9b5ff24;box-shadow:inset 0 0 0 1px #d9b5ff3d}.necropark-dungeon-room-preview .necropark-room-order{z-index:3;position:absolute;top:4px;left:4px}.necropark-palette-section-title{background:var(--panel-alt);border:1px solid var(--border-dark);color:var(--gold);font-family:var(--font-primary);font-size:var(--font-sm);letter-spacing:.8px;text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:30px;margin-bottom:6px;padding:5px 7px;display:flex}.necropark-palette-section-title-main{align-items:center;gap:6px;min-width:0;display:inline-flex}.necropark-palette-section-chevron{color:var(--bone);font-family:var(--font-tertiary);text-align:center;flex:0 0 10px;display:inline-block}.necropark-palette-filters{flex-direction:column;gap:6px;display:flex}.necropark-palette-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 62px;gap:5px;display:grid}.necropark-palette-filter-row.is-creatures{grid-template-columns:minmax(0,94px) minmax(0,1fr)}.necropark-palette-filter-row.is-shop-minions{grid-template-columns:minmax(0,1fr) 94px minmax(0,150px)}.necropark-palette-filter-input{background:var(--bg);border:1px solid var(--border-dark);color:var(--bone);font-family:var(--font-secondary);font-size:var(--font-xs);min-width:0;padding:5px 6px}.necropark-palette-filter-input::placeholder{color:var(--text-faint)}.necropark-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.council-assault-canvas-shell{background:radial-gradient(circle at 50% 39%,#59277f4d,#0000 47%),linear-gradient(#050309f0,#020105fc);justify-content:center;align-items:center;width:100%;height:clamp(500px,72vh,780px);min-height:0;display:flex;position:relative;overflow:hidden}.council-assault-canvas-shell:before{content:"";pointer-events:none;background:radial-gradient(#733e9a40,#05020a00 68%);position:absolute;inset:8% 9% 2%}.council-assault-crystal-ball{aspect-ratio:1;isolation:isolate;flex:none;height:min(100%,780px);position:relative}.council-assault-crystal-viewport{clip-path:circle(49%);z-index:1;border-radius:50%;width:61.5%;height:61.5%;position:absolute;top:11%;left:19.25%;overflow:hidden}.council-assault-crystal-viewport .necropark-canvas{width:100%;height:100%;margin-top:0}.council-assault-crystal-viewport .workshop-canvas-viewport{box-shadow:none!important}.council-assault-crystal-viewport .necropark-canvas-status.is-progress{text-align:center;background:#030207b3;align-items:center;width:78%;padding:6px 8%;font-size:clamp(9px,.9vw,13px);top:6%;left:50%;transform:translate(-50%)}.council-assault-crystal-viewport .necropark-progress-heroes{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;display:grid}.council-assault-crystal-viewport .necropark-progress-hero{gap:3px;min-height:24px;font-size:clamp(7px,.65vw,10px)}.council-assault-crystal-glass{pointer-events:none;z-index:2;background:radial-gradient(at 34% 21%,#d3f5ff33 0 4%,#0000 10%),radial-gradient(circle,#0000 55%,#62238333 78%,#0f031985 100%);border-radius:50%;width:61.5%;height:61.5%;position:absolute;top:11%;left:19.25%}.council-assault-crystal-frame{height:100%;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3;width:100%;display:block;position:absolute;inset:0}@media (width<=720px),(height<=680px){.council-assault-canvas-shell{height:clamp(420px,70vh,610px)}.council-assault-crystal-viewport .necropark-progress-hero-info{display:none}}.council-assault-scrying-modal-bg{z-index:1300;background:radial-gradient(circle at 50% 48%,#461f5b2e,#0000 58%),#020105f2;justify-content:center;align-items:center;overflow:hidden}.council-assault-scrying{aspect-ratio:3/2;color:var(--bone);isolation:isolate;outline:none;width:min(98vw,145.5vh);max-height:97vh;position:relative;box-shadow:0 16px 24px #000000c7}.council-assault-scrying:before{content:"";image-rendering:pixelated;pointer-events:none;z-index:0;background:url(/assets/council/city-council-assault-war-table-v2.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.council-assault-scrying:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 48%,#441d5b33,#0c041414 46%,#0000 72%);position:absolute;inset:0}.council-assault-scrying-canvas{z-index:3;position:absolute;inset:8% 0 13%}.council-assault-scrying .council-assault-canvas-shell{background:0 0;height:100%;overflow:visible}.council-assault-scrying .council-assault-canvas-shell:before{background:radial-gradient(at 50% 88%,#00000094,#0000 58%);inset:12% 22% 0}.council-assault-scrying .council-assault-crystal-ball{filter:drop-shadow(0 10px 8px #000000b8)}.modal-close-btn.council-assault-scrying-close-btn{z-index:9;width:min(230px,34%);min-width:min(230px,34%);position:absolute;left:50%;transform:translate(-50%);top:12px!important}.council-assault-scrying-briefing{pointer-events:none;text-align:center;z-index:8;justify-content:center;align-items:center;display:flex;position:absolute;bottom:20px;left:22%;right:22%}.council-assault-scrying-briefing .council-assault-selector-difficulty{max-width:100%}.council-unit-selection .ornate-frame-surface.necropark-palette-item-frame.is-selected .ornate-frame-art{filter:saturate(.92)brightness(.92)drop-shadow(0 2px #00000073)}.council-unit-selection .necropark-palette-item-frame.is-selected:after{border:2px solid var(--gold-soft);content:"";pointer-events:none;z-index:10;position:absolute;inset:2px}.council-assault-selector-modal-bg{z-index:1300;background:radial-gradient(circle at 50% 46%,#5d2c7e33,#0000 52%),#020105f2;justify-content:center;align-items:center;overflow:hidden}.council-assault-selector{aspect-ratio:3/2;color:var(--bone);isolation:isolate;outline:none;width:min(98vw,145.5vh);max-height:97vh;position:relative}.council-assault-selector:before{content:"";filter:drop-shadow(0 14px 12px #000000b8);image-rendering:pixelated;pointer-events:none;z-index:0;background:url(/assets/council/city-council-assault-formation-v2.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.council-assault-selector:after{content:"";image-rendering:pixelated;pointer-events:none;z-index:6;background-image:url(/assets/council/city-council-assault-general-v1.png);background-position:center bottom -60%;background-repeat:no-repeat;background-size:68%;position:absolute;inset:0}.council-assault-selector-general-arm-pivot{--council-general-arm-angle:0deg;pointer-events:none;height:0;transform:rotate(var(--council-general-arm-angle));transform-origin:0 0;will-change:transform;z-index:5;width:0;position:absolute;top:92.3%;left:55.7%}.council-assault-selector-general-arm{image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(110px,13vw,190px);max-width:none;display:block;position:absolute;top:0;left:0;transform:translate(-50%,-94%)}.council-assault-selector-briefing{pointer-events:none;text-align:center;z-index:7;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:0 2%;display:flex;position:absolute;bottom:20px;left:21%;right:21%}.council-assault-selector-difficulty{color:var(--gold);font-family:var(--font-primary);text-align:center;text-overflow:ellipsis;text-shadow:-1px -1px #050207,1px -1px #050207,-1px 1px #050207,1px 1px #050207,0 3px #050207,0 0 9px #000000f5;white-space:nowrap;max-width:96%;margin:0;font-size:clamp(13px,1.2vw,21px);font-weight:400;line-height:1.05;overflow:hidden}.council-assault-selector-orders{color:var(--bone-dim);font-family:var(--font-secondary);text-align:center;text-shadow:0 1px 2px #000;background:0 0;flex-direction:column;align-items:center;gap:2px;width:100%;padding:4px 0 0;font-size:clamp(8px,.72vw,13px);line-height:1.2;display:flex}.council-assault-selector-orders strong{color:#e5938e;font-size:.88em;font-weight:400}.council-assault-selector-formation.council-unit-selection{scrollbar-color:#ac72c4b8 #08050d73;scrollbar-width:thin;z-index:4;flex-wrap:wrap;place-content:start center;align-items:stretch;gap:clamp(8px,.9vw,14px);padding:1.1% 1.2% 2.4%;display:flex;position:absolute;inset:2.5% 0 25.5%;overflow:hidden auto}.council-assault-selector-formation>.necropark-palette-item-frame{flex:0 0 138px;height:auto;min-height:0;transition:filter .14s,opacity .24s}.council-assault-selector-formation>.necropark-palette-item-frame:not(.is-selected){opacity:.7}.council-assault-selector-formation>.necropark-palette-item-frame:hover:not(.is-unavailable),.council-assault-selector-formation>.necropark-palette-item-frame:focus-within:not(.is-unavailable){filter:brightness(1.08);opacity:1;z-index:12}.council-assault-selector-empty{color:var(--bone-dim);font-family:var(--font-secondary);text-align:center;background:#09060ec7;border:1px solid #b17e488c;flex:1 0 100%;justify-content:center;align-items:center;min-height:90px;padding:18px;line-height:1.4;display:flex}.council-assault-selector-control{z-index:8;width:min(320px,38%);position:absolute;bottom:5.5%}.council-assault-selector-control.is-cancel{left:3%}.council-assault-selector-control.is-launch{right:3%}@media (width<=780px),(height<=540px){.council-assault-selector-formation.council-unit-selection{gap:5px}}[data-workshop-worker-sidebar=true]{width:100%;min-width:0}.workshop-worker-list{flex-direction:column;gap:28px;width:100%;margin:0;padding:18px 10px 20px;display:flex;overflow:visible}.workshop-worker-row-frame{--worker-accent:#f5f5eb;--worker-accent-rgb:245, 245, 235;--ornate-frame-y:0px;--ornate-frame-x:0px;--ornate-frame-pad:0px;--ornate-frame-blur:0px;--ornate-art-corner-size:30px;--ornate-art-gem-width-size:36px;--ornate-art-side-center-size:26px;--ornate-art-outset-y-size:16px;--ornate-art-outset-x-size:16px;--ornate-fill-margin-top:-4px;--ornate-fill-margin-left:-8px;--ornate-fill-width:calc(100% + 16px);--ornate-fill-height:calc(100% + 8px);box-shadow:none;color:var(--bone);background:0 0;width:100%;min-width:0;padding:0;position:relative}.ornate-frame-surface.workshop-worker-row-frame{overflow:visible}.ornate-frame-surface.workshop-worker-row-frame .ornate-frame-art-piece:is(.is-top-c,.is-bottom-c,.is-left-c,.is-right-c){display:none}.ornate-frame-surface.workshop-worker-row-frame .ornate-frame-art-piece:is(.is-top-l,.is-bottom-l){left:var(--ornate-art-corner);width:max(0px, calc(50% - var(--ornate-art-corner)))}.ornate-frame-surface.workshop-worker-row-frame .ornate-frame-art-piece:is(.is-top-r,.is-bottom-r){left:50%;right:var(--ornate-art-corner)}.ornate-frame-surface.workshop-worker-row-frame .ornate-frame-art-piece:is(.is-left-t,.is-left-b,.is-right-t,.is-right-b){height:max(0px, calc(50% - var(--ornate-art-corner)))}.workshop-worker-row-frame:before{content:none}.ornate-frame-surface.workshop-worker-row-frame .ornate-frame-art{filter:saturate(.92)brightness(.92)drop-shadow(0 2px #00000073)}.workshop-worker-row{box-shadow:none;touch-action:none;z-index:1;background:0 0;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-width:0;min-height:74px;padding:13px 10px;display:grid;position:relative;overflow:visible}.ornate-frame-surface.workshop-worker-row-frame>.workshop-worker-row:before{background:radial-gradient(ellipse at 18% 46%, rgba(var(--worker-accent-rgb), .24) 0%, rgba(var(--worker-accent-rgb), .12) 42%, rgba(var(--worker-accent-rgb), .06) 72%), linear-gradient(90deg, rgba(var(--worker-accent-rgb), .16), rgba(var(--worker-accent-rgb), .1) 48%, rgba(var(--worker-accent-rgb), .07)), linear-gradient(180deg, rgba(var(--worker-accent-rgb), .1), rgba(var(--worker-accent-rgb), .04)), linear-gradient(180deg, #2c2044b8, #0d0818e6), url(/assets/interface/center-6.webp);box-shadow:inset 0 0 18px #0000008f, inset 0 0 0 1px rgba(var(--worker-accent-rgb), .22);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat;background-size:100% 100%,100% 100%,100% 100%,100% 100%,32px 32px}.workshop-worker-row-frame>.workshop-worker-row{z-index:1;position:relative;inset:auto;overflow:visible}.workshop-worker-row-frame.is-rarity-c{--worker-accent:#e8e8dc;--worker-accent-rgb:232, 232, 220}.workshop-worker-row-frame.is-rarity-u{--worker-accent:#54be69;--worker-accent-rgb:84, 190, 105}.workshop-worker-row-frame.is-rarity-r{--worker-accent:#9156d6;--worker-accent-rgb:145, 86, 214}.workshop-worker-row-frame.is-rarity-vr{--worker-accent:#e08e36;--worker-accent-rgb:224, 142, 54}.workshop-worker-row-frame.is-rarity-l{--worker-accent:#ffd65c;--worker-accent-rgb:255, 214, 92}.workshop-worker-row-frame.is-rarity-gold{--worker-accent:var(--gold);--worker-accent-rgb:240, 180, 41}.ornate-frame-surface.workshop-worker-row-frame.is-rarity-l .ornate-frame-art,.ornate-frame-surface.workshop-worker-row-frame.is-rarity-gold .ornate-frame-art{filter:saturate()brightness(1.02)drop-shadow(0 2px #00000073)}.workshop-worker-row-frame.is-servitor{--worker-accent:#c9d4ff;--worker-accent-rgb:201, 212, 255}.ornate-frame-surface.workshop-worker-row-frame.is-selected .ornate-frame-art{filter:saturate(1.1)brightness(1.1)drop-shadow(0 2px #00000073)drop-shadow(0 0 8px #f0b42961)}.workshop-worker-icon{background:radial-gradient(ellipse at 50% 48%, rgba(var(--worker-accent-rgb), .22), #07040ea3 58%, #030207e6);box-shadow:inset 0 0 0 1px rgba(var(--worker-accent-rgb), .46), inset 0 0 12px #000000a3, 0 1px 0 #0000008c;align-self:stretch;min-height:56px;padding:4px;position:relative;overflow:visible}.workshop-worker-icon .necropark-stack-badge{z-index:5;inset:auto -3px -3px auto}.workshop-worker-sprite{image-rendering:pixelated;filter:drop-shadow(0 2px #0000006b);transform-origin:50%;display:inline-block;transform:scale(1.3)}.workshop-worker-row-frame.is-unavailable .workshop-worker-sprite{filter:grayscale(.45)opacity(.58)drop-shadow(0 2px #00000057)}.workshop-worker-row-frame.is-unavailable .workshop-worker-icon{background:radial-gradient(ellipse at 50% 48%, rgba(var(--worker-accent-rgb), .11), #07040e99 58%, #030207e0)}.workshop-worker-row-body{flex-direction:column;gap:5px;min-width:0;display:flex}.workshop-worker-titleline{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.workshop-worker-name{color:var(--bone);font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1;overflow:hidden}.workshop-worker-tier-pill{background:linear-gradient(180deg, rgba(var(--worker-accent-rgb), .18), #05030a80);box-shadow:inset 0 0 0 1px rgba(var(--worker-accent-rgb), .72), 0 1px 0 #00000080;color:var(--worker-accent);font-size:var(--font-xs);flex:none;padding:3px 5px;line-height:1}.workshop-worker-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.workshop-worker-stat{box-shadow:inset 0 0 0 1px rgba(var(--worker-accent-rgb), .18), inset 0 -1px 0 #00000047;color:var(--text-dim);font-size:var(--font-xs);text-align:center;background:#05030c57;flex-direction:column;gap:1px;min-width:0;padding:3px 4px;line-height:1.1;display:flex;overflow:hidden}.workshop-worker-stat span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workshop-worker-stat strong{color:var(--bone);font-family:var(--font-primary);font-weight:400}.workshop-worker-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.workshop-worker-actions:empty{display:none}.workshop-worker-actions>:only-child{grid-column:1/-1}.workshop-worker-action-button{background:radial-gradient(ellipse at 50% 35%, rgba(var(--worker-accent-rgb), .18), #0c0716e6 72%);box-shadow:inset 0 0 0 1px rgba(var(--worker-accent-rgb), .42), inset 0 2px 0 #ffffff12, inset 0 -2px 0 #00000057, 0 1px 0 #00000073;color:var(--bone);cursor:pointer;font-size:var(--font-xs);text-align:center;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:22px;padding:4px 5px;line-height:1;display:inline-flex;overflow:hidden}.workshop-worker-action-button>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.workshop-worker-action-button:hover:not(:disabled){background:var(--gold-deep);color:var(--bone)}.workshop-worker-action-button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.46}.workshop-worker-action-cost{transform-origin:50%;flex:none;align-items:center;display:inline-flex;transform:scale(.86)}.necropark-palette-filters.is-shop{margin-bottom:12px}.necropark-palette-item-frame{--palette-accent:#f5f5eb;--palette-accent-rgb:245, 245, 235;--ornate-frame-y:0px;--ornate-frame-x:0px;--ornate-frame-pad:0px;--ornate-frame-blur:0px;--ornate-art-corner-size:22px;--ornate-art-gem-width-size:18px;--ornate-art-side-center-size:14px;--ornate-art-outset-y-size:5px;--ornate-art-outset-x-size:5px;--ornate-fill-margin-top:-2px;--ornate-fill-margin-left:-2px;--ornate-fill-width:calc(100% + 4px);--ornate-fill-height:calc(100% + 4px);box-shadow:none;color:var(--bone);background:0 0;width:100%;min-width:0;height:100%;padding:0;display:flex;position:relative}.ornate-frame-surface.necropark-palette-item-frame{overflow:visible}.ornate-frame-surface.necropark-palette-item-frame .ornate-frame-art-piece:is(.is-top-c,.is-bottom-c,.is-left-c,.is-right-c){display:none}.ornate-frame-surface.necropark-palette-item-frame .ornate-frame-art-piece:is(.is-top-l,.is-bottom-l){left:var(--ornate-art-corner);width:max(0px, calc(50% - var(--ornate-art-corner)))}.ornate-frame-surface.necropark-palette-item-frame .ornate-frame-art-piece:is(.is-top-r,.is-bottom-r){left:50%;right:var(--ornate-art-corner)}.ornate-frame-surface.necropark-palette-item-frame .ornate-frame-art-piece:is(.is-left-t,.is-left-b,.is-right-t,.is-right-b){height:max(0px, calc(50% - var(--ornate-art-corner)))}.ornate-frame-surface.necropark-palette-item-frame .ornate-frame-art{filter:saturate(.92)brightness(.92)drop-shadow(0 2px #00000073)}.necropark-palette-item-frame>.ornate-frame-fill{flex:auto;width:100%;min-width:0;min-height:100%;display:flex}.necropark-palette-item-frame.has-equipment-manager>.ornate-frame-fill{flex-direction:column}.necropark-palette-item-frame.has-equipment-manager .necropark-palette-item{flex:auto;height:auto}.ornate-frame-surface.necropark-palette-item-frame>.ornate-frame-fill:before{box-shadow:none;background:0 0}.necropark-palette-item-frame.is-unavailable{filter:grayscale(.55);opacity:.58}.necropark-palette-item-frame.is-unavailable.can-repair{filter:none;opacity:.82}.necropark-palette-item-frame.is-rarity-c{--palette-accent:#e8e8dc;--palette-accent-rgb:232, 232, 220}.necropark-palette-item-frame.is-rarity-u{--palette-accent:#54be69;--palette-accent-rgb:84, 190, 105}.necropark-palette-item-frame.is-rarity-r{--palette-accent:#9156d6;--palette-accent-rgb:145, 86, 214}.necropark-palette-item-frame.is-rarity-vr{--palette-accent:#e08e36;--palette-accent-rgb:224, 142, 54}.necropark-palette-item-frame.is-rarity-l{--palette-accent:#ffd65c;--palette-accent-rgb:255, 214, 92}.ornate-frame-surface.necropark-palette-item-frame.is-rarity-l .ornate-frame-art,.ornate-frame-surface.necropark-palette-item-frame.is-selected .ornate-frame-art{filter:saturate(1.06) brightness(1.04) drop-shadow(0 2px 0 #00000073) drop-shadow(0 0 8px rgba(var(--palette-accent-rgb), .26))}.necropark-palette-item{box-shadow:none;z-index:1;background:0 0;border:0;flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;gap:3px;width:100%;min-width:0;height:100%;min-height:92px;padding:6px;display:flex;position:relative;overflow:hidden}.ornate-frame-surface.necropark-palette-item-frame .necropark-palette-item:before{background:radial-gradient(ellipse at 50% 22%, rgba(var(--palette-accent-rgb), .34) 0%, rgba(var(--palette-accent-rgb), .18) 40%, rgba(var(--palette-accent-rgb), .07) 74%), linear-gradient(180deg, rgba(var(--palette-accent-rgb), .18), rgba(var(--palette-accent-rgb), .1) 45%, rgba(var(--palette-accent-rgb), .08)), linear-gradient(90deg, rgba(var(--palette-accent-rgb), .11), #0d081824 48%, rgba(var(--palette-accent-rgb), .08)), linear-gradient(180deg, #2c2044b8, #0d0818e6), url(/assets/interface/center-6.webp);box-shadow:inset 0 0 16px #0000008a, inset 0 0 0 1px rgba(var(--palette-accent-rgb), .28);content:"";pointer-events:none;z-index:-1;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat;background-size:100% 100%,100% 100%,100% 100%,100% 100%,32px 32px;position:absolute;inset:0}.necropark-palette-item>*{z-index:1;position:relative}.necropark-palette-item.tile,.necropark-palette-item.tile:hover,.necropark-palette-item.tile.is-selected{box-shadow:none;filter:none;background:0 0}.shop-item-card.is-rarity-c{background:linear-gradient(180deg, #f5f5eb2e, var(--panel-alt) 44%);box-shadow:inset 0 0 0 1px #f5f5ebb8}.shop-item-card.is-rarity-u{background:linear-gradient(180deg, #54be6933, var(--panel-alt) 44%);box-shadow:inset 0 0 0 1px #54be69c7}.shop-item-card.is-rarity-r{background:linear-gradient(180deg, #9156d63b, var(--panel-alt) 44%);box-shadow:inset 0 0 0 1px #9156d6d6}.shop-item-card.is-rarity-vr{background:linear-gradient(180deg, #e08e363d, var(--panel-alt) 44%);box-shadow:inset 0 0 0 1px #e08e36e6}.shop-item-card.is-rarity-l{background:linear-gradient(180deg, #ffd65c47, var(--panel-alt) 44%);box-shadow:inset 0 0 0 1px #ffd65cf2,0 0 10px #ffd65c29}.necropark-palette-item-icon{min-height:34px;padding:5px 8px 3px;position:relative}.necropark-palette-item-icon .necropark-slot-badge{top:-1px;right:-1px}.necropark-palette-item-icon .necropark-stack-badge{top:-1px;left:-1px}.necropark-palette-item-name{color:var(--bone);font-size:var(--font-xs);overflow-wrap:anywhere;text-align:center;text-shadow:0 1px #000000b8;min-height:2.4em;line-height:1.2}.necropark-palette-item-frame.is-compact-card .necropark-palette-item{gap:2px;min-height:0;padding:5px}.necropark-palette-item-frame.is-compact-card .necropark-palette-item-icon{min-height:30px;padding:2px 8px 1px}.necropark-palette-item-frame.is-compact-card .necropark-palette-item-name.is-ellipsis{text-overflow:ellipsis;white-space:nowrap;min-height:1.2em;display:block;overflow:hidden}.necropark-palette-item-frame.is-compact-card .necropark-palette-item-meta.is-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 4px;font-size:10px;line-height:1.05;display:grid}.necropark-palette-item-frame.is-compact-card .necropark-palette-item-meta.is-two-column>span{min-width:0}.necropark-palette-item-frame.is-compact-card .necropark-palette-item-meta.is-two-column>.is-special{grid-column:1/-1}.necropark-palette-item-frame.is-compact-card .necropark-palette-item-meta.is-two-column>.is-special.is-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.necropark-palette-item-meta{color:var(--text-dim);font-size:var(--font-xs);text-align:center;text-shadow:0 1px #000000b3;flex-direction:column;gap:2px;line-height:1.25;display:flex}.necropark-palette-item-price{color:var(--gold);font-family:var(--font-secondary);font-size:var(--font-xs);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;min-width:0;margin-top:auto;display:inline-flex}.necropark-palette-item-action-label{color:var(--gold)}.necropark-palette-item-frame.is-unavailable .necropark-palette-item-price{color:var(--blood);flex-direction:column;gap:1px}.unit-card{--unit-card-accent-rgb:245, 245, 235;background:radial-gradient(ellipse at 18% 12%, rgba(var(--unit-card-accent-rgb), .2), transparent 52%), linear-gradient(180deg, #241936d1, #0c0814f0);box-shadow:inset 0 0 0 1px rgba(var(--unit-card-accent-rgb), .32), inset 0 0 18px #0000007a;color:var(--bone);flex-direction:column;flex:auto;gap:6px;width:100%;min-width:0;min-height:0;padding:7px;display:flex;container-type:inline-size}.unit-card.is-rarity-u{--unit-card-accent-rgb:84, 190, 105}.unit-card.is-rarity-r{--unit-card-accent-rgb:145, 86, 214}.unit-card.is-rarity-vr{--unit-card-accent-rgb:224, 142, 54}.unit-card.is-rarity-l{--unit-card-accent-rgb:255, 214, 92}.unit-card.is-unavailable{filter:grayscale(.45)}.unit-card-header{text-align:center;grid-template-columns:minmax(0,1fr);align-items:center;gap:5px;min-width:0;display:grid;position:relative}.unit-card-portrait{justify-content:center;align-items:center;min-width:48px;min-height:48px;display:flex;position:relative}.unit-card-count{color:var(--gold-soft);font-size:10px;position:absolute;top:-2px;left:-2px}.unit-card-identity{gap:3px;min-width:0;display:grid}.unit-card-identity>strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-sm);overflow-wrap:normal;word-break:normal;text-shadow:0 1px #000000d1;font-weight:400;line-height:1.12}.unit-card-slot-count{--unit-card-slot-dot-size:3px;--unit-card-slot-gap:2px;gap:var(--unit-card-slot-gap);grid-template-columns:repeat(var(--unit-card-slot-grid-size), var(--unit-card-slot-dot-size));background:rgba(var(--unit-card-accent-rgb), .13);box-shadow:inset 0 0 0 1px rgba(var(--unit-card-accent-rgb), .4);color:rgba(var(--unit-card-accent-rgb), .96);place-content:center;min-width:16px;min-height:16px;padding:3px;display:grid;position:absolute;top:0;right:0}.unit-card-slot-count>i{width:var(--unit-card-slot-dot-size);height:var(--unit-card-slot-dot-size);background:currentColor;box-shadow:0 0 3px}.unit-card-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:0;margin:0;display:grid}.unit-card-stats>div{text-align:center;background:#05030a6b;grid-template-columns:minmax(0,1fr);align-items:center;gap:1px;min-width:0;padding:3px 4px;display:grid}.unit-card-stats dt{color:var(--text-dim);text-overflow:clip;white-space:nowrap;font-size:9px;line-height:1.12;overflow:hidden}.unit-card-stats dd{color:var(--bone);font-family:var(--font-secondary);white-space:nowrap;flex:none;min-width:0;margin:0;font-size:9px;line-height:1.12}.unit-card-combat-context{flex-wrap:wrap;gap:3px;display:flex}.unit-card-combat-context>span{background:var(--panel-alt);color:var(--text-dim);padding:3px 4px;font-size:9px;line-height:1.2}.unit-card-combat-context>.is-ally{color:var(--moss-bright)}.unit-card-combat-context>.is-enemy{color:var(--blood-bright)}.unit-card-footer{min-width:0;margin-top:auto}.unit-card .necropark-palette-item-price,.unit-card .shop-item-price{margin-top:0}@container (width>=210px){.unit-card:not(.is-shop) .unit-card-header{text-align:left;grid-template-columns:auto minmax(0,1fr) auto}.unit-card:not(.is-shop) .unit-card-slot-count{position:static}.unit-card:not(.is-shop) .unit-card-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width>=340px){.unit-card:not(.is-shop) .unit-card-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.unit-card.is-shop{box-shadow:none;background:0 0;gap:2px;height:100%;padding:1px}.unit-card.is-shop .unit-card-header{text-align:left;grid-template-columns:34px minmax(0,1fr) auto;gap:2px}.unit-card.is-shop .unit-card-portrait{min-width:34px;min-height:34px}.unit-card.is-shop .unit-card-identity{gap:1px}.unit-card.is-shop .unit-card-identity>strong{color:var(--shop-card-name-color);text-shadow:var(--shop-card-text-shadow);font-size:10px;line-height:1.05}.unit-card.is-shop .unit-card-slot-count{--unit-card-slot-dot-size:2px;--unit-card-slot-gap:1px;box-shadow:inset 0 0 0 1px var(--shop-card-rarity);color:var(--shop-card-meta-color);background:#08040a61;min-width:11px;min-height:11px;padding:2px}.unit-card.is-shop .unit-card-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.unit-card.is-shop .unit-card-stats>div{background:#0703096b;gap:1px;padding:1px 2px}.unit-card.is-shop .unit-card-stats dt{color:var(--shop-card-meta-color);font-size:7px;line-height:1}.unit-card.is-shop .unit-card-stats dd{color:var(--shop-card-text-color);font-size:8px;line-height:1}.unit-card.is-shop .unit-card-slot-count{position:static}.unit-card.is-shop .unit-card-count{color:var(--shop-card-name-color);font-size:8px}.unit-card.is-shop .shop-item-price{font-size:9px;line-height:1}.unit-card-ability-tooltip{width:max-content;max-width:min(430px,100vw - 24px)}.unit-card-ability-tooltip .ornate-tooltip-inner{text-align:left;align-items:stretch;gap:7px}.unit-card-ability-tooltip .ornate-tooltip-line{text-align:left}.unit-card-tooltip-body{gap:8px;min-width:min(320px,100vw - 56px);display:grid}.unit-card-tooltip-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.unit-card-tooltip-stats>span{background:#05030a80;justify-content:space-between;align-items:baseline;gap:5px;min-width:0;padding:3px 5px;display:flex}.unit-card-tooltip-stats small{color:var(--text-dim);font-size:9px}.unit-card-tooltip-stats strong{color:var(--bone);font-family:var(--font-secondary);white-space:nowrap;font-size:10px;font-weight:400}.unit-card-tooltip-abilities{gap:7px;display:grid}.unit-card-tooltip-empty{color:var(--text-dim);font-size:var(--font-xs);padding:3px 0}.unit-card-ability-tooltip-row{border-top:1px solid rgba(var(--necropark-tier-rgb,245, 245, 235), .22);gap:3px;padding-top:6px;display:grid}.unit-card-ability-tooltip-row>strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-sm);font-weight:400}.unit-card-ability-tooltip-row>span{color:var(--bone);font-size:var(--font-xs);line-height:1.3}.unit-card-ability-tooltip-meta{flex-wrap:wrap;gap:3px;display:flex}.unit-card-ability-tooltip-meta>span{background:var(--panel-alt);color:var(--text-dim);padding:2px 4px}.necropark-ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.necropark-canvas{flex:auto;min-width:0;min-height:0;margin-top:8px;padding:0;position:relative;overflow:hidden}.necropark-canvas-status{font-family:var(--font-primary);font-size:var(--font-md);pointer-events:none;z-index:90;line-height:1;position:absolute;top:12px}.necropark-canvas-status.is-entrance{cursor:pointer;pointer-events:auto;min-width:168px;left:12px}.necropark-canvas-status.is-vault{cursor:pointer;pointer-events:auto;min-width:148px;right:12px}.necropark-canvas-status.is-vault:disabled{cursor:default;opacity:.7}.necropark-canvas-status.is-progress{box-sizing:border-box;color:var(--necropark-progress-color);font-size:var(--font-lg);text-shadow:0 2px #000000a6;flex-direction:column;align-items:flex-start;gap:5px;width:min(360px,100% - 24px);padding:7px 10px;display:flex;left:12px}.necropark-progress-title{line-height:1;animation:1.6s ease-in-out infinite necropark-status-blink}.necropark-progress-heroes{flex-direction:column;gap:3px;width:100%;display:flex}.necropark-progress-hero{color:#f8da8a;font-size:var(--font-sm);align-items:center;gap:6px;min-width:0;min-height:32px;line-height:1.05;display:flex}.necropark-progress-hero-info{white-space:nowrap;flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.necropark-progress-hero-race,.necropark-progress-hero-class{text-overflow:ellipsis;min-width:0;overflow:hidden}.necropark-progress-hero-race{color:var(--gold)}.necropark-progress-hero-separator{color:var(--purple);flex:none}.necropark-progress-hero-level{color:var(--bone);flex:none}.necropark-progress-hero-level.is-rarity-c{color:#f5f5ebf5}.necropark-progress-hero-level.is-rarity-u{color:#54be69fa}.necropark-progress-hero-level.is-rarity-r{color:#b274fffa}.necropark-progress-hero-level.is-rarity-vr{color:#ffae4bfa}.necropark-progress-hero-level.is-rarity-l{color:#ffd65c;text-shadow:0 1px #000000c7,0 0 5px #ffd65c73}.necropark-progress-hero-class.is-barbarian{color:#ff3b1f}.necropark-progress-hero-class.is-bard{color:#d900ff}.necropark-progress-hero-class.is-cleric{color:#ffe000}.necropark-progress-hero-class.is-druid{color:#18b83a}.necropark-progress-hero-class.is-fighter{color:#c46a12}.necropark-progress-hero-class.is-monk{color:#00bfa6}.necropark-progress-hero-class.is-paladin{color:#ffb300}.necropark-progress-hero-class.is-ranger{color:#5aa000}.necropark-progress-hero-class.is-rogue{color:#7f39ff}.necropark-progress-hero-class.is-sorcerer{color:#ff005d}.necropark-progress-hero-class.is-warlock{color:#8a00d4}.necropark-progress-hero-class.is-wizard{color:#07f}.necropark-progress-hero-class.is-default{color:var(--bone)}.necropark-progress-hero-healthbar{background:var(--bg);box-shadow:inset 0 0 0 1px var(--blood-deep), 0 0 4px #d0000052;flex:0 0 52px;width:52px;height:4px;overflow:hidden}.necropark-progress-hero-healthbar>div{background:var(--blood);height:100%}.necropark-canvas-status.is-no-units{color:var(--blood);font-size:var(--font-lg);text-shadow:0 2px #000000a6;padding:7px 10px;animation:1.6s ease-in-out infinite necropark-status-blink;left:12px}.necropark-canvas-status.is-vault-empty{color:var(--blood);font-size:var(--font-lg);text-shadow:0 2px #000000a6;padding:7px 10px;animation:1.6s ease-in-out infinite necropark-status-blink;right:12px}.necropark-canvas-status .components-framed-button-inner{font-family:var(--font-primary);text-align:center;width:100%;padding:7px 12px}.necropark-canvas-status.is-open .components-framed-button-inner{color:var(--moss)}.necropark-canvas-status.is-closed .components-framed-button-inner{color:var(--blood)}@keyframes necropark-status-blink{0%,to{opacity:1}50%{opacity:.35}}.necropark-canvas-room-piece,.necropark-marker-piece{width:100%;height:100%;position:relative}.necropark-room-cell{isolation:isolate;overflow:hidden}.necropark-room-cell:before{content:"";pointer-events:none;z-index:0;position:absolute;inset:0}.necropark-room-cell.is-room-dark:before{background:radial-gradient(circle at 48% 48%,#4e2c8733,#0000 36%),radial-gradient(circle,#0000 28%,#020108ad 100%)}.necropark-room-cell.is-room-unholy:before{background:radial-gradient(circle at 46% 56%,#50da7638,#0000 42%),linear-gradient(#0c4e2a33,#0c4e2a33)}.necropark-room-cell.is-room-fire:before{background:radial-gradient(circle at 34% 72%,#ff802247,#0000 38%),radial-gradient(circle at 70% 28%,#aa26303d,#0000 40%),linear-gradient(#56170a2e,#56170a2e)}.necropark-room-cell.is-room-dark-unholy:before{background:radial-gradient(circle at 50% 56%,#4bd4742e,#0000 34%),radial-gradient(circle,#0000 32%,#04020ead 100%),linear-gradient(#2e1c5633,#2e1c5633)}.necropark-marker-piece{justify-content:center;align-items:center;display:flex}.necropark-marker-piece[data-necropark-vault-marker=true]{align-items:flex-start}.necropark-room-order{box-shadow:inset 0 0 0 1px var(--gold-deep);color:var(--gold);font-family:var(--font-primary);font-size:var(--font-xs);background:#04020ad1;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;display:inline-flex}.necropark-room-watermark-number{color:var(--bone);font-family:var(--font-primary);opacity:.25;pointer-events:none;z-index:0;justify-content:center;align-items:center;font-size:64px;line-height:1;display:flex;position:absolute;inset:0}.necropark-room-doors{pointer-events:none;z-index:18;position:absolute;inset:0}.necropark-room-door{image-rendering:pixelated;background:linear-gradient(90deg,#ffdc8247,#ffdc8200),#2b1710;border:2px solid #6f4a24;transition:opacity .18s steps(3,end),transform .18s steps(3,end);display:block;position:absolute;box-shadow:inset 0 0 0 2px #08040499,0 2px #00000080}.necropark-room-door:after{content:"";background:#d6a13a;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.necropark-room-door.is-top,.necropark-room-door.is-bottom{width:40px;height:12px;margin-left:-20px;left:50%}.necropark-room-door.is-top{transform-origin:50% 0;top:-6px}.necropark-room-door.is-bottom{transform-origin:50% 100%;bottom:-6px}.necropark-room-door.is-left,.necropark-room-door.is-right{width:12px;height:40px;margin-top:-20px;top:50%}.necropark-room-door.is-left{transform-origin:0;left:-6px}.necropark-room-door.is-right{transform-origin:100%;right:-6px}.necropark-room-door.is-open.is-top,.necropark-room-door.is-open.is-bottom{opacity:.72;transform:scaleX(.24)}.necropark-room-door.is-open.is-left,.necropark-room-door.is-open.is-right{opacity:.72;transform:scaleY(.24)}.necropark-room-paths{pointer-events:none;z-index:auto;width:1600px;height:1600px;position:absolute;top:0;left:0;overflow:visible}.necropark-room-path{background-color:#1a1410;background-image:url(/assets/cobblestone.webp);background-position:var(--path-bg-x) var(--path-bg-y);background-repeat:repeat;background-size:var(--path-tile) var(--path-tile);image-rendering:pixelated;position:absolute;overflow:visible}.necropark-room-path.is-node,.necropark-room-path.is-segment{z-index:auto}.necropark-room-path-arrow{background:var(--gold);filter:drop-shadow(0 1px #0000009e);opacity:.3;pointer-events:none;transform-origin:50%;z-index:2;width:15px;height:12px;position:absolute;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.necropark-room-path-arrow.is-straight{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M0 5h10V2l6 4-6 4V7H0Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M0 5h10V2l6 4-6 4V7H0Z'/%3E%3C/svg%3E")}.necropark-room-path-arrow.is-straight:before,.necropark-room-path-arrow.is-straight:after{content:none}.necropark-room-path-arrow.is-turn{width:18px;height:18px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M1 4h11v7h3l-4 6-4-6h3V7H1Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M1 4h11v7h3l-4 6-4-6h3V7H1Z'/%3E%3C/svg%3E")}.necropark-room-path-arrow.is-turn:before,.necropark-room-path-arrow.is-turn:after{content:none}.necropark-hero-path-layer{pointer-events:none;z-index:40;width:1600px;height:1600px;position:absolute;top:0;left:0;overflow:visible}.necropark-hero-path-token{pointer-events:none;will-change:transform;z-index:1;flex-direction:column;align-items:center;gap:1px;min-width:18px;display:flex;position:absolute;top:0;left:0;transform:translate(0,0)translate(-50%,-100%)}.necropark-vault-treasure-slot{z-index:11;width:56px;height:42px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.necropark-marker-piece[data-necropark-vault-marker=true] .necropark-vault-treasure-slot{bottom:56px}.necropark-vault-treasure-token{color:inherit;filter:drop-shadow(0 2px #0000008c);z-index:1;background:0 0;border:0;min-width:18px;padding:0;position:relative}.necropark-dungeon-marker{color:inherit;cursor:inherit;background:0 0;border:0;flex-direction:column;align-items:center;width:100%;min-width:0;padding:0;display:flex}.necropark-marker-sprite{image-rendering:pixelated;filter:drop-shadow(0 3px #0000006b);background-repeat:no-repeat;flex:none;position:relative}.necropark-marker-sprite.is-entrance{background-image:url(/assets/necropark/entrance-skull.webp);background-position:0 0;background-size:400% 300%;width:104px;height:160px}.necropark-marker-sprite.is-entrance.is-active{background-position:100%}.necropark-marker-sprite.is-entrance.is-inactive{background-position:0 0}.necropark-marker-sprite.is-vault{background-image:url(/assets/necropark/vault.webp);background-size:640px 640px;width:128px;height:128px}.necropark-marker-sprite.is-vault.is-closed{background-position:-160px -16px}.necropark-marker-sprite.is-vault.is-open{background-position:0 -16px}.dashed{background-image:repeating-linear-gradient(0deg, var(--border-light) 0 4px, transparent 4px 8px), repeating-linear-gradient(90deg, var(--border-light) 0 4px, transparent 4px 8px), repeating-linear-gradient(180deg, var(--border-light) 0 4px, transparent 4px 8px), repeating-linear-gradient(270deg, var(--border-light) 0 4px, transparent 4px 8px);background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat;background-size:2px 100%,100% 2px,2px 100%,100% 2px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.anim-float{animation:2.2s step-end infinite float}.necropark-room-unit{z-index:1;flex-direction:column;gap:2px;min-width:0;position:relative}.necropark-room-unit>.necropark-unit-healthbar{z-index:6;flex:0 0 3px;position:relative}.necropark-room-unit.has-equipment-manager .construct-equipment-badge.is-overlay{flex:0 0 18px}.necropark-slot-badge{background:var(--gold);border:1px solid var(--border-dark);color:var(--bg-deep);font-family:var(--font-primary);pointer-events:none;z-index:2;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:12px;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px;box-shadow:0 1px #000000a6}.necropark-stack-badge{border:1px solid var(--gold);color:var(--gold-soft);font-family:var(--font-primary);pointer-events:none;z-index:2;background:#120c1eeb;justify-content:center;align-items:center;min-width:20px;height:16px;padding:0 4px;font-size:11px;line-height:1;display:inline-flex;position:absolute;top:-4px;left:-4px;box-shadow:0 1px #000000a6}.necropark-room-unit-slot{place-self:stretch stretch;width:100%;min-width:0;height:100%;min-height:0;position:relative}.necropark-room-free-slot .workshop-table-focus,.necropark-room-unit-slot .workshop-table-focus,.necropark-vault-treasure-slot .workshop-table-focus{background:linear-gradient(var(--gold), var(--gold)) left top / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) left top / 1px 8px no-repeat, linear-gradient(var(--gold), var(--gold)) right top / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) right top / 1px 8px no-repeat, linear-gradient(var(--gold), var(--gold)) left bottom / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) left bottom / 1px 8px no-repeat, linear-gradient(var(--gold), var(--gold)) right bottom / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) right bottom / 1px 8px no-repeat, #f0b4290d;opacity:.64;pointer-events:none;z-index:0;transition:opacity .12s;position:absolute;inset:1px;box-shadow:inset 0 0 0 1px #f0b42940,0 0 8px #f0b42929}.necropark-unit-healthbar,.necropark-hero-healthbar{background:var(--bg);width:30px;height:3px;box-shadow:inset 0 0 0 1px var(--border-dark);overflow:hidden}.necropark-hero-healthbar{width:18px}.workshop-guard-unit-stack{z-index:6;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.workshop-guard-recall-control{color:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.workshop-guard-unit-healthbar{z-index:6;flex:none;position:relative}.necropark-unit-healthbar>div,.necropark-hero-healthbar>div{background:var(--blood);height:100%}.necropark-hero-token{flex-direction:column;align-items:center;gap:1px;min-width:18px;display:flex}@keyframes necropark-combat-float{0%{opacity:0;transform:translate(-50%,6px)}12%{opacity:1}to{opacity:0;transform:translate(-50%,-18px)}}.necropark-combat-float{color:var(--blood);font-family:var(--font-primary);font-size:var(--font-xs);pointer-events:none;text-shadow:1px 1px 0 var(--bg-deep), -1px 1px 0 var(--bg-deep), 0 -1px 0 var(--bg-deep);white-space:nowrap;z-index:8;line-height:1;animation:1.1s ease-out forwards necropark-combat-float;position:absolute;top:50%;left:50%}.necropark-combat-float.is-miss{color:var(--text-dim)}.necropark-combat-float.is-death{color:var(--gold)}.necropark-combat-float.is-heal{color:var(--moss)}.necropark-combat-float.is-condition{color:#b595ff}.sprite{image-rendering:pixelated;display:inline-block;position:relative}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px dashed var(--gold);outline-offset:2px}.modal-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-bg.is-shop{flex-direction:column;gap:0}.construct-equipment-modal-bg{z-index:1200;background:radial-gradient(circle at 50% 42%,#36234633,#0000 48%),#020105e8;overflow:hidden}.construct-equipment-workbench{--construct-equipment-card-height:clamp(132px, 12vw, 188px);--construct-equipment-card-width:clamp(92px, 7.5vw, 128px);aspect-ratio:3/2;color:var(--bone);filter:drop-shadow(0 13px 20px #000000b8);isolation:isolate;outline:none;width:min(97vw,144vh);max-height:96vh;position:relative}.construct-equipment-workbench-art,.construct-equipment-workbench-glows,.construct-equipment-layout{position:absolute;inset:0}.construct-equipment-workbench-art{image-rendering:pixelated;pointer-events:none;z-index:0;background:url(/assets/construct-equipment/construct-equipment-workbench.png) 50%/contain no-repeat}.construct-equipment-workbench-glows{pointer-events:none;z-index:1}.construct-equipment-workbench-glow{aspect-ratio:1;filter:blur(1px);mix-blend-mode:screen;background:radial-gradient(circle,#ffdb804d 0 9%,#eb954624 22%,#0000 68%);width:8%;animation:3.4s steps(5,end) infinite construct-equipment-light-a;position:absolute}.construct-equipment-workbench-glow.is-left-top{animation-delay:-1.3s;top:2.5%;left:.3%}.construct-equipment-workbench-glow.is-right-top{animation-name:construct-equipment-light-b;animation-duration:4.1s;top:2.2%;right:12.2%}.construct-equipment-workbench-glow.is-left-bottom{animation-delay:-2.4s;bottom:10.2%;left:.4%}.construct-equipment-workbench-glow.is-right-bottom{animation-name:construct-equipment-light-b;animation-duration:3.8s;animation-delay:-.7s;bottom:1.2%;right:.7%}.construct-equipment-workbench-title{z-index:4;justify-content:center;align-items:center;width:29.82%;height:8.8%;display:flex;position:absolute;top:3.8%;left:41.01%}.construct-equipment-workbench-title input{color:var(--gold-soft);font-family:var(--font-primary);text-align:center;text-shadow:0 2px #160c0a,1px 0 #2c1308d1,0 0 8px #f0b42933;background:#0c070a1f;border:0;border-bottom:1px solid #0000;width:100%;max-width:92%;margin:0;padding:2px 6px;font-size:clamp(15px,1.45vw,26px);font-weight:400;line-height:1}.construct-equipment-workbench-title input:hover{border-bottom-color:#f0b4295c}.construct-equipment-workbench-title input:focus-visible{border-bottom-color:var(--gold-soft);background:#0c070a61;outline:none}.construct-equipment-preview{flex-direction:column;justify-content:center;align-items:center;width:21.94%;height:31.35%;display:flex;position:absolute;top:14.45%;left:17.84%}.construct-equipment-preview-aura{filter:blur(2px);pointer-events:none;background:radial-gradient(#b06dff47,#43bdc51f 42%,#0000 70%);animation:4.5s steps(7,end) infinite construct-equipment-aura;position:absolute;inset:9% 9% 3%}.construct-equipment-preview-sprite{filter:drop-shadow(0 5px #0009)drop-shadow(0 0 10px #ae67f238);z-index:1;position:relative}.construct-equipment-summary{box-sizing:border-box;color:var(--text-dim);background:#08050747;border:0;width:38.87%;height:25.88%;padding:1.1% 1.35%;position:absolute;top:17.68%;left:51.49%;overflow:hidden}.construct-equipment-stats{border-collapse:collapse;table-layout:fixed;width:100%;height:100%;font-size:clamp(8px,.72vw,13px)}.construct-equipment-stats th,.construct-equipment-stats td{text-align:right;padding:clamp(1px,.18vh,3px) clamp(3px,.35vw,7px);line-height:1.05}.construct-equipment-stats thead th{color:var(--gold);font-family:var(--font-primary);letter-spacing:.02em;border-bottom:1px solid #f0b42952;font-weight:400}.construct-equipment-stats thead th:first-child{text-align:left;width:37%}.construct-equipment-stats tbody tr+tr{border-top:1px solid #d9b5ff14}.construct-equipment-stats tbody th{color:var(--bone-dim);font-family:var(--font-primary);letter-spacing:.01em;text-align:left;font-weight:400}.construct-equipment-stats tbody td{color:var(--bone);border-left:1px solid #d9b5ff1a}.construct-equipment-stats tbody td.is-bonus.is-positive{color:var(--gold-soft)}.construct-equipment-stats tbody td.is-bonus.is-negative{color:var(--blood-bright)}.construct-equipment-stats tbody td.is-bonus.is-zero{color:var(--text-faint)}.construct-equipment-stats tbody td.is-total{color:var(--gold);font-weight:700}.construct-equipment-layout{pointer-events:none;z-index:3;height:auto;min-height:0;display:block;overflow:visible;-webkit-mask-image:url(/assets/construct-equipment/construct-equipment-workbench-alpha.png);mask-image:url(/assets/construct-equipment/construct-equipment-workbench-alpha.png);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.construct-equipment-slots-panel,.construct-equipment-inventory-panel{pointer-events:auto;position:absolute}.construct-equipment-inventory-panel{pointer-events:none;inset:0;overflow:visible}.construct-equipment-slots-panel{width:34.57%;height:20.5%;top:58.88%;left:8.78%}.construct-equipment-slots{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8.1%;height:100%;padding:0;display:grid;position:absolute;inset:0;overflow:visible;transform:translateY(-2px)}.construct-equipment-slot{box-sizing:border-box;color:var(--text);flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative}.construct-equipment-slot>.necropark-palette-item-frame{width:100%;height:100%}.construct-equipment-slot>.necropark-palette-item-frame>.ornate-frame-art{display:none}.construct-equipment-slot.is-drag-over{filter:drop-shadow(0 0 9px #f0b429d1);outline:2px solid var(--gold);outline-offset:-4px}.construct-equipment-slot.is-drag-over>.necropark-palette-item-frame{box-shadow:inset 0 0 0 2px var(--gold)}.construct-equipment-slot.is-occupied{cursor:pointer}.construct-equipment-slot.is-empty{background:radial-gradient(circle at 50% 28%,#965abb17,#0000 48%),#0805084d;border:0;box-shadow:inset 0 0 16px #0000005c}.construct-equipment-empty{color:var(--text-dim)}.construct-equipment-empty-slot-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(4px,.7vw,11px);width:100%;height:100%;padding:7px;display:flex}.construct-equipment-empty-slot-name{color:var(--bone);font-family:var(--font-primary);font-size:clamp(8px,.68vw,12px);line-height:1.25}.construct-equipment-inventory{box-sizing:border-box;grid-template-columns:repeat(auto-fill, minmax(var(--construct-equipment-card-width), 1fr));flex:auto;place-content:start;gap:clamp(5px,.5vw,9px);height:auto;min-height:0;max-height:none;padding:2px 4px 5px 2px;overflow:hidden auto}.construct-equipment-inventory-area{pointer-events:auto;flex-direction:column;width:44.54%;height:30.1%;min-height:0;display:flex;position:absolute;top:51.27%;left:49.08%}.construct-equipment-card-source{cursor:grab;height:var(--construct-equipment-card-height);min-height:var(--construct-equipment-card-height);touch-action:none;width:100%}.construct-equipment-card-source>.necropark-palette-item-frame{width:100%;height:100%}.construct-equipment-drag-ghost{filter:drop-shadow(0 3px #0000008c);image-rendering:pixelated;pointer-events:none;z-index:2147483647;padding-top:16px;position:fixed;top:0;left:0}.construct-equipment-no-treasures{color:var(--text-dim);text-align:center;grid-column:1/-1;padding:clamp(10px,2vw,24px)}.construct-equipment-actions{z-index:12;justify-content:center;width:24%;display:flex;position:absolute;bottom:4.1%;left:50%;transform:translate(-50%)}.construct-equipment-actions .construct-equipment-close-btn{min-width:min(200px,100%);max-width:100%;position:relative;left:auto;transform:none;top:auto!important}.construct-equipment-actions .construct-equipment-close-btn:active:not(:disabled),.construct-equipment-actions .construct-equipment-close-btn.is-hit-active:not(:disabled){transform:none}@keyframes construct-equipment-light-a{0%,to{opacity:.54;transform:scale(.94)}31%{opacity:.86;transform:scale(1.08)}58%{opacity:.63;transform:scale(.99)}79%{opacity:.92;transform:scale(1.04)}}@keyframes construct-equipment-light-b{0%,to{opacity:.72;transform:scale(1.03)}37%{opacity:.48;transform:scale(.92)}69%{opacity:.9;transform:scale(1.1)}}@keyframes construct-equipment-aura{0%,to{opacity:.66;transform:scale(.96)}48%{opacity:.92;transform:scale(1.04)}}.construct-equipment-canvas-anchor{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;display:inline-flex;position:relative}.construct-equipment-badge{z-index:12;color:var(--gold);cursor:pointer;pointer-events:auto;white-space:nowrap;background:#0c080ae6;border:1px solid #f0b429b8;justify-content:center;align-items:center;gap:3px;padding:2px 4px;font-size:10px;line-height:1;display:inline-flex}.construct-equipment-badge.is-overlay{background:linear-gradient(#231830f7,#0a070ff7);align-self:center;min-height:18px;margin-top:1px;position:relative;box-shadow:0 2px #000000b8,0 0 6px #f0b42938}.construct-equipment-badge.is-overlay:hover{border-color:var(--gold-soft);filter:brightness(1.18)}.construct-equipment-badge-slots{gap:2px;display:inline-flex}.construct-equipment-badge-slot{background:#d9b5ff1f;border:1px solid #d9b5ff6b;width:3px;height:7px}.construct-equipment-badge-slot.is-filled{background:var(--gold);border-color:var(--gold-soft);box-shadow:0 0 3px #f0b42999}.construct-equipment-badge-count{color:var(--gold-soft);text-align:center;min-width:18px;display:inline-block}.construct-equipment-card-footer{z-index:3;border-top:1px solid #f0b42957;flex:none;width:100%;display:flex;position:relative}.construct-equipment-badge.is-card-footer{background:#0c080ac7;border:0;width:100%;min-height:25px;position:static}.construct-equipment-badge.is-card-footer:hover{background:#f0b42921}@media (width<=720px){.construct-equipment-workbench{--construct-equipment-card-height:112px;--construct-equipment-card-width:82px}.construct-equipment-stats{font-size:7px}.construct-equipment-stats th,.construct-equipment-stats td{padding:1px 2px}.construct-equipment-empty-slot-card{padding:3px}}@media (prefers-reduced-motion:reduce){.construct-equipment-preview-aura,.construct-equipment-workbench-glow{animation:none}}.reduce-motion .construct-equipment-preview-aura,.reduce-motion .construct-equipment-workbench-glow{animation:none}.research-modal-body{min-height:0;padding:20px 24px 24px}.research-balance{color:var(--bone);font-family:var(--font-primary);font-size:var(--font-md);justify-content:center;align-items:center;gap:8px;margin:0 auto 18px;display:flex}.research-balance strong{color:var(--gold);font-size:var(--font-xxl)}.research-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:260px;padding:32px;display:flex}.research-empty-state strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-xxl)}.research-empty-state span{color:var(--bone-dim);max-width:620px}.research-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.research-ability-card{box-shadow:none;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:stretch;gap:14px;height:100%;min-height:132px;padding:14px;display:flex}.research-ability-card.is-purchased{cursor:default}.research-ability-card-frame{height:auto;min-height:132px}.research-ability-copy{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.research-ability-heading{flex-direction:column;gap:3px;display:flex}.research-ability-heading strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-lg);overflow-wrap:anywhere}.research-ability-heading span,.research-ability-meta,.research-ability-source{color:var(--bone-dim);font-size:var(--font-xs)}.research-ability-meta{flex-wrap:wrap;gap:4px 12px;display:flex}.research-ability-source{margin-top:auto}.research-effect-list{color:var(--bone);font-size:var(--font-xs);flex-direction:column;gap:4px;margin:0;padding-left:18px;line-height:1.35;list-style:square;display:flex}.research-effect-list li::marker{color:var(--purple-bright)}.research-buy-cost{color:var(--gold-soft);font-family:var(--font-primary);flex:none;align-self:flex-end;align-items:center;gap:5px;margin-top:auto;padding:5px 2px;display:inline-flex}.research-owned-overlay{pointer-events:none;z-index:4;background:#080307b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:4px}.research-owned-overlay span{color:#ed3f3f;font-family:var(--font-primary);letter-spacing:3px;text-shadow:2px 2px #2a0000e6,0 0 10px #ed3f3f61;text-transform:uppercase;border:3px solid;padding:8px 14px 6px;font-size:clamp(24px,3vw,42px);line-height:1;transform:rotate(-7deg)}@media (width<=820px){.research-ability-grid{grid-template-columns:1fr}}.research-modal-bg{background:#020105e6;justify-content:center;align-items:center;overflow:hidden}.research-library-shell{aspect-ratio:3/2;color:var(--bone);isolation:isolate;outline:0;width:min(97vw,144vh);max-height:96vh;position:relative}.research-library-shell:before{backface-visibility:hidden;content:"";filter:drop-shadow(0 10px #0000008c);image-rendering:pixelated;pointer-events:none;z-index:0;background:url(/assets/research/research-library-v2.webp) 50%/contain no-repeat;position:absolute;inset:0;transform:translateZ(0)}.research-library-speech-bubble{aspect-ratio:320/85;color:#201426;pointer-events:none;z-index:70;background:url(/assets/shop/shop-speech.webp) 50%/100% 100% no-repeat;width:20%;padding:0;position:absolute;top:17.5%;left:.5%}.research-library-speech-text{font-family:var(--font-tertiary);text-align:center;text-wrap:balance;justify-content:center;align-items:center;font-size:clamp(9px,.78vw,14px);line-height:1.35;display:flex;position:absolute;inset:14% 8% 28%}.modal-close-btn.research-close-btn{z-index:80;width:min(230px,34%);min-width:min(230px,34%);position:absolute;left:50%;transform:translate(-50%);top:12px!important}.modal-footer.is-research{z-index:80;margin-top:0;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.research-footer-resource{font-size:var(--font-lg);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:3px;min-width:104px;display:flex}.modal-resources.research-footer-resource strong{color:var(--gold);font-family:var(--font-primary);text-shadow:0 2px #000000d1;font-weight:400}.research-footer-resource .resource-asset-icon img{transform:scale(1.22)}.research-shelves{position:absolute;inset:0}.research-page-smoke-burst{pointer-events:none;z-index:54;position:absolute;inset:0;overflow:visible}.research-page-smoke{aspect-ratio:1;filter:blur(1.5px)drop-shadow(0 0 14px #914ae6b3);height:80%;image-rendering:pixelated;will-change:background-position;background-image:url(/assets/research/research-page-smoke-sheet.png);background-position:0 0;background-repeat:no-repeat;background-size:400% 400%;animation:.9s step-end both research-page-smoke-sprite;position:absolute;top:50%;left:53.32%;transform:translate(-50%,-50%)}@keyframes research-page-smoke-sprite{0%{background-position:0 0}6.25%{background-position:33.333% 0}12.5%{background-position:66.667% 0}18.75%{background-position:100% 0}25%{background-position:0 33.333%}31.25%{background-position:33.333% 33.333%}37.5%{background-position:66.667% 33.333%}43.75%{background-position:100% 33.333%}50%{background-position:0 66.667%}56.25%{background-position:33.333% 66.667%}62.5%{background-position:66.667% 66.667%}68.75%{background-position:100% 66.667%}75%{background-position:0 100%}81.25%{background-position:33.333% 100%}87.5%{background-position:66.667% 100%}93.75%,to{background-position:100% 100%}}.research-library-over{backface-visibility:hidden;pointer-events:none;z-index:55;background:url(/assets/research/research-library-v2-over.webp) 50%/contain no-repeat;position:absolute;inset:0;transform:translateZ(0)}.research-library-pagination{z-index:80;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;bottom:8.5%;left:50%;transform:translate(-50%)}.research-library-pagination button{min-width:42px;padding-inline:10px}.research-library-pagination span{color:var(--gold);font-family:var(--font-primary);text-align:center;text-shadow:0 2px #000000d1;min-width:92px;font-size:clamp(10px,.9vw,14px)}.research-shelf-row{align-items:flex-end;gap:1px;padding:0 1px;display:flex;position:absolute;left:30.9245%;right:24.2839%;overflow:visible}.research-shelf-row.is-dense{justify-content:space-between;gap:0;padding-inline:1px}.research-shelf-row.is-shelf-0{height:9.1797%;top:23.5352%}.research-shelf-row.is-shelf-1{height:10.2539%;top:36.9141%}.research-shelf-row.is-shelf-2{height:10.3516%;top:51.2695%}.research-shelf-row.is-shelf-3{height:10.2539%;top:66.5039%}.research-book{--research-book-color:#6e584b;--research-book-edge:#c8b6a2;--research-book-glow:#d6cab83d;cursor:pointer;flex:0 0 var(--research-book-width);height:var(--research-book-height);min-height:38px;width:var(--research-book-width);background:0 0;border:0;outline:0;position:relative}.research-book:before{background:linear-gradient(var(--gold), var(--gold)) left top / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) left top / 1px 8px no-repeat, linear-gradient(var(--gold), var(--gold)) right top / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) right top / 1px 8px no-repeat, linear-gradient(var(--gold), var(--gold)) left bottom / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) left bottom / 1px 8px no-repeat, linear-gradient(var(--gold), var(--gold)) right bottom / 8px 1px no-repeat, linear-gradient(var(--gold), var(--gold)) right bottom / 1px 8px no-repeat, #f0b4290d;content:"";opacity:0;pointer-events:none;z-index:1;transition:opacity .12s;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #f0b42940,0 0 8px #f0b42929}.research-book.is-preview-open:before{opacity:1}.research-book.is-rarity-u{--research-book-color:#356d45;--research-book-edge:#78cf8a;--research-book-glow:#54be6961}.research-book.is-rarity-r{--research-book-color:#56347d;--research-book-edge:#bd82ed;--research-book-glow:#9156d67a}.research-book.is-rarity-vr{--research-book-color:#8a4e24;--research-book-edge:#f1a651;--research-book-glow:#e08e3680}.research-book.is-rarity-l{--research-book-color:#8b6b20;--research-book-edge:#ffe586;--research-book-glow:#ffd65c8f}.research-book:hover .research-book-spine,.research-book:focus-visible .research-book-spine{filter:brightness(1.06) saturate(1.08) drop-shadow(0 0 8px var(--research-book-glow));z-index:30;rotate:0deg}.research-book.is-unaffordable .research-book-spine{filter:grayscale(.58)brightness(.7)}.research-book-spine{background-image:url(/assets/research/research-books-atlas.webp);background-position:var(--research-book-sprite-x) var(--research-book-sprite-y);image-rendering:pixelated;bottom:0;rotate:var(--research-book-tilt);transform-origin:0;z-index:10;background-repeat:no-repeat;background-size:500% 500%;border:0;transition:filter .18s,rotate .28s cubic-bezier(.16,.8,.25,1),translate .26s cubic-bezier(.16,.8,.25,1),transform .36s cubic-bezier(.16,.75,.22,1) 55ms,opacity .18s .11s;position:absolute;inset:0;translate:0}.research-book:hover .research-book-spine,.research-book:focus-visible .research-book-spine{animation:.62s cubic-bezier(.18,.72,.2,1) forwards research-book-leave-shelf}.research-shelf-row.is-tooltip-above .research-book:hover .research-book-spine,.research-shelf-row.is-tooltip-above .research-book:focus-visible .research-book-spine{animation-name:research-book-rise-from-shelf}:is(.research-book:has(+.research-book:hover) .research-book-spine,.research-book:has(+.research-book:focus-visible) .research-book-spine){translate:3px;rotate:2deg}.research-book:hover+.research-book .research-book-spine,.research-book:focus-visible+.research-book .research-book-spine{translate:-3px;rotate:-2deg}@keyframes research-book-leave-shelf{0%{opacity:1;transform:perspective(260px)translate(0,0)rotateY(0)scale(1)}30%{opacity:1;transform:perspective(260px)translate3d(5px,-16px,18px)rotateY(-8deg)scale(1.08)}48%{opacity:.96;transform:perspective(260px)translate3d(7px,-13px,16px)rotateY(-12deg)scale(1.06)}to{opacity:0;transform:perspective(260px)translate(9px,92px)rotateY(-18deg)rotateX(-7deg)scale(.88)}}@keyframes research-book-rise-from-shelf{0%{opacity:1;transform:perspective(260px)translate(0,0)rotateY(0)scale(1)}30%{opacity:1;transform:perspective(260px)translate3d(5px,-18px,18px)rotateY(-8deg)scale(1.08)}48%{opacity:.96;transform:perspective(260px)translate3d(7px,-28px,16px)rotateY(-12deg)scale(1.06)}to{opacity:0;transform:perspective(260px)translate(9px,-92px)rotateY(-18deg)rotateX(7deg)scale(.88)}}.research-book.is-owned .research-book-spine:after{content:"";background:radial-gradient(circle at 35% 30%,#e55a54,#8d151b 56%,#3f070c 100%);border:1px solid #f0786e;border-radius:50%;width:7px;height:7px;position:absolute;bottom:11px;left:50%;transform:translate(-50%);box-shadow:0 1px #000000b3,0 0 6px #c31f247a}.research-book-gem{background:var(--research-book-edge);box-shadow:0 0 5px var(--research-book-glow);border:1px solid #0c0510e6;width:6px;height:6px;position:absolute;bottom:5px;left:50%;transform:rotate(45deg)translate(-50%)}.research-book-band{background:linear-gradient(180deg, #ffffff61, transparent 45%), var(--research-book-edge);box-shadow:0 1px 0 #0000009e, 0 0 4px var(--research-book-glow);height:4px;position:absolute;left:-2px;right:-2px}.research-book-band.is-top{top:13%}.research-book-band.is-bottom{bottom:17%}.research-book-label{border:1px solid color-mix(in srgb, var(--research-book-edge) 72%, #281520);background:#0b050e4d;justify-content:center;align-items:center;min-height:24px;display:flex;position:absolute;top:34%;left:3px;right:3px;box-shadow:inset 0 0 5px #00000061}.research-book-rune{color:var(--research-book-edge);text-align:center;text-shadow:0 0 4px var(--research-book-glow);font-size:12px;line-height:1}.research-book-band,.research-book-gem,.research-book-label{display:none}.research-open-book{aspect-ratio:1;cursor:pointer;filter:drop-shadow(0 8px 4px #000000b8);opacity:0;pointer-events:none;visibility:hidden;z-index:70;width:clamp(340px,34vw,460px);transition:opacity .1s .43s,transform .12s .43s,visibility 0s linear .55s;position:absolute;left:50%;transform:translate(-50%)translateY(calc(18px - 30%))scale(.9)}.research-shelf-row .research-open-book{transform-origin:50% 0;top:100%}.research-shelf-row.is-tooltip-above .research-open-book{transform-origin:50% 100%;top:auto;bottom:30%;transform:translate(-50%)translateY(18px)scale(.9)}.research-book.is-preview-current .research-open-book{opacity:1;visibility:visible;transition-delay:0s,0s,0s;transform:translate(-50%)translateY(-30%)scale(1)}.research-shelf-row.is-tooltip-above .research-book.is-preview-current .research-open-book{transform:translate(-50%)translateY(0)scale(1)}.research-book:not(.is-preview-current) .research-open-book{opacity:0;visibility:hidden;transition-delay:0s}.research-open-book-sprite{image-rendering:pixelated;background-repeat:no-repeat;position:absolute;inset:0}.research-open-book-content{opacity:0;grid-template-columns:1fr 1fr;transition:opacity 80ms;display:grid;position:absolute;inset:33% 8.5% 10.5%}.research-open-book:has(.research-open-book-sprite.phase-open) .research-open-book-content{opacity:1}.research-open-book-page{color:#21140c;font-family:var(--font-secondary);flex-direction:column;gap:5px;min-width:0;padding:12px 13px;font-size:11px;line-height:1.25;display:flex;position:relative}.research-open-book-page.is-left{padding-left:18px;padding-right:17px}.research-open-book-page.is-right{padding-left:17px;padding-right:18px}.research-open-book-page strong{color:#4a2115;font-family:var(--font-primary);overflow-wrap:anywhere;font-size:15px;line-height:1.05}.research-open-book-page small{margin-top:auto;font-size:9px}.research-open-book-page ul{margin:0;padding-left:15px}.research-open-book-page li+li{margin-top:4px}.research-book-cost{color:#582619;font-family:var(--font-primary);justify-content:flex-end;align-items:center;gap:4px;margin-top:auto;display:inline-flex}.research-book-owned-stamp{color:#b71f24;font-family:var(--font-primary);letter-spacing:2px;text-shadow:1px 1px #3c000042;text-transform:uppercase;z-index:5;border:3px solid;padding:6px 12px 4px;font-size:clamp(22px,2.4vw,36px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.research-library-empty{color:var(--bone-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:20px;display:flex;position:absolute;inset:23.5352% 24.2839% 23.2422% 30.9245%}.research-library-empty strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:clamp(14px,1.6vw,24px)}.research-library-empty span{max-width:500px;font-size:clamp(9px,.85vw,13px)}@media (width<=760px),(height<=620px){.modal-close-btn.research-close-btn{width:min(190px,36%);min-width:min(190px,36%);top:5px!important}.research-open-book{width:min(360px,78vw)}.research-open-book-page{padding:10px 12px;font-size:9px}.research-open-book-page strong{font-size:12px}}@media (prefers-reduced-motion:reduce){.crt-refresh-layer{display:none}.grain-on:after{animation:none}.research-book,.research-book-spine,.research-open-book,.research-open-book-page{transition-duration:1ms!important;transition-delay:0s!important}.research-book:hover .research-book-spine,.research-book:focus-visible .research-book-spine{animation-duration:1ms!important}}.reduce-motion.grain-on:before,.reduce-motion.grain-on:after,.reduce-motion .grain-on:before,.reduce-motion .grain-on:after{animation:none}.reduce-motion .tutorial-anchor-highlight,.reduce-motion .tutorial-card,.reduce-motion .tutorial-room-guide,.reduce-motion .tutorial-selected-target-overlay{transition:none;animation:none}.reduce-motion .localized-resource-float,.reduce-motion .necropark-combat-float{animation-name:resource-number-fade}.reduce-motion .crt-refresh-layer{display:none}.reduce-motion.grain-on:after{animation:none}.shop-sprite-shell{aspect-ratio:1448/1086;width:min(96vw + 53px,128vh + 53.3333px);image-rendering:pixelated;filter:drop-shadow(0 8px #00000085);background:url(/assets/shop/shop.webp) 50%/contain no-repeat;flex:none;position:relative;transform:translateY(40px)}.shop-close-btn{z-index:8;position:absolute;left:50%;transform:translate(-50%);top:18px!important}.shop-speech-bubble{z-index:5;aspect-ratio:320/85;color:#201426;font-family:var(--font-tertiary);pointer-events:none;background:url(/assets/shop/shop-speech.webp) 50%/100% 100% no-repeat;width:32.5%;position:absolute;top:14.8%;left:-6.6%}.shop-speech-text{font-family:var(--font-tertiary);text-align:center;text-wrap:balance;justify-content:center;align-items:center;font-size:clamp(11px,.78vw,16px);line-height:1.45;display:flex;position:absolute;inset:14% 8% 28%}.shop-sprite-tabs{z-index:4;pointer-events:none;position:absolute;inset:0}.shop-sprite-tab{color:#0000;cursor:pointer;height:14.2%;image-rendering:pixelated;pointer-events:auto;appearance:none;background:0 0;border:0;outline:0;padding:0;position:absolute;top:11.05%}.shop-sprite-tab-glow,.shop-sprite-tab-hover-glow{background:radial-gradient(ellipse var(--shop-tab-glow-rx) 7.1% at var(--shop-tab-glow-x) 18.15%, transparent 0%, transparent 90%, var(--shop-tab-glow-mid) 99%);box-shadow:none;clip-path:inset(var(--shop-tab-glow-top) var(--shop-tab-glow-right) var(--shop-tab-glow-bottom) var(--shop-tab-glow-left));filter:blur(1px) drop-shadow(0 0 12px var(--shop-tab-glow-shadow));opacity:0;pointer-events:none;transition:background .12s ease-out,filter .12s ease-out,opacity .12s ease-out;position:absolute;inset:0;-webkit-mask:url(/assets/shop/shop-alpha.webp) 50%/100% 100% no-repeat;mask:url(/assets/shop/shop-alpha.webp) 50%/100% 100% no-repeat}.shop-sprite-tab-glow{opacity:.72}.shop-sprite-tab-hover-glow{opacity:0}:is(.shop-sprite-tabs:has(.shop-sprite-tab:hover) .shop-sprite-tab-hover-glow,.shop-sprite-tabs:has(.shop-sprite-tab:focus-visible) .shop-sprite-tab-hover-glow){opacity:.5}.shop-sprite-tab:active{transform:translateY(1px)}.shop-sprite-tab:focus-visible{outline:0}.shop-sprite-tabs:has(.shop-sprite-tab:focus-visible) .shop-sprite-tab-hover-glow{filter:blur(1px) drop-shadow(0 0 18px var(--shop-tab-glow-shadow))}.shop-sprite-tab.is-traps{width:10.98%;left:34.53%}.shop-sprite-tab-glow.is-traps,:is(.shop-sprite-tabs:has(.shop-sprite-tab.is-traps:hover) .shop-sprite-tab-hover-glow,.shop-sprite-tabs:has(.shop-sprite-tab.is-traps:focus-visible) .shop-sprite-tab-hover-glow){--shop-tab-glow-core:#ff4a4ac7;--shop-tab-glow-bottom:74.75%;--shop-tab-glow-left:34.53%;--shop-tab-glow-mid:#ae161c5c;--shop-tab-glow-right:54.49%;--shop-tab-glow-rx:5.5%;--shop-tab-glow-shadow:#ff3a3a94;--shop-tab-glow-top:11.05%;--shop-tab-glow-x:40.02%}.shop-sprite-tab.is-treasure{width:11.26%;left:48.76%}.shop-sprite-tab-glow.is-treasure,:is(.shop-sprite-tabs:has(.shop-sprite-tab.is-treasure:hover) .shop-sprite-tab-hover-glow,.shop-sprite-tabs:has(.shop-sprite-tab.is-treasure:focus-visible) .shop-sprite-tab-hover-glow){--shop-tab-glow-core:#ffdb5ac7;--shop-tab-glow-bottom:74.75%;--shop-tab-glow-left:48.76%;--shop-tab-glow-mid:#d08a1c5c;--shop-tab-glow-right:39.98%;--shop-tab-glow-rx:5.65%;--shop-tab-glow-shadow:#ffc74094;--shop-tab-glow-top:11.05%;--shop-tab-glow-x:54.39%}.shop-sprite-tab.is-undead{width:11.46%;left:63.26%}.shop-sprite-tab-glow.is-undead,:is(.shop-sprite-tabs:has(.shop-sprite-tab.is-undead:hover) .shop-sprite-tab-hover-glow,.shop-sprite-tabs:has(.shop-sprite-tab.is-undead:focus-visible) .shop-sprite-tab-hover-glow){--shop-tab-glow-core:#689effc2;--shop-tab-glow-bottom:74.75%;--shop-tab-glow-left:63.26%;--shop-tab-glow-mid:#3258be5c;--shop-tab-glow-right:25.28%;--shop-tab-glow-rx:5.75%;--shop-tab-glow-shadow:#5882ff8f;--shop-tab-glow-top:11.05%;--shop-tab-glow-x:68.99%}.shop-sprite-tab.is-minions{width:9.6%;left:77.49%}.shop-sprite-tab-glow.is-minions,:is(.shop-sprite-tabs:has(.shop-sprite-tab.is-minions:hover) .shop-sprite-tab-hover-glow,.shop-sprite-tabs:has(.shop-sprite-tab.is-minions:focus-visible) .shop-sprite-tab-hover-glow){--shop-tab-glow-core:#74d662c7;--shop-tab-glow-bottom:74.75%;--shop-tab-glow-left:77.49%;--shop-tab-glow-mid:#3288365c;--shop-tab-glow-right:12.91%;--shop-tab-glow-rx:4.8%;--shop-tab-glow-shadow:#5cd25c94;--shop-tab-glow-top:11.05%;--shop-tab-glow-x:82.29%}.shop-sprite-content{z-index:3;flex-direction:column;min-height:0;padding:0;display:flex;position:absolute;top:27%;left:35%;right:15%}.shop-sprite-over{image-rendering:pixelated;pointer-events:none;z-index:3;background:url(/assets/shop/shop-over.webp) 50%/contain no-repeat;position:absolute;inset:0}.shop-sprite-actions{z-index:5;flex-direction:column;align-items:center;gap:26px;display:flex;position:absolute;bottom:calc(15.19% + 10px);right:-.4%}.shop-sprite-tier-label{color:var(--gold);font-family:var(--font-primary);text-align:center;text-shadow:0 5px #1b1025,0 0 14px #ffcd4680;width:80px;min-height:88px;font-size:100px;line-height:.82}.shop-sprite-action{color:var(--gold);font-family:var(--font-primary);text-shadow:0 2px #1b1025;font-size:60px;line-height:1}.shop-sprite-action-spacer{pointer-events:none;flex:0 0 80px;width:80px;height:80px}.shop-sprite-action>.ornate-frame-fill:before{background:#0c0712b8}.shop-sprite-action-symbol{font-family:var(--font-tertiary);align-items:center;line-height:.72;display:block;transform:translateY(-2px)}.shop-sprite-action-symbol.is-upgrade{font-family:var(--font-tertiary);font-size:60px}.shop-sprite-action-symbol.is-refresh{font-size:55px;transform:translateY(-3px)}.shop-stock-countdown{color:var(--gold);font-family:var(--font-primary);pointer-events:none;text-align:right;text-shadow:0 4px #1b1025,0 0 12px #ffcd467a;z-index:5;justify-content:flex-end;align-items:center;width:150px;font-size:52px;line-height:1;display:flex;position:absolute;bottom:6.5%;right:-3%}.shop-stock-countdown-minutes{text-align:right;width:1.2em}.shop-stock-countdown-separator{text-align:center;width:.34em;display:inline-block;transform:translateY(-.07em)}.shop-stock-countdown-seconds{text-align:left;width:1.65em}.shop-sprite-items{flex:1;min-height:0;padding-right:6px}.shop-sprite-grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:10px;display:grid}.shop-item-card{--shop-card-rarity:#f5f5ebb8;--shop-card-content-tint:#f5f5eb33;--shop-card-content-glow:#f5f5eb57;--shop-card-name-color:#ffd84d;--shop-card-text-color:#ffd84d;--shop-card-meta-color:#ffe9a6;--shop-card-text-shadow:0 1px 0 #000000c2, 0 0 5px #000000ad;aspect-ratio:71/112;box-shadow:none;cursor:default;image-rendering:pixelated;background:url(/assets/shop/card.webp) 50%/100% 100% no-repeat;border:0;position:relative}.shop-item-card.is-rarity-c{--shop-card-rarity:#f5f5ebb8;--shop-card-content-tint:#f5f5eb33;--shop-card-content-glow:#f5f5eb57;--shop-card-name-color:#ffd84d;--shop-card-text-color:#ffd84d;--shop-card-meta-color:#ffe9a6;--shop-card-text-shadow:0 1px 0 #000000c2, 0 0 5px #000000ad;box-shadow:none;background:url(/assets/shop/card.webp) 50%/100% 100% no-repeat}.shop-item-card.is-rarity-u{--shop-card-rarity:#54be69c7;--shop-card-content-tint:#54be693d;--shop-card-content-glow:#5be2776b;--shop-card-name-color:#ffd84d;--shop-card-text-color:#ffd84d;--shop-card-meta-color:#ffe9a6;--shop-card-text-shadow:0 1px 0 #000000c2, 0 0 5px #000000ad;box-shadow:none;background:url(/assets/shop/card.webp) 50%/100% 100% no-repeat}.shop-item-card.is-rarity-r{--shop-card-rarity:#9156d6d6;--shop-card-content-tint:#9156d642;--shop-card-content-glow:#b274ff70;--shop-card-name-color:#ffd84d;--shop-card-text-color:#ffd84d;--shop-card-meta-color:#ffe9a6;--shop-card-text-shadow:0 1px 0 #000000c2, 0 0 5px #000000ad;box-shadow:none;background:url(/assets/shop/card.webp) 50%/100% 100% no-repeat}.shop-item-card.is-rarity-vr{--shop-card-rarity:#e08e36e6;--shop-card-content-tint:#e08e3647;--shop-card-content-glow:#ffae4b7a;--shop-card-name-color:#ffd864;--shop-card-text-color:#ffd84d;--shop-card-meta-color:#ffe9aa;--shop-card-text-shadow:0 1px 0 #000000c2, 0 0 5px #000000ad;box-shadow:none;background:url(/assets/shop/card.webp) 50%/100% 100% no-repeat}.shop-item-card.is-rarity-l{--shop-card-rarity:#ffd65cf2;--shop-card-content-tint:#ffd65c52;--shop-card-content-glow:#ffe2698f;--shop-card-name-color:#ffd84d;--shop-card-text-color:#ffd84d;--shop-card-meta-color:#fff1b8;--shop-card-text-shadow:0 1px 0 #000000c2, 0 0 5px #000000ad;box-shadow:none;background:url(/assets/shop/card.webp) 50%/100% 100% no-repeat}.shop-item-card:before{content:none}.shop-item-card.is-disabled{cursor:default;filter:saturate(.65)brightness(.78)}.shop-item-card-content{background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--shop-card-content-tint) 88%, transparent), transparent 56%), linear-gradient(180deg, color-mix(in srgb, var(--shop-card-content-tint) 76%, transparent), color-mix(in srgb, var(--shop-card-content-tint) 42%, #0b070e47));box-shadow:inset 0 0 15px color-mix(in srgb, var(--shop-card-content-glow) 42%, transparent), 4px 0 4px var(--shop-card-content-tint), -4px 0 4px var(--shop-card-content-tint), 0 4px 4px var(--shop-card-content-tint), 0 -4px 4px var(--shop-card-content-tint);cursor:pointer;flex-direction:column;gap:3px;padding-left:4px;padding-right:4px;transition:box-shadow .14s;display:flex;position:absolute;inset:27.68% 14.08% 8.04%;overflow:hidden}.shop-item-card:not(.is-disabled) .shop-item-card-content:hover,.shop-item-card:not(.is-disabled) .shop-item-card-content:focus-visible{background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--shop-card-content-tint) 96%, transparent), transparent 56%), linear-gradient(180deg, color-mix(in srgb, var(--shop-card-content-tint) 88%, transparent), color-mix(in srgb, var(--shop-card-content-tint) 56%, #0b070e47));box-shadow:inset 0 0 18px color-mix(in srgb, var(--shop-card-content-glow) 66%, transparent), 4px 0 4px var(--shop-card-content-tint), -4px 0 4px var(--shop-card-content-tint), 0 4px 4px var(--shop-card-content-tint), 0 -4px 4px var(--shop-card-content-tint);outline:0}.shop-item-card.is-disabled .shop-item-card-content{cursor:default}.shop-item-icon{box-shadow:none;background:0 0;flex:0 0 32px;justify-content:center;align-items:center;height:32px;min-height:0;padding:0;position:relative;overflow:visible}.shop-item-icon.is-tactical-pillar{flex-basis:44px;height:44px}.shop-item-icon.is-tactical-pillar .tactical-obstacle-palette-preview,.shop-item-icon.is-tactical-pillar .tactical-obstacle-preview-loading,.shop-item-icon.is-tactical-pillar .tactical-obstacle-preview-error{object-fit:contain;width:60px;height:44px;margin:0 auto}.shop-item-owned-count{color:var(--shop-card-name-color);font-family:var(--font-primary);text-shadow:var(--shop-card-text-shadow);z-index:2;font-size:18px;line-height:1;position:absolute;top:-4px;left:-4px}.shop-item-copy{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.shop-item-name{color:var(--shop-card-name-color);font-size:var(--font-xs);overflow-wrap:anywhere;text-align:center;min-height:2.1em;text-shadow:var(--shop-card-text-shadow);order:1;line-height:1.05}.shop-item-name.is-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:1.05em;display:block;overflow:hidden}.shop-item-price{color:var(--shop-card-text-color);font-size:var(--font-xs);text-align:center;text-shadow:var(--shop-card-text-shadow);order:3;justify-content:center;align-items:center;margin-top:auto;display:flex}.shop-item-meta{color:var(--shop-card-meta-color);text-align:center;text-shadow:var(--shop-card-text-shadow);flex-direction:column;order:2;gap:2px;font-size:10px;line-height:1.05;display:flex}.shop-item-meta.is-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 4px;display:grid}.shop-item-meta.is-two-column>span{min-width:0}.shop-item-meta.is-two-column>.is-special{grid-column:1/-1}.shop-item-meta.is-two-column>.is-special.is-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.modal-footer.is-shop{z-index:8;margin-top:0;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.tip{background:var(--bg-deep);color:var(--bone);font-family:var(--font-secondary);font-size:var(--font-xs);pointer-events:none;box-shadow:inset 0 0 0 2px var(--gold);z-index:50;white-space:nowrap;padding:6px 10px;position:absolute}.floating-tooltip{--ornate-frame-y:14px;--ornate-frame-x:28px;z-index:200;pointer-events:none;width:min(390px,100vw - 24px);animation:.1s ease-out both floating-tooltip-in;position:fixed}@keyframes floating-tooltip-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.workshop-cost-tooltip{--ornate-frame-y:14px;--ornate-frame-x:28px;width:max-content;min-width:168px;max-width:min(420px,100vw - 24px);color:var(--gold-soft);font-family:var(--font-secondary);font-size:var(--font-md);text-shadow:1px 1px 0 var(--border-dark);white-space:normal}.workshop-cost-tooltip-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;max-width:100%;padding:4px 8px;display:flex}.workshop-cost-tooltip-lines{flex-direction:column;align-items:stretch;gap:2px;width:100%;display:flex}.workshop-cost-tooltip-line{justify-content:center;width:100%;display:flex}.ornate-tooltip{--ornate-frame-y:14px;--ornate-frame-x:28px;width:max-content;min-width:120px;max-width:min(360px,100vw - 24px);color:var(--gold-soft);font-family:var(--font-secondary);font-size:var(--font-xs);text-shadow:0 1px #fff6be52,0 0 8px #ffd56f47,1px 1px #0000009e;white-space:normal;line-height:1.35;animation:.1s ease-out both ornate-tooltip-in}.ornate-tooltip.is-rarity-c{--necropark-tier-rgb:245, 245, 235}.ornate-tooltip.is-rarity-u{--necropark-tier-rgb:84, 190, 105}.ornate-tooltip.is-rarity-r{--necropark-tier-rgb:145, 86, 214}.ornate-tooltip.is-rarity-vr{--necropark-tier-rgb:224, 142, 54}.ornate-tooltip.is-rarity-l{--necropark-tier-rgb:255, 214, 92}.ornate-tooltip[class*=is-rarity-]>.ornate-frame-fill:before{background:linear-gradient(180deg, rgba(var(--necropark-tier-rgb), .26) 0%, #0a0712e6 72%);box-shadow:inset 0 0 0 1px rgba(var(--necropark-tier-rgb), .72), inset 0 0 18px rgba(var(--necropark-tier-rgb), .16)}.ornate-tooltip[class*=is-rarity-] .ornate-tooltip-label{color:rgba(var(--necropark-tier-rgb), .95)}@keyframes ornate-tooltip-in{0%{opacity:0}to{opacity:1}}.ornate-tooltip-inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;max-width:100%;padding:4px 8px;display:flex}.ornate-tooltip-label{font-size:var(--font-xs);color:var(--gold-soft);letter-spacing:.06em;text-align:center;text-shadow:1px 1px #000000f2,-1px 1px #000000e6,1px -1px #000c,0 2px 4px #000000e6;white-space:normal;overflow-wrap:anywhere;margin-bottom:2px}.ornate-tooltip-line{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;width:100%;display:block}.workshop-cost-tooltip-label{font-size:var(--font-xs);color:var(--gold-soft);letter-spacing:.04em;text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.25}.assembly-part-menu{--ornate-frame-y:16px;--ornate-frame-x:30px;color:var(--bone);pointer-events:auto;font-family:var(--font-secondary)}.assembly-part-menu-inner{flex-direction:column;min-height:0;max-height:calc(100vh - 48px);padding:8px;display:flex;overflow:hidden}.assembly-part-picker{width:min(360px,100vw - 24px)}.assembly-part-select-frame .assembly-part-select-hd{display:none}.assembly-part-select-frame .assembly-part-select-bd{padding:4px}.assembly-part-selector-btn{z-index:4;position:absolute}.assembly-part-selector-btn>.ornate-frame-fill{width:100%;min-width:0;padding:0}.assembly-part-selector-btn.is-top-left{top:8px;left:8px}.assembly-part-selector-btn.is-top-right{top:8px;right:8px}.assembly-part-selector-btn.is-bottom-right{bottom:8px;right:8px}.assembly-part-selector-btn.is-bottom-left{bottom:8px;left:8px}.assembly-part-selector-btn svg{width:14px;height:14px;display:block;overflow:visible}.assembly-part-select-count{font-family:var(--font-primary);font-size:var(--font-lg)}.assembly-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.assembly-research-sidebar{flex:0 0 320px;min-height:0}.assembly-research-sidebar-heading{border-bottom:1px solid #d9b5ff38;flex:none;padding:2px 4px 10px}.assembly-research-sidebar-title-row{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.assembly-research-tools{flex-direction:column;flex:none;gap:6px;padding:8px 4px 2px;display:flex}.assembly-research-tools input{color:var(--bone);font:inherit;background:#0d0813e0;border:1px solid #9a69c47a;width:100%;min-height:30px;padding:5px 8px}.assembly-research-tools input:focus-visible{border-color:var(--gold);outline:1px solid #d9b5ff73}.assembly-research-filter-row,.assembly-research-tier-row{gap:3px;display:grid}.assembly-research-filter-row{grid-template-columns:repeat(4,minmax(0,1fr))}.assembly-research-tier-row{grid-template-columns:1.6fr repeat(5,minmax(0,1fr))}.assembly-research-filter-row button,.assembly-research-tier-row button{color:var(--bone-dim);cursor:pointer;font-family:var(--font-primary);background:#261634d1;border:1px solid #9a69c452;min-height:24px;padding:3px 2px;font-size:9px}.assembly-research-filter-row button.is-active,.assembly-research-tier-row button.is-active{border-color:var(--gold);color:var(--gold-soft);background:#6a3aa094}.assembly-research-sidebar-title-row h2{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-xl);letter-spacing:.7px;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:700;line-height:1.05}.assembly-research-sidebar-heading p{color:var(--bone-dim);font-size:var(--font-xs);margin:6px 0 0;line-height:1.35}.assembly-research-selected-count{color:var(--gold-soft);font-family:var(--font-primary);text-align:center;white-space:nowrap;background:#301b43e6;border:1px solid #9a69c48c;flex:none;padding:6px 7px;font-size:10px;line-height:1;box-shadow:inset 0 0 8px #00000073}.assembly-research-catalog-heading{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-sm);letter-spacing:.7px;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 4px 7px;display:flex}.assembly-research-mode-warning{color:var(--bone-dim);font-size:var(--font-xs);background:#371f4cb8;border:1px solid #9a69c47a;flex:none;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;margin:0 4px 7px;padding:8px 9px;line-height:1.35;display:grid;box-shadow:inset 0 0 12px #00000059}.assembly-research-mode-warning>span{color:var(--gold-soft);font-family:var(--font-primary);background:#9a69c447;border:1px solid #d9b5ff57;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.assembly-research-mode-warning p{margin:1px 0 0}.assembly-research-catalog{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:5px 4px 7px;display:flex;overflow:hidden auto}.assembly-research-family{--palette-accent:var(--purple-bright);--palette-accent-rgb:106, 58, 160;flex:none;height:auto}.assembly-research-family-header{background:radial-gradient(ellipse at 12% 0%, rgba(var(--palette-accent-rgb), .24), transparent 60%), #190f23f5;color:var(--bone);cursor:pointer;text-align:left;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:58px;padding:9px 10px;display:flex}.assembly-research-family-header:focus-visible,.assembly-research-family-level:focus-visible{outline:1px solid var(--gold);outline-offset:-3px}.assembly-research-family.is-selected .assembly-research-family-header{background:radial-gradient(at 12% 0,#9a69c46b,#0000 66%),#341d46f7}.assembly-research-family-header>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.assembly-research-family-header strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-sm);overflow-wrap:anywhere}.assembly-research-family-header small{color:var(--bone-dim);font-size:9px}.assembly-research-family-tiers{color:var(--bone-dim);flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:8px;display:flex}.assembly-research-family-tiers b{color:var(--gold);font-size:14px;line-height:10px}.assembly-research-family-levels{background:#0a070feb;border-top:1px solid #d9b5ff2e;flex-direction:column;padding:4px;display:flex}.assembly-research-family-level{color:var(--bone);cursor:pointer;text-align:left;background:#22152ec2;border:1px solid #0000;flex-direction:column;gap:5px;padding:7px 8px;display:flex}.assembly-research-family-level+.assembly-research-family-level{border-top-color:#d9b5ff1a}.assembly-research-family-level:not(:disabled):hover{background:#45275bd6;border-color:#d9b5ff47}.assembly-research-family-level.is-selected{border-color:var(--gold);background:#53306df0}.assembly-research-family-level.is-locked{cursor:not-allowed;filter:grayscale(.5);opacity:.46}.assembly-research-level-title{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;display:grid}.assembly-research-level-title>b{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-sm)}.assembly-research-level-title>span{color:var(--bone-dim);font-size:9px}.assembly-research-level-title>strong{color:var(--gold-soft);align-items:center;gap:2px;font-size:10px;display:inline-flex}.assembly-research-ability-frame{--palette-accent:var(--purple-bright);--palette-accent-rgb:106, 58, 160;flex:none;height:auto;min-height:112px}.assembly-research-ability{background:radial-gradient(ellipse at 18% 0%, rgba(var(--palette-accent-rgb), .24), transparent 58%), linear-gradient(180deg, #241631f5, #140d1dfa), url(/assets/interface/center-3.webp);box-shadow:inset 0 0 16px #00000080, inset 0 0 0 1px rgba(var(--palette-accent-rgb), .28);color:var(--bone);cursor:pointer;font-family:var(--font-secondary);text-align:left;z-index:1;background-repeat:no-repeat,no-repeat,repeat;background-size:100% 100%,100% 100%,32px 32px;border:0;flex-direction:column;gap:8px;width:100%;min-height:112px;padding:10px 11px 9px;display:flex;position:relative}.assembly-research-ability:not(:disabled):hover{filter:brightness(1.08)}.assembly-research-ability:focus-visible{outline:1px solid var(--gold);outline-offset:-4px}.assembly-research-ability-frame.is-selected .assembly-research-ability{color:var(--gold-soft);background:radial-gradient(at 18% 0,#9a69c466,#0000 62%) 0 0/100% 100% no-repeat,linear-gradient(#46285ef5,#231431fa) 0 0/100% 100% no-repeat,url(/assets/interface/center-3.webp) 0 0/32px 32px}.assembly-research-ability:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.52}.assembly-research-ability-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.assembly-research-ability-header strong{color:var(--bone);font-family:var(--font-primary);font-size:var(--font-sm);letter-spacing:.45px;overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.2}.assembly-research-ability-frame.is-selected .assembly-research-ability-header strong{color:var(--gold-soft)}.assembly-research-ability-tier{border:1px solid rgba(var(--palette-accent-rgb), .5);color:var(--gold);background:#0e0915b3;flex:none;padding:4px 5px;font-size:9px;line-height:1}.assembly-research-ability-meta{color:var(--gold);flex-wrap:wrap;gap:3px 8px;font-size:9px;line-height:1.25;display:flex}.assembly-research-ability-meta>span:not(:last-child):after{color:#d9b5ff80;content:" ·";margin-left:8px}.assembly-research-ability-effects{color:var(--bone-dim);flex-direction:column;gap:3px;font-size:10px;line-height:1.3;display:flex}.assembly-research-ability-effects>span{grid-template-columns:7px minmax(0,1fr);gap:5px;display:grid}.assembly-research-ability-effects>span:before{color:#d9b5ffb8;content:"◆";font-family:var(--font-tertiary);font-size:6px;line-height:16px}.assembly-research-ability-footer{justify-content:space-between;align-items:center;gap:8px;min-height:25px;margin-top:auto;padding-top:7px;display:flex;position:relative}.assembly-research-ability-footer:before{content:"";background:#d9b5ff2e;height:1px;position:absolute;top:0;left:0;right:0}.assembly-research-selection-state{color:var(--gold-soft);font-family:var(--font-primary);align-items:center;gap:4px;min-width:0;font-size:10px;display:inline-flex}.assembly-research-selection-state>span{color:var(--gold)}.assembly-research-ability-cost{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.assembly-research-ability-cost>span{color:var(--text-dim);letter-spacing:.25px;font-size:9px;line-height:1}.assembly-research-ability-cost strong{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-sm);align-items:center;gap:3px;line-height:1;display:inline-flex}.assembly-research-empty{color:var(--bone-dim);font-size:var(--font-xs);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;min-height:0;padding:24px 18px;line-height:1.4;display:flex}.assembly-research-empty>span{color:#d9b5ff8c;font-family:var(--font-tertiary);margin-bottom:9px;font-size:20px}.assembly-research-empty p{margin:0}.assembly-stat-card-frame{--palette-accent:var(--purple);--palette-accent-rgb:63, 30, 106;height:auto;min-height:54px}.assembly-stat-card{justify-content:center;align-items:center;gap:2px;min-height:54px;padding:7px 5px}.ornate-frame-surface.assembly-stat-card-frame .assembly-stat-card:before{background:linear-gradient(180deg, var(--panel-hi), var(--panel-alt)), url(/assets/interface/center-3.webp);background-repeat:no-repeat,repeat;background-size:100% 100%,32px 32px;box-shadow:inset 0 0 14px #000000ad,inset 0 0 0 1px #3f1e6a8f}.assembly-stat-label{color:var(--bone);font-family:var(--font-primary);font-size:var(--font-xs);text-align:center;text-shadow:0 1px #000000b8;line-height:1}.assembly-stat-value{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-lg);text-align:center;text-shadow:0 1px #000000b8;line-height:1.1}.assembly-assemble-tooltip-anchor{flex:none;width:100%;margin-top:auto;display:block}.assembly-sidebar-content-scroll{flex-direction:column;flex:0 auto;gap:10px;min-height:0;margin-bottom:-16px;padding-bottom:16px;display:flex;overflow:hidden}.assembly-assemble-btn .framed-menu-content{flex-direction:column;gap:4px}.assembly-assemble-btn:disabled{pointer-events:none}.frame-assembly{--assembly-frame-y:12px;--assembly-frame-x:12px;--assembly-frame-slice:314;--assembly-frame-outset-y:4px;--assembly-frame-outset-x:4px;isolation:isolate;color:#e8d8ff;image-rendering:pixelated;position:relative}.frame-assembly-fill{z-index:1;position:absolute;inset:0;overflow:hidden}.frame-assembly:after{content:"";inset:calc(0px - var(--assembly-frame-outset-y)) calc(0px - var(--assembly-frame-outset-x));z-index:3;pointer-events:none;border-style:solid;border-color:#0000;border-width:var(--assembly-frame-y) var(--assembly-frame-x);border-image:url(/assets/assembly-frame.webp) var(--assembly-frame-slice) / var(--assembly-frame-y) var(--assembly-frame-x) / 0 stretch;-o-border-image:url(/assets/assembly-frame.webp) var(--assembly-frame-slice) / var(--assembly-frame-y) var(--assembly-frame-x) / 0 stretch;image-rendering:pixelated;filter:saturate(1.1)brightness(1.08);position:absolute}.assembly-part-cell-frame{text-transform:none;text-shadow:none;isolation:isolate;image-rendering:pixelated;border-radius:4px;overflow:hidden}.assembly-part-cell-frame:after{content:"";z-index:3;pointer-events:none;outline-offset:-1px;border-radius:4px;outline:1px dashed #f0b428b3;transition:outline-color .2s;position:absolute;inset:0}.assembly-part-cell-frame.is-central-active:after{outline-color:#ffd56ff2}.assembly-part-cell-frame.is-locked:after{outline-color:#f0b42800}.assembly-part-cell-frame.is-ghost-preview:after{display:none}.assembly-part-cell-frame>.assembly-part-cell-frame-inner{border-radius:inherit;background:radial-gradient(at 50% 42%,#5943742e 0%,#0a0712b8 58%,#030207eb 100%),repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px),#08060d;box-shadow:inset 0 0 14px #00000094,inset 0 0 18px #8a4ad042}.assembly-part-cell-frame.is-filled>.assembly-part-cell-frame-inner{background:#c8707040}.assembly-part-cell-frame.is-assembling{cursor:progress;overflow:visible}.assembly-part-cell-frame.is-assembling:after{opacity:0;transition:opacity .18s ease-out}.assembly-part-cell-frame.is-assembling>.assembly-part-cell-frame-inner{box-shadow:none;background:0 0;transition:background .18s ease-out,box-shadow .18s ease-out;overflow:visible}.assembly-part-cell-frame.is-assembling>.assembly-part-corner-button{opacity:0;pointer-events:none;transition:opacity .14s ease-out}.assembly-part-corner-button{color:#f0e8ff;cursor:pointer;z-index:4;background:#120c20db;border:1px solid #d0baffb8;border-radius:2px;justify-content:center;align-items:center;width:14px;height:14px;padding:0;line-height:1;display:flex;position:absolute;top:2px;right:2px;box-shadow:inset 0 0 0 1px #4b2e80b3,0 0 5px #8a4ad073}.assembly-part-corner-button.is-left{left:2px;right:auto}.assembly-part-corner-button:hover,.assembly-part-corner-button.is-central-active{color:var(--gold-soft);border-color:#ffd56fe6}.modal-footer{flex-direction:column;align-items:center;gap:10px;margin-top:8px;display:flex;position:relative}.modal-resources{font-family:var(--font-primary);font-size:var(--font-lg);color:var(--gold);text-shadow:1px 1px #2a1408,0 0 4px #0009;pointer-events:none;justify-content:center;align-items:center;display:flex}.modal-resources *{color:inherit;font-family:inherit!important;font-size:inherit!important}.modal-close-btn{z-index:7;min-width:200px;position:absolute;top:0;left:50%;transform:translate(-50%)}.modal-close-btn:active:not(:disabled){transform:translate(-50%)}.modal-close-btn.is-hit-active:not(:disabled){transform:translate(-50%)translateY(1px)}html,body,#root,body *{cursor:var(--necro-cursor-default)!important}a,a *,button:not(:disabled):not(.btn-ornate):not(.ornate-frame-button),button:not(:disabled):not(.btn-ornate):not(.ornate-frame-button) *,[role=button]:not([aria-disabled=true]):not(.ornate-frame-button),[role=button]:not([aria-disabled=true]):not(.ornate-frame-button) *,[tabindex]:not([tabindex="-1"]):not([aria-disabled=true]):not(.ornate-frame-button),[tabindex]:not([tabindex="-1"]):not([aria-disabled=true]):not(.ornate-frame-button) *,select,summary,summary *,label,label *,.avatar-menu-trigger,.avatar-menu-trigger *,.tile-btn:not(:disabled),.tile-btn:not(:disabled) *,.btn:not([disabled]):not([aria-disabled=true]),.btn:not([disabled]):not([aria-disabled=true]) *,.btn-ornate.is-hit-hover:not([disabled]):not([aria-disabled=true]),.btn-ornate.is-hit-hover:not([disabled]):not([aria-disabled=true]) *,.btn-x:not([disabled]),.btn-x:not([disabled]) *,.components-icon-button:not(:disabled),.components-icon-button:not(:disabled) *,.components-tile-button:not(.is-disabled-like):not([aria-disabled=true]),.components-tile-button:not(.is-disabled-like):not([aria-disabled=true]) *,.ornate-frame-button.is-hit-hover:not(:disabled):not([aria-disabled=true]),.ornate-frame-button.is-hit-hover:not(:disabled):not([aria-disabled=true]) *,.tab,.tab *,.tile,.tile *,.campaign-avatar-thumb,.campaign-avatar-thumb *,.campaign-random-btn,.campaign-random-btn *,.campaign-map-thumb,.campaign-map-thumb *,.campaign-step.is-clickable,.campaign-step.is-clickable *,.necropark-map-pin.is-locked,.necropark-map-pin.is-locked *,.assembly-part-corner-button,.assembly-part-corner-button *,[data-workshop-interactive=true],[data-workshop-interactive=true] *,.workshop-table-hitbox.is-interactive,.workshop-table-hitbox.is-interactive *,.workshop-servitor-control.is-buyable,.workshop-servitor-control.is-buyable *,.workshop-vortex-hit,.workshop-vortex-hit *,.workshop-vortex-art,.workshop-vortex-art *,[style*="cursor: pointer"],[style*="cursor: pointer"] *{cursor:var(--necro-cursor-pointer)!important}button:disabled,button:disabled *,[disabled],[disabled] *,[aria-disabled=true],[aria-disabled=true] *,[style*="cursor: not-allowed"],[style*="cursor: not-allowed"] *,[style*="cursor: no-drop"],[style*="cursor: no-drop"] *{cursor:var(--necro-cursor-disabled)!important}input,textarea,[contenteditable=true],[contenteditable=true] *,[style*="cursor: text"],[style*="cursor: text"] *{cursor:var(--necro-cursor-text)!important}[draggable=true],[draggable=true] *,.necropark-map-pin:not(.is-locked):not(.is-dragging):not(.is-progress),.necropark-map-pin:not(.is-locked):not(.is-dragging):not(.is-progress) *,[style*="cursor: grab"],[style*="cursor: grab"] *{cursor:var(--necro-cursor-grab)!important}.workshop-vortex-hit[style*="cursor: pointer"],.workshop-vortex-hit[style*="cursor: pointer"] *,.workshop-vortex-art[style*="cursor: pointer"],.workshop-vortex-art[style*="cursor: pointer"] *{cursor:var(--necro-cursor-pointer)!important}[style*="cursor: grabbing"],[style*="cursor: grabbing"] *,.workshop-canvas-viewport.is-dragging,.workshop-canvas-viewport.is-dragging *,.assembly-body-canvas-viewport.is-dragging,.assembly-body-canvas-viewport.is-dragging *,.necropark-map-pin:active,.necropark-map-pin:active *,.necropark-map-pin.is-dragging,.necropark-map-pin.is-dragging *{cursor:var(--necro-cursor-grabbing)!important}[style*="cursor: move"],[style*="cursor: move"] *,.workshop-canvas-viewport.is-panning,.workshop-canvas-viewport.is-panning *,.assembly-body-canvas-viewport.is-panning,.assembly-body-canvas-viewport.is-panning *{cursor:var(--necro-cursor-move)!important}[style*="cursor: crosshair"],[style*="cursor: crosshair"] *{cursor:var(--necro-cursor-crosshair)!important}[style*="cursor: copy"],[style*="cursor: copy"] *{cursor:var(--necro-cursor-grabbing)!important}[style*="cursor: progress"],[style*="cursor: progress"] *,[style*="cursor: wait"],[style*="cursor: wait"] *{cursor:var(--necro-cursor-progress)!important}html.is-room-placement-dragging,html.is-room-placement-dragging *,html.is-room-placement-dragging body,html.is-room-placement-dragging #root,html.is-assembly-part-dragging,html.is-assembly-part-dragging *,html.is-assembly-part-dragging body,html.is-assembly-part-dragging #root,html.is-necropark-palette-dragging,html.is-necropark-palette-dragging *,html.is-necropark-palette-dragging body,html.is-necropark-palette-dragging #root,html.is-necropark-unit-dragging,html.is-necropark-unit-dragging *,html.is-necropark-unit-dragging body,html.is-necropark-unit-dragging #root{cursor:var(--necro-cursor-grabbing)!important}html.is-room-placement-dragging.is-room-placement-invalid,html.is-room-placement-dragging.is-room-placement-invalid *,html.is-room-placement-dragging.is-room-placement-invalid body,html.is-room-placement-dragging.is-room-placement-invalid #root,html.is-assembly-part-dragging.is-assembly-part-invalid,html.is-assembly-part-dragging.is-assembly-part-invalid *,html.is-assembly-part-dragging.is-assembly-part-invalid body,html.is-assembly-part-dragging.is-assembly-part-invalid #root,html.is-necropark-palette-dragging.is-necropark-palette-invalid,html.is-necropark-palette-dragging.is-necropark-palette-invalid *,html.is-necropark-palette-dragging.is-necropark-palette-invalid body,html.is-necropark-palette-dragging.is-necropark-palette-invalid #root{cursor:var(--necro-cursor-disabled)!important}.tutorial-layer{z-index:9000;pointer-events:none;position:fixed;inset:0}.tutorial-anchor-highlight{z-index:0;pointer-events:none;border:2px solid #c793ffe6;border-radius:7px;animation:2.8s ease-in-out infinite tutorial-anchor-breathe;position:fixed;box-shadow:0 0 0 2px #14091ee6,0 0 18px #974ddcad,inset 0 0 12px #974ddc2e}.tutorial-card{z-index:2;width:min(380px,100vw - 24px);color:var(--bone,#e7dcc1);pointer-events:auto;background:linear-gradient(135deg,#7e499e1f,#0000 42%),linear-gradient(#181021,#09070e 74%);border:2px solid #8562a8;border-radius:4px;padding:17px 18px 15px;animation:.18s ease-out both tutorial-card-arrive;position:fixed;box-shadow:0 0 0 2px #2a1738,0 0 0 4px #050308e6,0 12px 32px #000000b8,inset 0 0 28px #582b702e}.tutorial-card:before,.tutorial-card:after{content:"◆";color:#d0a43a;text-shadow:0 1px 2px #000;font-size:14px;line-height:1;position:absolute;top:-10px}.tutorial-card:before{left:-7px}.tutorial-card:after{right:-7px}.tutorial-card-kicker{color:#b998d5;font-family:var(--font-secondary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:7px;font-size:12px;display:flex}.tutorial-card-rune{color:#e0bc56;width:22px;height:22px;font-family:var(--font-primary);background:#25152f;border:1px solid #9b77ba;border-radius:50%;place-items:center;font-size:15px;display:inline-grid}.tutorial-card h2{color:#e0bc56;font-family:var(--font-primary);text-shadow:0 2px 2px #000;margin:0 0 8px;font-size:23px;font-weight:500;line-height:1.05}.tutorial-card p{color:#d7cce0;font-family:var(--font-secondary);margin:0;font-size:15px;line-height:1.42}.tutorial-room-guide{z-index:2;min-width:280px;max-width:calc(100vw - 24px);min-height:320px;color:var(--bone,#e7dcc1);pointer-events:auto;background:#09070e;border:2px solid #8562a8;border-radius:4px;transition:width .18s ease-out;animation:.18s ease-out both tutorial-card-arrive;display:flex;position:fixed;overflow:hidden;box-shadow:0 0 0 2px #2a1738,0 0 0 4px #050308e6,0 12px 32px #000000b8,inset 0 0 28px #582b702e}.tutorial-room-guide-detail{background:radial-gradient(circle at 55% 22%,#77459138,#0000 48%),linear-gradient(145deg,#23162bfa,#08060bfa);border-right:2px solid #51375f;flex-direction:column;flex:auto;justify-content:flex-start;min-width:0;padding:30px 30px 26px;display:flex;position:relative;overflow:hidden auto}.tutorial-room-guide-detail>*{overflow-wrap:anywhere;max-width:100%}.tutorial-room-guide-detail-kicker{color:#b998d5;font-family:var(--font-secondary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-size:11px}.tutorial-room-guide-detail h3{color:#e0bc56;font-family:var(--font-primary);text-shadow:0 2px 2px #000;margin:0 0 18px;font-size:clamp(25px,2vw,36px);font-weight:500;line-height:1.08}.tutorial-room-guide-detail p{color:#d7cce0;font-family:var(--font-secondary);margin:0;font-size:15px;line-height:1.58}.tutorial-room-guide-collapse,.tutorial-room-guide-expand{color:#e0bc56;cursor:pointer;width:30px;height:42px;font-family:var(--font-primary);background:linear-gradient(#342440,#17101e);border:1px solid #755889;place-items:center;font-size:28px;line-height:1;display:grid}.tutorial-room-guide-collapse{z-index:2;border-right:0;border-radius:3px 0 0 3px;position:absolute;top:14px;right:-1px}.tutorial-room-guide-list-panel{background:linear-gradient(135deg,#7e499e1f,#0000 42%),linear-gradient(#181021,#09070e 74%);flex-direction:column;flex:0 0 min(292px,46vw);width:min(292px,46vw);min-width:260px;padding:18px 16px 14px;display:flex;overflow:hidden}.tutorial-feature-guide.is-position-right{flex-direction:row-reverse}.tutorial-feature-guide.is-position-right .tutorial-room-guide-detail{border-left:2px solid #51375f;border-right:0}.tutorial-feature-guide.is-position-right .tutorial-room-guide-collapse{border-left:0;border-right:1px solid #755889;border-radius:0 3px 3px 0;left:-1px;right:auto}.tutorial-room-guide-heading{align-items:flex-start;gap:8px;display:flex}.tutorial-room-guide-heading h2{color:#e0bc56;min-width:0;font-family:var(--font-primary);text-shadow:0 2px 2px #000;flex:1;margin:0;font-size:23px;font-weight:500;line-height:1.05}.tutorial-room-guide-expand{border-radius:2px;flex:0 0 30px;height:32px;font-size:24px}.tutorial-room-guide-collapse:hover,.tutorial-room-guide-collapse:focus-visible,.tutorial-room-guide-expand:hover,.tutorial-room-guide-expand:focus-visible{color:#fff1bc;outline-offset:-2px;outline:2px solid #c08beeb8}.tutorial-room-guide-intro{color:#a99caf;font-family:var(--font-secondary);margin:10px 0 13px;font-size:12px;line-height:1.4}.tutorial-room-guide-list{flex-direction:column;flex:1;gap:5px;min-height:0;padding:2px 4px 4px 2px;display:flex;overflow-y:auto}.tutorial-room-guide-entry{color:#d8cce0;cursor:pointer;width:100%;min-height:44px;font-family:var(--font-secondary);text-align:left;background:#251a2bb8;border:1px solid #44334d;border-radius:2px;grid-template-columns:24px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:7px 9px;display:grid}.tutorial-room-guide-entry>span:first-child{color:#a782bd;font-family:var(--font-primary);text-align:center;font-size:17px}.tutorial-room-guide-entry>span:last-child{color:#887198;font-family:var(--font-primary);font-size:19px}.tutorial-room-guide-entry strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.tutorial-room-guide-entry:hover,.tutorial-room-guide-entry:focus-visible,.tutorial-room-guide-entry.is-selected{color:#fff1bc;background:linear-gradient(90deg,#7745919e,#2f1f37d1);border-color:#a77bc5;outline:none}.tutorial-room-guide-actions{flex-wrap:wrap;margin-top:12px}.tutorial-room-guide-actions .tutorial-skip{text-align:left;width:100%;margin-left:0}.tutorial-selected-target-overlay{z-index:8999;box-sizing:border-box;pointer-events:none;background:#6f3b891f;border:2px solid #c793fffa;border-radius:3px;animation:2.8s ease-in-out infinite tutorial-anchor-breathe;position:fixed;box-shadow:0 0 0 2px #14091ee6,0 0 22px #ad5df4e0,inset 0 0 16px #974ddc38}.is-tutorial-preview{opacity:.78;filter:saturate(.72)}.is-tutorial-preview button,.is-tutorial-preview [role=button]{cursor:default!important}.tutorial-card-actions{align-items:center;gap:8px;margin-top:15px;display:flex}.tutorial-action,.tutorial-skip{color:#d8cce0;cursor:pointer;font-family:var(--font-secondary);pointer-events:auto;background:linear-gradient(#2d2037,#17101e);border:1px solid #665174;border-radius:2px;font-size:13px}.tutorial-action{min-height:34px;padding:5px 13px}.tutorial-action.is-primary{color:#f2d77c;background:linear-gradient(#5a4520,#2b210f);border-color:#a17a2f}.tutorial-skip{color:#8f8297;text-underline-offset:2px;background:0 0;border-color:#0000;margin-left:auto;padding:5px 3px;font-size:11px;text-decoration:underline}.tutorial-action:hover,.tutorial-action:focus-visible,.tutorial-skip:hover,.tutorial-skip:focus-visible{color:#fff1bc;outline-offset:2px;outline:2px solid #c08beeb8}.settings-audio-volume-control{align-items:center;gap:18px;display:flex}.settings-audio-slider{flex:1;min-width:0}.settings-audio-mute-control{flex-shrink:0;align-items:center;gap:8px;display:flex}.tutorial-archive{flex-direction:column;flex:1;gap:12px;width:100%;min-width:0;min-height:0;display:flex}.tutorial-archive-toolbar{border:1px solid var(--border-dark);background:linear-gradient(90deg,#6037752e,#0a070db3);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.tutorial-archive-toolbar>div{flex-direction:column;gap:3px;min-width:0;display:flex}.tutorial-archive-toolbar strong{color:var(--gold);font-family:var(--font-primary);font-size:16px;font-weight:500}.tutorial-archive-toolbar span{color:var(--muted);font-family:var(--font-secondary);font-size:12px}.tutorial-archive-layout{border:1px solid var(--border-dark);background:#05040780;flex:1;grid-template-columns:minmax(270px,34%) minmax(0,1fr);width:100%;min-width:0;min-height:0;display:grid;overflow:hidden}.tutorial-archive-list{border-right:2px solid var(--border-dark);background:#08060bc7;flex-direction:column;gap:3px;min-width:0;min-height:0;padding:8px;display:flex;overflow:hidden auto}.tutorial-archive-entry{width:100%;color:var(--bone);cursor:pointer;text-align:left;background:#251a2b7a;border:1px solid #0000;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.tutorial-archive-entry:hover,.tutorial-archive-entry:focus-visible,.tutorial-archive-entry.is-selected{background:#5c396d6b;border-color:#8562a8;outline:none}.tutorial-archive-entry-mark{color:#d0a43a;font-family:var(--font-primary);text-align:center;font-size:20px}.tutorial-archive-entry.is-completed .tutorial-archive-entry-mark{color:#65b17c}.tutorial-archive-entry>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.tutorial-archive-entry small,.tutorial-archive-entry em{color:#9b88a5;font-family:var(--font-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-style:normal}.tutorial-archive-entry strong{color:#ded2e5;font-family:var(--font-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.tutorial-archive-entry.is-completed em{color:#65b17c}.tutorial-archive-entry.is-pending em{color:#d0a43a}.tutorial-archive-detail{background:radial-gradient(circle at 45% 42%,#683f7c2b,#0000 50%),linear-gradient(135deg,#221628c7,#08060aeb);flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(24px,5vw,64px);display:flex}.tutorial-archive-area{color:#b998d5;font-family:var(--font-secondary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.tutorial-archive-detail h2{color:var(--gold);font-family:var(--font-primary);margin:0 0 16px;font-size:clamp(26px,3vw,42px);font-weight:500;line-height:1.05}.tutorial-archive-detail p{max-width:720px;color:var(--bone);font-family:var(--font-secondary);margin:0 0 18px;font-size:16px;line-height:1.65}.tutorial-archive-context-action{width:min(100%,380px);min-height:72px;padding:14px 22px}@keyframes tutorial-anchor-breathe{50%{box-shadow:0 0 0 2px #14091ee6,0 0 25px #ad5df4d6,inset 0 0 16px #974ddc3d}}@keyframes tutorial-card-arrive{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=620px){.tutorial-card-actions{flex-wrap:wrap}.tutorial-skip{text-align:left;width:100%;margin-left:0}}@media (width<=900px){.tutorial-room-guide.is-detail-open{width:min(620px,100vw - 24px)!important;right:12px!important}.tutorial-room-guide.is-detail-open.is-position-right{left:12px!important;right:auto!important}.tutorial-room-guide-detail{padding:24px 22px}}@media (width<=820px){.tutorial-archive-layout{grid-template-rows:minmax(180px,42%) minmax(0,1fr);grid-template-columns:1fr}.tutorial-archive-list{border-right:0;border-bottom:2px solid var(--border-dark)}.tutorial-archive-detail{justify-content:flex-start;padding:20px;overflow-y:auto}}@media (prefers-reduced-motion:reduce){.grain-on:before,.grain-on:after{animation:none}.tutorial-anchor-highlight,.tutorial-card,.tutorial-room-guide,.tutorial-selected-target-overlay{transition:none;animation:none}.localized-resource-float,.necropark-combat-float{animation-name:resource-number-fade}}.city-map-completed-mark{z-index:0;filter:drop-shadow(0 2px #180000)drop-shadow(0 0 4px #ff1c1cb3);pointer-events:none;position:absolute;transform:translate(-50%,-50%)rotate(-7deg)}.city-map-completed-mark:before,.city-map-completed-mark:after{content:"";background:linear-gradient(90deg,#8a0000,#ff1d16 45%,#9e0000);border:1px solid #ffad7894;width:16%;height:108%;position:absolute;top:-4%;left:42%;box-shadow:0 0 0 1px #240000e0}.city-map-completed-mark:before{transform:rotate(45deg)}.city-map-completed-mark:after{transform:rotate(-45deg)}.council-assault-result-modal-bg{z-index:1300;background:radial-gradient(circle at 50% 46%,#4d226333,#0000 54%),#020105f5;justify-content:center;align-items:center;overflow:hidden}.council-assault-result-modal-bg.is-victory{background:radial-gradient(circle at 50% 48%,#64411c33,#0000 56%),#020105f5}.council-assault-result{aspect-ratio:3/2;color:var(--bone);isolation:isolate;outline:none;width:min(90vw,129vh,1240px);max-height:86vh;animation:.26s ease-out both council-assault-result-arrive;position:relative;overflow:hidden}.council-assault-result:before,.council-assault-result:after{content:"";pointer-events:none;position:absolute;inset:0}.council-assault-result:before{filter:drop-shadow(0 16px 13px #000000c7);image-rendering:pixelated;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.council-assault-result.is-victory:before{background-image:url(/assets/council/city-council-assault-victory-v2.png)}.council-assault-result.is-defeated:before{background-image:url(/assets/council/city-council-assault-defeat-v2.png)}.council-assault-result:after{z-index:1;background:radial-gradient(at 50% 48%,#07030c6b 0%,#05020933 42%,#0000 68%)}.council-assault-result.is-defeated:after{background:radial-gradient(at 50% 53%,#07030cad 0%,#05020961 45%,#0000 70%)}.council-assault-result-content{text-align:center;z-index:3;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:20% 21% 7%}.council-assault-result.is-defeated .council-assault-result-content{inset:30% 21% 6%}.council-assault-result-content:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#040208c7,#0402086b 48%,#0000 72%);position:absolute;inset:-8% -18%}.council-victory-emblem{background:radial-gradient(circle,#814c97c7,#140a1dfa 68%);border:1px solid #f6c448c7;flex:none;place-items:center;width:clamp(72px,8vw,104px);height:clamp(72px,8vw,104px);margin-bottom:7px;animation:.48s ease-out both council-victory-emblem-arrive;display:grid;position:relative;transform:rotate(45deg);box-shadow:0 0 0 3px #1e0d2af2,0 0 0 4px #f6c44852,0 0 30px #eeb93966}.council-victory-avatar{filter:drop-shadow(0 4px #00000080);justify-content:center;align-items:center;width:88%;height:88%;display:flex;transform:rotate(-45deg)}.council-victory-avatar img{image-rendering:pixelated;max-width:100%;max-height:100%}.council-assault-result-kicker{color:#f4c953;letter-spacing:.24em;text-shadow:0 2px #08030b,0 0 9px #f4c95394;margin-top:6px;font-size:clamp(9px,.8vw,12px);position:relative}.council-assault-result.is-defeated .council-assault-result-kicker{color:#b9a2c8;text-shadow:0 2px #08030b,0 0 8px #7b4a9785}.council-assault-result-title{color:var(--gold);text-shadow:0 3px #2b1103,0 0 16px #ffd25275,0 0 3px #000;margin:6px 0 0;font-size:clamp(22px,3vw,39px);font-weight:400;line-height:1}.council-assault-result.is-defeated .council-assault-result-title{color:#d25757;text-shadow:0 3px #310508,0 0 16px #b21f266b,0 0 3px #000}.council-assault-result-body{color:var(--bone-dim);font-family:var(--font-secondary);text-shadow:0 2px #000,0 0 7px #000;max-width:680px;margin:10px auto 14px;font-size:clamp(10px,.95vw,14px);line-height:1.45}.council-assault-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(5px,.7vw,10px);width:min(100%,620px);display:grid}.council-assault-result-stats>div{background:#07040cd1;border:1px solid #845a9a94;flex-direction:column;justify-content:center;align-items:center;min-height:clamp(48px,5vw,64px);padding:5px;display:flex;box-shadow:inset 0 0 16px #6a398433,0 3px 7px #00000085}.council-assault-result.is-defeated .council-assault-result-stats>div{border-color:#784c866b;box-shadow:inset 0 0 16px #49285b2e,0 3px 7px #00000094}.council-assault-result-stats span{color:var(--muted);font-family:var(--font-secondary);text-transform:uppercase;font-size:clamp(8px,.7vw,10px)}.council-assault-result-stats strong{color:var(--gold);font-family:var(--font-primary);margin-top:3px;font-size:clamp(14px,1.45vw,20px);font-weight:500}.council-assault-result.is-defeated .council-assault-result-stats strong{color:#cdb7d6}.council-assault-result-actions{width:min(330px,54%);margin-top:clamp(10px,1.2vw,17px)}.council-victory-confetti{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.council-victory-confetti i{animation:council-victory-confetti-fall var(--confetti-duration) linear var(--confetti-delay) infinite;height:clamp(4px,.5vw,8px);left:var(--confetti-x);opacity:0;background:#e7be49;width:clamp(3px,.34vw,6px);display:block;position:absolute;top:-12%;box-shadow:0 0 5px}.council-victory-confetti i:nth-child(5n+2){color:#8d45b3;background:#8d45b3}.council-victory-confetti i:nth-child(5n+3){color:#4bc272;background:#4bc272}.council-victory-confetti i:nth-child(5n+4){color:#d56b48;background:#d56b48;width:clamp(5px,.55vw,9px)}.council-victory-confetti i:nth-child(5n){color:#e6d6a3;background:#e6d6a3;border-radius:50%}.council-of-skulls-ending{isolation:isolate;z-index:10000;background:radial-gradient(circle at 50% 46%,#43195238,#0000 58%),#020105;outline:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.council-of-skulls-ending:after{content:"";pointer-events:none;z-index:2;background:radial-gradient(#0000 44%,#000000b8 100%),linear-gradient(#00000038,#0000 18% 80%,#0000006b);position:absolute;inset:0}.council-of-skulls-ending-video{object-fit:contain;z-index:1;background:#020105;width:100%;height:100%;display:block;position:relative}.council-of-skulls-ending-skip{bottom:max(22px, env(safe-area-inset-bottom));color:var(--gold);cursor:pointer;right:max(22px, env(safe-area-inset-right));text-shadow:0 2px #000;z-index:4;background:#0a040fcc;border:1px solid #d5b15294;padding:10px 16px;font-size:11px;position:absolute;box-shadow:inset 0 0 12px #733c8b38,0 3px 10px #000000b8}.council-of-skulls-ending-skip:hover,.council-of-skulls-ending-skip:focus-visible{background:#2b1036f0;border-color:#f4cc60eb;outline:none}.council-of-skulls-ending-fallback{z-index:1;background:linear-gradient(#0201051f,#02010580),url(/assets/council/city-council-assault-victory-v2.png) 50%/contain no-repeat;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.council-of-skulls-ending-fallback-copy{color:var(--bone);text-align:center;z-index:3;background:radial-gradient(#040208f0,#04020894 58%,#0000 74%);flex-direction:column;align-items:center;max-width:620px;padding:70px 84px;display:flex;position:relative}.council-of-skulls-ending-fallback-copy>span{color:var(--gold);letter-spacing:.2em;font-size:12px}.council-of-skulls-ending-fallback-copy>strong{color:var(--gold);text-shadow:0 3px #2b1103,0 0 18px #ffd2527a;margin-top:12px;font-size:clamp(28px,5vw,58px);font-weight:400}.council-of-skulls-ending-fallback-copy>p{color:var(--bone-dim);font-family:var(--font-secondary);margin:18px 0 22px;line-height:1.5}.council-of-skulls-ending-fallback-copy .framed-button{width:min(330px,80vw)}@keyframes council-assault-result-arrive{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes council-victory-confetti-fall{0%{opacity:0;transform:translate3d(0, -10vh, 0) rotate(0deg) scale(var(--confetti-scale))}8%{opacity:.95}88%{opacity:.9}to{opacity:0;transform:translate3d(var(--confetti-drift), 108vh, 0) rotate(var(--confetti-rotation)) scale(var(--confetti-scale))}}@keyframes council-victory-emblem-arrive{0%{opacity:0;transform:rotate(32deg)scale(.72)}to{opacity:1;transform:rotate(45deg)scale(1)}}@media (prefers-reduced-motion:reduce){.council-assault-result,.council-victory-emblem{animation:none}.council-victory-confetti{display:none}}.tactical-obstacle-edit-button{z-index:12;top:7px;right:7px;position:absolute!important}.tactical-obstacle-edit-button .components-framed-button-inner{justify-content:center;align-items:center;padding:0;display:flex}.tactical-obstacle-edit-button:disabled{cursor:not-allowed;opacity:.42}.tactical-obstacle-editor-bg{z-index:1400;background:radial-gradient(circle at 50% 44%,#41265c3d,#0000 52%),#020106e6;overflow:hidden}.tactical-obstacle-editor-shell{box-sizing:border-box;color:var(--bone);width:min(1060px,100vw - 28px);max-height:96vh;padding-top:18px;position:relative}.modal-close-btn.tactical-obstacle-editor-close{z-index:12;min-width:220px;top:0!important}.tactical-obstacle-editor-workbench{height:min(91vh,820px);min-height:650px}.tactical-obstacle-editor-workbench-fill{box-sizing:border-box;grid-template-rows:104px minmax(0,1fr) 154px;gap:0;height:100%;padding:28px 30px 24px;display:grid}.tactical-obstacle-editor-header{min-width:0}.tactical-obstacle-editor-header-fill{box-sizing:border-box;justify-content:space-between;align-items:center;gap:20px;min-height:104px;padding:25px 42px 19px;display:flex}.tactical-obstacle-editor-header h1{color:var(--gold);font-family:var(--font-primary);font-size:clamp(var(--font-xl), 2.25vw, var(--font-xxl));text-shadow:2px 2px #1b1025,0 0 12px #ffcd463d;margin:0;font-weight:400;line-height:1}.tactical-obstacle-editor-header p{color:var(--text-dim);font-family:var(--font-secondary);font-size:var(--font-sm);margin:6px 0 0}.tactical-obstacle-editor-header-count{font-family:var(--font-secondary);text-transform:uppercase;flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.tactical-obstacle-editor-header-count span{color:var(--text-dim);font-size:var(--font-xs);letter-spacing:.08em}.tactical-obstacle-editor-header-count strong{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-lg);font-weight:400}.tactical-obstacle-editor-layout{grid-template-columns:minmax(0,1fr) 284px;min-height:0;padding-top:2px;display:grid}.tactical-obstacle-editor-board-frame,.tactical-obstacle-editor-controls{min-width:0;min-height:0}.tactical-obstacle-editor-board-frame-fill{box-sizing:border-box;justify-content:center;align-items:center;min-height:100%;padding:34px 28px 24px;display:flex}.tactical-obstacle-editor-board-wrap{width:min(100%,54vh);min-width:0}.tactical-obstacle-editor-board{aspect-ratio:1;background:linear-gradient(#79639112, #79639112), var(--bg-deep);border:2px solid var(--border);touch-action:none;grid-template-columns:repeat(20,1fr);width:100%;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #08050d,inset 0 0 22px #000000b8,0 0 0 1px #b38dd326}.tactical-obstacle-editor-cell{appearance:none;cursor:crosshair;background:#2f27396b;border:1px solid #866b992e;border-top:0;border-left:0;min-width:0;min-height:0;padding:0;position:relative}.tactical-obstacle-editor-cell:hover:not(:disabled){z-index:2;background:#e1b54138;box-shadow:inset 0 0 0 1px #ffdc6fad}.tactical-obstacle-editor-cell.is-reserved{cursor:not-allowed;opacity:.62;background:repeating-linear-gradient(135deg,#582f6f94 0 3px,#271934b3 3px 6px)}.tactical-obstacle-editor-cell.is-obstacle{background:linear-gradient(135deg,#eebf5138,#0000 46%),repeating-linear-gradient(90deg,#4a4149 0 4px,#302a33 4px 8px);box-shadow:inset 0 0 0 1px #edc465ad,inset 0 -4px 7px #00000073}.tactical-obstacle-editor-cell.is-obstacle>span{border:1px solid #ffe08e85;position:absolute;inset:19%;transform:rotate(45deg)}.tactical-obstacle-editor-deployment-labels{color:var(--text-dim);font-family:var(--font-secondary);font-size:var(--font-xs);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:4fr 12fr 4fr;padding-top:7px;display:grid}.tactical-obstacle-editor-deployment-labels span{text-align:center}.tactical-obstacle-editor-deployment-labels span:first-child{grid-column:1}.tactical-obstacle-editor-deployment-labels span:last-child{grid-column:3}.tactical-obstacle-editor-controls-fill{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;padding:38px 28px 30px;display:flex}.tactical-obstacle-editor-description{color:var(--bone-dim);font-family:var(--font-secondary);margin:0 0 14px;line-height:1.45}.tactical-obstacle-editor-legend{border-top:1px solid #8f6fa540;border-bottom:1px solid #8f6fa540;gap:7px;margin:0;padding:13px 0;display:grid}.tactical-obstacle-editor-legend>span{color:var(--text-dim);font-family:var(--font-secondary);align-items:center;gap:8px;display:flex}.tactical-obstacle-editor-legend>span:before{content:"";border:1px solid #d6b77561;width:12px;height:12px;display:block}.tactical-obstacle-editor-legend>.is-obstacle:before{background:#484047;box-shadow:inset 0 0 0 1px #edc4657a}.tactical-obstacle-editor-legend>.is-reserved:before{background:repeating-linear-gradient(135deg,#603b75 0 3px,#2e2039 3px 6px)}.tactical-obstacle-editor-legend>.is-free:before{background:#2c2633}.tactical-obstacle-editor-status{color:var(--gold-soft);font-family:var(--font-secondary);min-height:3.1em;margin-top:14px;line-height:1.42}.tactical-obstacle-editor-status.is-error{color:#f08b79}.tactical-obstacle-editor-actions{justify-content:center;align-items:center;min-height:0;display:flex}.tactical-obstacle-editor-save{font-size:var(--font-lg)}.tactical-obstacle-editor-save:disabled{cursor:not-allowed;filter:grayscale(.6)brightness(.62);opacity:.7}@media (width<=820px),(height<=720px){.tactical-obstacle-editor-shell{width:min(980px,100vw - 16px)}.tactical-obstacle-editor-workbench{height:min(96vh,720px);min-height:560px}.tactical-obstacle-editor-workbench-fill{grid-template-rows:88px minmax(0,1fr) 118px;padding:23px 24px 19px}.tactical-obstacle-editor-header-fill{min-height:88px;padding:22px 36px 16px}.tactical-obstacle-editor-layout{grid-template-columns:minmax(0,1fr) 245px}.tactical-obstacle-editor-board-frame-fill{padding:31px 23px 18px}.tactical-obstacle-editor-board-wrap{width:min(100%,52vh)}.tactical-obstacle-editor-controls-fill{padding:34px 23px 25px}.tactical-obstacle-editor-description{display:none}}@media (width<=640px){.tactical-obstacle-editor-shell{width:calc(100vw - 8px);max-height:none;padding-top:8px}.modal-close-btn.tactical-obstacle-editor-close{min-width:160px}.tactical-obstacle-editor-workbench{height:calc(100vh - 8px);min-height:0}.tactical-obstacle-editor-workbench-fill{grid-template-rows:82px minmax(0,1fr) 108px;padding:21px 20px 17px}.tactical-obstacle-editor-header-fill{min-height:82px;padding:20px 31px 14px}.tactical-obstacle-editor-header-count{display:none}.tactical-obstacle-editor-layout{grid-template-columns:1fr;overflow:auto}.tactical-obstacle-editor-board-frame-fill{padding:30px 21px 18px}.tactical-obstacle-editor-board-wrap{width:min(100%,54vh)}.tactical-obstacle-editor-controls{min-height:150px}.tactical-obstacle-editor-controls-fill{padding:31px 22px 23px}.tactical-obstacle-editor-legend{display:none}.tactical-obstacle-editor-status{min-height:auto;margin-top:0}}.manual-combat-offer-backdrop,.manual-combat-fatal-backdrop,.manual-combat-screen{color:var(--text);font-family:var(--font-secondary)}.manual-combat-offer-backdrop,.manual-combat-fatal-backdrop{z-index:1400;padding:16px}.manual-combat-offer{width:min(800px,100vw - 48px);max-height:min(760px,100vh - 32px)}.manual-combat-offer-body{gap:16px;display:grid;overflow-y:auto}.manual-combat-offer-copy{max-width:60ch;color:var(--bone);font-size:var(--font-md);text-align:center;margin:0 auto;line-height:1.55}.manual-combat-offer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.manual-combat-offer-choice{grid-template-rows:auto minmax(4.5em,1fr) auto;gap:10px;min-width:0;padding:18px 22px 22px;display:grid}.manual-combat-offer-choice.is-manual{box-shadow:var(--chrome-inset), inset 0 0 20px #7e12192e}.manual-combat-offer-choice>strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-xl);text-align:center;font-weight:400}.manual-combat-offer-choice>span{color:var(--text-dim);font-size:var(--font-sm);line-height:1.45}.manual-combat-offer-choice>.components-framed-button-menu{max-width:100%;height:160px;margin:0 auto}.manual-combat-error{color:var(--bone);box-shadow:inset 0 0 0 1px var(--blood);font-size:var(--font-sm);text-align:center;background:#68101680;margin:0;padding:8px 10px}.manual-combat-fatal{width:min(720px,100vw - 48px)}.manual-combat-fatal-body{gap:16px;display:grid}.manual-combat-fatal-body>p{color:var(--bone);margin:0;line-height:1.5}.manual-combat-error-details{background:var(--panel-alt);box-shadow:var(--chrome-inset);gap:6px;margin:0;padding:10px;display:grid}.manual-combat-error-details>div{grid-template-columns:112px minmax(0,1fr);gap:10px;display:grid}.manual-combat-error-details dt{color:var(--gold-soft)}.manual-combat-error-details dd{overflow-wrap:anywhere;min-width:0;color:var(--bone);-webkit-user-select:text;user-select:text;margin:0;font-family:monospace}.manual-combat-fatal-actions{justify-content:flex-end;align-items:center;gap:24px;min-height:64px;display:flex}.manual-combat-fatal-actions .components-framed-button-menu{min-width:220px;height:58px}.manual-combat-screen{isolation:isolate;background:0 0;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.tactical-scene-loading{z-index:200;color:var(--gold-soft);background:radial-gradient(circle at 50% 46%,#301b44f0 0,#0d0714f7 32%,#040208fc 72%);place-items:center;display:grid;position:absolute;inset:0}.tactical-scene-loading-content{min-width:220px;font-family:var(--font-primary);font-size:var(--font-lg);letter-spacing:.02em;text-align:center;text-shadow:0 2px #130a18,0 0 10px #b572ff73;justify-items:center;gap:18px;font-weight:400;display:grid}.tactical-scene-loading-spinner{border:3px solid #643c806b;border-top-color:var(--gold-soft);border-right-color:#8e54bd;border-radius:50%;width:64px;height:64px;animation:.85s linear infinite tactical-scene-loading-spin;display:block;position:relative;box-shadow:0 0 0 1px #110818f2,0 0 18px #8646b961,inset 0 0 12px #75399e3d}.tactical-scene-loading-spinner:before{border:2px solid #ddb96a29;border-bottom-color:var(--gold);content:"";border-left-color:#6e3498;border-radius:50%;position:absolute;inset:8px}.tactical-scene-loading-spinner:after{content:"";background:#6f2d9b;border:1px solid #d9a6ff;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:inset 0 0 5px #ffffff52,0 0 10px #8d45c1}@keyframes tactical-scene-loading-spin{to{transform:rotate(360deg)}}html.reduce-motion .tactical-scene-loading-spinner{animation-duration:2.4s}.manual-combat-screen *,.manual-combat-screen :before,.manual-combat-screen :after{box-sizing:border-box}.manual-combat-topbar{--tiled-size:32px;z-index:20;min-width:0}.manual-combat-topbar-inner{align-items:center;gap:12px;min-width:0;height:100%;padding:9px 12px 0 20px;display:flex}.manual-combat-topbar-inner .h-2{flex:none;margin:0}.manual-combat-topbar-location{min-width:0;color:var(--text-dim);font-size:var(--font-xs);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manual-combat-paused{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-sm);flex:none}.manual-combat-context-toggle{flex:0 0 24px;width:24px;height:24px;display:none}.manual-combat-context-glyph{border-top:2px solid;border-bottom:2px solid;width:12px;height:10px;display:block;position:relative}.manual-combat-context-glyph:after{content:"";border-top:2px solid;width:12px;position:absolute;top:3px;left:0}.manual-combat-table{flex:1;grid-template-columns:352px minmax(0,1fr) 320px;min-width:0;min-height:0;display:grid;overflow:hidden}.manual-combat-initiative,.manual-combat-context{--tiled-size:32px;width:100%;min-width:0;min-height:0}.manual-combat-sidebar-outer{flex-direction:column;gap:10px;height:calc(100% - 12px);min-height:0;margin-top:12px;padding:0 10px 10px;display:flex}.manual-combat-sidebar-inset{--tiled-size:32px;flex:1;min-width:0;min-height:0}.manual-combat-sidebar-inset-inner{flex-direction:column;height:100%;min-height:0;padding:8px;display:flex}.manual-combat-sidebar-inset .workshop-sidebar-heading{flex:none;margin:0 0 8px}.manual-combat-sidebar-inset .workshop-sidebar-title-tab{margin:0}.manual-combat-initiative ol{flex-direction:column;flex:1;gap:5px;min-height:0;margin:0;padding:0 3px 0 0;list-style:none;display:flex;overflow-y:auto}.manual-combat-initiative li{flex:none;min-width:0}.manual-combat-initiative-button{min-width:0;color:var(--text);text-align:left;grid-template-columns:20px 64px minmax(0,1fr);justify-content:stretch;align-items:center;gap:7px;padding:6px;display:grid}.manual-combat-initiative li.is-enemy .manual-combat-initiative-button:not(.is-selected){background-color:color-mix(in srgb, var(--blood-deep) 25%, var(--panel-alt))}.manual-combat-initiative-order{color:var(--gold);font-family:var(--font-primary);font-size:var(--font-md);text-align:center}.manual-combat-initiative-portrait,.manual-combat-unit-sheet-portrait{background:var(--panel);box-shadow:inset 0 0 0 1px var(--border-light), inset 0 0 12px #000000ad;place-items:center;display:grid;overflow:hidden}.manual-combat-initiative-portrait{width:64px;height:64px}.manual-combat-portrait-sprite{image-rendering:pixelated}.manual-combat-initiative-copy{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 5px;min-width:0;display:grid}.manual-combat-initiative-copy strong{color:var(--bone);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-weight:600;line-height:1.1;overflow:hidden}.manual-combat-initiative-copy small{color:var(--text-dim);text-align:right;font-size:10px}.manual-combat-initiative-hp,.manual-combat-sheet-hp,.manual-combat-movement-track{background:var(--bg-deep);box-shadow:inset 0 0 0 1px var(--border-dark), 0 0 0 1px #75583459;display:block;overflow:hidden}.manual-combat-initiative-hp{height:6px}.manual-combat-initiative-hp i,.manual-combat-sheet-hp>span{background:linear-gradient(90deg, var(--blood-deep), var(--blood-bright));height:100%;display:block}.manual-combat-arena-shell{background:#05030a;min-width:0;min-height:0;margin-top:8px;position:relative;overflow:hidden}.manual-combat-canvas-host,.manual-combat-canvas{width:100%;height:100%;min-height:0;display:block}.manual-combat-canvas-host{background:#08060d;position:relative;overflow:hidden}.manual-combat-canvas-host:after{content:"";z-index:1;background-image:var(--city-canvas-background-overlays);pointer-events:none;background-position:50%,50%;background-repeat:no-repeat;background-size:cover,cover;position:absolute;inset:0}.manual-combat-skyline{z-index:0;object-fit:cover;object-position:center;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:0}.manual-combat-canvas{z-index:2;background:0 0;outline:0;position:relative}.manual-combat-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}.manual-combat-arena-caption{z-index:4;max-width:calc(100% - 220px);color:var(--bone-dim);box-shadow:inset 0 0 0 1px var(--border-light);font-size:var(--font-xs);pointer-events:none;background:#0a0610e0;padding:5px 8px;position:absolute;bottom:12px;left:12px}.manual-combat-end-turn{z-index:7;max-width:calc(100% - 56px);bottom:24px;right:28px;position:absolute!important}.manual-combat-enemy-turn{z-index:5;color:var(--gold-soft);box-shadow:var(--chrome-inset);font-size:var(--font-xs);background:#0a0610e6;padding:7px 10px;position:absolute;bottom:16px;right:18px}.manual-combat-context-tabs{flex-wrap:nowrap;align-items:center;gap:4px;overflow:hidden}.manual-combat-context-tab{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;font-size:var(--font-md)!important}.manual-combat-context-content{flex:1;min-height:0;padding-right:3px;overflow:hidden auto}.manual-combat-context-empty{min-height:180px;color:var(--text-dim);text-align:center;place-items:center;padding:20px;display:grid}.manual-combat-context-empty p{max-width:24ch;margin:0;line-height:1.45}.manual-combat-unit-sheet{grid-template-columns:58px minmax(0,1fr);gap:6px;display:grid}.manual-combat-unit-sheet-portrait{grid-row:span 2;width:58px;height:58px}.manual-combat-unit-sheet-heading{align-content:center;gap:2px;min-width:0;display:grid}.manual-combat-unit-sheet-heading strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:400;line-height:1.1;overflow:hidden}.manual-combat-unit-sheet-heading span{text-transform:uppercase;width:fit-content;padding:2px 6px;font-size:10px}.manual-combat-unit-sheet-heading .is-ally{color:#a4d8ab;background:#24592d61}.manual-combat-unit-sheet-heading .is-enemy{color:#e5a6aa;background:#68101661}.manual-combat-sheet-hp{align-self:end;height:9px}.manual-combat-stat-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:2px 0 0;display:grid}.manual-combat-stat-grid>div{background:var(--panel-alt);min-width:0;box-shadow:var(--chrome-inset);justify-content:space-between;align-items:baseline;gap:5px;padding:4px 6px;display:flex}.manual-combat-stat-grid>.is-wide{grid-column:1/-1}.manual-combat-stat-grid dt{color:var(--text-dim);font-size:var(--font-xs)}.manual-combat-stat-grid dd{color:var(--bone);font-family:var(--font-primary);font-size:var(--font-md);margin:0}.manual-combat-cooldowns,.manual-combat-conditions,.manual-combat-effects{grid-column:1/-1;margin-top:2px}.manual-combat-cooldowns h4,.manual-combat-conditions h4,.manual-combat-effects h4,.manual-combat-unit-actions h4{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-md);margin:0 0 4px;font-weight:400}.manual-combat-cooldowns>span,.manual-combat-conditions>span,.manual-combat-unit-abilities>span{color:var(--text-dim);font-size:var(--font-sm)}.manual-combat-cooldowns ul,.manual-combat-conditions ul,.manual-combat-effects ul,.manual-combat-log ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.manual-combat-cooldowns li,.manual-combat-conditions li,.manual-combat-effects li{color:var(--text-dim);background:var(--panel-alt);font-size:var(--font-xs);justify-content:space-between;gap:8px;padding:4px 6px;display:flex}.manual-combat-cooldowns li strong,.manual-combat-conditions li strong,.manual-combat-effects li strong{color:var(--gold)}.manual-combat-unit-tab,.manual-combat-target-tab{gap:8px;display:grid}.manual-combat-pillar-sheet{background:var(--panel-alt);box-shadow:var(--chrome-inset);grid-template-columns:42px minmax(0,1fr);gap:7px 9px;padding:7px;display:grid}.manual-combat-pillar-gem{border:2px solid color-mix(in srgb, var(--manual-combat-pillar-color), white 24%);background:color-mix(in srgb, var(--manual-combat-pillar-color), transparent 18%);width:32px;height:32px;box-shadow:0 0 7px var(--manual-combat-pillar-color), inset 0 0 8px #ffffff47;grid-row:span 2;align-self:center;margin:3px;transform:rotate(45deg)}.manual-combat-pillar-heading{gap:2px;min-width:0;display:grid}.manual-combat-pillar-heading strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-md);font-weight:400}.manual-combat-pillar-heading span,.manual-combat-pillar-sheet>small{color:var(--text-dim);font-size:var(--font-xs)}.manual-combat-pillar-sheet>p{color:var(--bone);font-size:var(--font-xs);grid-column:1/-1;margin:2px 0 0;line-height:1.35}.manual-combat-pillar-sheet>small{color:var(--gold);grid-column:1/-1}.manual-combat-unit-movement,.manual-combat-unit-actions{border-top:1px solid var(--border-light);gap:6px;padding-top:8px;display:grid}.manual-combat-unit-movement>div:first-child{color:var(--text-dim);font-size:var(--font-xs);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.manual-combat-unit-movement>div:first-child strong{color:var(--bone);font-family:var(--font-primary);font-size:var(--font-lg);align-items:baseline;gap:7px;display:flex}.manual-combat-unit-movement>div:first-child strong small{color:var(--gold);font-family:var(--font-secondary);white-space:nowrap;font-size:10px;font-style:normal}.manual-combat-unit-movement>div:first-child strong small.is-invalid{color:var(--blood-bright)}.manual-combat-movement-track{height:9px;position:relative}.manual-combat-movement-track i{height:100%;display:block;position:absolute;top:0;bottom:0}.manual-combat-movement-remaining{background:linear-gradient(90deg, var(--moss-deep), var(--moss));left:0}.manual-combat-movement-preview{background:linear-gradient(90deg, #d8ae37d1, var(--gold));box-shadow:inset 1px 0 #ffee9ab3}.manual-combat-movement-preview.is-invalid{background:linear-gradient(90deg, var(--blood-deep), var(--blood-bright));box-shadow:inset 1px 0 #ffa48fb3}.manual-combat-unit-movement>span,.manual-combat-unit-movement>small{color:var(--gold-soft);font-size:var(--font-xs)}.manual-combat-unit-route{display:block}.manual-combat-unit-route>div{gap:21px;margin-top:16px;display:flex}.manual-combat-unit-route .components-framed-button{flex:1;min-width:0}.manual-combat-unit-actions>.components-framed-button{min-height:34px}.manual-combat-unit-abilities{gap:24px;display:grid}.manual-combat-unit-ability{position:relative}.manual-combat-unit-ability>.components-framed-button-inner{justify-content:space-between;align-items:center;gap:7px;display:flex}.manual-combat-unit-ability small{min-width:18px;height:18px;color:var(--bone);background:var(--blood-deep);place-items:center;font-size:10px;display:grid}.manual-combat-log{min-height:100%}.manual-combat-log li{color:var(--text-dim);font-size:var(--font-xs);border-bottom:1px solid #75583440;gap:2px;padding:7px 8px 7px 18px;line-height:1.4;display:grid;position:relative}.manual-combat-log li strong{color:var(--gold-soft);font-family:var(--font-primary);font-size:var(--font-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.manual-combat-log li:before{color:var(--gold);content:"•";position:absolute;top:7px;left:5px}.manual-combat-log li.tone-damage,.manual-combat-log li.tone-death{color:#e5a6aa}.manual-combat-log li.tone-heal{color:#a4d8ab}.manual-combat-help{color:var(--text-dim);font-size:var(--font-xs);margin:0}.reduce-motion .manual-combat-screen *,.reduce-motion .manual-combat-screen :before,.reduce-motion .manual-combat-screen :after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}@media (width<=900px){.manual-combat-topbar-location,.manual-combat-paused{display:none}.manual-combat-context-toggle{display:inline-flex}.manual-combat-table{grid-template-rows:104px minmax(0,1fr);grid-template-columns:minmax(0,1fr);position:relative}.manual-combat-initiative{grid-row:1;height:104px}.manual-combat-initiative .manual-combat-sidebar-outer{height:100%;margin-top:0;padding:6px}.manual-combat-initiative .manual-combat-sidebar-inset-inner{padding:22px 26px;display:block}.manual-combat-initiative .workshop-sidebar-heading{display:none}.manual-combat-initiative ol{flex-direction:row;gap:6px;overflow:auto hidden}.manual-combat-initiative li{width:210px}.manual-combat-initiative-button{grid-template-columns:18px 48px minmax(0,1fr);height:60px!important}.manual-combat-initiative-portrait{width:48px;height:48px}.manual-combat-initiative-portrait .necropark-unit-sprite{transform:scale(.75)}.manual-combat-arena-shell{grid-row:2}.manual-combat-context{z-index:30;width:min(320px,92vw);transition:transform .16s;position:absolute;top:0;bottom:0;right:0;transform:translate(105%)}.manual-combat-context.is-open{transform:translate(0)}}@media (width<=650px){.manual-combat-topbar-inner{gap:6px;padding:7px 14px 0}.manual-combat-topbar-inner .h-2{font-size:var(--font-lg)}.manual-combat-topbar .zoom-pan-controls{transform:scale(.72)}.manual-combat-table{grid-template-rows:88px minmax(0,1fr)}.manual-combat-initiative{height:88px}.manual-combat-initiative .manual-combat-sidebar-inset-inner{padding:20px 22px}.manual-combat-initiative li{width:164px}.manual-combat-initiative-button{grid-template-columns:16px 40px minmax(0,1fr);padding:3px;height:48px!important}.manual-combat-initiative-portrait{width:40px;height:40px}.manual-combat-initiative-portrait .necropark-unit-sprite{transform:scale(.625)}.manual-combat-initiative-copy small{display:none}.manual-combat-context{width:min(320px,96vw)}.manual-combat-end-turn{max-width:calc(100% - 36px);bottom:18px;right:18px}.manual-combat-arena-caption{display:none}.manual-combat-offer-actions{grid-template-columns:1fr}}html.is-tactical-obstacle-editor-open .hud-screen-topbar-slot>:not(.tactical-obstacle-editor-topbar),html.is-tactical-obstacle-editor-open .localized-resource-float-layer{display:none!important}.is-tactical-obstacle-editor-host>:not(.tactical-obstacle-editor-screen){visibility:hidden!important}.tactical-obstacle-editor-palette-heading{flex:none;justify-content:space-between;margin-bottom:8px}.tactical-obstacle-editor-palette-title{cursor:default}.tactical-obstacle-editor-palette-title:hover{color:var(--gold)}.tactical-obstacle-editor-palette-count{color:var(--gold);font-family:var(--font-primary);font-weight:400}.tactical-obstacle-editor-palette-status{color:var(--gold-soft);font-family:var(--font-secondary);font-size:var(--font-xs);flex:none;margin:-2px 0 8px;line-height:1.4}.tactical-obstacle-editor-palette-status.is-error{color:#f08b79}.tactical-obstacle-palette-sections{flex-direction:column;gap:12px;padding:2px;display:flex}.tactical-obstacle-editor-palette-body{overflow:hidden}.tactical-obstacle-editor-palette-body>.necropark-palette-scroll{max-height:100%;overflow-y:auto}.tactical-obstacle-affinity-group,.tactical-obstacle-affinity-group.is-purple{--pillar-affinity-color:#d37bff;--pillar-affinity-rgb:211, 123, 255}.tactical-obstacle-affinity-group.is-cyan{--pillar-affinity-color:#77e7ff;--pillar-affinity-rgb:119, 231, 255}.tactical-obstacle-affinity-group.is-pink{--pillar-affinity-color:#ff7eb3;--pillar-affinity-rgb:255, 126, 179}.tactical-obstacle-affinity-group.is-green{--pillar-affinity-color:#aaff87;--pillar-affinity-rgb:170, 255, 135}.tactical-obstacle-affinity-group.is-amber{--pillar-affinity-color:#ffcf70;--pillar-affinity-rgb:255, 207, 112}.tactical-obstacle-affinity-group.is-pillars{--pillar-affinity-color:var(--gold);--pillar-affinity-rgb:225, 190, 88}.tactical-obstacle-affinity-group.is-wood{--pillar-affinity-color:var(--gold-soft);--pillar-affinity-rgb:209, 180, 103}.tactical-obstacle-affinity-heading{color:var(--pillar-affinity-color);align-items:center;min-height:18px;display:flex}.tactical-obstacle-affinity-heading>strong{font-family:var(--font-primary);font-size:var(--font-sm);text-shadow:0 0 7px rgba(var(--pillar-affinity-rgb), .42);font-weight:400;line-height:1.1}.tactical-obstacle-affinity-group>p{color:var(--text-dim);font-family:var(--font-secondary);margin:5px 0 8px;font-size:10px;line-height:1.35}.tactical-obstacle-palette-grid{gap:9px;padding:0}.tactical-obstacle-palette-grid.is-pillar-row,.tactical-obstacle-palette-grid.is-wood-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tactical-obstacle-palette-item-frame{min-height:132px}.tactical-obstacle-palette-grid.is-pillar-row .tactical-obstacle-palette-item-frame{min-height:142px}.tactical-obstacle-palette-grid.is-wood-row .tactical-obstacle-palette-item-frame{min-height:78px}.tactical-obstacle-palette-item{touch-action:none;justify-content:flex-start;align-items:center;gap:4px;min-height:132px;padding:9px 6px 7px}.tactical-obstacle-palette-grid.is-pillar-row .tactical-obstacle-palette-item{min-height:142px;padding:8px 6px 7px}.tactical-obstacle-palette-grid.is-wood-row .tactical-obstacle-palette-item{min-height:78px;padding:7px 3px}.tactical-obstacle-palette-grid.is-pillar-row .tactical-obstacle-palette-preview{width:66px;height:50px}.tactical-obstacle-palette-item-icon{align-self:stretch;width:100%}html .components-tile-button.tactical-obstacle-palette-item:not(:disabled),html .components-tile-button.tactical-obstacle-palette-item:not(:disabled) *{cursor:var(--necro-cursor-grab)!important}html.is-necropark-palette-dragging .components-tile-button.tactical-obstacle-palette-item:not(:disabled),html.is-necropark-palette-dragging .components-tile-button.tactical-obstacle-palette-item:not(:disabled) *{cursor:var(--necro-cursor-grabbing)!important}.tactical-obstacle-palette-item:disabled{opacity:.46}.tactical-obstacle-palette-item>strong{color:var(--bone);font-family:var(--font-primary);font-size:var(--font-xs);text-align:center;font-weight:400;line-height:1.15}.tactical-obstacle-palette-item>small{color:var(--text-dim);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.25;display:-webkit-box;overflow:hidden}.tactical-obstacle-palette-preview,.tactical-obstacle-preview-loading,.tactical-obstacle-preview-error{object-fit:contain;filter:drop-shadow(0 5px 3px #000000b8);width:80px;height:60px;image-rendering:pixelated;pointer-events:none;display:block}.tactical-obstacle-preview-loading{background:radial-gradient(circle,#a071c333,#0000 62%);border-radius:50%}.tactical-obstacle-preview-error{color:var(--blood-bright);font-family:var(--font-primary);font-size:var(--font-xl);place-items:center;display:grid}.tactical-obstacle-editor-save-wrap{flex-direction:column;flex:none;gap:10px;padding:26px 0 0;display:flex}.tactical-obstacle-editor-footer-actions{align-items:center;gap:20px;display:flex}.tactical-obstacle-editor-action-button .components-framed-button-inner{justify-content:center;align-items:center;padding:0;display:flex}.tactical-obstacle-editor-action-button .campaign-random-die,.tactical-clear-layout-icon,.tactical-reset-layout-icon{color:var(--gold-soft);flex:none;width:16px;height:16px;display:block}.tactical-obstacle-editor-save{max-width:100%;font-size:var(--font-md)}.tactical-obstacle-editor-canvas-error{z-index:6;color:var(--bone);text-align:center;background:#06030af0;align-content:center;justify-items:center;gap:9px;padding:32px;display:grid;position:absolute;inset:0}.tactical-obstacle-editor-canvas-error strong{color:var(--blood-bright);font-family:var(--font-primary);font-size:var(--font-xl);font-weight:400}
