/* ETOP motion rhythm. The site's chosen effects also run with reduced-motion enabled. */
:root { --etop-motion-fast:140ms; --etop-motion-base:220ms; --etop-motion-panel:280ms; --etop-motion-ease:cubic-bezier(.22,.75,.25,1); }
:is(.etop-public-shell,.etop-admin-shell,.student-portal) :is(button,.button,.btn,.sp-btn,.es-btn,.student-button,.ea-work-tabs a,.pagination a,.paging a,.etop-branch-links a,.etop-book-filter-reset) {
    transition:transform var(--etop-motion-fast) var(--etop-motion-ease),border-color var(--etop-motion-base) ease,background-color var(--etop-motion-base) ease,color var(--etop-motion-base) ease;
    -webkit-tap-highlight-color:transparent;
}
:is(.etop-public-shell,.etop-admin-shell,.student-portal) :is(button,.button,.btn,.sp-btn,.es-btn,.student-button,.ea-work-tabs a,.pagination a,.paging a,.etop-branch-links a):active:not(:disabled):not([aria-disabled=true]):not([data-ea-disabled-reason]):not(.etop-date-picker):not(.ea-order-handle):not(.ea-nav-toggle) { transform:translateY(1px) scale(.975); }
:is(.etop-public-shell,.etop-admin-shell,.student-portal) :is(input,select,textarea):focus-visible { transition:border-color var(--etop-motion-base) ease,box-shadow var(--etop-motion-base) ease; }
/* Navigation feedback starts immediately; expanding the mini sidebar stays brief. */
.etop-admin-shell .ea-sidebar { transition:width 160ms ease-out,transform 180ms ease-out; }
.etop-admin-shell .ea-sidebar :is(.ea-brand-copy,.ea-menu-label,.ea-nav-label,.ea-nav-toggle) { transition:opacity 80ms linear; }
.etop-side-menu .etop-menu-chevron { transition:transform var(--etop-motion-base) var(--etop-motion-ease); }
.etop-side-menu[open] .etop-menu-chevron { transform:rotate(180deg); }
.etop-side-menu > .sidebox { transform-origin:top center; }
.ea-nav-group-toggle,.ea-order-fold:before,.ea-tree-group>summary:before,.ea-tree-node>details>summary:before,.etop-listening-chevron { transition:transform var(--etop-motion-base) var(--etop-motion-ease); }
/* Entry is owned by etop-motion.js; avoid stacking an older CSS entry on top. */
:is(.etop-public-shell,.etop-admin-shell,.student-portal) :is(.etop-notice-dialog,.ea-account-dropdown,.es-dialog,.ea-staff-dialog,.sp-dialog,.sp-modal,[data-etop-fc-settings-panel],.etop-app-update,.etop-device-dialog,.ui-dialog,.tox-dialog,.etop-horizontal-nav .dropdown-menu,.etop-side-menu > .sidebox) { animation:none; }
::view-transition-new(root),::view-transition-old(root) { animation:none; mix-blend-mode:normal; }
@media(hover:hover) and (pointer:fine) {
    :is(.etop-public-shell,.etop-admin-shell,.student-portal) :is(.student-button,.sp-btn,.es-btn,.etop-branch-links a):hover:not(:disabled):not([aria-disabled=true]) { transform:translateY(-1px); }
    .etop-public-shell .etop-artwork-image { transition:transform var(--etop-motion-base) var(--etop-motion-ease); }
}
/* Pause decoration only while a document is invisible; no OS motion preference changes the effects. */
html.etop-document-hidden *,html.etop-document-hidden *:before,html.etop-document-hidden *:after { animation-play-state:paused!important; }

