/* Decorative motion only. No device states, control positions or layout transforms. */
body{isolation:isolate}
.portal-atmosphere{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.portal-atmosphere:before{content:'';position:absolute;inset:-15%;background:radial-gradient(ellipse at 16% 25%,#d5aa7810,transparent 40%),radial-gradient(ellipse at 80% 68%,#91aa7d10,transparent 44%);animation:portal-drift 24s ease-in-out infinite alternate}
.realm-header,.krastael-nav{position:relative}
.realm-header:after,.krastael-nav:after{content:'';position:absolute;bottom:-1px;left:0;height:1px;width:26%;background:linear-gradient(90deg,transparent,#d5aa78,transparent);animation:portal-header-signal 12s ease-in-out infinite;pointer-events:none}
.realm-nav a,.krastael-links a,.text-link{transition:color .25s,text-shadow .25s}
.realm-nav a:hover,.krastael-links a:hover,.text-link:hover{text-shadow:0 0 24px #d5aa7870}
.realm-home .hero-copy{position:relative;isolation:isolate}
.portal-astrolabe{position:absolute;right:-20px;top:-24px;width:320px;height:320px;z-index:-1;pointer-events:none;fill:none;stroke:#d5aa78;stroke-width:.6;opacity:.16;overflow:visible}
.portal-orbit{transform-origin:160px 160px;animation:portal-orbit 72s linear infinite}
.portal-orbit-reverse{transform-origin:160px 160px;animation:portal-orbit 48s linear infinite reverse}
.portal-core{transform-origin:center;transform-box:fill-box;animation:portal-breathe 7s ease-in-out infinite}
.portal-diagram{display:block;width:100%;height:112px;margin:-8px 0 24px;overflow:visible;fill:none;stroke:#d5aa78;stroke-width:1.3;pointer-events:none}
.portal-diagram .diagram-rail{stroke:#d5aa7838;stroke-width:1}
.portal-diagram .diagram-signal{stroke:#efc89a;stroke-dasharray:12 220;animation:portal-signal 9s linear infinite}
.portal-diagram .diagram-room{fill:#d5aa7807;stroke:#d5aa7870;animation:portal-room 8s ease-in-out infinite}
.portal-diagram .room-two{animation-delay:2s}.portal-diagram .room-three{animation-delay:4s}.portal-diagram .room-four{animation-delay:6s}
.portal-diagram .chest-lid{transform-origin:144px 58px;animation:portal-lid 9s ease-in-out infinite}
.portal-diagram .chest-light{opacity:.12;animation:portal-chest-light 9s ease-in-out infinite}
.portal-diagram .puzzle-dial{transform-origin:320px 56px;animation:portal-dial 12s cubic-bezier(.65,0,.35,1) infinite}
.portal-diagram .puzzle-pin{animation:portal-pin 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.portal-diagram .pin-two{animation-delay:1s}.portal-diagram .pin-three{animation-delay:2s}
.entry-card .portal-diagram{transition:filter .4s}.entry-card:is(:hover,:focus-visible) .portal-diagram{filter:drop-shadow(0 0 6px #d5aa7840)}
.entry-card:is(:hover,:focus-visible) .entry-icon{stroke:#f1d5b3}
/* CMS text spans should retain button typography; only arrow glyphs travel. */
.realm-button [data-content-key],.text-link [data-content-key],.entry-bottom [data-content-key]{font-size:inherit;font-weight:inherit;transform:none!important}
.realm-button:hover [aria-hidden],.text-link:hover [aria-hidden],.entry-card:hover .entry-bottom [aria-hidden]{transform:translate(4px,-3px)}
.realm-button:active{transform:translateY(0);box-shadow:inset 0 0 0 2px #f1ede345}
.realm-props .btn:active:not(:disabled){box-shadow:inset 0 0 0 2px #d5aa7860}
.realm-login .login-card:focus-within{box-shadow:0 16px 72px #0003,0 0 32px #d5aa780c}
.realm-editor .content-field:focus-within{border-color:#d5aa7870;box-shadow:0 0 24px #d5aa7808}
.realm-editor .preview-rule{background:linear-gradient(90deg,#d5aa78,transparent);transform-origin:left;animation:portal-rule 8s ease-in-out infinite}
.portal-motion-settings{width:calc(100% - 64px);max-width:1328px;margin:0 auto;padding:8px 0 24px;display:flex;justify-content:flex-end}
.portal-motion-toggle{font:500 11px/1.5 'Manrope',sans-serif;color:#a9ada1;border:1px solid #d5aa7838;background:#141714;padding:10px 16px;min-height:40px;cursor:pointer;display:flex;gap:10px;align-items:center;transition:color .2s,border-color .2s}
.portal-motion-toggle:before{content:'Ⅱ';color:#d5aa78;font-size:12px}.portal-motion-toggle[data-paused=true]:before{content:'▷'}
.portal-motion-toggle:hover{border-color:#d5aa7890;color:#f1ede3}.portal-motion-toggle:focus-visible{outline:2px solid #d5aa78;outline-offset:4px}.portal-motion-toggle:disabled{cursor:default;opacity:.7}
/* Pause applies to existing ornaments too; compass images use a static companion. */
html[data-portal-motion=paused] *,html[data-portal-motion=paused] *:before,html[data-portal-motion=paused] *:after{animation-play-state:paused!important}
html[data-portal-motion=paused] .reveal-ready{opacity:1;transform:none;animation:none!important}
html[data-portal-motion=paused] :is(.hero-copy>*,.table-overview,.login-intro,.login-intro>*,.login-card,.prop-intro,.tab-content,.editor-heading,.content-field){animation:none!important}
@keyframes portal-drift{to{transform:translate3d(4%,3%,0)}}
@keyframes portal-header-signal{0%,100%{transform:translateX(0);opacity:.25}50%{transform:translateX(280%);opacity:.8}}
@keyframes portal-orbit{to{transform:rotate(360deg)}}
@keyframes portal-breathe{50%{opacity:.4;transform:scale(.96)}}
@keyframes portal-signal{to{stroke-dashoffset:-464}}
@keyframes portal-room{0%,75%,100%{fill:#d5aa7807;stroke:#d5aa7870}20%,35%{fill:#d5aa7826;stroke:#efc89a}}
@keyframes portal-lid{0%,15%,85%,100%{transform:rotate(0deg)}35%,65%{transform:rotate(-14deg)}}
@keyframes portal-chest-light{0%,15%,85%,100%{opacity:.08}35%,65%{opacity:.65}}
@keyframes portal-dial{0%,15%{transform:rotate(0deg)}30%,45%{transform:rotate(90deg)}60%,75%{transform:rotate(180deg)}90%,100%{transform:rotate(360deg)}}
@keyframes portal-pin{0%,65%,100%{transform:translateY(0);opacity:.4}25%,40%{transform:translateY(-5px);opacity:1}}
@keyframes portal-rule{50%{transform:scaleX(.6);opacity:.5}}
@media(max-width:800px){.portal-astrolabe{width:240px;height:240px;right:0;top:0;opacity:.12}.portal-diagram{height:100px}.portal-motion-settings{width:calc(100% - 40px)}.portal-atmosphere:before{animation-duration:32s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.portal-diagram .chest-light{opacity:.2}}
