.floating-lines-container{width:100%;height:100%;position:relative;overflow:hidden}:root{color-scheme:light;--paper: #f4eef8;--paper-2: #eadff3;--ink: #3d2a4a;--mute: #7a6588;--line: #e0d0ea;--lilac: #7c5aa8;--lilac-deep: #5c3d82;--sage: #5c6b58;--sage-soft: #e4eee6;--blush: #c45d7a;--blush-soft: #f6d6e0;--amber: #9a5a78;--amber-soft: #f3dce6;--card: rgba(255, 250, 255, .86);--field: #fff;--shadow: 0 18px 50px rgba(92, 61, 130, .1);--bubble-me: var(--lilac-deep);--bubble-them: #e6d9f0}html.dark{color-scheme:dark;--paper: #1a1222;--paper-2: #2a1c36;--ink: #f2eaf7;--mute: #b59bc8;--line: #4a3560;--lilac: #c9a8e0;--lilac-deep: #7c5aa8;--sage: #9bb396;--sage-soft: #1e2a22;--blush: #e392aa;--blush-soft: #3a2430;--amber: #d4a0b8;--amber-soft: #32202c;--card: rgba(38, 26, 50, .88);--field: #24182f;--shadow: 0 18px 50px rgba(8, 4, 16, .5);--bubble-me: var(--lilac-deep);--bubble-them: #3a2a4c}*{box-sizing:border-box}html,body,#root{min-height:100dvh}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Source Sans 3",Segoe UI,sans-serif;font-size:17px;line-height:1.5;overflow-x:hidden}h1,h2,.wordmark{font-family:Fraunces,Georgia,serif;font-weight:620;letter-spacing:-.02em}a{color:var(--lilac)}button,input,select,textarea{font:inherit}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.scene-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;opacity:.7}.scene-lines .floating-lines-container{mix-blend-mode:multiply}html.dark .scene-lines{opacity:.8}html.dark .scene-lines .floating-lines-container{mix-blend-mode:screen}.shell{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.pair{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.pair .btn{width:auto;white-space:nowrap}.shell-center{min-height:calc(100dvh - 80px);max-width:none;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:760px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left))}.wordmark{font-size:28px;text-decoration:none;color:inherit}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.nav-links a,.ghost{color:var(--mute);text-decoration:none;background:var(--card);border:1px solid var(--line);padding:6px 14px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600}.nav-links a[aria-current=page],.nav-links a:hover,.ghost:hover{color:var(--ink);background:var(--paper-2)}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.kicker{color:var(--mute);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;margin:0 0 8px}.phase{margin:0 0 12px;font-size:clamp(36px,7vw,58px);line-height:1.05}.message{font-size:20px;margin:0 0 18px}.meta{color:var(--mute);margin:0}.pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--blush);margin-right:10px;box-shadow:0 0 #c45d7a99;animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 12px #c45d7a00}}.timeline{list-style:none;padding:0;margin:28px 0 0}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.when{color:var(--mute);font-size:14px}.form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600;font-size:14px}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--field);border-radius:12px;padding:12px 14px;color:var(--ink);font-size:16px}textarea{min-height:110px;resize:vertical}::placeholder{color:var(--mute);opacity:1}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--lilac);outline-offset:2px}.btn{border:0;border-radius:999px;padding:12px 18px;min-height:44px;background:var(--lilac-deep);color:#fbf7fd;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.err{color:var(--blush);margin:0}.ok{color:var(--lilac);margin:0}.auth-hero{width:min(440px,100%);margin:0}.auth-hero h1{font-size:clamp(36px,11vw,48px);margin:0 0 6px}.auth-hero .btn{width:100%}.lede{color:var(--mute);margin:0 0 28px}.toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-weight:600}.toggle input{width:auto;accent-color:var(--lilac)}@media(max-width:560px){.timeline li{grid-template-columns:1fr;gap:4px}.card{padding:22px 18px}.shell:not(.shell-center):not(:has(.chat)){padding-bottom:max(40px,env(safe-area-inset-bottom))}.phase{font-size:clamp(32px,10vw,48px)}.message{font-size:18px}.scene-lines{pointer-events:none}.pair{grid-template-columns:1fr}.pair .btn{width:100%}}.shell:has(.chat){display:flex;flex-direction:column;min-height:calc(100dvh - 88px);padding-bottom:max(10px,env(safe-area-inset-bottom))}.chat{display:flex;flex-direction:column;gap:2px;padding:4px 0 12px;flex:1}.stamp{text-align:center;color:var(--mute);font-size:12px;font-weight:600;margin:18px 0 8px}.chat .row{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.chat .row.me{justify-content:flex-end}.avatar{width:34px;height:34px;flex:none;display:block}.who-row{display:flex;align-items:center;gap:8px}.chat .col{display:flex;flex-direction:column;max-width:min(78%,520px)}.me .col{align-items:flex-end}.sender{font-size:12px;font-weight:600;color:var(--mute);margin:0 12px 3px}.bubble{position:relative;display:grid;gap:4px;padding:8px 13px;border-radius:18px;font-size:17px;line-height:1.35;overflow-wrap:anywhere}.bubble .text{white-space:pre-wrap}.bubble.pic{padding:4px}.bubble.pic .text{padding:4px 9px 5px}.them .bubble{background:var(--bubble-them);color:var(--ink)}.me .bubble{background:var(--bubble-me);color:#fff}.them .bubble{border-bottom-left-radius:4px}.me .bubble{border-bottom-right-radius:4px}.chat .bubble:after{content:"";position:absolute;bottom:0;width:20px;height:20px;background:inherit}.them .bubble:after{left:-6px;clip-path:path("M20 0 L20 20 L0 20 C4 19.5 6.5 17 7.5 13 L8 0 Z")}.me .bubble:after{right:-6px;clip-path:path("M0 0 L0 20 L20 20 C16 19.5 13.5 17 12.5 13 L12 0 Z")}.bubble a{display:block;line-height:0}.bubble .photo{display:block;max-width:100%;max-height:320px;border-radius:14px;object-fit:cover;background:var(--paper-2)}.composer{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:3;margin-top:12px;padding:10px 12px;display:grid;gap:8px}.composer .who{border-radius:999px;padding:8px 14px;font-size:15px}.compose-row{display:flex;align-items:flex-end;gap:8px}.compose-row textarea{min-height:42px;max-height:140px;border-radius:21px;padding:9px 14px;resize:none;field-sizing:content}.icon-btn{width:42px;height:42px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);background:var(--field);color:var(--mute);cursor:pointer}.icon-btn.send{background:var(--bubble-me);color:#fff;border:0}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.attach-strip{display:flex;gap:10px;flex-wrap:wrap;padding:4px 4px 0}.attach-strip span{position:relative}.attach-strip img{width:64px;height:64px;object-fit:cover;border-radius:12px;display:block}.attach-strip button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);font-size:15px;line-height:1;cursor:pointer}.theme-toggle{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.theme-toggle svg{width:18px;height:18px;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-group(root){animation-duration:var(--magicui-theme-toggle-vt-duration, .4s)}html[data-magicui-theme-vt=active]::view-transition-new(root){clip-path:var(--magicui-theme-vt-clip-from)}@media(prefers-reduced-motion:reduce){.pulse{animation:none}}
