/* Shared motion semantics. Full mode is an explicit product preference. */
:root{--spring-ease:cubic-bezier(.2,.9,.2,1.15)}
dialog[open]{animation:none}dialog[open]::backdrop{animation:backdrop-in .35s both}dialog.is-closing::backdrop{animation:backdrop-out .25s both}
@keyframes backdrop-in{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(12px)}}
@keyframes backdrop-out{from{opacity:1}to{opacity:0;backdrop-filter:blur(0)}}
.grid-ghost-layer{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:visible}
.motion-snapshot{pointer-events:none!important;user-select:none;overflow:hidden;will-change:transform,opacity;box-sizing:border-box}
.toast{animation:none;will-change:transform,opacity}
button,a{-webkit-tap-highlight-color:transparent}.icon-button{transition:background .2s,color .2s,transform .35s var(--spring-ease)}.icon-button:hover{transform:translateY(-2px)}.icon-button:active{transform:scale(.86)}
.switch:after,.toggle-row input:after{transition:transform .35s var(--spring-ease)}.switch,.toggle-row input{transition:background .25s,box-shadow .25s}.switch:active:after{width:15px}.switch[aria-checked=true]:active:after{transform:translateX(8px)}
.popover{transform-origin:top center;will-change:opacity,transform}.command-row{transition:background .2s,transform .25s var(--ease)}.command-row:hover{transform:translateX(3px)}
.button{transition:transform .3s var(--spring-ease),box-shadow .3s,background .25s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #6a428921}.button:active{transform:translateY(0) scale(.96)}
.theme-options button:active,.wallpaper-option:active .wallpaper-swatch{transform:scale(.94)}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){z-index:2}::view-transition-old(root){z-index:1}::view-transition-group(root){animation-duration:.72s}
.admin-content{overflow:clip;isolation:isolate}.admin-content>.motion-snapshot{padding:inherit;padding-top:0!important;margin-top:35px!important}.admin-sidebar #admin-nav{position:relative;isolation:isolate}.admin-sidebar .nav-track{position:absolute;left:0;top:0;width:100%;height:43px;border-radius:10px;background:#fff9;box-shadow:0 3px 12px #39244105;border:1px solid #fff8;z-index:0;pointer-events:none}.admin-sidebar #admin-nav .nav-item{z-index:1;background:none!important;box-shadow:none}.admin-sidebar #admin-nav .nav-item:before{display:none}.admin-sidebar #admin-nav .nav-item.active{color:#7d5ca2}.admin-sidebar #admin-nav .nav-item:hover:not(.active){background:#fff3!important}
.admin-page .panel{box-shadow:0 10px 30px #48266307;border-color:#ffffffc7}.admin-page .stat-card{transition:transform .4s var(--ease),box-shadow .4s}.admin-page .stat-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #52376d0b}.admin-page .category-panel{transition:transform .4s var(--ease),box-shadow .4s}.admin-page .category-panel:hover{transform:translateY(-4px);box-shadow:0 12px 27px #52376d0c}.admin-page .data-table tbody tr{transition:background .22s}.admin-page .row-actions .icon-button:hover{transform:translateY(-2px) scale(1.1)}
.admin-page .table-site>.site-icon{transition:transform .4s var(--ease)}.admin-page .data-table tbody tr:hover .table-site>.site-icon{transform:rotate(-5deg) scale(1.07)}
.admin-page .table-footer{color:#72617e}
html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:1150px){.admin-content>.motion-snapshot{margin-top:28px!important}}@media(max-width:850px){.admin-content>.motion-snapshot{margin-top:25px!important}}
@media(max-width:650px){.admin-sidebar .nav-track{width:90px;height:32px;border-radius:8px}.admin-content>.motion-snapshot{margin-top:25px!important}.admin-sidebar #admin-nav{position:relative}}
