:root{--motion-quick:120ms;--motion-standard:190ms;--motion-ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth}
.nav{animation:site-nav-in .2s var(--motion-ease) both}
.nav-brand img{transition:transform .36s var(--motion-ease)}
.nav-brand:hover img{transform:rotate(-8deg) scale(1.08)}
.nav-links a,.nav-login,.nav-user,.nav-plain{transition:color var(--motion-quick),background-color var(--motion-quick),border-color var(--motion-quick),transform var(--motion-quick) var(--motion-ease)}
.nav-links a:hover,.nav-login:hover,.nav-user:hover{transform:translateY(-2px)}
.nav-links a:active,.nav-login:active{transform:translateY(0) scale(.97)}
main:not(#wiki-main),.updates-shell,.wiki-layout{animation:site-page-in .18s var(--motion-ease) both}
button:not(:disabled),a{ -webkit-tap-highlight-color:transparent }
button:not(:disabled):active,.release-download:active,.primary-link:active{transform:scale(.97)}
button.is-busy,form.is-busy button[type=submit]{opacity:.75}
.resource-row{animation:site-row-in .2s var(--motion-ease) both}
.home-resource-list>a{animation:site-row-in .24s var(--motion-ease) both}
.home-resource-list>a:nth-child(2){animation-delay:35ms}
.home-resource-list>a:nth-child(3){animation-delay:70ms}
.resource-row-link,.detail-recommendation,.home-resource-list>a,.catalog-item,.personal-license{transition:background-color var(--motion-standard),border-color var(--motion-standard),box-shadow var(--motion-standard),transform var(--motion-standard) var(--motion-ease)}
.resource-row:hover .resource-row-link,.resource-row:focus-within .resource-row-link,.home-resource-list>a:hover,.detail-recommendation:hover{transform:translateX(4px)}
.resource-row-action,.home-resource-list>a>span:last-child{transition:transform var(--motion-standard) var(--motion-ease)}
.resource-row:hover .resource-row-action,.home-resource-list>a:hover>span:last-child{transform:translateX(5px)}
.detail-panel:not([hidden]){animation:site-panel-in .18s var(--motion-ease) both}
.detail-tabs button,.resource-tabs button,.workspace-tabs button,.project-preview-tabs button{transition:color var(--motion-quick),border-color var(--motion-quick),background-color var(--motion-quick),box-shadow var(--motion-quick)}
.update-entry{animation:site-row-in .2s var(--motion-ease) both;transition:background-color var(--motion-standard)}
.update-entry:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.update-body{transition:transform var(--motion-standard) var(--motion-ease)}
.update-entry:hover .update-body{transform:translateX(4px)}
.wiki-sidebar nav a,.article-pager a,.updates-index a{transition:background-color var(--motion-quick),color var(--motion-quick),transform var(--motion-standard) var(--motion-ease)}
.wiki-sidebar nav a:hover,.article-pager a:hover,.updates-index a:hover{transform:translateX(3px)}
dialog[open]{animation:site-dialog-in .18s var(--motion-ease) both}
dialog[open]::backdrop{animation:site-backdrop-in .18s ease-out both}
details[open]>:not(summary){animation:site-panel-in .18s var(--motion-ease) both}
input,textarea,select{transition:border-color var(--motion-quick),box-shadow var(--motion-quick),background-color var(--motion-quick)}
.project-editor-toolbar button:hover,.version-sort-row:hover,.core-dialog-footer button:hover{transition:background-color var(--motion-quick),color var(--motion-quick),transform var(--motion-quick)}
.project-image-status:not([hidden]),.claim-error,.dialog-error:not([hidden]){animation:site-panel-in .18s var(--motion-ease) both}
.release-row{animation:site-row-in .18s var(--motion-ease) both}
.catalog-item,.personal-license{animation:site-row-in .2s var(--motion-ease) both}
.site-notice-stack{position:fixed;top:max(72px,env(safe-area-inset-top));right:18px;z-index:10001;display:grid;gap:9px;width:min(350px,calc(100vw - 36px));pointer-events:none}
.site-notice{display:grid;grid-template-columns:22px minmax(0,1fr) 24px;align-items:start;gap:10px;min-width:0;padding:13px 12px;border:1px solid #d5e6dd;border-left:3px solid #167258;border-radius:6px;background:#fff;color:#203a32;box-shadow:0 12px 32px #10292033;pointer-events:auto;animation:site-notice-in .32s var(--motion-ease) both}
.site-notice.error{border-color:#efd6da;border-left-color:#b74450;background:#fff9fa;color:#852c35}
.site-notice-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e0f1e8;color:#167258;font-size:14px;font-weight:700}
.site-notice.error .site-notice-icon{background:#f9e5e8;color:#b74450}
.site-notice-text{min-width:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.site-notice-close{display:grid;place-items:center;width:24px;height:24px;min-height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:#6a7f76;font-size:18px;line-height:1;cursor:pointer}
.site-notice-close:hover{background:#edf4f0;color:#234337}
.site-notice.leaving{animation:site-notice-out .18s ease-in both}
.download-confirm-pending{display:inline-flex;align-items:center;gap:7px;margin-right:auto;color:#72837b;font-size:12px}
.download-confirm-pending[hidden]{display:none}
.download-confirm-pending::before{content:"";width:12px;height:12px;border:2px solid #cddcd4;border-top-color:#176a59;border-radius:50%;animation:site-spin .65s linear infinite}
@keyframes site-nav-in{from{opacity:.85;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes site-page-in{from{opacity:.9;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes site-row-in{from{opacity:.85;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes site-panel-in{from{opacity:.9;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes site-dialog-in{from{opacity:.88;transform:translateY(4px) scale(.995)}to{opacity:1;transform:none}}
@keyframes site-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes site-notice-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes site-notice-out{to{opacity:0;transform:translateX(12px)}}
@keyframes site-spin{to{transform:rotate(1turn)}}
@media(max-width:650px){.site-notice-stack{top:auto;right:12px;bottom:max(14px,env(safe-area-inset-bottom));left:12px;width:auto}.site-notice{min-height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
