/* Event-driven motion; desktop effects are deliberately more visible. */
:root{--orb-motion-fast:160ms;--orb-motion-normal:240ms;--orb-motion-ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
/* Match the home/catalog cards too; the modern theme previously replaced their
   transform transition with border-only feedback on desktop. */
body :is(.feature-card,.database-card,.dungeon-card,.news-story,.game-build-card,.orb-catalog-card){transition:transform var(--orb-motion-normal) var(--orb-motion-ease),border-color var(--orb-motion-fast),box-shadow var(--orb-motion-normal),background-color var(--orb-motion-normal)}
@media(hover:hover) and (pointer:fine){body :is(.feature-card,.database-card,.dungeon-card,.news-story,.game-build-card,.orb-catalog-card):hover{transform:translateY(-5px) scale(1.008);border-color:#8ca9e580;box-shadow:0 15px 35px #00000035,0 0 24px #91abff20}}
@media(prefers-reduced-motion:reduce){html body :is(.feature-card,.database-card,.dungeon-card,.news-story,.game-build-card,.orb-catalog-card){animation:none!important;transition:none!important}html body :is(.feature-card,.database-card,.dungeon-card,.news-story,.game-build-card,.orb-catalog-card):hover{transform:none}}
[data-orb-reveal=pending]{opacity:0}
html[data-orb-navigating=true]::after{content:'';position:fixed;z-index:100000;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#7e9eff,#dec18b,#7e9eff);box-shadow:0 0 12px #94adff90;animation:orb-progress 900ms ease-in-out infinite;transform-origin:left;pointer-events:none}
@keyframes orb-progress{0%{transform:scaleX(.12)}50%{transform:scaleX(.75)}100%{transform:scaleX(1)}}
.premium-header{view-transition-name:orb-header}
::view-transition-old(root){animation:orb-page-out 150ms ease both}::view-transition-new(root){animation:orb-page-in 220ms var(--orb-motion-ease) both}::view-transition-old(orb-header),::view-transition-new(orb-header){animation:none;mix-blend-mode:normal}
@keyframes orb-page-out{to{opacity:0}}@keyframes orb-page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
body :is(button,.meter-primary,.meter-secondary,.premium-nav a,[role=button]){transition:background-color var(--orb-motion-fast),border-color var(--orb-motion-fast),box-shadow var(--orb-motion-fast),color var(--orb-motion-fast),transform var(--orb-motion-fast)}
body :is(button,[role=button]):active:not(:disabled){transform:scale(.98)}
body :is(button,a,input,select,summary):focus-visible{outline:2px solid #d8c087;outline-offset:3px;transition:outline-offset var(--orb-motion-fast)}
body :is(button,[role=button])>svg{transition:transform var(--orb-motion-fast)}
body :is(button,[role=button]):hover>svg{transform:translateY(-1px) rotate(-3deg)}
body :is(.premium-tool-card,.community-card,.class-showcase-card,.resource-card,.game-resource-card,.news-card,.ab-pet-card){transition:transform var(--orb-motion-normal) var(--orb-motion-ease),border-color var(--orb-motion-fast),box-shadow var(--orb-motion-normal),background-color var(--orb-motion-normal)}
@media(hover:hover) and (pointer:fine){body :is(.premium-tool-card,.community-card,.class-showcase-card,.resource-card,.game-resource-card,.news-card,.ab-pet-card):hover{transform:translateY(-3px);box-shadow:0 10px 26px #00000025,0 0 15px #91abff0b;border-color:#8ca9e580}body button:hover:not(:disabled){box-shadow:0 0 12px #98b0f01b}}
body :is([aria-pressed=true],[aria-selected=true],input:checked+label){transition:background-color var(--orb-motion-normal),border-color var(--orb-motion-normal),color var(--orb-motion-fast)}
dialog{transition:opacity 180ms,transform 180ms,display 180ms allow-discrete,overlay 180ms allow-discrete;opacity:0;transform:translateY(7px) scale(.99)}dialog[open]{opacity:1;transform:translateY(0) scale(1)}dialog::backdrop{transition:opacity 180ms,display 180ms allow-discrete,overlay 180ms allow-discrete;opacity:0}dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]{opacity:0;transform:translateY(7px) scale(.99)}dialog[open]::backdrop{opacity:0}}
details::details-content{transition:opacity 180ms,content-visibility 180ms allow-discrete;opacity:0}details[open]::details-content{opacity:1}
body :is(.orb-event-popup,.header-live-popover,.orb-hover-tip,.orb-map-detail){animation:orb-panel-in 180ms var(--orb-motion-ease) both}
@keyframes orb-panel-in{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
.orb-click-glow{position:fixed;z-index:100000;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:1px solid #c6d7ff;background:var(--glass-secondary);box-shadow:0 0 12px #9bb5ff60;pointer-events:none;animation:orb-click-wave 440ms ease-out forwards}
.orb-leave-dialog{width:min(440px,calc(100vw - 32px));box-sizing:border-box;padding:26px;border:1px solid #8ca8de70;border-radius:20px;background:var(--glass-primary);color:#eef3ff;backdrop-filter:blur(18px);box-shadow:0 24px 80px #0008}
.orb-leave-dialog::backdrop{background:#050a1666;backdrop-filter:blur(4px)}.orb-leave-dialog form{margin:0}.orb-leave-symbol{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5be8255;border-radius:12px;color:#e4ca8c;background:#e4ca8c0b;margin-bottom:16px}
.orb-leave-dialog h2{margin:0 0 12px;font-size:21px;line-height:1.3}.orb-leave-dialog p{margin:0;color:#b8c8e1;font-size:13px;line-height:1.8}.orb-leave-dialog form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.orb-leave-dialog button{min-height:42px;padding:10px 18px;border:1px solid #8ca8de55;border-radius:10px;background:var(--glass-primary);color:#edf3ff;font:inherit;font-size:13px;cursor:pointer}.orb-leave-dialog button.orb-leave-confirm{background:var(--glass-primary);border-color:#df889b;color:#fff}
html:is(.theme-light,[data-theme=light]) .orb-leave-dialog{background:#f5f8fff0;color:#233854}html:is(.theme-light,[data-theme=light]) .orb-leave-dialog p{color:#536888}
@keyframes orb-click-wave{from{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(3)}}
@media(hover:hover) and (pointer:fine){body :is(.premium-tool-card,.community-card,.game-resource-card,.news-card,.ab-pet-card,.live-feature-card):hover{transform:translateY(-5px) scale(1.008);box-shadow:0 15px 35px #00000035,0 0 24px #91abff20}body :is(button,[role=button]):hover>svg{animation:orb-icon-nudge 380ms ease-out}body .meter-primary:hover{transform:translateY(-2px);box-shadow:0 7px 24px #809cff55}}
@keyframes orb-icon-nudge{0%,100%{transform:rotate(0)}35%{transform:rotate(-8deg) scale(1.06)}70%{transform:rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.orb-click-glow{display:none}body :is(.premium-tool-card,.community-card,.game-resource-card,.news-card,.ab-pet-card,.live-feature-card,.meter-primary):hover{transform:none}body :is(button,[role=button]):hover>svg{animation:none}}
.skeleton,[aria-busy=true] .skeleton{background:linear-gradient(100deg,#839ed00a 20%,#a2b7e32b 45%,#839ed00a 70%);background-size:220% 100%;animation:orb-skeleton 1.4s ease-in-out infinite;border-radius:12px;min-height:64px}
@keyframes orb-skeleton{to{background-position:-220% 0}}
[data-orb-change]{display:inline-block;border-radius:4px;transform-origin:center}
[data-event-counter]{transition:border-color 300ms,box-shadow 300ms} [data-event-counter]>summary{transition:border-color 300ms,background-color 300ms,box-shadow 300ms}
html body .premium-header [data-event-counter]>summary{position:relative}
html body .premium-header [data-event-counter]>summary::after{content:'';position:absolute;inset:-1px;border:1px solid var(--orb-event-color);border-radius:inherit;box-shadow:0 0 15px color-mix(in srgb,var(--orb-event-color) 25%,transparent);pointer-events:none;animation:orb-event-live-glow 3s ease-in-out infinite}
@keyframes orb-event-live-glow{0%,100%{opacity:.25}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){html body .premium-header [data-event-counter]>summary::after{animation:none;opacity:.4}}
@media(max-width:700px){:root{--orb-motion-normal:170ms;--orb-motion-fast:120ms}::view-transition-new(root){animation-duration:150ms}body :is(.orb-event-popup,.header-live-popover){animation-duration:140ms}}
@media(prefers-reduced-motion:reduce){[data-orb-reveal=pending]{opacity:1}html[data-orb-navigating=true]::after{animation:none}html body :is(button,a,input,select,summary,dialog,details,.premium-tool-card,.community-card,.class-showcase-card,.resource-card,.game-resource-card,.news-card,.ab-pet-card,.skeleton,.orb-event-popup,.header-live-popover,.orb-hover-tip){animation:none!important;transition:none!important}details::details-content,dialog::backdrop{transition:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body :is(.premium-tool-card,.community-card,.class-showcase-card,.resource-card,.game-resource-card,.news-card,.ab-pet-card):hover,body :is(button,[role=button]):hover>svg{transform:none}}
/* Apply after theme rules so desktop cards share the same visible feedback. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
 :root{--orb-motion-normal:380ms;--orb-motion-fast:240ms}
 ::view-transition-new(root){animation:orb-desktop-page-in 440ms var(--orb-motion-ease) both}
 @keyframes orb-desktop-page-in{from{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
 html body :is(.orb-event-popup,.header-live-popover,.orb-hover-tip,.orb-map-detail){animation:orb-desktop-panel-in 380ms var(--orb-motion-ease) both}
 @keyframes orb-desktop-panel-in{from{opacity:0;translate:0 -14px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
 html body dialog{transition-duration:320ms;transform:translateY(18px) scale(.965)}html body dialog[open]{transform:translateY(0) scale(1)}
 @starting-style{html body dialog[open]{opacity:0;transform:translateY(18px) scale(.965)}}
 html body .premium-header [data-event-counter]>summary::after{border-width:2px;box-shadow:0 0 24px color-mix(in srgb,var(--orb-event-color) 42%,transparent)}
}
@media(min-width:701px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html body :is(.feature-card,.home-card,.game-home-card,.database-card,.dungeon-card,.news-story,.premium-tool-card,.community-card,.game-build-card,.game-resource-card,.orb-catalog-card,.class-showcase-card,.live-feature-card,.ab-pet-tile,.resource-card,.guild-stat,.premium-stat,.news-card){transition:transform 380ms var(--orb-motion-ease),border-color 240ms,box-shadow 380ms,background-color 380ms}
 html body :is(.feature-card,.home-card,.game-home-card,.database-card,.dungeon-card,.news-story,.premium-tool-card,.community-card,.game-build-card,.game-resource-card,.orb-catalog-card,.class-showcase-card,.live-feature-card,.ab-pet-tile,.resource-card,.guild-stat,.premium-stat,.news-card):hover{transform:translateY(-9px) scale(1.025);border-color:#a8c3ffd0;box-shadow:0 22px 44px #00000050,0 0 34px #91abff42}
 html body :is(button,[role=button],.meter-primary,.meter-secondary):hover:not(:disabled){transform:translateY(-3px) scale(1.025);box-shadow:0 8px 24px #91abff45}
 html body :is(button,[role=button]):active:not(:disabled){transform:translateY(0) scale(.94)}
 html body :is(button,[role=button]):hover>svg{animation:orb-desktop-icon 480ms ease-out}
 @keyframes orb-desktop-icon{0%,100%{transform:rotate(0) scale(1)}35%{transform:rotate(-12deg) scale(1.18)}70%{transform:rotate(5deg) scale(1.08)}}
}
