@layer components{.cm-world{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none;background:radial-gradient(120% 85% at 50% -8%,var(--color-felt-3) 0%,var(--color-felt-2) 34%,var(--color-felt) 62%,var(--color-edge) 100%)}.cm-camera{position:absolute;inset:0;touch-action:none;will-change:transform;transform-origin:50% 45%}.cm-plate{position:absolute;left:50%;top:50%;width:1800px;height:675px;transform:translate(-50%,-52%)}.cm-plate:before{content:"";position:absolute;inset:-700px -900px;z-index:0;background:radial-gradient(60% 60% at 50% 45%,#0b0d10,var(--color-edge) 70%)}.cm-plate>img{position:absolute;inset:0;width:100%;height:100%;z-index:1}.cm-plate>svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;z-index:2}.cm-plate-fade{position:absolute;inset:-2px;z-index:3;pointer-events:none;box-shadow:inset 0 0 90px 55px var(--color-edge)}.cm-vignette{position:absolute;inset:0;z-index:15;pointer-events:none;background:radial-gradient(120% 100% at 50% 42%,transparent 55%,rgb(var(--shade-rgb) / .55) 88%,rgb(var(--shade-rgb) / .85) 100%)}.cm-pin{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;scale:var(--cam-k, 1);display:grid;justify-items:center;gap:7px;z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent}.cm-pin__core{position:relative;display:grid;place-items:center;width:26px;height:26px}.cm-pin__core:before{content:"";position:absolute;inset:-9px}.cm-marker{display:block;position:relative;z-index:1;transition:transform .3s var(--ease-spring)}.cm-pin:hover .cm-marker{transform:translateY(-3px) scale(1.08)}.cm-shadow{position:absolute;left:50%;bottom:-3px;width:22px;height:6px;translate:-50% 0;border-radius:50%;background:#0000008c;filter:blur(2.5px);transition:opacity .3s var(--ease-spring),scale .3s var(--ease-spring)}.cm-pin:hover .cm-shadow{opacity:.75;scale:1.25 1;filter:blur(3.5px)}.cm-marker--shard-lit{margin-top:-16px}.cm-marker--shard-sealed{margin-top:-10px}.cm-marker--banner{margin-top:-14px}.cm-marker--monolith{margin-top:-22px}.cm-key .cm-marker{margin-top:0;transition:none}.cm-pin__lbl{font-family:var(--font-hud);font-size:9.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--color-fg-70);white-space:nowrap;text-shadow:0 1px 2px rgb(0 0 0 / .95),0 0 6px rgb(0 0 0 / .9),0 0 16px rgb(0 0 0 / .85)}.cm-pin--av .cm-pin__lbl,.cm-pin:not(.cm-pin--av,.cm-pin--locked,.cm-pin--veil) .cm-pin__lbl{background:#111214e0;border:1px solid rgb(var(--fg-rgb) / .14);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);padding:3px 9px;color:var(--color-fg);letter-spacing:.2em}.cm-pin--av .cm-pin__lbl{border-color:var(--color-accent-line)}.cm-pin[aria-pressed=true] .cm-pin__lbl{border-color:var(--color-accent);color:var(--color-fg)}.cm-pin__sub{font-family:var(--font-hud);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-fg-45);margin-top:-4px;text-shadow:0 1px 2px rgb(0 0 0 / .95),0 0 6px rgb(0 0 0 / .9)}.cm-shard-core{animation:cm-shard-pulse 2.8s var(--ease-spring) infinite}.cm-cloth{transform-box:fill-box;transform-origin:left center;animation:cm-cloth-sway 4.5s ease-in-out infinite}.cm-seam{animation:cm-seam-breathe 3.4s ease-in-out infinite}.cm-pin--locked .cm-seam{opacity:.3;animation:none}.cm-key .cm-shard-core,.cm-key .cm-cloth,.cm-key .cm-seam{animation:none}.cm-pips{display:flex;gap:4px;margin-top:-3px}.cm-pip{width:5px;height:5px;border-radius:45%;background:radial-gradient(circle at 40% 30%,#f4a9b6,var(--color-accent) 60%);box-shadow:0 0 6px 1px rgb(var(--accent-rgb) / .8);animation:cm-ember 2.6s ease-in-out infinite}.cm-pip:nth-child(2){animation-delay:.9s}.cm-pip:nth-child(3){animation-delay:1.7s}.cm-pip--off{background:var(--color-fg-22);box-shadow:none;animation:none}.cm-ping{position:absolute;inset:-4px;border:1px solid rgb(var(--accent-rgb) / .7);border-radius:50%;opacity:0;animation:cm-ping 3.2s cubic-bezier(.16,1,.3,1) infinite;pointer-events:none}.cm-pin--boss .cm-pin__core{width:38px;height:38px}.cm-ring{position:absolute;inset:-9px;border:1px dashed var(--color-accent-line);border-radius:50%;animation:cm-spin 26s linear infinite}.cm-chip{font-family:var(--font-hud);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-text);background:#111214e6;border:1px solid var(--color-accent-line);border-radius:5px;padding:2px 7px;margin-top:-2px}.cm-pin--fort .cm-pin__core{width:30px;height:26px}.cm-drift{animation:cm-drift 9s ease-in-out infinite}.cm-pin--veil{opacity:.6}.cm-pin--veil .cm-pin__lbl{color:var(--color-fg-45)}.cm-pin--veil .cm-shadow{display:none}.cm-signal{position:relative;width:13px;height:13px}.cm-pin--omega .cm-signal-dot{fill:var(--color-accent);animation:cm-omega-pulse 5.5s ease-in-out infinite}.cm-brackets{position:absolute;left:50%;top:50%;width:var(--bk, 54px);height:var(--bk, 54px);translate:-50% -50%;rotate:0deg;animation:cm-bracket-spin 18s linear infinite;pointer-events:none;--bkc: var(--color-accent-line);background:linear-gradient(var(--bkc),var(--bkc)) 0 0 / 12px 1.5px,linear-gradient(var(--bkc),var(--bkc)) 0 0 / 1.5px 12px,linear-gradient(var(--bkc),var(--bkc)) 100% 0 / 12px 1.5px,linear-gradient(var(--bkc),var(--bkc)) 100% 0 / 1.5px 12px,linear-gradient(var(--bkc),var(--bkc)) 0 100% / 12px 1.5px,linear-gradient(var(--bkc),var(--bkc)) 0 100% / 1.5px 12px,linear-gradient(var(--bkc),var(--bkc)) 100% 100% / 12px 1.5px,linear-gradient(var(--bkc),var(--bkc)) 100% 100% / 1.5px 12px;background-repeat:no-repeat}.cm-pin--boss .cm-brackets{--bk: 68px}.cm-pin--fort .cm-brackets{--bk: 62px}.cm-reticle{position:absolute;left:50%;top:50%;width:40px;height:40px;translate:-50% -50%;border:1.5px solid rgb(var(--accent-rgb) / .8);border-radius:50%;pointer-events:none;opacity:0;animation:cm-reticle-sweep .52s cubic-bezier(.16,1,.3,1)}.cm-pin[aria-pressed=true] .cm-pin__lbl{color:var(--color-fg)}.cm-pin:focus-visible{outline:none}.cm-pin:focus-visible .cm-pin__core{outline:2px solid var(--color-accent-text);outline-offset:3px}.cm-sheet{position:fixed;right:24px;top:128px;bottom:24px;width:min(392px,86vw);z-index:30;display:flex;flex-direction:column;transition:transform .45s var(--ease-spring),opacity .45s var(--ease-spring),visibility 0s}.cm-sheet--hidden{transform:translate(115%);opacity:0;pointer-events:none;visibility:hidden;transition-delay:0s,0s,.45s}.cm-sheet__body{touch-action:pan-y}.cm-sheet__vig{position:relative;flex:none;height:148px;overflow:hidden;background:var(--color-art-bg)}.cm-sheet__vig img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.82}.cm-sheet__vig:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgb(var(--shade-rgb) / .92))}.cm-cond{font-family:var(--font-hud);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-fg-70);border:1px solid rgb(var(--fg-rgb) / .1);background:var(--color-wash);border-radius:6px;padding:5px 10px}.cm-cond--red{color:var(--color-accent-text);border-color:var(--color-accent-line);background:var(--color-accent-dim)}.cm-foe{display:grid;place-items:center;width:30px;height:30px;background:linear-gradient(180deg,#1c1416,var(--color-felt));clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%);box-shadow:0 0 0 1px var(--color-accent-line)}.cm-foe .cm-marker{margin-top:0}.cm-foe .cm-shard-core{animation:none}.cm-gem{width:9px;height:9px;background:var(--color-accent);transform:rotate(45deg);border-radius:1.5px;box-shadow:0 0 8px rgb(var(--accent-rgb) / .6)}@media(max-width:767.98px){.cm-sheet{inset:auto 0 0;width:auto;max-height:62vh}.cm-sheet--hidden{transform:translateY(115%)}}}.cm-sweep{position:absolute;inset:0 auto 0 0;width:38vw;z-index:14;pointer-events:none;mix-blend-mode:screen;transform:translate(-45vw);background:linear-gradient(100deg,transparent 0%,rgb(var(--fg-rgb) / .035) 44%,rgb(var(--fg-rgb) / .06) 52%,rgb(var(--fg-rgb) / .02) 60%,transparent 100%);animation:cm-sweep 24s linear infinite}@keyframes cm-sweep{0%{transform:translate(-45vw)}to{transform:translate(145vw)}}@media(prefers-reduced-motion:reduce){.cm-sweep{display:none}}.cm-pin{animation:cm-pin-in .42s var(--ease-spring) backwards;animation-delay:calc(var(--i, 0) * 38ms)}.cm-pin.cm-drift{animation:cm-pin-in .42s var(--ease-spring) backwards,cm-drift 9s ease-in-out infinite;animation-delay:calc(var(--i, 0) * 38ms),calc(var(--i, 0) * 38ms + .42s)}.cm-pin .cm-pin__core{animation:cm-core-in .42s var(--ease-spring) backwards;animation-delay:calc(var(--i, 0) * 38ms)}@keyframes cm-pin-in{0%{opacity:0}to{opacity:1}}@keyframes cm-core-in{0%{transform:translateY(9px) scale(.82)}to{transform:none}}@keyframes cm-shard-pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes cm-spin{to{rotate:360deg}}@keyframes cm-drift{0%,to{translate:-50% -50%}50%{translate:-50% calc(-50% - 7px)}}@keyframes cm-omega-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes cm-bracket-spin{0%{rotate:0deg}to{rotate:360deg}}@keyframes cm-reticle-sweep{0%{opacity:0;scale:2.2}35%{opacity:1}to{opacity:0;scale:1}}@keyframes cm-cloth-sway{0%,to{transform:skewY(0) scaleX(1)}50%{transform:skewY(-3.5deg) scaleX(.965)}}@layer components{.cm-advance path{animation:cm-march 2.6s linear infinite}.cm-key-held{width:18px;height:14px;border:1.5px dashed rgb(var(--fg-rgb) / .5);border-radius:50%;background:radial-gradient(circle,rgb(232 232 230 / .18),transparent 75%)}.cm-key .cm-pip{width:7px;height:7px;border-radius:2px}.cm-key-advance{width:26px;height:0;border-top:2px dashed var(--color-fg-70)}.cm-notches{display:flex;gap:4px}.cm-notch{display:block;width:14px;height:4px;background:var(--color-fg-22);clip-path:polygon(2px 0,100% 0,calc(100% - 2px) 100%,0 100%)}.cm-notch--lit{background:var(--color-accent);box-shadow:0 0 6px rgb(var(--accent-rgb) / .6)}.cm-next{background:#111214e0;border:1px solid rgb(var(--fg-rgb) / .14);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);padding:6px 12px;cursor:pointer;transition:border-color .2s var(--ease-spring)}.cm-next:hover{border-color:var(--color-accent-line)}.cm-next .cm-marker{margin-top:0}.cm-next .cm-shard-core{animation:none}}@keyframes cm-march{to{stroke-dashoffset:-22}}@keyframes cm-seam-breathe{0%,to{opacity:.75}50%{opacity:1}}@keyframes cm-ember{0%,to{opacity:.75;box-shadow:0 0 4px rgb(var(--accent-rgb) / .6)}50%{opacity:1;box-shadow:0 0 8px 2px rgb(var(--accent-rgb) / .9)}}@keyframes cm-ping{0%{opacity:0;scale:.6}12%{opacity:.8}to{opacity:0;scale:2.4}}
