:root{--motion-fast:160ms;--motion-panel:240ms;--motion-surface:280ms;--motion-ease:cubic-bezier(.2,.75,.25,1)}
/* Content remains visible and interactive throughout; closing and privacy removal are immediate. */
html[data-rp-motion=full] dialog[open]{animation:rp-surface-in var(--motion-surface) var(--motion-ease)}
html[data-rp-motion=full] dialog[open]::backdrop{animation:rp-backdrop-in 180ms ease-out}
html[data-rp-motion=full] dialog.library-dialog[open]{animation-name:rp-side-in}
html[data-rp-motion=full] dialog.mobile-navigation[open]{animation-name:rp-side-in}
@keyframes rp-surface-in{from{opacity:.8;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes rp-side-in{from{opacity:.8;translate:18px 0}to{opacity:1;translate:0 0}}
@keyframes rp-backdrop-in{from{opacity:.5}to{opacity:1}}
.motion-preference,[data-rp-motion-toggle]{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;max-width:100%;padding:9px 0;gap:8px;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;line-height:1.5;text-align:left;cursor:pointer}.motion-preference:focus-visible,[data-rp-motion-toggle]:focus-visible{outline:2px solid currentColor;outline-offset:4px}.motion-preference:disabled,[data-rp-motion-toggle]:disabled{cursor:default;opacity:.75}.rail-bottom>.motion-preference{display:flex;width:100%;font-size:11px}.app-foot{flex-wrap:wrap}.motion-preference-row{max-width:960px;padding:12px 24px 28px;margin:0 auto}.studio-more-list>[data-rp-motion-toggle]{width:100%;padding:14px 0}
.document-stage-nav{--rp-stage-gap:8px;--rp-stage-bottom:20px;position:relative;isolation:isolate}.document-stage-indicator{position:absolute;left:0;top:0;bottom:var(--rp-stage-bottom);width:calc((100% - var(--rp-stage-gap) - var(--rp-stage-gap))/3);border-radius:4px;background:#edf0e6;transform:translateX(calc(var(--rp-stage) * (100% + var(--rp-stage-gap))));pointer-events:none;z-index:-1}.document-stage-nav>button[aria-current]{background:transparent}.document-stage-nav>button>span{transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
[data-rp-save]{display:inline-flex;align-items:center;gap:7px}[data-rp-save]::after{content:'';width:10px;height:10px;flex:none;box-sizing:border-box}[data-rp-save=saving]::after{border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rp-saving 800ms linear infinite}[data-rp-save=saved]::after{width:5px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 3px 1px}[data-rp-save=error]::after{width:6px;height:6px;background:currentColor;border-radius:50%}#draft-status[data-rp-save]::before{display:none!important}@keyframes rp-saving{to{rotate:360deg}}
@media(hover:hover) and (pointer:fine){html[data-rp-motion=full] :is(.workspace-card,.tool-entry-card .button,.studio-primary,.app-primary,.library-insert){transition:background var(--motion-fast),box-shadow var(--motion-fast),translate var(--motion-fast)}html[data-rp-motion=full] :is(.studio-primary,.app-primary,.library-insert):hover:not(:disabled){translate:0 -1px}}
html[data-rp-motion=full] :is(.studio-primary,.app-primary,.library-insert,.workspace-card,.tool-entry-card .button):active:not(:disabled){translate:0 1px}
@media(max-width:700px){html[data-rp-motion=full] dialog[open]:not(.mobile-navigation){animation-name:rp-surface-in}.motion-preference-row{padding-inline:18px}}
/* One preference covers existing CSS animations as well as the shared runtime. Ambient video keeps its own playback policy. */
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html{scroll-behavior:auto!important}}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}[data-rp-motion-toggle],.motion-preference-row,#motion-toggle{display:none!important}}

html[data-rp-motion=full] .writing-result{animation:rp-surface-in var(--motion-panel) var(--motion-ease)}

html.reduce-motion{scroll-behavior:auto!important}html.reduce-motion :is(.workspace-card,.workspace-card:hover,.workspace-paper-art,.workspace-card:hover .workspace-paper-art,.button:hover){transform:none!important;translate:none!important}html.reduce-motion :is(.layout-card:hover .miniature,.template-card:hover .miniature,.workspace-card:hover .workspace-card-action svg){translate:none!important;transform:none!important}

@media(max-width:760px){.document-stage-nav{--rp-stage-gap:4px;--rp-stage-bottom:16px}}
