:root{color:#1a1a2e;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg-primary:#f8fafc;--text-primary:#0f172a;--text-secondary:#475569;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--danger-light:#fee2e2;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--border:#e2e8f0;--card-bg:#fff;--radius:12px;--shadow:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}.app-wrapper{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.navbar{color:#f8fafc;z-index:50;background:#0f172a;border-bottom:1px solid #1e293b;position:sticky;top:0;box-shadow:0 4px 12px #00000026}.navbar-container{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:.85rem 1.5rem;display:flex}.navbar-brand{color:#fff;align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand-icon{font-size:1.5rem}.brand-name{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.brand-badge{color:#93c5fd;text-transform:uppercase;background:#2563eb4d;border:1px solid #3b82f666;border-radius:9999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.navbar-links{align-items:center;gap:1.2rem;display:flex}.nav-link{color:#94a3b8;border-radius:6px;padding:.4rem .8rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff14}.btn-switch{cursor:pointer;border:none;border-radius:6px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .2s}.btn-switch-guardian{color:#38bdf8;background:#1e293b;border:1px solid #0284c7}.btn-switch-guardian:hover{color:#fff;background:#0284c7}.btn-switch-senior{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.btn-switch-senior:hover{color:#fff;background:#f59e0b}.user-profile{border-left:1px solid #334155;align-items:center;gap:.75rem;padding-left:.75rem;display:flex}.user-avatar{font-size:1.25rem}.user-info{flex-direction:column;display:flex}.user-name{color:#f1f5f9;font-size:.85rem;font-weight:600}.role-pill{text-transform:uppercase;font-size:.68rem;font-weight:600}.role-senior{color:#fcd34d}.role-guardian{color:#38bdf8}.btn-logout{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #475569;border-radius:4px;padding:.25rem .6rem;font-size:.75rem}.btn-logout:hover{color:#fff;border-color:#94a3b8}.guest-links{gap:.6rem;display:flex}.nav-btn{border-radius:6px;padding:.45rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none}.btn-secondary{color:#e2e8f0;background:#1e293b}.btn-primary{color:#fff;background:#2563eb}.landing-page{max-width:1200px;margin:0 auto;padding:3rem 1.5rem}.hero-section{text-align:center;margin-bottom:3.5rem}.hero-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;margin-bottom:1rem;padding:.35rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.hero-title{letter-spacing:-.03em;color:#0f172a;max-width:800px;margin:0 auto 1.25rem;font-size:2.75rem;font-weight:800;line-height:1.15}.hero-subtitle{color:#475569;max-width:720px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.6}.evaluator-card{color:#fff;background:linear-gradient(135deg,#1e1b4b 0%,#0f172a 100%);border:2px solid #6366f1;border-radius:16px;max-width:760px;margin:0 auto;padding:1.75rem 2rem;box-shadow:0 10px 25px #6366f126}.evaluator-header{margin-bottom:1.25rem;font-size:1.05rem}.evaluator-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem;display:flex}.btn-evaluator{cursor:pointer;border:none;border-radius:10px;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 6px #0003}.btn-evaluator:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.btn-eval-senior{color:#713f12;background:#fef08a}.btn-eval-guardian{color:#0c4a6e;background:#38bdf8}.evaluator-hint{color:#a5b4fc;font-size:.82rem}.portals-section{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.portal-card{box-shadow:var(--shadow-lg);border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;padding:2.25rem;transition:transform .2s;display:flex}.portal-card:hover{transform:translateY(-4px)}.portal-icon{margin-bottom:1rem;font-size:2.5rem}.portal-card h2{margin-bottom:.6rem;font-size:1.6rem;font-weight:700}.portal-desc{color:#64748b;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.portal-features{flex:1;margin-bottom:2rem;list-style:none}.portal-features li{color:#334155;padding:.4rem 0;font-size:.92rem;font-weight:500}.portal-cta{cursor:pointer;text-align:center;border:none;border-radius:10px;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;transition:background .2s}.cta-senior{color:#78350f;background:#fef3c7;border:1px solid #fde68a}.cta-senior:hover{background:#fde68a}.cta-guardian{color:#38bdf8;background:#0f172a;border:1px solid #1e293b}.cta-guardian:hover{background:#1e293b}.architecture-strip{border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:16px;padding:2.5rem 2rem}.architecture-strip h3{margin-bottom:2rem;font-size:1.35rem}.flow-steps{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.flow-step{flex:1;min-width:140px}.step-num{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto .6rem;font-weight:700;display:flex}.flow-step h4{margin-bottom:.3rem;font-size:.95rem}.flow-step p{color:#64748b;font-size:.8rem}.flow-arrow{color:#94a3b8;font-size:1.5rem;font-weight:700}.auth-container{justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.auth-card{border:1px solid var(--border);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;width:100%;max-width:480px;padding:2.5rem 2rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-icon{font-size:2.5rem}.auth-header h2{margin-top:.4rem;font-size:1.5rem}.auth-header p{color:#64748b;margin-top:.2rem;font-size:.88rem}.demo-login-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.demo-box-label{color:#334155;margin-bottom:.6rem;font-size:.82rem}.demo-btn-group{flex-direction:column;gap:.6rem;display:flex}.btn-demo-pill{cursor:pointer;text-align:left;border:none;border-radius:6px;padding:.6rem .8rem;font-size:.85rem;font-weight:600;transition:opacity .15s}.btn-demo-pill:hover{opacity:.9}.btn-demo-senior{color:#78350f;background:#fef3c7;border:1px solid #fde68a}.btn-demo-guardian{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.auth-divider{text-align:center;color:#94a3b8;align-items:center;margin:1.5rem 0;font-size:.78rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.auth-divider span{padding:0 .8rem}.alert-error{background:var(--danger-light);color:var(--danger);border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.88rem;font-weight:500}.auth-form .form-group{margin-bottom:1.25rem}.auth-form label{color:#334155;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.7rem .9rem;font-family:inherit;font-size:.95rem}.auth-form input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.role-selector{flex-direction:column;gap:.6rem;display:flex}.role-option{cursor:pointer;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;padding:.8rem;display:flex;position:relative}.role-option.selected{background:#eff6ff;border-color:#2563eb}.role-option input[type=radio]{position:absolute;top:.9rem;right:.9rem}.role-title{color:#0f172a;font-size:.92rem;font-weight:700}.role-sub{color:#64748b;margin-top:.2rem;font-size:.78rem}.highlight-group{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.9rem}.field-hint{color:#166534;margin-top:.3rem;font-size:.75rem;display:block}.btn-auth-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.85rem;font-size:1rem;font-weight:700;transition:background .2s}.btn-auth-submit:hover{background:#1d4ed8}.auth-footer{text-align:center;color:#64748b;margin-top:1.5rem;font-size:.85rem}.auth-footer a{color:#2563eb;font-weight:600;text-decoration:none}.senior-portal{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.senior-header{border-bottom:2px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.senior-welcome h1{color:#1e293b;font-size:2.2rem;font-weight:800}.senior-subtitle{color:#475569;max-width:600px;margin-top:.4rem;font-size:1.15rem}.senior-shield-card{background:#f0fdf4;border:2px solid #86efac;border-radius:14px;align-items:center;gap:1rem;max-width:420px;padding:1.25rem 1.5rem;display:flex}.shield-emblem{font-size:2.25rem}.senior-shield-card h3{color:#166534;font-size:1.1rem;font-weight:700}.senior-shield-card p{color:#15803d;margin-top:.2rem;font-size:.9rem}.senior-grid{grid-template-columns:1.1fr .9fr;gap:2.5rem;display:grid}@media (width<=900px){.senior-grid{grid-template-columns:1fr}}.senior-form-card,.senior-history-card{box-shadow:var(--shadow-lg);background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2.25rem}.senior-form-card h2,.senior-history-card h2{color:#0f172a;font-size:1.7rem}.form-subtext,.history-subtext{color:#64748b;margin-top:.25rem;margin-bottom:1.5rem;font-size:1rem}.scenario-pills{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin-bottom:1.75rem;padding:1rem}.pills-label{color:#334155;margin-bottom:.6rem;font-size:.85rem;font-weight:700;display:block}.pills-container{flex-wrap:wrap;gap:.5rem;display:flex}.pill-btn{cursor:pointer;border:none;border-radius:20px;padding:.5rem .8rem;font-size:.82rem;font-weight:600;transition:transform .15s}.pill-btn:hover{transform:scale(1.02)}.pill-scam{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.pill-legit{color:#166534;background:#dcfce7;border:1px solid #86efac}.senior-input-group{margin-bottom:1.5rem}.senior-input-group label{color:#1e293b;margin-bottom:.5rem;font-size:1.1rem;font-weight:700;display:block}.senior-input-group input[type=text],.senior-input-group textarea{color:#0f172a;border:2px solid #cbd5e1;border-radius:10px;width:100%;padding:.9rem 1.1rem;font-family:inherit;font-size:1.15rem}.amount-input-wrapper{align-items:center;display:flex;position:relative}.dollar-sign{color:#64748b;font-size:1.4rem;font-weight:700;position:absolute;left:1.1rem}.amount-input-wrapper input{border:2px solid #cbd5e1;border-radius:10px;width:100%;padding:.9rem 1.1rem .9rem 2.5rem;font-size:1.35rem;font-weight:700}.senior-input-group input:focus,.senior-input-group textarea:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 4px #0284c726}.btn-senior-submit{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:12px;width:100%;padding:1.15rem;font-size:1.25rem;font-weight:800;transition:all .2s;box-shadow:0 4px 10px #0284c740}.btn-senior-submit:hover{background:#0369a1;transform:translateY(-2px)}.result-banner{border-radius:12px;align-items:flex-start;gap:1.25rem;margin-top:1.75rem;padding:1.5rem;display:flex}.banner-held{color:#92400e;background:#fffbeb;border:2px solid #fde68a}.banner-approved{color:#166534;background:#f0fdf4;border:2px solid #86efac}.result-icon{font-size:2.2rem}.result-body h3{margin-bottom:.4rem;font-size:1.25rem;font-weight:800}.result-body p{font-size:1rem;line-height:1.5}.paypal-ref{margin-top:.5rem;font-size:.85rem}.payments-list{flex-direction:column;gap:1rem;display:flex}.payment-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;transition:border-color .15s}.payment-item:hover{border-color:#cbd5e1}.payment-item-top{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.payee-title{color:#0f172a;font-size:1.15rem;font-weight:700}.payment-date{color:#64748b;font-size:.82rem}.payment-amount{color:#0f172a;font-size:1.35rem;font-weight:800}.payment-reason{color:#475569;margin-bottom:.8rem;font-size:.95rem;font-style:italic}.status-badge{border-radius:6px;padding:.4rem .75rem;font-size:.82rem;font-weight:700;display:inline-block}.badge-completed{color:#166534;background:#dcfce7}.badge-held{color:#92400e;background:#fef3c7}.badge-blocked{color:#991b1b;background:#fee2e2}.badge-failed{color:#475569;background:#f1f5f9}.guardian-console{color:#f1f5f9;background:#090d16;min-height:calc(100vh - 65px);padding:2.5rem 2rem}.console-header{border-bottom:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:3rem;padding-bottom:2rem;display:flex}.console-tag{color:#38bdf8;letter-spacing:.08em;margin-bottom:.4rem;font-size:.78rem;font-weight:700}.console-header h1{color:#fff;font-size:2.2rem;font-weight:800}.console-subtext{color:#94a3b8;margin-top:.2rem;font-size:.95rem}.metrics-strip{flex-wrap:wrap;gap:1.25rem;display:flex}.metric-box{background:#111827;border:1px solid #1f2937;border-radius:12px;min-width:160px;padding:1rem 1.4rem}.metric-label{color:#9ca3af;text-transform:uppercase;margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:block}.metric-val{font-size:1.4rem;font-weight:800}.metric-alert .metric-val{color:#ef4444}.metric-saved .metric-val{color:#10b981}.metric-paypal .metric-val{color:#38bdf8}.threats-section{margin-bottom:3.5rem}.section-title-row{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.pulse-dot{background:#ef4444;border-radius:50%;width:12px;height:12px;animation:1.5s infinite pulse;box-shadow:0 0 #ef444466}@keyframes pulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.section-title-row h2{color:#f87171;font-size:1.4rem;font-weight:700}.threat-cards-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:2rem;display:grid}.threat-card{background:#111827;border:2px solid #dc2626;border-radius:16px;padding:2rem;box-shadow:0 0 25px #dc262626}.threat-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;display:flex}.scam-type-pill{color:#fca5a5;letter-spacing:.05em;background:#7f1d1d;border-radius:4px;margin-bottom:.4rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.threat-payee{color:#fff;font-size:1.45rem;font-weight:700}.threat-date{color:#94a3b8;font-size:.8rem}.threat-score-dial{text-align:center;background:#1f2937;border:2px solid #ef4444;border-radius:12px;padding:.6rem .9rem}.score-number{color:#ef4444;font-size:1.6rem;font-weight:900;line-height:1}.score-max{color:#94a3b8;font-size:.65rem}.score-label{color:#ef4444;letter-spacing:.05em;font-size:.65rem;font-weight:800}.threat-amount-row{background:#1f2937;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.9rem 1.2rem;display:flex}.amount-label{color:#9ca3af;font-size:.9rem}.amount-val{color:#ef4444;font-size:1.4rem;font-weight:800}.threat-reason-box{background:#ffffff08;border-left:3px solid #64748b;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.92rem}.threat-reason-box strong{color:#94a3b8;margin-bottom:.2rem;font-size:.78rem;display:block}.threat-reason-box p{color:#e2e8f0;font-style:italic}.flags-list{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.flag-chip{color:#fca5a5;background:#374151;border-radius:4px;padding:.25rem .6rem;font-size:.72rem;font-weight:600}.gemini-reasoning-card{background:linear-gradient(135deg,#1e1b4b99 0%,#0f172a99 100%);border:1px solid #4338ca;border-radius:10px;margin-bottom:1.75rem;padding:1.1rem}.gemini-header{color:#a5b4fc;margin-bottom:.4rem;font-size:.8rem;font-weight:700}.gemini-text{color:#e0e7ff;font-size:.88rem;line-height:1.5}.threat-actions{flex-wrap:wrap;gap:.8rem;display:flex}.btn-threat-block{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;flex:1.2;padding:.9rem 1.2rem;font-size:.95rem;font-weight:800;transition:all .15s;box-shadow:0 0 15px #dc262666}.btn-threat-block:hover{background:#b91c1c;transform:translateY(-1px)}.btn-threat-approve{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;flex:1.2;padding:.9rem 1.2rem;font-size:.95rem;font-weight:800;transition:all .15s;box-shadow:0 0 15px #10b98166}.btn-threat-approve:hover{background:#059669;transform:translateY(-1px)}.btn-threat-audit{color:#94a3b8;cursor:pointer;background:#1f2937;border:1px solid #374151;border-radius:8px;padding:.9rem 1rem;font-size:.88rem;font-weight:600}.btn-threat-audit:hover{color:#fff;background:#374151}.history-section{background:#111827;border:1px solid #1f2937;border-radius:16px;padding:2rem}.table-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.table-header-row h2{color:#fff;font-size:1.35rem}.filter-tabs{gap:.4rem;display:flex}.tab-btn{color:#94a3b8;cursor:pointer;background:#1f2937;border:1px solid #374151;border-radius:6px;padding:.4rem .8rem;font-size:.78rem;font-weight:600}.tab-btn.active-tab{color:#fff;background:#2563eb;border-color:#3b82f6}.table-responsive{overflow-x:auto}.ledger-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.ledger-table th{color:#9ca3af;text-transform:uppercase;border-bottom:1px solid #1f2937;padding:.9rem 1rem;font-size:.75rem;font-weight:700}.ledger-table td{color:#e2e8f0;border-bottom:1px solid #1e293b;padding:1rem}.table-reason-snippet{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.78rem;overflow:hidden}.table-amount{color:#fff;font-weight:700}.risk-tag{border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.risk-high{color:#fca5a5;background:#7f1d1d}.risk-medium{color:#fde68a;background:#78350f}.risk-low{color:#a7f3d0;background:#064e3b}.status-pill{letter-spacing:.05em;border-radius:4px;padding:.25rem .6rem;font-size:.72rem;font-weight:800}.pill-completed{color:#34d399;background:#064e3b}.pill-held{color:#fbbf24;background:#78350f}.pill-blocked{color:#f87171;background:#7f1d1d}.paypal-code{color:#38bdf8;background:#1e293b;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.btn-view-audit{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:.35rem .7rem;font-size:.75rem}.btn-view-audit:hover{color:#fff;background:#334155}.modal-backdrop{z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.audit-modal{background:#111827;border:1px solid #374151;border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:85vh;display:flex;box-shadow:0 20px 25px -5px #00000080}.modal-header{border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-header h3{color:#fff;font-size:1.25rem}.modal-header p{color:#94a3b8;margin-top:.2rem;font-size:.85rem}.btn-close-modal{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.8rem}.audit-timeline{flex-direction:column;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.timeline-item{gap:1rem;display:flex;position:relative}.timeline-marker{background:#38bdf8;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:.3rem;box-shadow:0 0 8px #38bdf899}.timeline-content{flex:1}.timeline-header{align-items:center;gap:.6rem;margin-bottom:.3rem;display:flex}.timeline-action{color:#fff;font-size:.88rem;font-weight:700}.timeline-state{color:#93c5fd;background:#1e293b;border-radius:4px;padding:.15rem .5rem;font-size:.72rem}.timeline-time{color:#64748b;margin-left:auto;font-size:.72rem}.timeline-note{color:#cbd5e1;font-size:.82rem;line-height:1.4}.modal-footer{border-top:1px solid #1f2937;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.idempotency-display{color:#64748b;font-size:.75rem}.idempotency-display code{color:#94a3b8}.app-loading-screen{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