/* A light, shared elevation for standalone controls, separate from drag/slider controls. */
:is(.etop-public-page,.etop-public-shell,.student-portal) { --etop-control-rest:inset 0 1px #ffffff80,0 2px 4px #16395712;--etop-control-hover:inset 0 1px #ffffff90,0 3px 2px #16395710,0 7px 12px -3px #16395726;--etop-control-press:inset 0 1px 3px #16395716,0 1px 2px #16395714; }
.etop-admin-shell { --etop-control-rest:var(--ea-control-shadow);--etop-control-hover:var(--ea-control-shadow),0 5px 10px -3px #17385826;--etop-control-press:var(--ea-control-press);--etop-nav-hover:inset 0 1px #ffffff90,0 2px 2px #17385812,0 7px 12px -5px #17385835; }
[data-ea-theme=dark] .etop-admin-shell { --etop-control-hover:var(--ea-control-shadow),0 5px 12px -3px #0005;--etop-nav-hover:inset 0 1px #ffffff12,0 2px 2px #0003,0 7px 12px -5px #0007; }
:is(.etop-public-page,.etop-public-shell,.etop-admin-shell,.student-portal):is(.etop-public-page,.etop-public-shell,.etop-admin-shell,.student-portal) :is(.button,.btn,.sp-btn,.es-btn,.student-button,.ea-work-tabs a,ul.tabs a,.pagination a,.paging a,.etop-branch-links a,.etop-book-filter-reset,.etop-header-account,.etop-masthead-notifications,.eh-bell,.ea-theme-toggle,.ea-menu-toggle,.ea-logout button,.ea-history-link,.list a.edit,.list a.del,.etop-archive-filters button,.etop-article-actions > button,.etop-article-actions > a,.etop-app-update-actions > button,.etop-device-dialog button,.etop-notice-dialog header button,.etop-fc__panel-head button):not(.etop-date-picker):not(.ea-order-handle):not(.ea-order-fold):not(.ea-nav-toggle):not(.es-editor-tabs .es-btn):not(.es-column-tools .es-btn):not(:disabled):not([aria-disabled=true]):not([data-ea-disabled-reason]) {
    --etop-control-elevation:1;box-shadow:var(--etop-control-rest);transition:transform var(--etop-motion-base) var(--etop-motion-ease),box-shadow var(--etop-motion-base) ease,border-color var(--etop-motion-base) ease,background-color var(--etop-motion-base) ease,color var(--etop-motion-base) ease;
}
/* No hover fade on menu rows: moving between rows must clear the previous box immediately. */
.etop-admin-shell.etop-admin-shell .ea-sidebar :is(.ea-school-nav a,.ea-cms-list a),.etop-admin-shell.etop-admin-shell .ea-sidebar .ea-nav-toggle { transition:none;-webkit-tap-highlight-color:transparent; }
.etop-public-page .etop-horizontal-nav.navbar-default .navbar-nav > li > a { transition:transform var(--etop-motion-base) var(--etop-motion-ease),box-shadow var(--etop-motion-base) ease,background-color var(--etop-motion-base) ease; }
@media(hover:hover) and (pointer:fine) {
    .etop-public-page .etop-horizontal-nav.navbar-default .navbar-nav > li > a:hover { transform:translateY(-2px); }
    :is(.etop-public-page,.etop-public-shell,.etop-admin-shell,.student-portal):is(.etop-public-page,.etop-public-shell,.etop-admin-shell,.student-portal) :is(.button,.btn,.sp-btn,.es-btn,.student-button,.ea-work-tabs a,ul.tabs a,.pagination a,.paging a,.etop-branch-links a,.etop-book-filter-reset,.etop-header-account,.etop-masthead-notifications,.eh-bell,.ea-theme-toggle,.ea-menu-toggle,.ea-logout button,.ea-history-link,.list a.edit,.list a.del,.etop-archive-filters button,.etop-article-actions > button,.etop-article-actions > a,.etop-app-update-actions > button,.etop-device-dialog button,.etop-notice-dialog header button,.etop-fc__panel-head button):hover:not(.etop-date-picker):not(.ea-order-handle):not(.ea-order-fold):not(.ea-nav-toggle):not(.es-editor-tabs .es-btn):not(.es-column-tools .es-btn):not(:disabled):not([aria-disabled=true]):not([data-ea-disabled-reason]) { transform:translateY(-2px);box-shadow:var(--etop-control-hover); }
    .etop-admin-shell.etop-admin-shell .ea-sidebar :is(.ea-school-nav a,.ea-cms-list a):hover { box-shadow:var(--etop-nav-hover); }
}
:is(.etop-public-page,.etop-public-shell,.etop-admin-shell,.student-portal):is(.etop-public-page,.etop-public-shell,.etop-admin-shell,.student-portal) :is(.button,.btn,.sp-btn,.es-btn,.student-button,.ea-work-tabs a,ul.tabs a,.pagination a,.paging a,.etop-branch-links a,.etop-book-filter-reset,.etop-header-account,.etop-masthead-notifications,.eh-bell,.ea-theme-toggle,.ea-menu-toggle,.ea-logout button,.ea-history-link,.list a.edit,.list a.del,.etop-archive-filters button,.etop-article-actions > button,.etop-article-actions > a,.etop-app-update-actions > button,.etop-device-dialog button,.etop-notice-dialog header button,.etop-fc__panel-head button):active:not(.etop-date-picker):not(.ea-order-handle):not(.ea-order-fold):not(.ea-nav-toggle):not(.es-editor-tabs .es-btn):not(.es-column-tools .es-btn):not(:disabled):not([aria-disabled=true]):not([data-ea-disabled-reason]) { transform:translateY(1px) scale(.99);box-shadow:var(--etop-control-press); }
.etop-motion-pressed.etop-motion-pressed { transform:translateY(1px) scale(.99)!important;box-shadow:var(--etop-control-press)!important; }
