html,body,#root{width:100%;min-height:100%;margin:0}body{color:#eaf0f3;background:#081727;font-family:system-ui,sans-serif}.app-shell{width:100%;min-height:100vh;position:relative}.app-root{width:100%;min-height:100vh}.sync-rail{z-index:2;box-sizing:border-box;pointer-events:none;justify-content:flex-end;max-width:1400px;margin:0 auto;padding:0 22px;transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:19px;left:0;right:0}.sync-status{pointer-events:auto;color:#a8c1d4;letter-spacing:.04em;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081727d1;border:1px solid #a8c1d440;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font:11px ui-monospace,monospace;transition:color .3s,border-color .3s,background .3s;animation:.5s cubic-bezier(.16,1,.3,1) both pill-in;display:inline-flex}.sync-status button{cursor:pointer;color:inherit;font:inherit;letter-spacing:.03em;background:0 0;border:1px solid;border-radius:999px;padding:2px 7px;font-size:9px}.sync-status button:hover{color:#081727;background:currentColor}.sync-status[data-status=synced]{color:#9ee6c0;border-color:#9ee6c059}.sync-status[data-status=saving]{color:#d7c486;border-color:#d7c48661}.sync-status[data-status=error]{color:#f0c1a4;border-color:#f0c1a459}.sync-status[data-status=paused]{color:#f0c1a4;background:#3a2216e6;border-color:#f0c1a48c}.sync-status[data-status=rejected],.sync-status[data-status=conflict]{color:#ffb6b6;background:#3e141ae6;border-color:#ff78788c}@keyframes pill-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.shell-message{text-align:center;place-content:center;gap:8px;min-height:100%;padding:24px;animation:.6s cubic-bezier(.16,1,.3,1) both msg-in;display:grid}.shell-message h1{margin:0;font-size:clamp(24px,4vw,42px)}.shell-message p{color:#a8c1d4;margin:0}.shell-message .eyebrow{color:#c9a961;letter-spacing:.24em;font:11px ui-monospace,monospace}@keyframes msg-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=680px){.sync-rail{padding:0 12px;top:16px}.sync-status{padding:5px 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){.sync-status,.shell-message{animation:none}.sync-status,.sync-rail{transition:none}}
