/* Alcor: a blue-and-gold, full-bleed library with its own outline. */
.alcor-grimoire-meter{position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 100px;width:100px;height:100px;align-self:flex-end;margin-right:18px;padding:0 0 8px;border:0;background:transparent;color:#fff2c5;cursor:pointer;overflow:visible}
.alcor-book{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 2px #02061ed0) drop-shadow(0 0 5px #348aff90);transform-origin:50% 65%;pointer-events:none}
.alcor-grimoire-meter .alcor-book{width:108px;height:96px;animation:alcorBookFloat 5s ease-in-out infinite}
.alcor-grimoire-aura{position:absolute;inset:7px -3px 12px;border-radius:50%;background:radial-gradient(ellipse,#4c8fff38,transparent 66%);z-index:-1}
.alcor-book__astrolabe{transform-origin:90px 48px;animation:alcorAstrolabeFloat 4.8s ease-in-out infinite}
.alcor-book__leaves{animation:alcorLeavesDrift 4s ease-in-out infinite}
.alcor-book__sparks{animation:alcorSparkShimmer 3.6s ease-in-out infinite}
.alcor-book__seal{transform-origin:90px 129px;animation:alcorSealBreathe 5s ease-in-out infinite;opacity:.7}
.alcor-book__radiance{opacity:.55}
.alcor-grimoire-meter:is(:hover,:focus-visible) .alcor-book__radiance,.alcor-grimoire-meter.is-amplified .alcor-book__radiance{opacity:1}
.alcor-grimoire-meter:is(:hover,:focus-visible) .alcor-book{filter:drop-shadow(0 2px 2px #02061ed0) drop-shadow(0 0 7px #7bdfff)}
.alcor-grimoire-count{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);padding:2px 8px;border:1px solid #d6b76e90;border-radius:8px;color:#ffedb8;background:#071626;font:800 12px/1.2 Outfit,sans-serif;box-shadow:0 0 12px #60cbf550}
.alcor-stars{position:absolute;inset:0;pointer-events:none}.alcor-stars i{position:absolute;top:24px;left:3px;width:9px;height:9px;background:#b9f2ff;clip-path:polygon(50% 0,62% 34%,100% 50%,62% 62%,50% 100%,37% 63%,0 50%,36% 36%);filter:drop-shadow(0 0 4px #fff);animation:alcorStarFloat 2.4s ease-in-out infinite}
.alcor-stars i:nth-child(2){left:45px;top:0;animation-delay:-.8s;background:#ffe3a0}.alcor-stars i:nth-child(3){left:88px;top:24px;animation-delay:-1.6s}
.alcor-grimoire-meter[data-alcor-level="6"] .alcor-grimoire-aura,.alcor-grimoire-meter[data-alcor-level="9"] .alcor-grimoire-aura{border:1px dashed #e1bf6a90;animation:alcorRuneSpin 12s linear infinite}
.alcor-grimoire-meter[data-alcor-level="12"] .alcor-grimoire-aura{inset:-7px;background:conic-gradient(from 0deg,transparent,#4cdaff60,transparent,#eacc7660,transparent);animation:alcorRuneSpin 5s linear infinite}
.alcor-grimoire-meter.is-amplified .alcor-stars i{box-shadow:0 0 18px #ffe39a;background:#ffecae;scale:1.3}
.alcor-grimoire-meter.is-chapter .alcor-book{filter:drop-shadow(0 0 11px #bc8aff)}
.alcor-grimoire-meter:focus-visible{outline:2px solid #f3d893;outline-offset:5px;border-radius:15px}
.alcor-book__left,.alcor-book__right{transform-origin:90px 100px}.alcor-grimoire-meter.is-evolving .alcor-book__left{animation:alcorPageOpen .8s ease-out}.alcor-grimoire-meter.is-evolving .alcor-book__right{animation:alcorPageOpen .8s ease-out reverse}
.alcor-grimoire-meter.is-firing .alcor-stars i{animation:alcorStarCast .6s ease-out}.alcor-grimoire-meter.is-firing .alcor-stars i:nth-child(2){animation-delay:.09s}.alcor-grimoire-meter.is-firing .alcor-stars i:nth-child(3){animation-delay:.18s}
body.v3-body>.item-tooltip-floating:has(.alcor-tooltip),body.v3-body>.v3-floating-tooltip:has(.alcor-tooltip){width:min(390px,calc(100vw - 20px));max-width:390px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:18px;overflow:visible}
.item-tooltip-desc:has(.alcor-tooltip){margin:0!important;line-height:inherit;color:inherit}
.alcor-tooltip{position:relative;isolation:isolate;overflow:hidden;padding:20px;border:1px solid #e5c77b;border-radius:18px;background:radial-gradient(ellipse at 85% 0,#27769560,transparent 65%),linear-gradient(145deg,#0c1d31,#050d19 75%);color:#d7ebf5;box-shadow:0 18px 55px #000b,inset 0 0 26px #2c83c327;font:400 13px/1.5 Outfit,sans-serif}
.alcor-tooltip__sky{position:absolute;z-index:-1;inset:-30%;border:1px dashed #e4cc6650;border-radius:45%;background:repeating-conic-gradient(from 5deg,#a4eaff10 0deg 1deg,transparent 1deg 30deg);animation:alcorRuneSpin 35s linear infinite}
.alcor-tooltip header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.alcor-tooltip header .alcor-book{width:68px;height:65px;flex-shrink:0}.alcor-tooltip header div{display:grid;gap:3px}.alcor-tooltip header small{color:#d7bb7e;font-size:9px;letter-spacing:.1em}.alcor-tooltip header strong{color:#fff0c0;font-size:21px;line-height:1.15}.alcor-tooltip header span{color:#80dafa;font-size:12px}.alcor-tooltip header>b{margin-left:auto;font-size:28px;color:#ffe9a7}.alcor-tooltip header>b small{display:block;text-align:right;letter-spacing:0;font-size:12px}
.alcor-page-track{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin:13px 0}.alcor-page-track i{height:7px;background:#45657c45;border:1px solid #83b7cc30;border-radius:2px}.alcor-page-track i.is-filled{background:linear-gradient(90deg,#4faad5,#b3f4ff);box-shadow:0 0 7px #5ed0ff80}.alcor-page-track i.is-threshold{border-color:#d9b85c}.alcor-tooltip[data-alcor-level="12"] .alcor-page-track i{background:#f5d98e}
.alcor-tooltip__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.alcor-tooltip__stats span{display:grid;gap:2px;padding:9px;background:#b0e7ff0a;border-bottom:1px solid #86c8e244}.alcor-tooltip__stats small{color:#9ebfce}.alcor-tooltip__stats b{color:#ffecb2;font-size:18px}.alcor-tooltip p{margin:10px 0 0}.alcor-tooltip footer{margin-top:12px;padding-top:9px;border-top:1px solid #bf9e4d50;color:#95aebf;font-size:11px}
.alcor-grimoire-dialog{width:min(960px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:30px;border:1px solid #e3c77c;border-radius:24px;background:radial-gradient(ellipse at 70% 0,#23638870,transparent 60%),#071322;color:#d8e6ee;box-shadow:0 30px 100px #000d;font-family:Outfit,sans-serif;overscroll-behavior:contain;scrollbar-color:#c5a85d #071322}
.alcor-grimoire-dialog::backdrop{background:#020915cf;backdrop-filter:blur(9px)}.alcor-dialog-close{position:absolute;right:14px;top:9px;background:transparent;border:0;font-size:30px;color:#e4ca89;cursor:pointer}.alcor-dialog-content>header{padding-right:26px}.alcor-dialog-content>header small{letter-spacing:.2em;font-size:10px;color:#86c9e2}.alcor-dialog-content h2{color:#f6dda1;font-size:32px;margin:10px 0}.alcor-dialog-content p{line-height:1.65}
.alcor-codex{padding:24px;border:1px solid #d1b46c70;border-radius:18px;background:radial-gradient(ellipse at 10% 0,#22628260,transparent 70%),linear-gradient(135deg,#081d30,#070e1d);color:#d8e8f1;margin:18px 0}.alcor-codex>header{display:flex;align-items:center;gap:20px}.alcor-codex>header .alcor-book{width:115px;height:100px;flex-shrink:0}.alcor-codex h3{color:#f5dfa4;font-size:25px;margin:6px 0}.alcor-codex>header small{color:#8edaf6;font-size:10px;letter-spacing:.15em}.alcor-codex p{font-size:14px;line-height:1.7}
.alcor-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0}.alcor-levels article{padding:13px 9px;border:1px solid #5f99ac44;border-radius:12px;background:#7ccdfb08;text-align:center}.alcor-levels article.is-current{border-color:#efd38c;background:#dbbe7020;box-shadow:0 0 20px #e7c25b15}.alcor-levels small{color:#94cde2}.alcor-levels h4{color:#eddbab;font-size:12px;min-height:30px;margin:8px 0}.alcor-levels b{display:block;font-size:22px;color:#8ee2ff}.alcor-levels span{font-size:10px}.alcor-levels p{font-size:10px;margin:8px 0 0}
.alcor-codex-effects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.alcor-codex-effects span{display:flex;align-items:center;gap:10px;padding:8px;background:#ffffff05;border-radius:10px}.alcor-codex-effects img{width:38px;height:38px;border-radius:8px}.alcor-codex-effects b{font-size:12px;color:#d9eaf3}.alcor-dialog-abilities{display:grid;gap:16px}.alcor-dialog-abilities>article{padding:16px;border:1px solid #7fb5cc30;border-radius:15px;background:#020a1690}.alcor-dialog-abilities h3{display:flex;align-items:center;gap:10px;color:#f5dda0;font-size:19px;margin:0 0 14px}.alcor-dialog-abilities h3 img{width:40px;height:40px;border-radius:10px}.is-alcor-details .is-current{border-color:#e5c87e!important;background:#d6b25c16!important}.is-alcor-keyword{filter:drop-shadow(0 0 3px #74dcff55)}
.alcor-vfx-layer{position:fixed;inset:0;z-index:1500;pointer-events:none;overflow:hidden;contain:strict}
@keyframes alcorBookFloat{50%{transform:translateY(-4px) rotate(3deg)}}@keyframes alcorStarFloat{50%{transform:translateY(-5px) scale(1.15)}}@keyframes alcorRuneSpin{to{transform:rotate(360deg)}}@keyframes alcorPageOpen{0%{transform:scaleX(.2)}100%{transform:scaleX(1)}}@keyframes alcorStarCast{45%{transform:translateY(-18px) scale(1.5);opacity:.2}100%{transform:none;opacity:1}}
@media(max-width:650px){.alcor-grimoire-dialog{padding:25px 14px}.alcor-codex{padding:15px}.alcor-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.alcor-levels article:last-child{grid-column:1/-1}.alcor-codex-effects{grid-template-columns:repeat(2,minmax(0,1fr))}.alcor-codex>header{gap:10px}.alcor-codex>header .alcor-book{width:80px;height:75px}.alcor-codex h3{font-size:21px}.alcor-dialog-content h2{font-size:26px}}
@keyframes alcorAstrolabeFloat{50%{transform:translateY(-3px) rotate(7deg)}}
@keyframes alcorLeavesDrift{50%{transform:translateY(-5px)}}
@keyframes alcorSparkShimmer{50%{opacity:.35}}
@keyframes alcorSealBreathe{50%{transform:scaleX(.94);opacity:.4}}
@media(prefers-reduced-motion:reduce){.alcor-book *,.alcor-grimoire-meter *,.alcor-tooltip__sky{animation:none!important}}

/* The living grimoire is a twelve-star astrolabe, rather than a generic bar. */
.alcor-orbit-slot{position:absolute;inset:0;pointer-events:none}
.alcor-orbit{position:absolute;inset:0 1px 7px;border:1px solid #bc9b5350;border-radius:50%;box-shadow:inset 0 0 12px #579eff12,0 0 15px #579eff15;transform:rotate(-15deg)}
.alcor-orbit i{position:absolute;left:calc(50% - 2px);top:calc(50% - 2px);width:4px;height:4px;border:1px solid #7ea5bc90;background:#14233b;transform:rotate(var(--r)) translateY(-46px) rotate(45deg);transition:background .4s,box-shadow .4s}
.alcor-orbit i.is-lit{background:#ffdf9b;border-color:#fff3d1;box-shadow:0 0 6px #ffce6a,0 0 10px #75dfff}
.alcor-grimoire-tier{position:absolute;right:-4px;top:0;display:grid;place-items:center;width:22px;height:22px;border:1px solid #e2c07b;background:#0b1e35;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font:700 10px/1 Georgia,serif;color:#ffe7aa}
.alcor-grimoire-meter[data-alcor-level="12"] .alcor-orbit{border-color:#edd08b;box-shadow:0 0 17px #efc97b45,inset 0 0 15px #65d9ff22}
.alcor-tooltip{padding:16px 18px;max-height:calc(100dvh - 24px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b99756 #091526}
.alcor-tooltip__atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
body.v3-body>.item-tooltip-floating:has(.alcor-tooltip),body.v3-body>.v3-floating-tooltip:has(.alcor-tooltip){max-height:none!important;overflow:visible!important}
.alcor-tooltip header{gap:9px;margin-bottom:8px}.alcor-tooltip header strong{font-size:20px}.alcor-tooltip header>b{font-variant-numeric:tabular-nums}
.alcor-tooltip .alcor-page-track{margin:10px 0 6px;gap:3px}.alcor-tooltip .alcor-page-track i:nth-child(3n){margin-right:3px}
.alcor-milestones{display:flex;justify-content:space-between;gap:4px;font:500 10px/1.3 Outfit,sans-serif;color:#7c9fb8;font-variant-numeric:tabular-nums}.alcor-milestones .is-current{color:#ffe0a0;text-shadow:0 0 8px #e7bb6e66}
.alcor-volley{position:relative;display:flex;align-items:center;gap:8px;height:76px;margin:12px 0 8px;padding:0 12px 18px;border:1px solid #79c7eb2b;border-radius:12px;background:radial-gradient(ellipse at 8% 50%,#3784bc33,transparent 55%),#020b1880;overflow:hidden}
.alcor-volley__source{font-size:32px;color:#f5d58b;text-shadow:0 0 12px #69dfff}.alcor-volley__target{font-size:35px;color:#b0edff;text-shadow:0 0 9px #71c6ff}
.alcor-volley__paths{display:flex;flex-direction:column;justify-content:center;gap:5px;flex:1;height:48px}
.alcor-volley__paths i{position:relative;display:block;height:1px;background:linear-gradient(90deg,#d9bd6140,#7bdcff35,transparent)}
.alcor-volley__paths i:after{content:'';position:absolute;left:0;top:-2px;width:5px;height:5px;background:#e0faff;border-radius:50%;box-shadow:-6px 0 7px #6bd7ff,0 0 5px white;animation:alcorTooltipShot 3s calc(var(--shot)*.17s) ease-in-out infinite}
.alcor-volley__caption{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.12em;color:#d6d3bb}
.alcor-tooltip__stats span{padding:7px 8px}.alcor-tooltip__stats small{font-size:10px}.alcor-tooltip__stats b{font-variant-numeric:tabular-nums}
.alcor-tooltip .alcor-state-note{padding:7px 9px;border-left:2px solid #cfa862;background:#cfa8620c;font-size:11px}
.alcor-page-sources{display:grid;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid #9bc8e025;font-size:11px;color:#b6cdda}.alcor-page-sources>strong{font-size:9px;letter-spacing:.13em;color:#d9c38e;margin-bottom:3px}.alcor-page-sources>span{display:flex;gap:7px;align-items:center}.alcor-page-sources b{color:#ffe5a0;min-width:19px;font-variant-numeric:tabular-nums}
.alcor-tooltip footer{font-size:10px;line-height:1.55;margin-top:10px}
.is-alcor-details .ability-progression-step{border-left:2px solid #84cce546;background:linear-gradient(100deg,#29597d18,transparent);padding:8px 10px!important;gap:5px!important}
.is-alcor-details .ability-progression-label{color:#efd69a!important}.is-alcor-details .ability-progression-copy{line-height:1.65!important}
@keyframes alcorTooltipShot{0%,10%{left:0;opacity:0}18%{opacity:1}70%{left:calc(100% - 5px);opacity:1}80%,100%{left:calc(100% - 5px);opacity:0}}
@media(max-width:420px){.alcor-tooltip{padding:12px}.alcor-tooltip header strong{font-size:18px}.alcor-tooltip header .alcor-book{width:52px;height:54px}.alcor-tooltip header small{font-size:8px}.alcor-tooltip__stats{gap:5px}}
@media(prefers-reduced-motion:reduce){.alcor-tooltip *,.alcor-tooltip *:after{animation:none!important;transition:none!important}.alcor-volley__paths i:after{left:calc(32% + var(--shot)*8%);opacity:1}}

/* Full mechanic presentation shared by the battle grimoire and hero sheet. */
alcor-observatory{display:block;min-width:0;width:100%;container-type:inline-size}
.alcor-observatory,.alcor-observatory *{box-sizing:border-box}
.alcor-observatory{--ac-gold:#e9ce8d;--ac-ice:#99e7ff;position:relative;isolation:isolate;overflow:hidden;padding:32px;border:1px solid #bfa66d80;border-radius:20px;background:radial-gradient(ellipse at 16% 15%,#144e7359,transparent 48%),radial-gradient(ellipse at 100% 80%,#29215050,transparent 55%),linear-gradient(130deg,#07182a,#030b17 62%,#09111f);color:#c5d8e6;font:400 14px/1.6 Outfit,sans-serif;box-shadow:inset 0 0 70px #050b1870,0 18px 70px #0004}
.alcor-observatory:before{content:'';position:absolute;pointer-events:none;inset:7px;border:1px solid #d7bd6e19;border-radius:15px;z-index:-1}
.alcor-observatory__dust{position:absolute;inset:0;z-index:-1;pointer-events:none}.alcor-observatory__dust i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;background:#f2d596;box-shadow:0 0 8px #a9e9ff;animation:alcorObservatoryDust 6s calc(var(--i)*-.41s) ease-in-out infinite}
.alcor-observatory .alcor-observatory__heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 16px;padding:0 0 22px;border-bottom:1px solid #c5a76030}
.alcor-observatory__heading small{color:#89c4da;font:600 10px/1.5 Outfit,sans-serif;letter-spacing:.19em}
.alcor-observatory .alcor-observatory__heading h3{margin:8px 0 4px;font:500 clamp(30px,4cqw,52px)/1.15 Cinzel,Georgia,serif;letter-spacing:-.02em;color:#f9e5ac;text-shadow:0 0 30px #e1bf5b35}
.alcor-observatory .alcor-observatory__heading p{margin:0;font-size:13px;color:#9fb9cb}
.alcor-observatory__seal{flex-shrink:0;display:grid;place-items:center;width:118px;min-height:88px;border-left:1px solid #d7b76b40;font:400 38px/1.1 Cinzel,Georgia,serif;color:#e9ce8d;text-shadow:0 0 22px #dfc18150}.alcor-observatory__seal small{font-size:7px;letter-spacing:.12em;color:#96b5c5}
.alcor-observatory__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:30px}
.alcor-celestial-stage{position:relative;height:365px;display:grid;place-items:center;isolation:isolate;overflow:hidden}
.alcor-celestial-stage__nebula{position:absolute;inset:8% 1%;border-radius:50%;background:radial-gradient(ellipse,#3c8cdb52,transparent 63%);filter:blur(13px);animation:alcorObservatoryBreathe 7s ease-in-out infinite}
.alcor-celestial-stage>.alcor-book{position:relative;z-index:2;width:82%;height:82%;filter:drop-shadow(0 12px 14px #010817) drop-shadow(0 0 22px #439cfb60);animation:alcorObservatoryBook 7s ease-in-out infinite}
.alcor-celestial-stage__ring{position:absolute;width:290px;height:290px;border:1px solid #e5c77b60;border-radius:50%;background:repeating-conic-gradient(from 4deg,#a1daf855 0deg .4deg,transparent .4deg 15deg);mask:radial-gradient(transparent 66%,#000 67%);animation:alcorRuneSpin 60s linear infinite}
.alcor-celestial-stage__ring:after{content:'';position:absolute;inset:10px;border:1px dashed #9edfff60;border-radius:50%}.alcor-celestial-stage__ring.is-inner{width:245px;height:245px;transform:rotateX(45deg);animation:alcorObservatoryCounter 45s linear infinite;opacity:.5}
.alcor-celestial-stage__sigil{position:absolute;top:20px;left:50%;font-size:30px;color:#f6d58e;text-shadow:0 0 15px #d8edff}
.alcor-celestial-stage__satellites{position:absolute;inset:0;z-index:3;pointer-events:none}.alcor-celestial-stage__satellites>span{position:absolute;left:calc(8% + var(--s)*36%);top:calc(56% - var(--s)*12%);width:43px;height:43px;border:1px solid #d8bb7190;border-radius:12px;padding:3px;background:#06182c;box-shadow:0 0 25px #69b9f830;transform:rotate(-12deg);animation:alcorLeavesDrift 5s calc(var(--s)*-.8s) ease-in-out infinite}.alcor-celestial-stage__satellites img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.alcor-celestial-stage__floor{position:absolute;bottom:32px;width:80%;height:35px;border:1px solid #6fcffd60;border-radius:50%;box-shadow:0 0 20px #4eaeed30,inset 0 0 15px #54c4ed22;transform:perspective(150px) rotateX(50deg)}
.alcor-celestial-stage__rune{position:absolute;bottom:49px;color:#c6a96b66;font-size:13px;letter-spacing:.4em}.alcor-celestial-stage__label{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#9bb7ca;font-size:10px;letter-spacing:.02em}
.alcor-observatory__eyebrow{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#7abbd5;font-size:9px;letter-spacing:.12em}.alcor-observatory__eyebrow b{color:#ddc68d;letter-spacing:0;font-weight:500}
.alcor-observatory .alcor-observatory__reading h4{margin:8px 0;font:500 clamp(23px,2.8cqw,35px)/1.3 Cinzel,Georgia,serif;color:#f3dfac}
.alcor-observatory .alcor-observatory__lead{margin:0 0 15px;font-size:12px;line-height:1.6;color:#9eb6c9}
.alcor-observatory__metrics{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;padding:12px 0;border-block:1px solid #a8d6e92b}.alcor-observatory__metrics>span{display:grid;gap:4px;align-content:start}.alcor-observatory__metrics b{font:500 clamp(24px,3cqw,38px)/1.2 Outfit,sans-serif;color:#a1eaff;font-variant-numeric:tabular-nums;text-shadow:0 0 19px #7dbfee33}.alcor-observatory__metrics em{font:400 20px Georgia,serif;color:#d4b76e}.alcor-observatory__metrics small{font-size:8px;letter-spacing:.1em;color:#94aebe}
.alcor-observatory__toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.alcor-observatory__toggles button{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid #83bcd539;border-radius:9px;background:#0b203143;color:#cadde7;text-align:left;cursor:pointer;min-width:0;font:500 10px/1.3 Outfit,sans-serif;transition:border-color .2s,background .2s}
.alcor-observatory__toggles button>img{width:27px;height:27px;border-radius:6px}.alcor-observatory__toggles button>span{flex:1}.alcor-observatory__toggles button small{display:block;margin-top:4px;font-size:9px;color:#859eae}.alcor-observatory__toggles button>i{width:6px;height:6px;border-radius:50%;background:#3d5261;flex-shrink:0}
.alcor-observatory__toggles button[aria-pressed="true"]{background:#ddbb6c14;border-color:#e2c47d80}.alcor-observatory__toggles button[aria-pressed="true"]>i{background:#ffe4a1;box-shadow:0 0 9px #ffe4a1}
.alcor-observatory .alcor-observatory__fine{font-size:10px;color:#8ca4b6;line-height:1.55;margin:8px 0}
.alcor-observatory .alcor-volley{margin:0;height:68px;background:linear-gradient(90deg,#24538220,#030b1850);border-color:#6aa1b930}
.alcor-tier-path{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:26px 0 30px}
.alcor-tier-path:before{content:'';position:absolute;top:26px;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,#ddc48370,transparent);z-index:-1}
.alcor-tier-path button{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:15px 7px 14px;min-width:0;border:1px solid #77b5d12b;border-radius:10px;color:#a3bece;background:linear-gradient(170deg,#12304c77,#071321e6);cursor:pointer;transition:border-color .25s,background .25s,box-shadow .25s;font-family:Outfit,sans-serif}
.alcor-tier-path button:hover{border-color:#a5def7a0;background:#183a5260}.alcor-tier-path button[aria-pressed="true"]{border-color:#e0c079;box-shadow:inset 0 0 27px #e4be6220,0 0 22px #d9bb6710;background:linear-gradient(155deg,#62533533,#10294490)}
.alcor-tier-path__number{display:grid;place-items:center;width:28px;height:28px;border:1px solid #b9a26d70;transform:rotate(45deg);font:400 11px Cinzel,Georgia,serif;color:#e9d29c;border-radius:7px;background:#0c2032}
.alcor-tier-path button>small{font-size:9px;margin-top:4px}.alcor-tier-path button>strong{color:#e3d3ac;font-size:11px;font-weight:500;text-align:center;min-height:32px;line-height:1.35}.alcor-tier-path__damage{font-size:20px;color:#9de4fa;line-height:1.2}.alcor-tier-path__damage small{font-size:9px;color:#8ca9ba}.alcor-tier-path button>em{position:absolute;top:-9px;padding:2px 7px;background:#dfc588;border-radius:3px;font:700 7px/1.5 Outfit,sans-serif;color:#172335;letter-spacing:.1em}
.alcor-observatory__section-title{display:flex;align-items:center;gap:12px;margin:25px 0 14px}.alcor-observatory__section-title>span{font:400 13px Georgia,serif;color:#cbb477;border-bottom:1px solid #b69a5d70;padding-bottom:4px}.alcor-observatory .alcor-observatory__section-title h4{font:500 21px/1.2 Cinzel,Georgia,serif;color:#ead6a3;margin:0}.alcor-observatory__section-title>small{font-size:8px;letter-spacing:.12em;color:#68899e;margin-left:auto;text-align:right}
.alcor-knowledge-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.alcor-knowledge-flow article{position:relative;padding:14px 12px;border:1px solid #83afc22b;border-radius:10px;background:linear-gradient(135deg,#17344850,#0a132350);display:grid;grid-template-columns:32px 1fr;gap:8px}.alcor-knowledge-flow img{width:32px;height:32px;object-fit:cover;border-radius:8px}.alcor-knowledge-flow article>b{font:500 25px/1.3 Outfit,sans-serif;color:#f3d895;text-align:right}.alcor-knowledge-flow article>div{grid-column:1/-1}.alcor-knowledge-flow strong{font-size:11px;font-weight:500;color:#d9e8ee}.alcor-observatory .alcor-knowledge-flow p{font-size:10px;line-height:1.5;margin:4px 0 0;color:#90abba}
.alcor-observatory .alcor-observatory__permanent{padding:10px 12px;border-left:2px solid #bfa26355;font-size:11px;line-height:1.7;color:#90aabc;background:#c5ad6207;margin:13px 0 20px}
.alcor-secrets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.alcor-secrets article{position:relative;overflow:hidden;display:flex;align-items:center;gap:11px;padding:14px 11px;min-height:112px;border:1px solid #7ca5ba2a;border-radius:11px;background:linear-gradient(125deg,#16456138,#0a13233b);transition:border-color .3s,transform .3s}.alcor-secrets article:hover{border-color:#d4b66a80;transform:translateY(-2px)}
.alcor-secrets__art{position:relative;flex:0 0 48px;width:48px;height:48px}.alcor-secrets__art:before{content:'';position:absolute;inset:-4px;border:1px solid #ccaf6440;transform:rotate(45deg);border-radius:8px}.alcor-secrets img{position:relative;width:48px;height:48px;object-fit:cover;border-radius:9px;filter:drop-shadow(0 0 7px #489df52b)}.alcor-secrets small{font-size:8px;color:#87b2c7;line-height:1.5;display:block}.alcor-observatory .alcor-secrets h5{margin:3px 0 5px;color:#ecd7a0;font-size:12px;font-weight:500;line-height:1.3}.alcor-observatory .alcor-secrets p{font-size:10px;line-height:1.55;color:#8ba8ba;margin:0}.alcor-secrets p b{font-size:15px;color:#a4e5fa;margin-right:3px;font-weight:500}.alcor-secrets article.is-locked{opacity:.5}
.alcor-infinity{position:relative;display:flex;align-items:center;gap:20px;margin-top:22px;padding:22px;border:1px solid #d4ba7159;border-radius:12px;background:radial-gradient(ellipse at 10% 50%,#99712b20,transparent 65%),linear-gradient(100deg,#101b2b,#15142666);overflow:hidden}.alcor-infinity:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffdc9d0c 48%,transparent 60%);animation:alcorObservatorySheen 9s ease-in-out infinite}
.alcor-infinity>img{width:70px;height:70px;object-fit:cover;border-radius:12px;border:1px solid #dfc48377;box-shadow:0 0 22px #d8ba6b22}.alcor-infinity>div{flex:1}.alcor-infinity small{font-size:8px;color:#bcaa7e;letter-spacing:.13em}.alcor-observatory .alcor-infinity h4{font:500 19px/1.4 Cinzel,Georgia,serif;color:#f1dca7;margin:4px 0 8px}.alcor-observatory .alcor-infinity p{font-size:11px;line-height:1.65;margin:0;color:#9cafbb}.alcor-infinity>strong{font:400 39px/1.2 Outfit,sans-serif;color:#f3d99c;text-align:right;text-shadow:0 0 20px #e9c16a25}.alcor-infinity>strong small{display:block;max-width:120px;font-size:7px;line-height:1.5;margin-top:7px}
.alcor-observatory button:focus-visible{outline:2px solid #b6edff;outline-offset:3px}
.alcor-grimoire-dialog{width:min(1180px,calc(100vw - 28px));padding:26px;background:radial-gradient(ellipse at 40% 0,#1a375066,transparent 65%),#040c19}
.alcor-dialog-content>header{padding:0 28px 14px 4px}.alcor-dialog-content>header h2{font-size:24px;margin:5px 0}.alcor-dialog-content>header>p{font-size:11px;margin:4px 0;color:#9ab3c3}.alcor-dialog-content>alcor-observatory{margin:4px 0 22px}.alcor-dialog-content>.alcor-page-track{display:none}
.alcor-dialog-abilities{grid-template-columns:1fr 1fr;align-items:start}.alcor-dialog-abilities>article{min-width:0}.alcor-dialog-abilities h3{font-size:16px;line-height:1.4}.alcor-dialog-abilities .ability-inline-icon{width:18px;height:18px;vertical-align:middle}.alcor-dialog-abilities .ability-description-summary{font-size:12px;line-height:1.65}.alcor-dialog-abilities .ability-progression-copy{font-size:11px}
@keyframes alcorObservatoryDust{0%,100%{opacity:.15;transform:translateY(8px)}50%{opacity:.8;transform:translateY(-14px)}}
@keyframes alcorObservatoryBreathe{50%{opacity:.5;transform:scale(.88)}}
@keyframes alcorObservatoryBook{50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes alcorObservatoryCounter{to{transform:rotate(-360deg)}}
@keyframes alcorObservatorySheen{0%,20%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@container(max-width:850px){.alcor-observatory{padding:24px}.alcor-observatory__main{gap:18px}.alcor-celestial-stage{height:315px}.alcor-celestial-stage__ring{width:245px;height:245px}.alcor-celestial-stage__ring.is-inner{width:210px;height:210px}.alcor-secrets{grid-template-columns:repeat(2,minmax(0,1fr))}.alcor-infinity{gap:13px;padding:18px}.alcor-infinity>strong{font-size:32px}.alcor-knowledge-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:600px){.alcor-observatory{padding:19px 14px}.alcor-observatory__main{grid-template-columns:1fr;gap:12px}.alcor-celestial-stage{height:280px}.alcor-celestial-stage>.alcor-book{width:260px;height:245px}.alcor-celestial-stage__satellites>span{left:calc(15% + var(--s)*29%)}.alcor-observatory__heading small{font-size:8px}.alcor-observatory__seal{width:65px;font-size:28px;min-height:65px}.alcor-observatory__seal small{font-size:5px}.alcor-observatory__metrics b{font-size:31px}.alcor-observatory__section-title>small{display:none}.alcor-tier-path{gap:4px;margin:20px 0}.alcor-tier-path button{padding:12px 3px;gap:7px}.alcor-tier-path button>strong{font-size:8px;min-height:33px}.alcor-tier-path__damage{font-size:16px}.alcor-tier-path__damage small{display:none}.alcor-tier-path button>small{font-size:8px}.alcor-tier-path__number{width:22px;height:22px;font-size:9px}.alcor-secrets{grid-template-columns:1fr}.alcor-secrets article{min-height:94px}.alcor-secrets__art,.alcor-secrets img{width:45px;height:45px}.alcor-infinity{flex-wrap:wrap;gap:14px;padding:15px}.alcor-infinity>img{width:46px;height:46px}.alcor-infinity>div{flex:1;min-width:170px}.alcor-infinity>strong{flex:1;text-align:left;display:flex;gap:12px;align-items:center}.alcor-infinity>strong small{max-width:none}.alcor-observatory .alcor-infinity h4{font-size:16px}}
@media(max-width:650px){.alcor-grimoire-dialog{padding:22px 8px 12px}.alcor-dialog-abilities{grid-template-columns:1fr}.alcor-dialog-content>header{padding-left:10px}}
@media(prefers-reduced-motion:reduce){.alcor-observatory *,.alcor-observatory *:before,.alcor-observatory *:after{animation:none!important;transition:none!important}.alcor-observatory .alcor-volley__paths i:after{left:calc(32% + var(--shot)*8%);opacity:1}}

/* Preserve the display hierarchy inside the profile's general text sizing. */
.alcor-observatory .alcor-observatory__heading h3{font-size:clamp(30px,4cqw,52px)!important;line-height:1.15!important}
.alcor-observatory .alcor-observatory__heading small{font-size:10px!important;letter-spacing:.19em!important;color:#89c4da!important}
.alcor-observatory .alcor-observatory__reading h4{font-size:clamp(23px,2.8cqw,35px)!important;line-height:1.3!important}
.alcor-observatory .alcor-observatory__metrics small{font-size:10px!important;letter-spacing:.09em!important;color:#94aebe!important}
.alcor-observatory .alcor-observatory__fine{font-size:12px!important;line-height:1.6!important;color:#96adbd!important}
.alcor-observatory .alcor-observatory__section-title h4{font-size:23px!important}
.alcor-observatory .alcor-observatory__section-title>small{font-size:9px!important;letter-spacing:.12em!important;color:#88a7ba!important}
.alcor-observatory .alcor-knowledge-flow p{font-size:12px!important;line-height:1.6!important;color:#9db7c8!important}
.alcor-observatory .alcor-observatory__permanent{font-size:13px!important;line-height:1.7!important;color:#a8bdcb!important}
.alcor-observatory .alcor-secrets small{font-size:10px!important;line-height:1.5!important;color:#93b9cd!important}
.alcor-observatory .alcor-secrets p{font-size:12px!important;line-height:1.6!important;color:#adc0cd!important}
.alcor-observatory .alcor-secrets h5{font-size:14px}
.alcor-observatory .alcor-infinity h4{font-size:21px!important;line-height:1.4!important}
.alcor-observatory .alcor-infinity p{font-size:13px!important;line-height:1.7!important;color:#b2c4d0!important}
.alcor-observatory .alcor-infinity small{font-size:9px!important;letter-spacing:.12em!important}
.alcor-observatory .alcor-observatory__seal small{font-size:7px!important;letter-spacing:.12em!important}
.alcor-observatory[data-tier="0"] .alcor-celestial-stage__nebula{opacity:.55}
.alcor-observatory[data-tier="9"] .alcor-celestial-stage__nebula{background:radial-gradient(ellipse,#6572c95c,transparent 65%)}
.alcor-observatory[data-tier="12"] .alcor-celestial-stage__ring{border-color:#ffe1a9;box-shadow:0 0 22px #edc66b35}
.alcor-observatory[data-tier="12"] .alcor-celestial-stage__nebula{background:radial-gradient(ellipse,#cca76645,#467ece33 40%,transparent 67%)}
.alcor-observatory[data-amplified="true"] .alcor-celestial-stage__satellites>span{box-shadow:0 0 22px #ffe2a666;border-color:#ffe7ad}
.alcor-observatory[data-chapter="true"] .alcor-celestial-stage>.alcor-book{filter:drop-shadow(0 10px 14px #010817) drop-shadow(0 0 25px #ad83ff85)}
.sanctuary-motion-paused .alcor-observatory *,.sanctuary-motion-paused .alcor-observatory *:after{animation-play-state:paused!important}
.alcor-tier-path__number{transform:none;border-radius:50%}
/* The legacy profile disables animations for every child of #codex-detail. */
.at-prototype #codex-detail .alcor-celestial-stage>.alcor-book{animation:alcorObservatoryBook 7s ease-in-out infinite}
.at-prototype #codex-detail .alcor-celestial-stage__ring{animation:alcorRuneSpin 60s linear infinite}
.at-prototype #codex-detail .alcor-celestial-stage__ring.is-inner{animation:alcorObservatoryCounter 45s linear infinite}
.at-prototype #codex-detail .alcor-celestial-stage__nebula{animation:alcorObservatoryBreathe 7s ease-in-out infinite}
.at-prototype #codex-detail .alcor-celestial-stage__satellites>span{animation:alcorLeavesDrift 5s calc(var(--s)*-.8s) ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory__dust i{animation:alcorObservatoryDust 6s calc(var(--i)*-.41s) ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory .alcor-book__astrolabe{animation:alcorAstrolabeFloat 4.8s ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory .alcor-book__leaves{animation:alcorLeavesDrift 4s ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory .alcor-book__sparks{animation:alcorSparkShimmer 3.6s ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory .alcor-book__seal{animation:alcorSealBreathe 5s ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory .alcor-volley__paths i:after{animation:alcorTooltipShot 3s calc(var(--shot)*.17s) ease-in-out infinite}
.at-prototype #codex-detail .alcor-observatory .alcor-infinity:after{animation:alcorObservatorySheen 9s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.at-prototype #codex-detail .alcor-observatory *,.at-prototype #codex-detail .alcor-observatory *:after{animation:none!important}}

/* Express reading salon materials. All native book/page/orbit keyframes remain. */
.alcor-book[data-alcor-theme="asztral"] .alcor-book__cover{fill:#381226}
.alcor-book[data-alcor-theme="asztral"] .alcor-book__volume>path[fill="#143f97"]{fill:#b72546}
.alcor-book[data-alcor-theme="asztral"] [data-alcor-express-part]{pointer-events:none}
.alcor-grimoire-meter[data-alcor-theme="asztral"] .alcor-grimoire-aura{background:radial-gradient(ellipse,#ef304f66,#a521452d 42%,transparent 70%)}
.alcor-grimoire-meter[data-alcor-theme="asztral"] .alcor-grimoire-count{border-color:#dce8fa;background:#351425;color:#fff5e6;box-shadow:0 0 9px #ef304f80}
.alcor-tooltip[data-alcor-theme="asztral"],.alcor-grimoire-dialog[data-alcor-theme="asztral"]{border-color:#dce8fa;background:radial-gradient(ellipse at 90% 5%,#af193d40,transparent 55%),linear-gradient(145deg,#201727,#0b1022 75%)}
[data-alcor-theme="asztral"] .alcor-page-track i.is-filled{background:linear-gradient(90deg,#b72546,#dce8fa);box-shadow:0 0 7px #ef304f88}
.alcor-observatory[data-alcor-theme="asztral"] .alcor-celestial-stage{background:radial-gradient(ellipse at 50% 48%,#ef304f30,transparent 53%),linear-gradient(145deg,#32152788,#101321)}
.alcor-observatory[data-alcor-theme="asztral"] .alcor-celestial-stage__floor{border-color:#dce8fa}
.alcor-grimoire-meter[data-alcor-theme="asztral"] .alcor-book{filter:drop-shadow(0 2px 2px #020617d0) drop-shadow(0 0 7px #ef304f90)}
.alcor-grimoire-meter[data-alcor-theme="asztral"].is-firing .alcor-book,.alcor-grimoire-meter[data-alcor-theme="asztral"].is-chapter .alcor-book{filter:drop-shadow(0 0 11px #ef304fc0) drop-shadow(0 0 3px #dce8fa)}
.alcor-grimoire-meter[data-alcor-theme="asztral"] .alcor-orbit i.is-lit{background:#dce8fa;box-shadow:0 0 6px #ef304f,0 0 12px #a8173f}
.alcor-grimoire-meter[data-alcor-theme="asztral"] .alcor-stars i{background:#dce8fa;filter:drop-shadow(0 0 4px #ef304f)}
.alcor-grimoire-meter[data-alcor-theme="asztral"] .alcor-stars i:nth-child(2){background:#ef304f}
.alcor-book[data-alcor-theme="asztral"] .alcor-book__astrolabe{filter:drop-shadow(0 0 3px #ef304f)}
