:root{--bg:#0b0d10;--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--gap:clamp(4px, 1vmin, 10px);--radius:clamp(8px, 2vmin, 16px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{overscroll-behavior:none}body{background:var(--bg);font-family:var(--font-sans);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;line-height:1.5}.auth-screen{height:100dvh;padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px, env(safe-area-inset-left));background:radial-gradient(60vmax 60vmax at 20% 0%, #3fa3cc24, transparent 60%), radial-gradient(50vmax 50vmax at 90% 100%, #2eb3891f, transparent 60%), var(--bg);place-items:center;display:grid}.auth-card{align-items:center;gap:calc(var(--spacing) * 4);width:min(360px,92vw);padding:calc(var(--spacing) * 6);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;flex-direction:column;display:flex}.auth-mark{color:#3fa3cc;font-size:clamp(34px,9vmin,52px);line-height:1}.auth-avatar{object-fit:cover;border:2px solid #ffffff40;border-radius:50%;width:clamp(52px,14vmin,76px);height:clamp(52px,14vmin,76px)}.auth-title{color:#fff;letter-spacing:.2px;font-size:clamp(22px,5.5vmin,30px);font-weight:700}.auth-tagline{color:#ffffffa6;font-size:clamp(13px,3.2vmin,15px)}.auth-error{color:#ff8f8f;border-radius:calc(var(--radius) / 2);padding:calc(var(--spacing) * 2) calc(var(--spacing) * 3);background:#ff5a5a1f;border:1px solid #ff5a5a59;font-size:clamp(12px,3vmin,14px)}.auth-button{width:100%;padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-radius:calc(var(--radius) / 1.5);color:#06222c;cursor:pointer;background:linear-gradient(135deg,#3fa3cc,#2eb389);border:0;font-size:clamp(15px,3.8vmin,17px);font-weight:700}.auth-button:active{filter:brightness(1.12);transform:scale(.98)}.auth-link{color:#ffffff8c;cursor:pointer;background:0 0;border:0;font-size:clamp(12px,3vmin,14px);text-decoration:underline}.auth-hint{color:#fff6;font-size:clamp(11px,2.8vmin,12px)}.auth-spinner{border:3px solid #ffffff26;border-top-color:#3fa3cc;border-radius:50%;width:36px;height:36px;animation:.9s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.install-banner{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));width:min(420px,100vw - 24px);padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-radius:calc(var(--radius) / 1.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;z-index:40;background:#141a20eb;border:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(12px,3.1vmin,14px);display:flex;position:fixed;transform:translate(-50%)}.install-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.install-button{color:#06222c;cursor:pointer;background:linear-gradient(135deg,#3fa3cc,#2eb389);border:0;border-radius:8px;padding:8px 14px;font-weight:700}.install-dismiss{color:#ffffff80;cursor:pointer;background:0 0;border:0;padding:6px;font-size:14px}.auth-card--wide{width:min(520px,80vw)}.auth-note{color:#ffffff80;border-radius:calc(var(--radius) / 2);padding:calc(var(--spacing) * 2) calc(var(--spacing) * 4);border:1px dashed #fff3;font-size:clamp(13px,1.6vmin,15px)}.auth-version{color:#ffffff4d;letter-spacing:.4px;font-size:11px}.signout-chip{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));z-index:60;padding:calc(var(--spacing) * 2) calc(var(--spacing) * 4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffbf;cursor:pointer;background:#141a20d9;border:1px solid #ffffff2e;border-radius:999px;font-size:13px;position:fixed}.signout-chip:active{filter:brightness(1.2);transform:scale(.97)}
