.msvlt-app[data-theme=dark]{--c-canvas:#0b0e13;--c-surface:#12171f;--c-raised:#19202b;--c-hover:#212a38;--c-border:#253044;--c-border-soft:#1b2432;--c-text:#e7ecf5;--c-muted:#8c96ac;--c-faint:#5d6679;--c-accent:#ff8f4d;--c-accent-soft:#3a2517;--c-success:#5fd39a;--c-warning:#f0c674;--c-danger:#f2777a;--c-info:#6ea8fe;--c-shadow:#00000073;color-scheme:dark}.msvlt-app[data-theme=light]{--c-canvas:#f4f6fa;--c-surface:#fff;--c-raised:#fff;--c-hover:#eef1f7;--c-border:#dde3ed;--c-border-soft:#e8ecf3;--c-text:#161b24;--c-muted:#5f6a7d;--c-faint:#8a93a5;--c-accent:#c4570f;--c-accent-soft:#fceadb;--c-success:#1f9d63;--c-warning:#b07d14;--c-danger:#cf4046;--c-info:#2f6fd1;--c-shadow:#0f172a1f;color-scheme:light}.msvlt-app[data-theme]{--color-canvas:var(--c-canvas);--color-surface:var(--c-surface);--color-raised:var(--c-raised);--color-hover:var(--c-hover);--color-line:var(--c-border);--color-line-soft:var(--c-border-soft);--color-ink:var(--c-text);--color-muted:var(--c-muted);--color-faint:var(--c-faint);--color-accent:var(--c-accent);--color-accent-soft:var(--c-accent-soft);--color-success:var(--c-success);--color-warning:var(--c-warning);--color-danger:var(--c-danger);--color-info:var(--c-info);--font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;font-family:var(--font-sans);color:var(--c-text);font-size:14px}.msvlt-app,.msvlt-app *{user-select:none}.msvlt-app input,.msvlt-app textarea,.msvlt-app [contenteditable],.msvlt-app .selectable,.msvlt-app .selectable *{user-select:text}.msvlt-app ::-webkit-scrollbar{width:10px;height:10px}.msvlt-app ::-webkit-scrollbar-track{background:0 0}.msvlt-app ::-webkit-scrollbar-thumb{background:var(--c-border);background-clip:content-box;border:3px solid #0000;border-radius:999px}.msvlt-app ::-webkit-scrollbar-thumb:hover{background:var(--c-faint);background-clip:content-box;border:3px solid #0000}.msvlt-root>.fixed,.msvlt-syncbar>.fixed{position:absolute}@layer components{.msvlt-app .btn{white-space:nowrap;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;padding:.375rem .625rem;font-weight:500;transition-property:color,background-color,border-color,opacity;transition-duration:.15s;display:inline-flex}.msvlt-app .btn:disabled{pointer-events:none;opacity:.45}.msvlt-app .btn-primary{background:var(--c-accent);color:var(--c-canvas)}.msvlt-app .btn-primary:hover{opacity:.9}.msvlt-app .btn-ghost{color:var(--c-muted)}.msvlt-app .btn-ghost:hover{background:var(--c-hover);color:var(--c-text)}.msvlt-app .btn-outline{border-color:var(--c-border);color:var(--c-text)}.msvlt-app .btn-outline:hover{background:var(--c-hover)}.msvlt-app .btn-danger{border-color:var(--c-border);color:var(--c-danger)}.msvlt-app .btn-danger:hover{background:color-mix(in srgb, var(--c-danger) 10%, transparent)}.msvlt-app .field{border:1px solid var(--c-border);background:var(--c-canvas);width:100%;color:var(--c-text);border-radius:.375rem;padding:.375rem .625rem}.msvlt-app .field::placeholder{color:var(--c-faint)}.msvlt-app .field:focus{border-color:var(--c-accent);outline:none}.msvlt-app input[type=checkbox],.msvlt-app input[type=radio]{accent-color:var(--c-accent)}}@keyframes msvlt-sync-breathe{0%,to{color:var(--c-faint)}50%{color:var(--c-accent)}}.msvlt-app .sync-breathe{animation:2.4s ease-in-out infinite msvlt-sync-breathe}@keyframes msvlt-sync-breathe-offline{0%,to{color:var(--c-faint)}50%{color:var(--c-info)}}.msvlt-app .sync-breathe-offline{filter:drop-shadow(0 0 3px);animation:4s ease-in-out infinite msvlt-sync-breathe-offline}@keyframes msvlt-ring-fade{0%,to{opacity:.35}50%{opacity:1}}.msvlt-app .ring-fade{animation:5s ease-in-out infinite msvlt-ring-fade}@keyframes msvlt-ring-turn{to{transform:rotate(360deg)}}.msvlt-app .ring-turn{animation:14s linear infinite msvlt-ring-turn,5s ease-in-out infinite msvlt-ring-fade}@keyframes msvlt-word-fade{0%{opacity:0}to{opacity:1}}.msvlt-app .word-fade{animation:1.2s ease-out both msvlt-word-fade}.msvlt-app .sync-glow{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--c-success) 70%, transparent))}@keyframes msvlt-sync-sweep{0%{transform:translate(-100%)}55%{transform:translate(300%)}to{transform:translate(300%)}}.msvlt-app .sync-sweep{background:linear-gradient(90deg, transparent, var(--c-accent) 50%, transparent);animation:9s cubic-bezier(.6,0,.4,1) infinite msvlt-sync-sweep}
