.account-menu-button{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:rgba(18,23,32,.72);display:grid;place-content:center;gap:5px;color:var(--text);padding:0;backdrop-filter:blur(12px)}
.account-menu-button span{display:block;width:19px;height:1.5px;background:currentColor;border-radius:2px}.top-tools{display:flex;align-items:center;gap:10px}.account-menu-backdrop{position:fixed;z-index:8998;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(4px)}.account-drawer{position:fixed;z-index:8999;top:0;right:0;width:min(390px,92vw);height:100dvh;padding:calc(22px + var(--safeT)) max(20px,var(--safeR)) calc(22px + var(--safeB)) 22px;background:rgba(12,16,23,.985);border-left:1px solid var(--line);box-shadow:-28px 0 80px rgba(0,0,0,.42);transform:translate3d(104%,0,0);visibility:hidden;pointer-events:none;will-change:transform;transition:transform .25s ease,visibility 0s linear .25s;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.account-drawer.open{transform:translate3d(0,0,0);visibility:visible;pointer-events:auto;transition-delay:0s}.account-drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.account-drawer-head h2{margin:4px 0 0}.account-close{width:40px;height:40px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:12px;font-size:24px}.account-status-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}.account-status-card small,.account-profile small{display:block;color:var(--muted);margin-bottom:3px}.account-status-card strong,.account-profile strong{display:block}.account-status-card p,.account-profile p{margin:4px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.status-dot{width:10px;height:10px;border-radius:50%;background:#657184;box-shadow:0 0 0 4px rgba(101,113,132,.12)}.status-dot.ok{background:#73d39b;box-shadow:0 0 0 4px rgba(115,211,155,.12)}.status-dot.busy{background:#8fb8f3;box-shadow:0 0 0 4px rgba(143,184,243,.12);animation:statusPulse 1.2s infinite}.status-dot.warn{background:#e8bd72;box-shadow:0 0 0 4px rgba(232,189,114,.12)}.status-dot.error{background:#e58b8b;box-shadow:0 0 0 4px rgba(229,139,139,.12)}@keyframes statusPulse{50%{opacity:.45}}.compact{padding:7px 10px;font-size:12px}.account-divider{height:1px;background:var(--line);margin:22px 0}.account-profile{display:grid;grid-template-columns:52px 1fr;gap:13px;align-items:center}.account-profile img,.account-avatar-placeholder{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--panel2)}.account-avatar-placeholder{display:grid;place-items:center;font-weight:800;font-size:19px}.account-actions{margin-top:18px}.account-auth{width:100%;min-height:48px}.google-g{display:inline-grid;place-items:center;width:22px;height:22px;background:#fff;color:#4285f4;border-radius:50%;margin-right:7px;font-weight:900}.account-footnote{font-size:12px;color:var(--muted);line-height:1.55;margin-top:16px}.cloud-conflict{margin:16px 0;padding:14px;border:1px solid rgba(232,189,114,.35);background:rgba(232,189,114,.08);border-radius:14px}.cloud-conflict p{color:var(--muted);font-size:13px}.cloud-conflict-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-menu-open{overflow:hidden}@media(max-width:650px){.version{display:none}.account-menu-button{width:42px;height:42px}}

.account-auth:disabled{cursor:not-allowed;opacity:.5}

.account-version{margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);font-size:10px;letter-spacing:.16em;color:var(--muted);text-align:right}.account-version strong{color:var(--text);font-weight:700}

/* Login gate: no Skillbook content is mounted until Supabase returns an authenticated Google session. */
body[data-auth="checking"],body[data-auth="gate"]{min-height:100dvh;overflow:hidden}
.auth-gate{min-height:100dvh;display:grid;place-items:center;padding:calc(28px + var(--safeT)) max(24px,var(--safeR)) calc(28px + var(--safeB)) max(24px,var(--safeL));background:radial-gradient(circle at 50% 35%,#1a2834 0,#0b0e15 48%,#080a0f 100%)}
.auth-gate-card{width:min(520px,100%);padding:42px 40px;border:1px solid #3d5361;border-radius:18px;background:linear-gradient(150deg,#151f2aee,#11131dee);box-shadow:0 26px 90px #0008;text-align:center}
.auth-gate-mark{width:68px;height:68px;margin:0 auto 22px;display:grid;place-items:center;border:1px solid #557783;border-radius:18px 4px 18px 4px;box-shadow:0 0 30px #96d4df18}.auth-gate-mark img{width:36px;height:36px;display:block;object-fit:contain;filter:drop-shadow(0 0 12px rgba(169,219,227,.16))}
.auth-gate-card .eyebrow{margin-bottom:10px}.auth-gate-card h1{margin:0;font-weight:500;font-size:32px;letter-spacing:.04em}.auth-gate-card p{margin:14px auto 24px;max-width:420px;color:var(--muted);font-size:14px;line-height:1.85}.auth-gate-login{width:100%;min-height:52px;font-size:15px}.auth-gate-card>small{display:block;margin-top:14px;color:var(--muted)}.auth-gate-error{margin:0 0 18px;padding:11px 13px;border:1px solid #8b5555;background:#5b29293b;border-radius:10px;color:#ffc4c4;font-size:13px;text-align:left}
@media(max-width:650px){.auth-gate{place-items:stretch center;padding-top:calc(12vh + var(--safeT))}.auth-gate-card{padding:32px 24px}.auth-gate-card h1{font-size:28px}}
.auth-loader{display:block;width:28px;height:28px;margin:22px auto 0;border:2px solid #40515e;border-top-color:var(--accent);border-radius:50%;animation:auth-spin .8s linear infinite}.auth-gate-loading p{margin-bottom:0}@keyframes auth-spin{to{transform:rotate(360deg)}}
