/* MSpace RC6.6 Motion & Feedback — presentation only; zero network/data access */
:root{
  --ms-motion-fast:120ms;
  --ms-motion-standard:180ms;
  --ms-motion-slow:240ms;
  --ms-motion-emphasized:cubic-bezier(.2,0,0,1);
  --ms-motion-decelerate:cubic-bezier(0,0,.2,1);
}
body.rc6-foundation :where(a,button,.btn,.card,.panel,.menu-item,.nav-item,.app-card,.notice-card,.attendance-card){
  -webkit-tap-highlight-color:transparent;
}
body.rc6-foundation :where(.card,.panel,.section-card,.stat-card,.uploadCard,.notice-card,.attendance-card,.admin-card){
  transition:transform var(--ms-motion-standard) var(--ms-motion-emphasized),border-color var(--ms-motion-standard),box-shadow var(--ms-motion-standard),background-color var(--ms-motion-standard);
}
@media (hover:hover){
  body.rc6-foundation :where(.card,.panel,.section-card,.stat-card,.uploadCard,.notice-card,.attendance-card,.admin-card):not([data-no-lift]):hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb,var(--ms-primary) 22%,var(--ms-outline));
    box-shadow:0 10px 28px rgba(15,23,42,.08);
  }
}
body.rc6-foundation :where(dialog,.modal,.dialog,.popup,.sheet,.bottom-sheet){
  transition:opacity var(--ms-motion-standard) var(--ms-motion-decelerate),transform var(--ms-motion-standard) var(--ms-motion-decelerate),visibility var(--ms-motion-standard);
}
body.rc6-foundation dialog[open]{animation:rc6-dialog-in var(--ms-motion-standard) var(--ms-motion-decelerate) both}
body.rc6-foundation dialog::backdrop{animation:rc6-backdrop-in var(--ms-motion-standard) ease-out both;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}
@keyframes rc6-dialog-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes rc6-backdrop-in{from{opacity:0}to{opacity:1}}
body.rc6-foundation .rc6-dynamic-enter{animation:rc6-dynamic-enter var(--ms-motion-slow) var(--ms-motion-decelerate) both}
@keyframes rc6-dynamic-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
body.rc6-foundation .rc6-busy{pointer-events:none;cursor:progress;opacity:.76}
body.rc6-foundation .rc6-busy::after{content:"";display:inline-block;width:16px;height:16px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;animation:rc6-spin .7s linear infinite}
@keyframes rc6-spin{to{transform:rotate(360deg)}}
body.rc6-foundation .rc6-progress{height:4px;overflow:hidden;border-radius:999px;background:var(--ms-surface-soft)}
body.rc6-foundation .rc6-progress::before{content:"";display:block;width:42%;height:100%;border-radius:inherit;background:var(--ms-primary);animation:rc6-progress 1.15s ease-in-out infinite}
@keyframes rc6-progress{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
body.rc6-foundation .rc6-skeleton{position:relative;overflow:hidden;color:transparent!important;pointer-events:none;background:var(--ms-surface-soft)!important;border-color:transparent!important;border-radius:12px;min-height:16px}
body.rc6-foundation .rc6-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:rc6-shimmer 1.35s infinite}
@keyframes rc6-shimmer{100%{transform:translateX(100%)}}
html[data-theme="dark"] body.rc6-foundation .rc6-skeleton::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
body.rc6-foundation .rc6-snackbar-region{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));z-index:2147483000;display:grid;gap:10px;width:min(92vw,520px);transform:translateX(-50%);pointer-events:none}
body.rc6-foundation .rc6-snackbar{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 14px 12px 16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#172033;color:#fff;box-shadow:0 16px 46px rgba(15,23,42,.28);font-size:14px;font-weight:700;line-height:1.45;pointer-events:auto;animation:rc6-snackbar-in var(--ms-motion-slow) var(--ms-motion-decelerate) both}
body.rc6-foundation .rc6-snackbar[data-type="success"]{background:#14532d}
body.rc6-foundation .rc6-snackbar[data-type="warning"]{background:#7c2d12}
body.rc6-foundation .rc6-snackbar[data-type="error"]{background:#7f1d1d}
body.rc6-foundation .rc6-snackbar__message{flex:1;min-width:0}
body.rc6-foundation .rc6-snackbar__action{min-height:36px!important;padding:6px 10px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:13px;white-space:nowrap}
body.rc6-foundation .rc6-snackbar.rc6-leave{animation:rc6-snackbar-out var(--ms-motion-standard) ease-in both}
@keyframes rc6-snackbar-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes rc6-snackbar-out{to{opacity:0;transform:translateY(10px) scale(.985)}}
body.rc6-foundation [data-tooltip]{position:relative}
@media (hover:hover){
  body.rc6-foundation [data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:1000;max-width:240px;padding:6px 9px;border-radius:8px;background:#172033;color:#fff;font-size:12px;font-weight:650;line-height:1.35;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:opacity var(--ms-motion-fast),transform var(--ms-motion-fast),visibility var(--ms-motion-fast);pointer-events:none}
  body.rc6-foundation [data-tooltip]:hover::after,body.rc6-foundation [data-tooltip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
}
body.rc6-foundation :where(button,a,input,select,textarea,[tabindex]):focus-visible{scroll-margin:96px}
@media(max-width:760px){body.rc6-foundation .rc6-snackbar-region{bottom:calc(86px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}body.rc6-foundation .rc6-snackbar{border-radius:14px}}
@media(prefers-reduced-motion:reduce){body.rc6-foundation .rc6-skeleton::after,body.rc6-foundation .rc6-progress::before,body.rc6-foundation .rc6-busy::after{animation:none!important}body.rc6-foundation .rc6-dynamic-enter{animation:none!important}}
