.motion-ambient { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; contain:strict; }
.motion-accent { position:absolute; display:block; aspect-ratio:1; color:var(--accent-2,#6e8d70); opacity:0; pointer-events:none; }
.motion-accent:nth-child(2n) { color:#c89c84; }
.motion-accent svg { display:block; width:100%; height:100%; fill:currentColor; fill-opacity:.15; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.app,.tour-shell,.rsvp-shell,.legal-shell,.sms-demo-shell,main.shell { position:relative; z-index:1; }
.auth-layout { position:relative; z-index:1; }
.auth-shell { background:radial-gradient(ellipse at 12% 20%,var(--soft,#e8eee8),transparent 55%),var(--bg,#f7f8f4); }
.btn,.nav button,.bottom-nav button,.tour-nav button,.home-action,.feature-link { transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .2s ease,transform .2s cubic-bezier(.22,.8,.3,1); }
.nav button.active::after { animation:motion-indicator-in .22s ease-out; }
.nav button .ui-icon,.bottom-nav button .ui-icon { transition:transform .22s ease; }
.nav button.active .ui-icon,.bottom-nav button.active .ui-icon { transform:translateY(-1px); }
input,select,textarea { transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.sidebar { transition:transform .3s cubic-bezier(.22,.8,.3,1); }
.mobile-backdrop { animation:motion-backdrop-in .2s ease-out; }
@media(hover:hover) and (pointer:fine) {
  .btn:not(:disabled):hover,.home-action:hover,.feature-link:hover { transform:translateY(-2px); box-shadow:0 4px 12px #203c2b0c; }
  .nav button:hover,.tour-nav button:hover { transform:translateX(3px); }
  .bottom-nav button:hover .ui-icon { transform:translateY(-2px); }
}
.btn:not(:disabled):active,.nav button:active,.bottom-nav button:active { transform:scale(.98); }
@keyframes motion-indicator-in { from {opacity:0;transform:scale(.4);} to {opacity:1;transform:scale(1);} }
@keyframes motion-backdrop-in { from {opacity:0;} to {opacity:1;} }
.auth-tour-card { margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.auth-tour-card .btn { width:100%; min-height:46px; }
.auth-tour-card p { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.65; }
.auth-motion { margin-top:12px; border:0; background:transparent; color:var(--muted); text-decoration:underline; font-size:11px; padding:5px 0; cursor:pointer; }
.feature-tour-dialog { width:min(1180px,calc(100vw - 40px)); height:min(840px,calc(100dvh - 40px)); max-width:none; max-height:none; padding:0; border:1px solid var(--line,#e0e7df); border-radius:18px; color:var(--ink,#243c32); background:var(--panel,#fff); box-shadow:0 24px 90px #122e2433; }
.feature-tour-dialog::backdrop { background:#112a246e; backdrop-filter:blur(7px); }
.feature-tour-dialog[open] { display:flex; flex-direction:column; animation:motion-dialog-in .25s ease-out; }
.feature-tour-bar { display:flex; flex-shrink:0; justify-content:space-between; align-items:center; padding:12px 18px; border-bottom:1px solid var(--line,#e0e7df); gap:12px; }
.feature-tour-bar strong { font-size:13px; }.feature-tour-bar span { font-size:11px; color:var(--muted); }
.feature-tour-bar button { border:0; border-radius:8px; color:inherit; background:var(--soft,#e8eee8); min-width:40px; min-height:40px; cursor:pointer; font-size:22px; }
.feature-tour-dialog iframe { width:100%; flex:1; min-height:0; border:0; background:#f7f8f4; }
@keyframes motion-dialog-in { from {opacity:0;transform:translateY(12px) scale(.99);} to {opacity:1;transform:translateY(0) scale(1);} }
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
html[data-motion="reduced"] .motion-ambient { display:none; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.motion-ambient {display:none;} }
@media(max-width:600px) { .feature-tour-dialog {width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:12px;} .feature-tour-bar span {display:none;} }
@media print { .motion-ambient,.auth-motion,.feature-tour-dialog {display:none!important;} }
