.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);padding:20px}.error-boundary-content{max-width:600px;text-align:center;background:#ffffff0d;border:1px solid rgba(0,255,136,.2);border-radius:12px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-icon{font-size:64px;margin-bottom:20px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.error-boundary-content h1{color:#0f8;font-size:28px;margin-bottom:16px;font-weight:600}.error-message{color:#e0e0e0;font-size:16px;line-height:1.6;margin-bottom:30px}.error-details{text-align:left;margin:20px 0;background:#0000004d;border:1px solid rgba(255,0,0,.3);border-radius:8px;padding:15px}.error-details summary{color:#ff6b6b;cursor:pointer;font-weight:600;margin-bottom:10px}.error-stack{color:#ff6b6b;font-size:12px;font-family:Courier New,monospace;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin-top:10px}.error-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.error-actions button{padding:12px 30px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:#0f8;color:#0a0a0a}.btn-primary:hover{background:#00cc6f;transform:translateY(-2px);box-shadow:0 4px 12px #00ff884d}.btn-secondary{background:#ffffff1a;color:#e0e0e0;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;transform:translateY(-2px)}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:8px;background:#1a1a1af2;border:1px solid;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn .3s ease-out;min-width:300px}.toast-exit{animation:slideOut .3s ease-out forwards}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.toast-icon{font-size:20px;font-weight:700;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.toast-message{flex:1;color:#e0e0e0;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;color:#e0e0e0;font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s;flex-shrink:0}.toast-close:hover{opacity:1}.toast-success{border-color:#0f8}.toast-success .toast-icon{color:#0f8;background:#00ff881a}.toast-error{border-color:#ff6b6b}.toast-error .toast-icon{color:#ff6b6b;background:#ff6b6b1a}.toast-warning{border-color:#ffd93d}.toast-warning .toast-icon{color:#ffd93d;background:#ffd93d1a}.toast-info{border-color:#6bcbff}.toast-info .toast-icon{color:#6bcbff;background:#6bcbff1a}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{min-width:auto}}.call-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;background:#020617d1;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:call-overlay-fade var(--transition-normal)}.call-modal{position:relative;width:min(1024px,100%);height:min(92vh,760px);border-radius:var(--radius-lg);overflow:hidden;background:#020617;color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px #02061799;animation:call-modal-in var(--transition-normal)}.call-ringing{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);background:radial-gradient(circle at 10% 20%,#1e293b,#020617 65%)}.caller-info{text-align:center;margin-bottom:var(--space-6)}.caller-avatar{width:110px;height:110px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;background:linear-gradient(145deg,#2563eb,#8b5cf6);margin-bottom:var(--space-3)}.caller-info h2{margin:0;font-size:30px}.caller-info p{margin-top:var(--space-2);color:#cbd5e1}.call-actions{display:flex;gap:var(--space-3)}.accept-button,.reject-button{border:none;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-normal),filter var(--transition-normal)}.accept-button:hover,.reject-button:hover{transform:translateY(-1px)}.accept-button{background:#16a34a;color:#fff;box-shadow:0 10px 20px #16a34a4d}.reject-button{background:#dc2626;color:#fff;box-shadow:0 10px 20px #dc26264d}.call-active{position:relative;height:100%}.video-container{position:absolute;top:0;right:0;bottom:0;left:0;background:#020617}.call-top-bar{position:absolute;top:0;left:0;right:0;z-index:5;padding:16px 18px 30px;background:linear-gradient(180deg,#020617d9,#02061700)}.call-top-bar h3{margin:0;font-size:20px;font-weight:700}.call-top-bar p{margin:6px 0 0;color:#cbd5e1;font-size:13px}.remote-video{width:100%;height:100%;object-fit:contain;background:#020617}.remote-video.audio-fallback{opacity:.18}.local-video{position:absolute;z-index:6;right:18px;top:76px;width:clamp(120px,22vw,240px);aspect-ratio:9 / 16;object-fit:cover;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.92);box-shadow:0 12px 30px #00000073;transform:scaleX(-1);background:#0f172a}.local-video-unavailable{position:absolute;z-index:6;right:18px;top:76px;width:clamp(120px,22vw,240px);aspect-ratio:9 / 16;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.4);background:#0f172acc;color:#cbd5e1;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;padding:8px}.voice-call-display{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.caller-avatar-large{width:140px;height:140px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:700;background:linear-gradient(145deg,#2563eb,#8b5cf6);margin-bottom:18px}.voice-call-display h2{margin:0;font-size:34px}.call-status-text{margin-top:var(--space-3);color:#cbd5e1}.call-controls{position:absolute;z-index:8;left:50%;transform:translate(-50%);bottom:var(--space-5);width:min(96%,560px);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);padding:var(--space-2);border-radius:999px;background:#020617bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12)}.audio-output-selector{height:46px;border-radius:999px;padding:0 10px;background:#ffffff1f;color:#fff;display:inline-flex;align-items:center;gap:8px;min-width:168px}.audio-output-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#dbeafe}.audio-output-icon svg{width:18px;height:18px}.audio-output-dropdown{border:none;background:transparent;color:#fff;font-weight:700;font-size:13px;outline:none;width:100%;cursor:pointer}.audio-output-dropdown option{color:#0f172a}.control-button{min-width:104px;height:46px;border:none;border-radius:999px;background:#ffffff1f;color:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-normal)}.control-button:hover{transform:translateY(-1px);background:#fff3}.control-button.active{background:#f59e0b}.control-button.end-call{background:#dc2626}.control-button .icon{font-size:12px;letter-spacing:.2px}.call-ended{height:100%;display:flex;align-items:center;justify-content:center}.call-error{position:absolute;z-index:9;left:50%;transform:translate(-50%);top:72px;padding:8px 14px;border-radius:999px;background:#ef4444eb;color:#fff;font-size:13px}.call-error p{margin:0}@keyframes call-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes call-modal-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.call-modal-overlay{padding:0}.call-modal{width:100%;height:100%;border-radius:0}.call-top-bar{padding:14px 14px 24px}.call-top-bar h3{font-size:18px}.local-video,.local-video-unavailable{right:12px;top:66px;width:112px}.call-controls{bottom:18px;width:calc(100% - 20px);gap:8px}.control-button{min-width:88px;height:42px}.audio-output-selector{height:42px;min-width:138px;padding:0 8px}.caller-avatar-large{width:112px;height:112px;font-size:44px}.voice-call-display h2{font-size:26px}}.bee-loader{display:flex;align-items:center;justify-content:center;width:100%;min-height:240px;border-radius:18px;background:radial-gradient(circle at 24% 20%,rgba(95,130,234,.24),transparent 52%),radial-gradient(circle at 78% 75%,rgba(77,164,255,.16),transparent 48%),linear-gradient(145deg,#06142f,#0b2348 56%,#132f5c);border:1px solid rgba(138,171,234,.32)}.bee-loader--compact{min-height:180px}.bee-loader--inline{min-height:96px;border-radius:14px}.bee-loader--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;min-height:100vh;border-radius:0;border:none}.bee-loader__panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 22px}.bee-loader--inline .bee-loader__panel{padding:10px 12px;gap:6px}.bee-loader__stage{position:relative;width:168px;height:168px;border-radius:50%;background:radial-gradient(circle,rgba(125,162,235,.2) 0%,rgba(13,31,61,.12) 65%,transparent 100%);border:1px solid rgba(165,194,248,.24);display:flex;align-items:center;justify-content:center;overflow:hidden;--bee-progress: 0%}.bee-loader__ring{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:conic-gradient(from -90deg,rgba(113,165,255,.98) 0%,rgba(154,195,255,.95) var(--bee-progress),rgba(117,153,219,.17) var(--bee-progress),rgba(117,153,219,.17) 100%);-webkit-mask:radial-gradient(circle,transparent 70%,#000 72%);mask:radial-gradient(circle,transparent 70%,#000 72%);box-shadow:0 0 20px #6c9dfd59}.bee-loader--inline .bee-loader__stage{width:76px;height:76px}.bee-loader__bee-motion{position:absolute;width:104px;height:104px;display:flex;align-items:center;justify-content:center;animation:bee-jitter 2.2s ease-in-out infinite}.bee-loader--inline .bee-loader__bee-motion{width:56px;height:56px}.bee-loader__logo{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(126,160,244,.38));animation:bee-logo-pulse 1.7s ease-in-out infinite}.bee-loader--inline .bee-loader__logo{width:46px;height:46px}.bee-loader__percent{position:static;font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:#e9f3ff;text-shadow:0 2px 8px rgba(9,31,66,.44);pointer-events:none;line-height:1}.bee-loader--inline .bee-loader__percent{font-size:.74rem}.bee-loader__message{margin:0;font-size:.95rem;font-weight:600;color:#d8e9ff;letter-spacing:.01em}.bee-loader--inline .bee-loader__message{font-size:.78rem}@keyframes bee-jitter{0%{transform:translate(0) rotate(0) scale(1)}14%{transform:translate(14px,-12px) rotate(6deg) scale(1.03)}28%{transform:translate(-16px,-9px) rotate(-7deg) scale(.97)}42%{transform:translate(11px,14px) rotate(5deg) scale(1.02)}56%{transform:translate(-13px,16px) rotate(-6deg) scale(.98)}70%{transform:translate(16px,4px) rotate(7deg) scale(1.03)}84%{transform:translate(-14px,-14px) rotate(-5deg) scale(.98)}to{transform:translate(0) rotate(0) scale(1)}}@keyframes bee-logo-pulse{0%{transform:scale(.96);opacity:.9}50%{transform:scale(1.03);opacity:1}to{transform:scale(.96);opacity:.9}}@media (max-width: 768px){.bee-loader{min-height:210px}.bee-loader__stage{width:146px;height:146px}.bee-loader__bee-motion{width:92px;height:92px}.bee-loader__logo{width:70px;height:70px}.bee-loader__percent{font-size:1.02rem}}.app-loading-fallback{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary);color:var(--text-primary)}.app-update-banner{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:9999;display:inline-flex;align-items:center;gap:.75rem;padding:.58rem .82rem;border-radius:999px;border:1px solid rgba(147,174,224,.45);background:#0b234df0;color:#f8fbff;box-shadow:0 12px 24px #0817343d;font-size:.9rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-update-btn{border:none;border-radius:999px;background:linear-gradient(120deg,#3058cc,#5f82ea);color:#fff;padding:.42rem .88rem;font-size:.84rem;font-weight:650;cursor:pointer}.app-update-btn:hover{filter:brightness(1.04)}.app-loading-inner{text-align:center}.app-loading-spinner{width:48px;height:48px;border:3px solid var(--border-subtle);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--space-4);animation:app-spin .9s linear infinite}@keyframes app-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.landing-page{--lp-bg-dark: #020409;--lp-bg-mid: #090f2a;--lp-text: #f7fbff;--lp-muted: #98aac9;--lp-electric: #86a8ff;--lp-pink: #ff77d8;position:relative;height:100dvh;overflow-x:hidden;overflow-y:auto;background:linear-gradient(180deg,#020611,#050d22,#08163b 68%,#0a1a44);color:var(--lp-text);font-family:Sora,Manrope,Segoe UI,sans-serif;-webkit-overflow-scrolling:touch}.landing-bg-gradient{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(1100px 680px at 8% -16%,rgba(86,141,255,.2),transparent 70%),radial-gradient(980px 760px at 90% 12%,rgba(47,88,202,.2),transparent 75%),linear-gradient(0deg,#3a68d51a,#070e2400 50%)}.landing-bg-noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.15;background-image:radial-gradient(rgba(255,255,255,.3) .6px,transparent .6px);background-size:3px 3px;mix-blend-mode:soft-light}.landing-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;overflow:hidden;background:#000;transition:opacity .52s ease,background-color .42s ease}.landing-gate-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;z-index:2;display:none}.landing-gate-overlay.stage-beam:before{animation:none}.landing-gate-overlay.stage-done:before{opacity:0}.landing-gate-overlay.stage-done{background:#000}.landing-gate-overlay.stage-done{opacity:0;transition-delay:.85s;pointer-events:none}.landing-gate-panel{position:absolute;top:0;bottom:0;width:50%;background:#000;transition:transform 2.2s cubic-bezier(.18,.78,.24,1);box-shadow:none}.landing-gate-overlay.stage-split .landing-gate-panel,.landing-gate-overlay.stage-beam .landing-gate-panel,.landing-gate-overlay.stage-done .landing-gate-panel{background:linear-gradient(180deg,#010101,#05070d,#010101);box-shadow:inset 0 0 40px #789ce614}.landing-gate-panel-left{left:0;border-right:none}.landing-gate-panel-right{right:0;border-left:none}.landing-gate-overlay.stage-split .landing-gate-panel-left,.landing-gate-overlay.stage-beam .landing-gate-panel-left,.landing-gate-overlay.stage-done .landing-gate-panel-left{transform:translate(-102%)}.landing-gate-overlay.stage-split .landing-gate-panel-right,.landing-gate-overlay.stage-beam .landing-gate-panel-right,.landing-gate-overlay.stage-done .landing-gate-panel-right{transform:translate(102%)}.landing-gate-center-line{position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:linear-gradient(180deg,#8cadec1a,#e1ebffb8 52%,#8cadec1a);display:none}.landing-gate-beam{position:absolute;width:min(28vw,240px);height:min(52vh,420px);bottom:15%;left:50%;transform:translate(-50%) scale(.6);transform-origin:center center;background:linear-gradient(180deg,#fff,#fffffffa 55%,#fffffff0);border-radius:4px;box-shadow:0 0 35px #fffffff2,0 0 80px #ffffffd1,0 0 130px #ffffff85;pointer-events:none;opacity:0;transition:opacity .36s ease,transform .7s cubic-bezier(.18,.75,.24,1),filter .9s ease;z-index:1}.landing-gate-beam:before{content:"";position:absolute;left:50%;bottom:100%;width:min(84vw,760px);height:min(38vh,300px);transform:translate(-50%);background:repeating-conic-gradient(from 260deg at 50% 100%,#ddedff52,#ddedff52 6deg,#ddedff00 6deg,#ddedff00 15deg);clip-path:polygon(42% 100%,58% 100%,100% 0,0 0);filter:blur(3px);opacity:.8}.landing-gate-beam:after{content:"";position:absolute;left:50%;top:98%;width:min(84vw,760px);height:min(26vh,190px);transform:translate(-50%);background:linear-gradient(180deg,#e6f4ffd9,#bfdfff59 48%,#8ec2ff00);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(5px)}.landing-gate-overlay.stage-split .landing-gate-beam,.landing-gate-overlay.stage-beam .landing-gate-beam,.landing-gate-overlay.stage-done .landing-gate-beam{opacity:1;transform:translate(-50%) scale(10)}.landing-gate-overlay.stage-beam .landing-gate-beam,.landing-gate-overlay.stage-done .landing-gate-beam{animation:landingLightToBlack 1.2s cubic-bezier(.22,.78,.2,1) .24s forwards}.landing-gate-burst{position:absolute;left:50%;top:50%;width:min(92vw,900px);height:min(80vh,680px);transform:translate(-50%,-50%) scale(.92);background:radial-gradient(ellipse at 50% 52%,rgba(255,255,255,.42) 0%,rgba(255,255,255,.2) 42%,rgba(255,255,255,.08) 62%,transparent 82%);opacity:0;filter:blur(14px);border-radius:50%;box-shadow:none;transition:transform 1.2s cubic-bezier(.11,.82,.24,1),opacity .46s ease;z-index:1}.landing-gate-overlay.stage-split .landing-gate-burst,.landing-gate-overlay.stage-beam .landing-gate-burst,.landing-gate-overlay.stage-done .landing-gate-burst{opacity:1;transform:translate(-50%,-50%) scale(1.6)}.landing-gate-overlay.stage-beam .landing-gate-burst,.landing-gate-overlay.stage-done .landing-gate-burst{animation:landingAuraToBlack 1.2s cubic-bezier(.22,.78,.2,1) .24s forwards}.landing-gate-text{position:absolute;left:50%;top:50%;margin:0;z-index:4;font-family:Inter,Segoe UI,sans-serif;font-size:clamp(1.25rem,2.9vw,2.45rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;text-align:center;color:#f7f9fc;-webkit-text-stroke:1px rgba(214,220,231,.82);text-shadow:0 0 12px rgba(234,237,242,.4),0 0 28px rgba(192,199,212,.24);opacity:0;transform:translate(-50%,-50%) translateY(14px) scale(.82);transition:opacity .28s ease,transform 2s cubic-bezier(.18,.75,.22,1),color .9s ease,-webkit-text-stroke-color .9s ease,text-shadow .9s ease;backface-visibility:hidden;will-change:color,text-shadow,-webkit-text-stroke-color}.landing-gate-overlay.stage-split .landing-gate-text,.landing-gate-overlay.stage-beam .landing-gate-text,.landing-gate-overlay.stage-done .landing-gate-text{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1.14)}.landing-gate-overlay.stage-split .landing-gate-text{color:#050505;-webkit-text-stroke:1px rgba(26,26,26,.9);text-shadow:0 0 14px rgba(255,255,255,.3)}.landing-gate-overlay.stage-beam .landing-gate-text{animation:none;color:#f7f9fc;-webkit-text-stroke:1px rgba(214,220,231,.82);text-shadow:0 0 12px rgba(234,237,242,.4),0 0 28px rgba(192,199,212,.24)}.landing-gate-bee{position:absolute;left:50%;top:50%;width:clamp(92px,10.2vw,142px);height:clamp(92px,10.2vw,142px);transform:translate(-50%,calc(-50% - 66px)) scale(.92);z-index:4;opacity:0;filter:drop-shadow(0 0 18px rgba(235,242,255,.6));transition:opacity 1s ease,transform 1s ease}.landing-gate-overlay.stage-beam .landing-gate-bee,.landing-gate-overlay.stage-done .landing-gate-bee{opacity:1;transform:translate(-50%,calc(-50% - 66px)) scale(1);transition-delay:1.4s}@keyframes landingLightToBlack{0%{background:linear-gradient(180deg,#fff,#fffffffa 55%,#fffffff0);box-shadow:0 0 35px #fffffff2,0 0 80px #ffffffd1,0 0 130px #ffffff85;opacity:1}to{background:linear-gradient(180deg,#000,#000);box-shadow:0 0 #0000;opacity:1}}@keyframes landingAuraToBlack{0%{background:radial-gradient(ellipse at 50% 52%,rgba(255,255,255,.42) 0%,rgba(255,255,255,.2) 42%,rgba(255,255,255,.08) 62%,transparent 82%);opacity:1}to{background:radial-gradient(ellipse at 50% 52%,#000,#000000eb 42%,#000000c2,#0006 82%);opacity:1}}.landing-content{width:min(1140px,calc(100% - 2rem));margin:1rem auto 0;position:relative;z-index:5;opacity:0;transform:translateY(16px);transition:opacity .36s ease,transform .36s ease;padding-bottom:calc(4rem + env(safe-area-inset-bottom))}.landing-content.visible{opacity:1;transform:translateY(0)}.landing-topbar{position:sticky;top:.8rem;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.84rem 1.05rem;border-radius:14px;border:1px solid rgba(145,174,238,.24);background:linear-gradient(110deg,#050b1ed6,#0a1637d1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 28px #02061257}.landing-brand{display:inline-flex;align-items:baseline;gap:.02em;font-size:clamp(1.7rem,2.1vw,2.1rem);font-weight:800;letter-spacing:-.04em}.landing-brand-gate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(3rem,8vw,7.2rem);z-index:3;white-space:nowrap}.landing-brand-main{color:#fbfdff}.landing-brand-accent{background:linear-gradient(115deg,#82b2ff,#7f99ff 44%,#d77bff);-webkit-background-clip:text;background-clip:text;color:transparent}.gate-hive,.gate-mate{transition:transform 1.25s cubic-bezier(.16,.9,.21,.99),opacity .94s ease;transition-delay:.18s}.landing-gate-overlay.stage-split .gate-hive,.landing-gate-overlay.stage-beam .gate-hive,.landing-gate-overlay.stage-done .gate-hive{transform:translate(-42vw);opacity:0}.landing-gate-overlay.stage-split .gate-mate,.landing-gate-overlay.stage-beam .gate-mate,.landing-gate-overlay.stage-done .gate-mate{transform:translate(42vw);opacity:0}.landing-btn-primary,.landing-btn-secondary{border-radius:999px;border:1px solid transparent;padding:.72rem 1.18rem;cursor:pointer;font-size:.92rem;font-family:inherit;font-weight:600;transition:transform .17s ease,box-shadow .22s ease,border-color .17s ease,filter .17s ease}.landing-btn-primary{color:#eef4ff;border-color:#a4bff66b;background:linear-gradient(110deg,#050b1ed6,#0a1637d1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 28px #0206126b,inset 0 1px #f0f8ff2e}.landing-btn-secondary{background:#ffffff1a;border-color:#acc5f075;color:#eaf2ff}.landing-install-btn{background:#080d22cc}.landing-btn-primary:hover,.landing-btn-secondary:hover{transform:translateY(-1px);filter:brightness(1.04)}.landing-signal-hero,.landing-features{margin-top:1rem}.landing-signal-hero{position:relative;min-height:calc(100dvh + var(--hero-scroll-space, 740px));border:none;background:transparent;box-shadow:none;margin-top:1.75rem;padding:.15rem 0 0}.landing-hero-stage{position:sticky;top:12.15rem;z-index:6;min-height:calc(100dvh - 12.9rem);display:grid;grid-template-rows:auto minmax(300px,1fr) auto;gap:.35rem;align-content:start}.landing-hero-sentence{display:flex;flex-wrap:wrap;column-gap:.35ch;row-gap:.08em;position:relative;z-index:6;margin:0;max-width:100%;font-size:clamp(3.4rem,13.8vw,9.4rem);line-height:.88;letter-spacing:-.045em;color:#f7fbff}.landing-hero-word{opacity:calc(.16 + (var(--word-visible, 0) * .84));text-shadow:0 0 18px rgba(148,185,255,calc(var(--word-visible, 0) * .28));transition:opacity .16s linear,text-shadow .16s linear}.landing-city-map{z-index:6;position:relative;margin-top:0;width:100%;min-height:clamp(300px,42vh,560px);height:auto;align-self:end;border-radius:16px;border:none;overflow:hidden;background:transparent}.city-stage{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .32s cubic-bezier(.18,.82,.2,1),opacity .26s ease}.city-sky{position:absolute;inset:0 0 auto 0;height:52%;pointer-events:none;z-index:1}.city-moon{position:absolute;top:calc(7% + .5rem);left:50%;width:clamp(26px,3.8vw,38px);height:clamp(26px,3.8vw,38px);transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffad2fa,#f5e596e6 58%,#dcc46cb3);box-shadow:0 0 18px #ffe89873,0 0 34px #ffdf7a40}.city-star{position:absolute;border-radius:50%;background:#d6ebfff2;box-shadow:0 0 8px #b4d8ffbf;animation:cityStarTwinkle 2.4s ease-in-out infinite}.city-buildings{position:absolute;inset:auto 0 0 0;height:94%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(1rem,5vw,2.8rem);pointer-events:none;z-index:2}.city-building{--building-w: 24%;--building-h: 82%;width:var(--building-w);height:var(--building-h);border:1px solid rgba(152,186,252,.24);border-bottom:none;border-radius:12px 12px 0 0;padding:.55rem .45rem .9rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem .35rem;background:linear-gradient(180deg,#2241838c,#0f214abd 70%,#0a1738eb);box-shadow:inset 0 0 42px #3b6acf33}.city-building-tall{--building-w: 24%;--building-h: 92%}.city-building-short{--building-w: 21%;--building-h: 72%}.city-building-mid{--building-w: 23%;--building-h: 84%}.building-window{border-radius:3px;min-height:12px;background:#9ab7f338;border:1px solid rgba(143,171,230,.3)}.building-window.lit{background:#ffefa6eb;border-color:#faf0bef2;box-shadow:0 0 10px #ffec9399}.city-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.city-grid-major{opacity:.26;background-image:linear-gradient(rgba(146,176,240,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(146,176,240,.24) 1px,transparent 1px);background-size:66px 66px;animation:cityGridShift 13s linear infinite}.city-grid-minor{opacity:.12;background-image:linear-gradient(rgba(145,176,244,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(145,176,244,.2) 1px,transparent 1px);background-size:22px 22px;animation:cityGridShift 18s linear infinite reverse}.signal-link{position:absolute;transform-origin:left center;height:1px;background:linear-gradient(90deg,#88b2ff14,#9cc4ff59 48%,#88b2ff14);overflow:hidden}.signal-link:after{content:"";position:absolute;top:-1px;left:-34%;width:34%;height:3px;background:linear-gradient(90deg,#b0d1ff00,#b0d1fff2,#b0d1ff00);filter:blur(.2px);animation:signalFlow 3.4s linear infinite}.signal-node{--node-hue: 220;position:absolute;transform:translate(-50%,-50%);width:clamp(16px,2vw,22px);height:clamp(16px,2vw,22px);border:0;padding:0;background:transparent;cursor:pointer;animation:signalNodeFloat 4.6s ease-in-out infinite;z-index:5}.signal-node-dot{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(236,245,255,.7);background:radial-gradient(circle at 35% 30%,hsl(var(--node-hue) 98% 82% / 1),hsl(calc(var(--node-hue) + 14) 92% 58% / 1) 80%);box-shadow:0 0 15px hsl(var(--node-hue) 94% 72% / .82);animation:nodeWindowReveal .58s cubic-bezier(.2,.9,.24,1) both;animation-delay:inherit}.signal-node-dot:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;border:1px solid hsl(var(--node-hue) 90% 78% / .5);animation:signalPulse 2.1s ease-out infinite}.signal-node-label{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);padding:.2rem .44rem;font-size:.68rem;border-radius:999px;border:1px solid rgba(166,194,248,.5);background:#07112de0;color:#e7f1ff;opacity:.88;white-space:nowrap}.signal-node:hover .signal-node-label{opacity:1}.landing-cta-row{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.65rem;transition:opacity .22s ease,transform .26s cubic-bezier(.18,.82,.24,1);will-change:opacity,transform}.landing-btn-lg{min-height:46px;padding-left:1.2rem;padding-right:1.2rem}.landing-features{margin-top:3rem}@keyframes cityGridShift{0%{background-position:0 0,0 0}to{background-position:0 66px,66px 0}}@keyframes cityStarTwinkle{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.22)}}@keyframes signalFlow{0%{left:-34%}to{left:110%}}@keyframes signalPulse{0%{opacity:.86;transform:scale(.55)}80%{opacity:.16;transform:scale(1.34)}to{opacity:0;transform:scale(1.38)}}@keyframes signalNodeFloat{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 5px))}}@keyframes nodeWindowReveal{0%{opacity:0;transform:scale(.18);filter:brightness(.6)}to{opacity:1;transform:scale(1);filter:brightness(1)}}.landing-features{--timeline-progress: 0;--timeline-line-x: 22px;--timeline-seg1-start: 22px;--timeline-seg1-height: 0px;--timeline-seg2-start: 22px;--timeline-seg2-height: 0px;--timeline-seg1-progress: 0;--timeline-seg2-progress: 0;position:relative;display:flex;flex-direction:column;align-items:center;gap:.95rem;margin-top:3rem;padding:.2rem 0}.landing-features:before,.landing-features:after{content:"";position:absolute;left:var(--timeline-line-x);top:var(--timeline-seg1-start);width:2px;height:var(--timeline-seg1-height);background:linear-gradient(180deg,#9ebdff,#6f9dff 68%,#99b8ff);transform:translate(-50%) scaleY(var(--timeline-seg1-progress));transform-origin:top center;transition:transform .2s linear}.landing-features:after{top:var(--timeline-seg2-start);height:var(--timeline-seg2-height);transform:translate(-50%) scaleY(var(--timeline-seg2-progress))}.landing-feature-card{--feature-progress: 0;--icon-touch: 0;position:relative;z-index:1;display:grid;grid-template-columns:46px 1fr;align-items:center;column-gap:.9rem;width:min(calc(100% - 2.5rem),430px);margin-left:auto;margin-right:auto;overflow:visible;padding:0;border:none;background:transparent;box-shadow:none;transition:transform .28s cubic-bezier(.18,.82,.24,1),opacity .25s ease,border-color .26s ease,box-shadow .26s ease,background .3s ease;will-change:transform,opacity}.landing-feature-marker{position:relative;z-index:2;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(151,179,240,calc(.26 + (var(--feature-progress) * .46) + (var(--icon-touch) * .24)));background:linear-gradient(160deg,rgba(18,37,80,calc(.62 + (var(--feature-progress) * .2))),rgba(35,69,148,calc(.36 + (var(--feature-progress) * .38))));box-shadow:0 0 16px rgba(122,162,255,calc(var(--feature-progress) * .42)),0 0 26px rgba(160,198,255,calc(var(--icon-touch) * .78));transition:background .26s ease,border-color .26s ease,box-shadow .26s ease,transform .26s ease;transform:scale(calc(.9 + (var(--feature-progress) * .1)));align-self:center}.landing-feature-marker-core{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;color:rgba(228,240,255,calc(.6 + (var(--feature-progress) * .4)));transition:color .22s ease}.landing-feature-marker-core svg{width:21px;height:21px}.landing-feature-copy{border-radius:14px;border:1px solid rgba(151,179,240,calc(.18 + (var(--feature-progress) * .28)));background:linear-gradient(150deg,rgba(9,20,48,calc(.68 + (var(--feature-progress) * .18))),rgba(13,30,70,calc(.42 + (var(--feature-progress) * .2))));box-shadow:0 12px 26px rgba(2,8,24,calc(.2 + (var(--feature-progress) * .16))),inset 0 0 24px rgba(102,146,245,calc(var(--feature-progress) * .2));padding:.86rem .9rem .88rem;transition:border-color .26s ease,box-shadow .26s ease,background .28s ease}.landing-feature-card h4{margin:0;color:rgba(237,244,255,calc(.88 + (var(--feature-progress) * .12)));font-size:1.04rem;letter-spacing:-.02em;transition:color .24s ease}.landing-feature-card p{margin:.52rem 0 0;color:rgba(216,230,252,calc(.82 + (var(--feature-progress) * .18)));font-size:.9rem;line-height:1.42;transition:color .24s ease}@media (max-width: 980px){.landing-city-map{min-height:380px}}@media (max-width: 768px){.landing-content{width:min(100%,calc(100% - 1rem));margin-top:.65rem}.landing-topbar{top:.52rem;border-radius:13px;padding:.66rem .7rem}.landing-brand{font-size:1.8rem}.landing-brand-gate{font-size:clamp(2.2rem,14vw,4.2rem)}.landing-gate-text{font-size:clamp(1.4rem,7vw,2.2rem);padding:0 .7rem}.landing-hero-sentence{max-width:100%;font-size:clamp(2.9rem,15.4vw,5.4rem);line-height:.9}.landing-hero-stage{top:11.05rem;min-height:calc(100dvh - 11.6rem);grid-template-rows:auto minmax(230px,1fr) auto;gap:.3rem}.landing-btn-lg{width:100%}.landing-feature-card{width:min(calc(100% - 2.6rem),420px)}.landing-city-map{min-height:360px}.city-buildings{gap:.8rem}.city-building{padding:.38rem .3rem .75rem;gap:.28rem .26rem}.building-window{min-height:9px}.signal-node-label{font-size:.62rem;top:calc(100% + 8px)}}@media (min-width: 1024px){.landing-cta-row{width:min(860px,calc(100% - 1rem));margin-left:auto;margin-right:auto;justify-content:center;gap:1rem}.landing-btn-lg{flex:1 1 0;min-height:62px;padding-left:1.6rem;padding-right:1.6rem;font-size:1.22rem}.landing-features{width:min(860px,calc(100% - 1rem));display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:3rem;padding-top:.2rem;transform:translate(8.5rem)}.landing-feature-card{width:100%;max-width:none;grid-template-columns:56px 1fr;column-gap:1rem;justify-items:stretch;row-gap:0;max-width:760px;margin-left:auto;margin-right:auto}.landing-feature-marker{width:52px;height:52px;justify-self:center}.landing-feature-copy{width:100%}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(1200px 520px at 10% -8%,rgba(37,99,235,.24),transparent 68%),radial-gradient(1200px 600px at 92% -10%,rgba(124,58,237,.18),transparent 72%),linear-gradient(180deg,#e8eef9,#f4f7fc 45%,#eef3fb);position:relative;overflow-x:hidden;overflow-y:auto}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(17,41,84,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(17,41,84,.07) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.78) 0%,transparent 86%);mask-image:linear-gradient(180deg,rgba(0,0,0,.78) 0%,transparent 86%);pointer-events:none}.auth-google-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:radial-gradient(900px 420px at 50% -10%,rgba(59,105,226,.25),transparent 72%),#eef4ffcc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.auth-google-overlay__card{width:min(320px,calc(100vw - 2rem));border-radius:20px;border:1px solid rgba(150,179,238,.45);background:linear-gradient(160deg,#fffffff5,#f3f9fff2);box-shadow:0 18px 40px #15306738,inset 0 1px #ffffffd9;padding:1.35rem 1.25rem 1.2rem;text-align:center;animation:auth-overlay-rise .28s ease-out}.auth-google-overlay__spinner{width:38px;height:38px;margin:0 auto .75rem;border-radius:999px;border:3px solid rgba(59,105,226,.2);border-top-color:#2f5fd6;animation:auth-spinner .82s linear infinite}.auth-google-overlay__title{margin:0;color:#17386f;font-size:1.02rem;font-weight:700}.auth-google-overlay__subtitle{margin:.35rem 0 0;color:#5a74a0;font-size:.9rem}@keyframes auth-overlay-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-container{width:min(460px,100%);position:relative;z-index:1;border-radius:24px;padding:2rem;border:1px solid rgba(165,192,240,.35);box-shadow:0 24px 50px #0d1f4233,inset 0 1px #ffffffbf}.auth-container--login{background:linear-gradient(145deg,#fffffff2,#f5faffeb)}.auth-container--register{background:linear-gradient(145deg,#f5fafff2,#ecf4fff0)}.auth-logo{width:62px;height:62px;margin:0 auto 1rem;position:relative}.auth-logo-ring{width:100%;height:100%;border-radius:999px;border:2px solid rgba(53,109,220,.75);box-shadow:0 0 0 6px #5a87e21f;animation:auth-rotate 8s linear infinite}.auth-logo-pulse{width:12px;height:12px;border-radius:999px;background:#2c60df;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #2c60df80;animation:auth-pulse 2s ease-in-out infinite}.auth-container h1{margin:0;text-align:center;font-size:clamp(1.85rem,2.4vw,2.35rem);color:#0d2347;letter-spacing:-.02em}.auth-title-highlight{background:linear-gradient(120deg,#1e4eb8,#3b6be8,#6d8df8);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-subtitle{margin:.7rem 0 1.65rem;text-align:center;color:#5a6f96;font-size:.97rem}.auth-form{display:flex;flex-direction:column;gap:1.05rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.84rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2a4678}.form-group input{width:100%;border-radius:12px;border:1px solid #c8d8f0;background:#f8fbff;padding:.9rem .95rem;color:#12284a;font-size:.98rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-group input::placeholder{color:#8ba1c3}.form-group input:focus{border-color:#5d82e3;box-shadow:0 0 0 3px #5d82e329;background:#fff;outline:none}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:2.8rem}.password-toggle{position:absolute;top:50%;right:.65rem;transform:translateY(-50%);width:32px;height:32px;border:none;border-radius:9px;background:transparent;color:#6f87ad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.password-toggle svg{width:18px;height:18px}.password-toggle:hover{color:#2f5fd6;background:#4e75d61a}.error-message{border-radius:10px;border:1px solid rgba(220,38,38,.25);background:#fee2e2bf;color:#b91c1c;padding:.72rem .85rem;font-size:.9rem;font-weight:500}.success-message{border-radius:10px;border:1px solid rgba(22,163,74,.28);background:#dcfce7cc;color:#166534;padding:.72rem .85rem;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.success-message:before{content:"✓";width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#16a34a24;color:#166534;font-size:.78rem;font-weight:800;flex-shrink:0}.dev-otp-hint{border-radius:10px;border:1px dashed rgba(37,99,235,.34);background:#dbeafec7;color:#1d4ed8;padding:.62rem .85rem;font-size:.9rem;font-weight:700;letter-spacing:.02em}.otp-spam-note{margin-top:-.2rem;border-radius:10px;border:1px solid rgba(37,99,235,.2);background:#eff6ffd9;color:#1e3a8a;padding:.6rem .85rem;font-size:.85rem;font-weight:500}.auth-button{margin-top:.25rem;border:1px solid rgba(169,196,249,.2);border-radius:12px;padding:.9rem 1rem;background:linear-gradient(120deg,#1f4eb8,#3f68e3 52%,#6282f2);color:#eef5ff;font-size:.98rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform var(--transition-fast),filter var(--transition-fast),box-shadow var(--transition-normal);box-shadow:0 14px 24px #1b397c3d}.auth-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.auth-button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.auth-button-secondary{background:#f6f9ff;color:#315aaf;border:1px solid #ccdaf3;box-shadow:none}.auth-social-divider{margin:.2rem 0;position:relative;text-align:center;color:#6f84a8;font-size:.85rem}.auth-social-divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #d4e0f3}.auth-social-divider span{position:relative;padding:.1rem .9rem .3rem;background:#f8fbff;border:1px solid #d4e0f3;border-radius:40px;text-align:center}.google-signin-shell{display:flex;flex-direction:column;gap:.35rem}.google-signin-shell--busy{pointer-events:none}.google-signin-button{width:100%;min-height:44px;display:flex;justify-content:center}.google-fallback-button{width:100%;min-height:44px;border-radius:999px;border:1px solid #c8d8f0;background:#f8fbff;color:#274a92;font-weight:700;cursor:pointer}.google-signin-shell .status-note{margin:.1rem 0 0;color:#4c648d;font-size:.9rem}.google-signin-shell .status-note--animated{display:inline-flex;align-items:center;gap:.45rem}.google-signin-shell .status-note-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(59,105,226,.25);border-top-color:#2f5fd6;animation:auth-spinner .8s linear infinite;flex-shrink:0}@keyframes auth-spinner{to{transform:rotate(360deg)}}.auth-checkbox{display:inline-flex;align-items:center;gap:.45rem;color:#3f5f93;font-size:.92rem;-webkit-user-select:none;user-select:none}.auth-checkbox input{width:16px;height:16px}.auth-text-button{border:none;background:transparent;padding:0;color:#2f5fd6;font-weight:600;cursor:pointer}.auth-text-button:hover{color:#2149ac;text-decoration:underline}.auth-actions-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap}.auth-link{margin-top:1.25rem;text-align:center;color:#56709a;font-size:.92rem}.auth-link span{color:#2f5fd6;font-weight:700;cursor:pointer}.auth-link span:hover{color:#2149ac}.password-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:.28rem;margin-top:.5rem}.strength-bar{height:4px;border-radius:999px;background:#d6e1f3;transition:background-color var(--transition-fast)}.strength-bar.active{background:#4f72dd}.strength-bar.weak{background:#ef4444}.strength-bar.medium{background:#f59e0b}.strength-bar.strong{background:#16a34a}.auth-page--login .auth-container:after,.auth-page--register .auth-container:after{content:"";position:absolute;width:170px;height:170px;border-radius:999px;right:-55px;top:-70px;pointer-events:none}.auth-page--login .auth-container:after{background:radial-gradient(circle,rgba(62,109,224,.2) 0%,transparent 70%)}.auth-page--register .auth-container:after{background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%)}@keyframes auth-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes auth-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.45);opacity:.45}}@media (max-width: 768px){.auth-page{padding:1.2rem .85rem}.auth-container{border-radius:18px;padding:1.45rem 1.2rem}.auth-logo{width:54px;height:54px;margin-bottom:.8rem}.auth-container h1{font-size:1.7rem}}.create-profile-page{min-height:100vh;height:100dvh;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;scroll-padding-bottom:calc(7rem + env(safe-area-inset-bottom));padding:1.4rem 1rem calc(5.2rem + env(safe-area-inset-bottom));background:radial-gradient(1200px 520px at 10% -8%,rgba(37,99,235,.24),transparent 68%),radial-gradient(1200px 600px at 92% -10%,rgba(124,58,237,.18),transparent 72%),linear-gradient(180deg,#e8eef9,#f4f7fc 45%,#eef3fb)}.profile-container{width:min(700px,100%);margin:0 auto;border-radius:24px;padding:1.7rem 1.4rem 1.5rem;border:1px solid rgba(165,192,240,.35);box-shadow:0 24px 50px #0d1f4233,inset 0 1px #ffffffbf;background:linear-gradient(145deg,#f5fafff2,#ecf4fff0)}.profile-header{text-align:center}.profile-logo{width:56px;height:56px;margin:0 auto .9rem;position:relative}.profile-logo-ring{width:100%;height:100%;border-radius:999px;border:2px solid rgba(53,109,220,.75);box-shadow:0 0 0 6px #5a87e21f;animation:profile-rotate 8s linear infinite}.profile-logo-pulse{width:11px;height:11px;border-radius:999px;background:#2c60df;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #2c60df85}.profile-header h1{margin:0;color:#0d2347;font-size:clamp(1.85rem,2.4vw,2.35rem);letter-spacing:-.02em}.profile-header p{margin:.55rem 0 0;color:#5a6f96;font-size:.95rem}.progress-shell{margin:1.25rem 0 .95rem}.progress-bar{display:flex;align-items:center;justify-content:center}.progress-step{width:38px;height:38px;border-radius:50%;background:#dbe4f3;color:#5e7396;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all var(--transition-fast)}.progress-step.active{background:linear-gradient(120deg,#1f4eb8,#3f68e3 52%,#6282f2);color:#f1f6ff;box-shadow:0 10px 20px #21428b33}.progress-line{width:78px;height:3px;background:#dbe4f3;transition:background-color var(--transition-fast)}.progress-line.active{background:#5c80e5}.progress-labels{margin-top:.55rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.progress-labels span{text-align:center;font-size:.79rem;color:#7087ab;font-weight:600}.progress-labels .active{color:#234ea8}.profile-form{display:flex;flex-direction:column}.form-step{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(140deg,#ffffffbf,#f3f8ffb3);border:1px solid rgba(185,205,237,.55);border-radius:16px;padding:1rem}.form-step h2{margin:.2rem 0 0;color:#10274b;font-size:1.35rem}.form-group{display:flex;flex-direction:column;gap:.45rem;position:relative}.form-group label{color:#2a4678;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.form-group input,.form-group textarea,.form-group select{width:100%;border-radius:12px;border:1px solid #c8d8f0;background:#f8fbff;padding:.84rem .9rem;color:#12284a;font-size:.96rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.form-group input::placeholder,.form-group textarea::placeholder{color:#8ba1c3}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#5d82e3;box-shadow:0 0 0 3px #5d82e329;background:#fff;transform:translateY(-1px)}.form-group textarea{resize:vertical;min-height:100px}.char-count{font-size:.83rem;color:#7087ab;text-align:right}.photo-preview{margin-top:.4rem}.photo-preview img{width:150px;height:150px;object-fit:cover;border-radius:12px;border:1px solid #c8d8f0;box-shadow:0 8px 20px #102a5a26}.status-note{margin:0;color:#4f6a97;font-size:.87rem}.location-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #c8d8f0;border-radius:12px;box-shadow:0 12px 28px #0d1f4229;max-height:220px;overflow-y:auto;z-index:20}.location-suggestion-item{width:100%;border:none;border-bottom:1px solid #eef4ff;background:transparent;text-align:left;padding:.68rem .85rem;font-size:.93rem;color:#1c355f;cursor:pointer}.username-status-row{min-height:18px}.username-input-wrap{display:flex;align-items:center;border:1px solid #c8d8f0;border-radius:12px;background:#f8fbff;padding:0 .75rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.username-input-wrap:focus-within{border-color:#5d82e3;box-shadow:0 0 0 3px #5d82e329;background:#fff}.username-prefix{color:#1f4eb8;font-size:1rem;font-weight:700;margin-right:.2rem}.username-input-wrap input{border:none;background:transparent;box-shadow:none;padding:.84rem .2rem}.username-input-wrap input:focus{box-shadow:none;border:none;transform:none}.username-checking{font-size:.82rem;color:#5f76a3}.username-available{font-size:.82rem;color:#15803d;font-weight:600}.username-unavailable{font-size:.82rem;color:#b91c1c;font-weight:600}.username-suggestions{display:flex;flex-wrap:wrap;gap:.4rem}.username-suggestion-pill{border:1px solid #c8d8f0;background:#f6f9ff;color:#25457e;border-radius:999px;padding:.33rem .68rem;font-size:.82rem;cursor:pointer}.username-suggestion-pill:hover{background:#eef4ff}.location-suggestion-item:last-child{border-bottom:none}.location-suggestion-item:hover{background:#f1f6ff}.file-input-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-upload-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid #c5d7f5;border-radius:12px;padding:.76rem 1rem;background:linear-gradient(120deg,#f6f9ff,#eef4ff);color:#1f4eb8;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);width:fit-content}.file-upload-trigger:hover{transform:translateY(-1px);box-shadow:0 10px 20px #1f4eb829;filter:brightness(1.01)}.file-upload-trigger svg{width:17px;height:17px}.selected-file-name{margin:0;color:#4f6a97;font-size:.85rem}.input-helper{margin:0;color:#54709b;font-size:.78rem}.button-group{display:flex;gap:.65rem;margin-top:.2rem}.next-button,.submit-button,.back-button{flex:1;border-radius:12px;padding:.88rem 1rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),filter var(--transition-fast),box-shadow var(--transition-normal)}.next-button,.submit-button{border:1px solid rgba(169,196,249,.2);color:#eef5ff;background:linear-gradient(120deg,#1f4eb8,#3f68e3 52%,#6282f2);box-shadow:0 14px 24px #1b397c3d}.next-button:hover,.submit-button:hover:not(:disabled),.back-button:hover{transform:translateY(-1px)}.submit-button:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.back-button{border:1px solid rgba(164,188,231,.5);color:#264375;background:#f4f8ff}.error-message,.info-message{border-radius:10px;padding:.72rem .85rem;font-size:.9rem;font-weight:600;text-align:center}.error-message{border:1px solid rgba(220,38,38,.25);background:#fee2e2bf;color:#b91c1c}.info-message{border:1px solid rgba(34,197,94,.25);background:#dcfce7bf;color:#166534;display:flex;align-items:center;justify-content:center;gap:.45rem}.info-message:before{content:"✓";width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#16a34a24;color:#166534;font-size:.78rem;font-weight:800;flex-shrink:0}@keyframes profile-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.create-profile-page{padding:1rem .85rem calc(5.8rem + env(safe-area-inset-bottom))}.profile-container{border-radius:18px;padding:1.3rem 1rem 1.1rem}.form-step{padding:.85rem;border-radius:14px}.progress-line{width:44px}.button-group{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}::-webkit-scrollbar{display:hidden;width:0}html,body{overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}html{height:auto;min-height:100%;overflow-y:auto}body{height:auto;min-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.message-text{-webkit-user-select:text;user-select:text}@media (max-width: 768px){.chat-pane.mobile-visible{animation:slideInRight .3s cubic-bezier(.25,.8,.25,1) forwards}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}:root{--color-primary: #2563eb;--color-secondary: #7c3aed;--color-accent: #ec4899;--bg-primary: #f4f7fb;--bg-elevated: #ffffff;--text-primary: #0f172a;--text-muted: #475569;--border-subtle: #dbe3ee;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--transition-fast: .15s ease;--transition-normal: .25s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);line-height:1.45}#root{width:100%;min-height:100%;overflow-x:hidden;overflow-y:visible;overscroll-behavior-y:none}html.route-chat-lock,body.route-chat-lock{width:100%;overflow:hidden}h1{font-size:clamp(1.75rem,2.3vw,2.4rem);line-height:1.2}h2{font-size:clamp(1.35rem,1.8vw,1.8rem);line-height:1.25}h3{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.3}h4{font-size:1rem;line-height:1.35}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}
