/* Vestibule unlock popup — production styling. * Centered card, dark theme, minimal chrome. This is a popup window * (browser.windows.create type=popup), not a full tab. */ * { box-sizing: border-box; } html, body { margin: 0; padding: 0; background: #0f1116; color: #e8eaed; font-family: -apple-system, "Segoe UI", system-ui, sans-serif; font-size: 14px; height: 100vh; overflow: hidden; } body { display: flex; align-items: center; justify-content: center; } .unlock-card { text-align: center; padding: 32px 40px; width: 100%; max-width: 320px; } .unlock-card h1 { margin: 0 0 8px; font-size: 24px; font-weight: 600; color: #fff; letter-spacing: 0.02em; } .unlock-sub { margin: 0 0 24px; color: #b8bcc4; font-size: 13px; } #unlock-form { display: flex; flex-direction: column; gap: 12px; } #unlock-password { width: 100%; padding: 10px 14px; background: #1a1d24; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 8px; color: #e8eaed; font: inherit; font-size: 15px; text-align: center; letter-spacing: 0.1em; transition: border-color 120ms ease, box-shadow 120ms ease; } #unlock-password:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); } button.primary { padding: 10px 20px; background: #3b82f6; border: none; border-radius: 8px; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 120ms ease; } button.primary:hover { background: #2563eb; } button.primary:active { background: #1d4ed8; } button.primary:disabled { background: #1e3a5f; cursor: not-allowed; } .field-error { margin: 12px 0 0; padding: 8px 12px; background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.3); border-radius: 6px; color: #ef4444; font-size: 12px; }