:root{color-scheme:light;font-family:Inter,system-ui,sans-serif}body{margin:0;background:#f8fafc;color:#0f172a}main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 24px}section{max-width:560px;background:#ffffff;border-radius:16px;padding:32px;box-shadow:0 20px 50px -30px rgba(15,23,42,.35)}.auth-card{width:100%}.auth-stack{display:flex;flex-direction:column;gap:20px}.primary-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary-nav-link{border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.primary-nav-link:hover{text-decoration:none;background:#dbeafe}.primary-nav-link--active{background:#1d4ed8;border-color:#1d4ed8;color:#ffffff}.auth-header{display:flex;flex-direction:column;gap:8px}.auth-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600;color:#64748b}.auth-form{gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:8px}label{font-size:14px;font-weight:600;color:#0f172a}input{border-radius:10px;border:1px solid #cbd5f5;padding:12px 14px;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease}input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.2)}input[aria-invalid=true]{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.15)}.auth-button{border:none;border-radius:999px;background:#2563eb;color:#ffffff;font-size:16px;font-weight:600;padding:12px 16px;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.auth-button:disabled{cursor:not-allowed;opacity:.65}.auth-error{font-size:14px;color:#b91c1c}.auth-alert{background:#ecfdf3;color:#166534;padding:12px 16px}.auth-alert,.auth-placeholder{border-radius:12px;font-size:14px}.auth-placeholder{background:#f1f5f9;padding:16px;color:#475569}.auth-footer{display:flex;gap:8px;align-items:center;font-size:14px;color:#475569}.key-setup-helper{margin:0;font-size:14px;color:#475569}.key-setup-warning{background:#fff7ed;border-radius:12px;padding:12px 16px;color:#7c2d12;font-size:14px;display:flex;flex-direction:column;gap:8px}.key-setup-warning p{margin:0}.key-setup-confirm{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#7c2d12}.key-setup-confirm input{margin-top:2px}.key-setup-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.key-setup-next{font-size:14px;color:#475569}.key-setup-callout{border-radius:16px;border:1px solid #e2e8f0;padding:20px;background:#f8fafc;display:flex;flex-direction:column;gap:16px}.key-setup-callout-header{display:flex;flex-direction:column;gap:6px}.key-setup-callout-header h2{margin:0;font-size:22px}.key-setup-callout-header p{margin:0}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 12px;font-size:32px}p{margin:0;font-size:16px;line-height:1.6;color:#475569}.project-stack{gap:24px;width:100%}.onboarding-banner,.project-stack{display:flex;flex-direction:column}.onboarding-banner{border-radius:16px;border:1px solid #dbeafe;background:#eff6ff;padding:18px;gap:12px}.onboarding-banner h2{margin:0;font-size:22px}.onboarding-banner p{margin:0}.project-form{display:flex;flex-direction:column;gap:12px}.project-form-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.project-form-row .auth-field{flex:1 1 240px}.project-list{display:grid;gap:12px}.project-card{border-radius:12px;border:1px solid #e2e8f0;padding:16px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.project-card h2{margin:0;font-size:20px}.project-meta{display:flex;gap:16px;font-size:13px;color:#64748b;flex-wrap:wrap}.project-detail{display:grid;gap:12px;margin:0}.project-detail div{display:grid;gap:4px}.project-detail dt{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#64748b}.project-detail dd{margin:0;font-size:16px}.project-actions{display:flex;gap:12px;align-items:center}.project-security{display:flex;flex-direction:column;gap:16px;border-top:1px solid #e2e8f0;padding-top:24px}.project-security-header{display:flex;flex-direction:column;gap:6px}.project-security-header h2{margin:0;font-size:22px}.project-security-key{display:flex;flex-direction:column;gap:8px}.project-security-empty{display:flex;flex-direction:column;gap:12px}.project-security-empty .auth-button{align-self:flex-start}.project-danger{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;border-top:1px solid #e2e8f0;padding-top:24px}.project-danger h2{margin:0 0 8px;font-size:22px}.project-delete-button{border:1px solid #fecaca;background:#fff5f5;color:#b91c1c;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.project-delete-button:disabled{cursor:not-allowed;opacity:.6}.project-delete-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.project-delete-modal{width:min(520px,100%);background:#ffffff;border-radius:16px;padding:24px;box-shadow:0 25px 60px -30px rgba(15,23,42,.45);display:flex;flex-direction:column;gap:20px}.project-delete-modal-header h2{margin:0;font-size:24px}.project-delete-modal-body{display:flex;flex-direction:column;gap:16px}.project-delete-warning{margin:0;border-radius:12px;background:#fef2f2;color:#7f1d1d;padding:12px 16px;font-size:14px}.project-delete-field{display:flex;flex-direction:column;gap:8px}.project-delete-modal-actions{display:flex;justify-content:flex-end;gap:12px}.project-delete-cancel{border:1px solid #cbd5f5;background:#ffffff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.project-delete-cancel:disabled{cursor:not-allowed;opacity:.6}.project-delete-confirm{border:none;background:#dc2626;color:#ffffff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.project-delete-confirm:disabled{cursor:not-allowed;opacity:.7}.event-stack{display:flex;flex-direction:column;gap:24px;width:100%}.event-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.event-subtitle{font-size:15px;color:#475569}.event-switch{align-self:center;font-weight:600}.event-unlock-panel{border-radius:14px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#dbeafe);padding:18px;display:flex;flex-direction:column;gap:12px}.event-unlock-header{display:flex;flex-direction:column;gap:8px}.event-unlock-header h2{margin:0;font-size:22px;letter-spacing:-.01em}.event-unlock-header p{margin:0;font-size:14px;color:#1e3a8a}.event-unlock-count{margin:0;font-size:13px;color:#1d4ed8;font-weight:600}.event-unlock-form{display:flex;flex-direction:column;gap:12px}.event-unlock-helper{margin:0;font-size:13px;color:#334155}.event-unlock-button{align-self:flex-start;min-width:190px;padding:13px 24px;font-size:17px;box-shadow:0 10px 18px -12px rgba(37,99,235,.7)}.event-table{display:flex;flex-direction:column;gap:8px}.event-row{display:grid;grid-template-columns:minmax(130px,170px) minmax(150px,220px) minmax(0,1fr);gap:16px;align-items:center;border-radius:12px;border:1px solid #e2e8f0;padding:12px 16px;background:#f8fafc;font-size:14px;min-width:0}.event-row--header{background:transparent;border:none;padding:0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#64748b}.event-row--header span{padding:4px 0}.event-row--interactive{color:inherit;text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,background-color .2s ease}.event-row--interactive:hover{background:#f1f5f9;border-color:#cbd5e1;text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 20px -18px rgba(15,23,42,.8)}.event-row--interactive:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.event-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#334155;font-weight:600}.event-error-class{font-weight:600;color:#0f172a}.event-error-message{min-width:0}.event-error-message-text{display:block;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-cell-locked{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#334155;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.event-cell-locked--message{text-transform:none;letter-spacing:0;font-weight:500;color:#475569;font-size:13px}.event-cell-locked-bar{display:inline-block;width:44px;height:8px;border-radius:999px;background:linear-gradient(90deg,#cbd5e1,#e2e8f0)}@media (max-width:860px){.event-row{grid-template-columns:1fr;gap:8px;padding:14px}.event-row--header{display:none}.event-row--interactive span[data-label]{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:baseline;min-width:0}.event-row--interactive span[data-label]:before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#64748b;font-weight:700}.event-unlock-button{align-self:stretch;text-align:center}}.event-detail{display:grid;gap:12px;margin:0}.event-detail div{display:grid;gap:4px}.event-detail dt{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#64748b}.event-detail dd{margin:0;font-size:16px}.event-payload{border-radius:12px;border:1px solid #e2e8f0;padding:16px;background:#f8fafc;display:flex;flex-direction:column;gap:12px}.event-payload h2{margin:0;font-size:18px}.event-payload-note{margin:0;color:#475569;font-size:14px}.event-payload pre{margin:0;background:#ffffff;border-radius:10px;border:1px solid #e2e8f0;padding:12px;font-size:12px;line-height:1.5;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.event-key-missing{display:flex;flex-direction:column;gap:12px}.event-key-missing p{margin:0;color:#334155}.event-key-missing .auth-button{align-self:flex-start}.event-decrypt-stack{display:flex;flex-direction:column;gap:12px}.event-actions{display:flex;gap:12px;align-items:center}.onboarding-stack{display:flex;flex-direction:column;gap:24px;width:100%}.onboarding-checklist{display:flex;flex-direction:column;gap:16px}.onboarding-progress{border-radius:12px;background:#ecfdf3;color:#166534;padding:12px 16px;font-size:14px;font-weight:600}.onboarding-steps{margin:0;padding:0;list-style:none;display:grid;gap:14px}.onboarding-step{border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;padding:16px;display:flex;flex-direction:column;gap:12px}.onboarding-step--complete{border-color:#bbf7d0;background:#f0fdf4}.onboarding-step-header{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.onboarding-step-eyebrow{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#64748b}.onboarding-step-header h2{margin:0;grid-column:1/2;font-size:22px}.onboarding-step-status{grid-row:1/3;grid-column:2/3;align-self:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#334155}.onboarding-step--complete .onboarding-step-status{background:#dcfce7;color:#166534}.onboarding-step-links{display:flex;gap:10px;flex-wrap:wrap}.onboarding-config{display:flex;flex-direction:column;gap:8px}.onboarding-config-grid{display:grid;gap:10px}.onboarding-config-label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#64748b;font-weight:600}.onboarding-inline-action{align-self:flex-start}.onboarding-project-switcher{border-radius:12px;border:1px solid #e2e8f0;padding:12px;display:flex;flex-direction:column;gap:10px}.onboarding-project-list{display:flex;gap:8px;flex-wrap:wrap}.onboarding-project-link{border:1px solid #cbd5f5;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600;background:#ffffff}.onboarding-project-link:hover{text-decoration:none}.onboarding-project-link--active{border-color:#2563eb;background:#dbeafe}@media (max-width:640px){.event-row{grid-template-columns:1fr;gap:8px}.event-unlock-button{align-self:stretch;text-align:center}.event-row--header{display:none}.event-time{font-size:12px}}.api-key-section{display:flex;flex-direction:column;gap:16px;border-top:1px solid #e2e8f0;padding-top:24px}.api-key-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.api-key-header h2{margin:0 0 8px;font-size:24px}.api-key-list{display:grid;gap:12px}.api-key-card{border-radius:12px;border:1px solid #e2e8f0;padding:16px;background:#f8fafc;display:grid;gap:8px}.api-key-row{justify-content:space-between;gap:12px}.api-key-actions,.api-key-row{display:flex;align-items:center;flex-wrap:wrap}.api-key-actions{gap:8px}.api-key-prefix{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:15px}.api-key-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#334155}.api-key-status--active{background:#dcfce7;color:#166534}.api-key-status--revoked{background:#fee2e2;color:#991b1b}.api-key-revoke{border:1px solid #fecaca;background:#fff5f5;color:#b91c1c;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.api-key-revoke:disabled{cursor:not-allowed;opacity:.6}.api-key-meta{font-size:13px;color:#64748b}.api-key-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.api-key-modal{width:min(520px,100%);background:#ffffff;border-radius:16px;padding:24px;box-shadow:0 25px 60px -30px rgba(15,23,42,.45);display:flex;flex-direction:column;gap:20px}.api-key-modal-header h2{margin:0;font-size:24px}.api-key-modal-body{display:flex;flex-direction:column;gap:16px}.api-key-revoke-warning{margin:0;border-radius:12px;background:#fef2f2;color:#7f1d1d;padding:12px 16px;font-size:14px}.api-key-field{display:flex;flex-direction:column;gap:8px}.api-key-label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#64748b;font-weight:600}.api-key-value{display:flex;align-items:center;gap:12px;border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#f8fafc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;color:#0f172a;word-break:break-all}.api-key-value span{flex:1 1}.api-key-copy{border:1px solid #cbd5f5;background:#ffffff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.api-key-copy:disabled{cursor:not-allowed;opacity:.65}.api-key-warning{background:#fff7ed;border-radius:12px;padding:12px 16px;flex-direction:column;gap:8px}.api-key-confirm,.api-key-warning{color:#7c2d12;font-size:14px;display:flex}.api-key-confirm{gap:10px;align-items:flex-start}.api-key-confirm input{margin-top:2px}.api-key-modal-actions{display:flex;justify-content:flex-end;gap:12px}.api-key-close{border:1px solid #cbd5f5;background:#ffffff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.api-key-close:disabled{cursor:not-allowed;opacity:.6}.api-key-cancel{border:1px solid #cbd5f5;background:#ffffff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.api-key-cancel:disabled{cursor:not-allowed;opacity:.6}.api-key-revoke-confirm{border:none;background:#dc2626;color:#ffffff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.api-key-revoke-confirm:disabled{cursor:not-allowed;opacity:.7}