:root{--bg: #0a0a1e;--bg-2: #2b1055;--ink: #ffffff;--muted: #b8a9ff;--subtle: #7e7798;--pink: #ff2d95;--violet: #7c3aed;--cyan: #22d3ee;--surface: rgba(255, 255, 255, .05);--border: rgba(124, 58, 237, .35);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;background:radial-gradient(ellipse at top,var(--bg-2) 0%,var(--bg) 70%);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--cyan)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.auth-page,.home{max-width:420px;margin:40px auto;padding:24px;color:var(--ink)}.auth-page h1{font-size:28px;margin-bottom:16px}.auth-page form{display:flex;flex-direction:column;gap:12px}.auth-page label{display:flex;flex-direction:column;font-size:14px;gap:4px;color:var(--muted)}.auth-page input,.auth-page select{background:var(--surface);color:var(--ink);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;font-size:16px}.auth-page input[type=checkbox]{width:18px;height:18px}.auth-page button{background:linear-gradient(90deg,var(--pink),var(--violet));color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:16px;font-weight:600;cursor:pointer}.auth-page button[disabled]{opacity:.6;cursor:wait}.auth-page .error{color:#ff6b8a;font-size:14px}.auth-page a{color:var(--cyan)}.home button{margin-top:16px;background:var(--surface);border:1px solid rgba(255,255,255,.1);color:var(--ink);padding:10px 14px;border-radius:8px}.profile-page,.themes-page,.theme-editor{max-width:640px;margin:40px auto;padding:24px;color:var(--ink);display:flex;flex-direction:column;gap:24px}.profile-header{display:flex;align-items:center;justify-content:space-between}.profile-page h1{font-size:28px}.profile-page h2{font-size:20px;color:var(--muted);margin-bottom:8px}.profile-page form{display:flex;flex-direction:column;gap:12px}.profile-page textarea,.profile-page input[type=text],.profile-page input:not([type]){background:var(--surface);color:var(--ink);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;font-size:16px}.profile-page fieldset{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px}.profile-page fieldset legend{padding:0 6px;color:var(--muted)}.profile-page button{background:linear-gradient(90deg,var(--pink),var(--violet));color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:16px;font-weight:600;cursor:pointer}.profile-page button.ghost{background:var(--surface);color:var(--ink);border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-weight:500}.profile-page .error{color:#ff6b8a}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-gallery figure{margin:0;position:relative}.photo-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.photo-gallery .controls{display:flex;gap:4px;position:absolute;top:4px;right:4px}.photo-gallery .controls button{background:#0009;color:#fff;border:none;border-radius:4px;padding:2px 6px;font-size:12px;cursor:pointer}@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.live-dot{display:inline-block;width:10px;height:10px;background:var(--cyan);border-radius:50%;position:relative}.live-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--cyan);animation:pulse-ring 2s ease-out infinite}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--bg);border-top:1px solid var(--border);padding:8px 0 max(8px,env(safe-area-inset-bottom));z-index:100}.tab-bar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:600;text-decoration:none;color:var(--muted);padding:4px 16px;position:relative}.tab-bar a.active{color:var(--pink)}.tab-badge{position:absolute;top:0;right:6px;background:var(--pink);color:#fff;border-radius:10px;font-size:9px;font-weight:700;padding:1px 5px;min-width:16px;text-align:center}.step-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:capitalize}.step-badge.interest{background:#22d3ee26;color:var(--cyan)}.step-badge.photo{background:#fbbf2426;color:#fbbf24}.step-badge.meet{background:#22c55e26;color:#22c55e}.step-badge.complete{background:#7c3aed26;color:var(--violet)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.page{padding-bottom:72px}
