:root { --upgrade-accent: #8b5cf6; --upgrade-accent-2: #00b894; --upgrade-soft: rgba(108, 92, 231, .16); --upgrade-line: rgba(162, 155, 254, .42); }
*:focus-visible { outline: 3px solid rgba(162, 155, 254, .7); outline-offset: 3px; }
button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }
input[type="file"] { min-height: 44px; }
.site-focus-strip { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; max-width:920px; margin:20px auto 0; padding:18px 20px; border:1px solid var(--upgrade-line); border-radius:16px; background:linear-gradient(135deg, rgba(108,92,231,.18), rgba(0,184,148,.08)); text-align:left; }
.site-focus-strip strong { display:block; margin-bottom:3px; color:#f4f1ff; font-size:.98rem; }
.site-focus-strip span { color:#b9b4d0; font-size:.88rem; }
.site-focus-strip a { white-space:nowrap; color:#17142a; background:linear-gradient(135deg,#a29bfe,#55efc4); border-radius:10px; padding:10px 15px; font-size:.86rem; font-weight:800; }
.site-legal-links { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:14px; font-size:.82rem; }
.site-legal-links a { color:inherit; opacity:.78; text-decoration:underline; text-underline-offset:3px; }
.site-legal-links a:hover { opacity:1; }
.site-network-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 16px; margin:14px auto 0; font-size:.82rem; }
.site-network-links strong { width:100%; color:#f4f1ff; opacity:.9; }
.site-network-links a { color:inherit; opacity:.82; text-decoration:none; }
.site-network-links a:hover { opacity:1; text-decoration:underline; text-underline-offset:3px; }
.site-toast { position:fixed; right:18px; bottom:18px; z-index:9999; max-width:min(360px,calc(100vw - 36px)); padding:12px 15px; border-radius:12px; color:#17142a; background:#a29bfe; box-shadow:0 14px 32px rgba(0,0,0,.25); font-size:.88rem; line-height:1.45; opacity:0; transform:translateY(10px); transition:opacity .2s ease,transform .2s ease; }
.site-toast.is-visible { opacity:1; transform:translateY(0); }
.site-toast.is-warning { background:#fdcb6e; }
@media (max-width:640px) { .site-focus-strip { grid-template-columns:1fr; gap:12px; } .site-focus-strip a { justify-self:start; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
.is-dragging { outline:3px dashed var(--upgrade-accent); outline-offset:4px; background:var(--upgrade-soft); transition:background .15s ease,outline-color .15s ease; }
