:root{--ink:#14152b;--ink-hover:#23254a;--cobalt:#3b4bff;--lime:#d8ff3e;--pink:#ff6fb5;--cloud:#f2f3fa;--tangerine:#ff8a3d;--lavender:#b9a8ff;--coral:#ff4d5e;--coral-tint:#fff0f1;--green:#2e8b57;--muted:#6b6d88;--faint:#8a8ca6;--hair:#e6e8f2;--input-border:#e0e2ee;--track:#eef0f6;--bar-past:#dde0ff;--success-tint:#eefbd0;--t-instant:90ms;--t-fast:.15s;--t-base:.22s;--t-slow:.32s;--t-scene:.45s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ring:0 0 0 3px #fff, 0 0 0 6px #3b4bff;--ring-dark:0 0 0 3px #14152b, 0 0 0 6px #d8ff3e;--e1:0 1px 2px #14152b0f;--e2:0 1px 2px #14152b0f, 0 8px 24px -8px #14152b24;--e3:0 2px 4px #14152b0f, 0 24px 60px -12px #14152b38;--font-display:"Cabinet Grotesk", system-ui, sans-serif;--font-body:"General Sans", system-ui, sans-serif;--chat-bg:radial-gradient(120% 80% at 100% 0%, #e4e7ff, #f7f8fd 55%);--bubble-out:#3b4bff;--bubble-out-ink:#fff;--bubble-in:#fff;--bubble-in-ink:#14152b;--accent:#3b4bff;--accent-ink:#fff}@property --bubble-in{syntax:"<color>";inherits:true;initial-value:#fff}@property --accent{syntax:"<color>";inherits:true;initial-value:#3b4bff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--cloud);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:16px;line-height:1.35;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}img{max-width:100%;display:block}a{color:inherit}::selection{background:#3b4bff33}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800;line-height:1.05}.title{font-family:var(--font-display);letter-spacing:-.01em;font-size:20px;font-weight:800}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.meta{color:var(--muted);font-size:13px;font-weight:500}.tabular{font-variant-numeric:tabular-nums}.noselect{-webkit-user-select:none;user-select:none}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pressable{transition:transform var(--t-instant) var(--ease-out), background-color var(--t-fast) var(--ease-inout), box-shadow var(--t-fast) var(--ease-inout), opacity var(--t-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.pressable:active{transform:scale(.96)}[data-shell=parent] .pressable:active{transform:scale(.98)}.pressable:focus-visible{box-shadow:var(--ring);outline:none}.pressable[disabled]{opacity:.4;pointer-events:none}.btn{white-space:nowrap;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex;position:relative}.btn.sm{border-radius:12px;height:36px;padding:0 14px;font-size:14px}.btn.lg{height:52px;padding:0 22px;font-size:16px}.btn.xl{border-radius:14px;height:56px;padding:0 24px;font-size:16px}.btn.block{width:100%}.btn.primary{background:var(--ink);color:#fff}.btn.accent{background:var(--cobalt);color:#fff}.btn.secondary{box-shadow:inset 0 0 0 1px var(--input-border);background:#fff}.btn.ghost{background:0 0}.btn.danger{background:var(--coral-tint);color:#d12b3c}.btn.white{color:var(--ink);background:#fff}@media (hover:hover){.btn.primary:hover{background:var(--ink-hover)}.btn.accent:hover{background:#4c5bff;box-shadow:0 6px 16px -6px #3b4bff99}.btn.secondary:hover{background:#fafbfe;box-shadow:inset 0 0 0 1px #c9ccdd}.btn.ghost:hover{background:var(--cloud)}.btn.danger:hover{background:#ffe3e6}}.btn .btn-label{transition:opacity var(--t-fast)}.btn.loading .btn-label{opacity:0}.btn .btn-spin{place-items:center;display:grid;position:absolute;inset:0}.icon-btn{border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}@media (hover:hover){.icon-btn:hover{background:#14152b0f}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{border:1px solid var(--input-border);width:100%;height:48px;transition:border-color var(--t-fast), box-shadow var(--t-fast);background:#fff;border-radius:14px;outline:none;padding:0 16px;font-size:16px}.field.lg{height:56px;font-size:17px}@media (hover:hover){.field:hover{border-color:#c9ccdd}}.field:focus{border-color:var(--cobalt);box-shadow:0 0 0 4px #3b4bff2e}.field.invalid{border-color:var(--coral)}.field-error{color:#d12b3c;min-height:20px;transition:opacity var(--t-base);padding-top:6px;font-size:14px}.field-label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.switch{background:var(--input-border);width:44px;height:26px;transition:background var(--t-base);border-radius:999px;flex:none;position:relative}.switch.on{background:var(--cobalt)}.switch.warn.on{background:var(--tangerine)}.switch .thumb{width:20px;height:20px;transition:transform var(--t-base) var(--ease-out), width var(--t-instant);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #14152b40}.switch.on .thumb{transform:translate(18px)}.switch:active .thumb{width:24px}.switch.on:active .thumb{transform:translate(14px)}.stepper{background:var(--cloud);scrollbar-width:none;border-radius:12px;flex-wrap:nowrap;gap:2px;max-width:100%;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.stepper button{height:34px;color:var(--muted);z-index:1;white-space:nowrap;transition:color var(--t-fast);border-radius:9px;padding:0 14px;font-size:14px;font-weight:600;position:relative}.stepper button.on{color:#fff}.stepper .thumb{background:var(--ink);z-index:-1;border-radius:9px;position:absolute;inset:0}.sk{background:#e9ebf4;border-radius:10px;animation:1.4s ease-in-out infinite skpulse}@keyframes skpulse{0%,to{opacity:1}50%{opacity:.6}}.sheet-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);background:#14152b66;position:fixed;inset:0}.sheet-wrap{z-index:41;pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{pointer-events:auto;width:100%;max-height:92dvh;box-shadow:var(--e3);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-radius:28px 28px 0 0;flex-direction:column;display:flex;overflow:hidden}.sheet-grab{background:#d7d9e6;border-radius:3px;flex:none;width:40px;height:5px;margin:10px auto 0}.sheet-body{padding:20px 24px 24px;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 0;display:flex}@media (width>=720px){.sheet-wrap{align-items:center;padding:24px}.sheet{max-width:var(--sheet-w,520px);border-radius:28px}.sheet-grab{display:none}}.toast-wrap{top:max(16px, env(safe-area-inset-top));z-index:80;pointer-events:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.toast{pointer-events:auto;background:var(--ink);color:#fff;box-shadow:var(--e3);border-radius:999px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:12px 18px;font-size:15px;font-weight:600;display:flex}.toast.time{background:var(--lime);color:var(--ink)}.toast.error{background:var(--coral)}.toast button{color:var(--lime);font-weight:700}.toast.time button{color:var(--cobalt)}.avatar{flex:none;position:relative}.avatar .disc{border-radius:50%;position:absolute;inset:0}.avatar.plain{border-radius:50%;overflow:hidden}.avatar.plain img{width:118%;max-width:none;position:absolute;bottom:-4%;left:50%;transform:translate(-50%)}.avatar.popout .clip{border-radius:0 0 999px 999px;height:130%;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.avatar.popout img{width:108%;max-width:none;transition:transform var(--t-fast) var(--ease-out);position:absolute;bottom:-6%;left:50%;transform:translate(-50%)}.avatar img{opacity:0;transition:opacity .2s}.avatar img.loaded{opacity:1}.avatar-stack{display:flex}.avatar-stack>*+*{margin-left:-14px}.avatar-stack .avatar{border-radius:50%;box-shadow:0 0 0 3px #fff}.pin-dots{justify-content:center;gap:18px;display:flex}.pin-dot{width:16px;height:16px;box-shadow:inset 0 0 0 2px var(--ink);transition:background var(--t-fast);border-radius:50%}.pin-dot.on{background:var(--cobalt);box-shadow:inset 0 0 0 2px var(--cobalt)}.pin-dots.error .pin-dot{box-shadow:inset 0 0 0 2px var(--coral)}.pin-dots.error .pin-dot.on{background:var(--coral)}.pin-dots.ok .pin-dot{background:var(--lime);box-shadow:inset 0 0 0 2px var(--ink)}.shake{animation:.42s shake}@keyframes shake{0%,to{transform:translate(0)}16%{transform:translate(-10px)}33%{transform:translate(10px)}50%{transform:translate(-6px)}66%{transform:translate(6px)}83%{transform:translate(-2px)}}.keypad{grid-template-columns:repeat(3,72px);justify-content:center;gap:14px 22px;display:grid}.key{background:var(--cloud);width:72px;height:72px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:28px;font-weight:700;display:grid;position:relative;overflow:hidden}@media (hover:hover){.key:hover{background:#e8eaf6}}.key:active{background:#dde0ff;transform:scale(.92)}.key.blank{pointer-events:none;background:0 0}.key.fn{background:0 0}.keypad.disabled{opacity:.35;pointer-events:none;transition:opacity .15s}.otp{gap:10px;display:flex}.otp-box{border:1px solid var(--input-border);width:56px;height:64px;font-family:var(--font-display);transition:border-color var(--t-fast), background var(--t-fast);background:#fff;border-radius:14px;place-items:center;font-size:28px;font-weight:700;display:grid;position:relative}.otp-box.active{border-color:var(--cobalt);box-shadow:0 0 0 4px #3b4bff1f}.otp-box.active:empty:after{content:"";background:var(--cobalt);width:2px;height:28px;animation:1s step-end infinite caret}@keyframes caret{50%{opacity:0}}.otp.error .otp-box{border-color:var(--coral);background:var(--coral-tint)}.otp.ok .otp-box{background:var(--success-tint);border-color:#b7e62e}.otp.busy .otp-box{opacity:.6}@media (width<=420px){.otp{gap:6px}.otp-box{width:46px;height:56px}}.meter{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.meter>i{background:var(--cobalt);transform-origin:0;height:100%;transition:transform .7s var(--ease-out), background .3s;border-radius:999px;display:block}.meter.warn>i{background:var(--tangerine)}.meter.full>i{background:var(--ink)}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:320px;padding:24px;display:flex}.empty img{object-fit:contain;width:200px;height:200px;margin-bottom:8px}.empty h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:800}.empty p{color:var(--muted);max-width:320px}.top-progress{z-index:5;height:2px;position:absolute;top:0;left:0;right:0;overflow:hidden}.top-progress:after{content:"";background:var(--cobalt);width:30%;height:100%;animation:sweep 1.2s var(--ease-inout) infinite;position:absolute;top:0}@keyframes sweep{0%{left:-30%}to{left:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.msg-area{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.msg-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.msg-col{flex-direction:column;justify-content:flex-end;gap:4px;min-height:100%;padding:20px clamp(12px,3vw,28px) 12px;display:flex}.time-divider{text-align:center;opacity:.9;padding:14px 0 8px}.dark .time-divider{color:#ffffff8c}.row-msg{align-items:flex-end;gap:8px;display:flex}.row-msg.out{justify-content:flex-end}.row-msg.first:not(:first-child){margin-top:8px}.row-msg.has-react{margin-bottom:14px}.row-av{flex:none;width:28px}.bubble-col{flex-direction:column;min-width:0;max-width:62%;display:flex}.row-msg.out .bubble-col{align-items:flex-end}@media (width<=600px){.bubble-col{max-width:78%}}.sender-name{padding:0 6px 4px}.bubble-line{align-items:center;gap:6px;max-width:100%;display:flex}.row-msg.out .bubble-line{flex-direction:row-reverse}.bubble{word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;transition:border-radius var(--t-base) var(--ease-out), transform .4s var(--ease-out), box-shadow var(--t-fast);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:22px;padding:10px 16px;font-size:17px;line-height:1.35;position:relative}.row-msg.in .bubble{background:var(--bubble-in);color:var(--bubble-in-ink);box-shadow:var(--e1)}.row-msg.out .bubble{background:var(--bubble-out);color:var(--bubble-out-ink)}.row-msg.in.last .bubble:not(.bare){border-bottom-left-radius:6px}.row-msg.out.last .bubble:not(.bare){border-bottom-right-radius:6px}.bubble.pressing{transform:scale(.97)}.bubble.bare{padding:0;box-shadow:none!important;background:0 0!important}.bubble.removed{font-size:14px;color:var(--muted)!important;background:0 0!important;box-shadow:inset 0 0 0 1px #14152b1f!important}.dark .bubble.removed{color:#fff9!important;box-shadow:inset 0 0 0 1px #fff3!important}.bubble.failed{opacity:.6;cursor:pointer}.bubble.flagged{box-shadow:0 0 0 2px var(--coral), 0 0 0 6px #ff4d5e26!important}.bubble.highlight{animation:1.2s 2 flagpulse}@keyframes flagpulse{50%{box-shadow:0 0 0 2px var(--coral), 0 0 0 12px #ff4d5e40}}.row-msg.out .bubble.sunset-ink{font-weight:500}.hover-react{width:28px;height:28px;color:var(--faint);opacity:0;border-radius:50%;flex:none;place-items:center;display:grid}@media (hover:hover){.bubble-line:hover .hover-react{opacity:1}.hover-react:hover{background:#14152b0f}}.dark .hover-react{color:#ffffff80}.delivery{text-align:right;min-height:18px;padding:2px 6px 0}.dark .delivery{color:#ffffff8c}.sticker{object-fit:contain;opacity:0;filter:drop-shadow(2.5px 0 #fff)drop-shadow(-2.5px 0 #fff)drop-shadow(0 2.5px #fff)drop-shadow(0 -2.5px #fff)drop-shadow(0 8px 14px #14152b2e);transition:opacity .2s}.sticker.loaded{opacity:1}.sticker-wrap{cursor:default}.photo{cursor:zoom-in;background:#e6e8f2;border-radius:18px;width:min(280px,60vw);position:relative;overflow:hidden}.photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .2s}.photo img.loaded{opacity:1}.photo-progress{background:#14152b40;place-items:center;display:grid;position:absolute;inset:0}.photo-viewer{z-index:70;cursor:zoom-out;background:#0a0a14eb;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-viewer img{border-radius:18px;max-width:100%;max-height:100%}.voice{align-items:center;gap:10px;min-width:200px;display:flex}.voice-play{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.voice-play.out{background:var(--bubble-out-ink);color:var(--bubble-out)}.wave{align-items:center;gap:3px;height:28px;display:flex}.wave i{background:currentColor;border-radius:2px;width:3px;transition:opacity .12s}.voice-time{opacity:.8;font-size:13px}.react-chips{gap:2px;display:flex;position:absolute;bottom:-14px}.row-msg.in .react-chips{left:10px}.row-msg.out .react-chips{right:10px}.react-chip{color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex;box-shadow:0 2px 6px #14152b24}.react-chip.mine{box-shadow:0 0 0 1.5px var(--accent), 0 2px 6px #14152b24}.react-dim{z-index:50;-webkit-backdrop-filter:blur(2px);background:#14152b59;position:fixed;inset:0}.react-bar{z-index:51;box-shadow:var(--e3);background:#fff;border-radius:999px;gap:0;padding:6px 8px;display:flex;position:fixed}.react-opt{width:44px;height:44px;transition:transform .15s var(--ease-pop);border-radius:50%;place-items:center;font-size:30px;line-height:1;display:grid}.react-opt:hover,.react-opt:active{transform:scale(1.35)translateY(-8px)}.react-opt.mine{background:var(--cloud)}.flag-chip{color:#c22b3b;background:var(--coral-tint);border-radius:10px;align-items:flex-start;gap:6px;max-width:360px;margin-top:8px;padding:6px 10px;font-size:13px;font-weight:500;line-height:1.35;display:inline-flex}.flag-chip svg{flex:none;margin-top:1px}.flag-chip.reviewed{color:var(--muted);background:var(--cloud)}.new-pill{z-index:5;width:max-content;color:var(--ink);box-shadow:var(--e2);background:#fff;border-radius:999px;align-items:center;gap:6px;margin:0 auto;padding:8px 14px;font-size:14px;font-weight:600;display:flex;position:absolute;bottom:12px;left:0;right:0}.picker{color:#fff;background:radial-gradient(60% 50% at 20% 10%,oklch(62% .22 270/.9),#0000),radial-gradient(50% 40% at 90% 90%,oklch(90% .2 125/.25),#0000),#3b4bff;flex-direction:column;justify-content:center;align-items:center;gap:48px;padding:32px 24px;display:flex;position:fixed;inset:0;overflow:hidden}.picker-title{text-align:center;font-size:clamp(34px,6vw,44px)}.picker-kids{flex-wrap:wrap;justify-content:center;gap:40px;max-width:900px;display:flex}.picker-kid{color:#fff;border-radius:28px;flex-direction:column;align-items:center;gap:14px;padding:8px;display:flex}.bob{animation:3.2s ease-in-out infinite bob}.picker-kid:focus-visible{box-shadow:var(--ring-dark)}.picker-name{opacity:.85;transition:opacity var(--t-fast);font-size:18px;font-weight:600}@media (hover:hover){.picker-kid:hover .picker-name{opacity:1}.picker-kid:hover .avatar .disc{transform:scale(1.06)}.picker-kid:hover .avatar img{transform:translate(-50%)translateY(-8px)}}.picker-kid .avatar .disc{transition:transform var(--t-fast) var(--ease-out)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.picker-grownups{right:24px;bottom:max(20px, env(safe-area-inset-bottom));color:#fff9;border-radius:12px;padding:8px 12px;font-size:15px;font-weight:600;position:absolute}.picker-grownups:hover{color:#fff;background:#ffffff14}.pin-sheet{align-items:stretch;gap:18px;padding:0 24px 24px;max-width:420px!important;overflow:visible!important}.pin-sheet>*{flex:none}.pin-av{align-self:center;margin-top:-44px}.pin-line{text-align:center;color:#c22b3b;min-height:20px;font-size:15px;font-weight:500}.kid-shell{background:var(--cloud);grid-template-columns:300px 1fr;display:grid;position:fixed;inset:0}@media (width<=899px){.kid-shell{grid-template-columns:1fr}}.kid-shell.dark{color:#f2f3fa;background:#0e0f20}.rail{background:var(--cloud);padding:max(16px, env(safe-area-inset-top)) 12px 12px;border-right:1px solid #14152b0d;flex-direction:column;gap:14px;min-height:0;display:flex}.dark .rail{background:#0e0f20;border-color:#ffffff0f}.rail-me{justify-content:space-between;align-items:center;padding:0 4px 0 6px;display:flex}.rail-me-btn{border-radius:16px;align-items:center;gap:10px;padding:4px;display:flex}.rail-search{height:44px;color:var(--faint);background:#fff;border-radius:14px;align-items:center;gap:8px;margin:0 4px;padding:0 14px;display:flex}.dark .rail-search{background:#1a1b33}.rail-search input{color:inherit;background:0 0;border:0;outline:none;flex:1;font-size:15px}.rail-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.friend-row{text-align:left;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px;display:flex}@media (hover:hover){.friend-row:hover{background:#fff9}.dark .friend-row:hover{background:#1a1b33}}.friend-row.active{box-shadow:var(--e2);background:#fff}.friend-row.active b{color:var(--accent)}.dark .friend-row.active b{color:#fff}.dark .friend-row.active{background:#1a1b33}.friend-row:active{transform:scale(.98)}.friend-text{flex:1;min-width:0}.friend-text b{font-size:16px;font-weight:600;display:block}.friend-text span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.dark .friend-text span{color:#f2f3fa8c}.unread-dot{background:var(--lime);width:12px;height:12px;box-shadow:0 0 0 2px var(--ink);border-radius:50%;flex:none;margin-right:4px}.convo{background:var(--chat-bg);min-width:0;min-height:0;transition:background .3s var(--ease-inout);position:relative;overflow:hidden}.convo-inner{background:var(--chat-bg);flex-direction:column;display:flex;position:absolute;inset:0}.convo-empty{place-items:center;display:grid;position:absolute;inset:0}.convo-head{height:72px;padding:0 20px;padding-top:env(safe-area-inset-top);box-sizing:content-box;-webkit-backdrop-filter:blur(12px);z-index:3;background:#ffffffb3;border-bottom:1px solid #14152b0f;flex:none;align-items:center;gap:12px;display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.convo-head{background:#fffffff2}}.dark .convo-head{background:#14152b99;border-color:#ffffff0f}.bubble-sk{background:var(--bubble-in);opacity:.5;border-radius:22px;height:44px}.new-chat{flex-direction:column;align-items:center;margin:auto 0;display:flex}.openers{gap:12px;display:flex}.opener{border-radius:18px;padding:6px}@media (hover:hover){.opener:hover{background:#fff9}}.dark .new-chat{color:#fff}.composer{min-height:76px;padding:14px 16px;padding-bottom:max(14px, env(safe-area-inset-bottom));z-index:4;flex:none;align-items:flex-end;gap:10px;display:flex;position:relative}.comp-ic{width:44px;height:44px;color:var(--ink);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 1px 2px #14152b14}.dark .comp-ic{color:#f2f3fa;background:#24263f}@media (hover:hover){.comp-ic:hover{background:#f7f8fc}.dark .comp-ic:hover{background:#2d2f4b}}.comp-ic.on{background:var(--ink);color:#fff}.comp-field{min-height:48px;transition:box-shadow var(--t-fast);background:#fff;border-radius:24px;flex:1;align-items:center;padding:0 18px;display:flex;box-shadow:0 1px 2px #14152b14}.comp-field:focus-within{box-shadow:0 0 0 2px var(--accent)}.dark .comp-field{background:#24263f}.comp-field textarea{width:100%;box-shadow:none;resize:none;max-height:114px;color:inherit;background:0 0;border:0;outline:none;padding:12px 0;font-size:17px;line-height:23px}.comp-field textarea::placeholder{color:var(--faint)}.comp-send-slot{flex:none;place-items:center;width:52px;height:52px;margin-bottom:-2px;display:grid}.comp-send{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);box-shadow:0 6px 16px -4px color-mix(in oklab, var(--accent) 60%, transparent);border-radius:50%;place-items:center;display:grid;position:relative}.comp-send:active{transform:scale(.9)}.press-ring{background:conic-gradient(var(--accent) calc(var(--p) * 1turn), transparent 0);border-radius:50%;position:absolute;inset:-5px;-webkit-mask:radial-gradient(circle,#0000 29px,#000 30px);mask:radial-gradient(circle,#0000 29px,#000 30px)}.disabled-comp{justify-content:center;align-items:center}.comp-disabled{color:var(--ink);background:#ffffffb3;border-radius:999px;padding:12px 18px}.fan-dim{z-index:3;position:fixed;inset:0}.fan{z-index:5;width:0;height:0;position:absolute;bottom:40px;right:42px}.fan-opt{width:60px;height:60px;color:var(--ink);box-shadow:var(--e2);background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;top:-30px;left:-30px}.fan-opt span{font-size:10px;font-weight:600}.fan-opt:hover{transform:scale(1.1)}.recorder{touch-action:none;flex:1;align-items:center;gap:12px;height:52px;display:flex}.rec-dot{background:var(--coral);border-radius:50%;flex:none;width:10px;height:10px;margin-left:8px;animation:1s ease-in-out infinite recpulse}@keyframes recpulse{50%{opacity:.3}}.rec-time{min-width:40px;font-weight:600}.rec-time.warn{color:var(--tangerine)}.rec-wave{flex:1;justify-content:flex-end;align-items:center;gap:3px;height:44px;display:flex;overflow:hidden}.rec-wave i{background:var(--accent);border-radius:2px;flex:none;width:3px}.rec-hint{color:var(--muted);white-space:nowrap;font-size:14px;animation:1.2s ease-in-out infinite nudge}.rec-hint.cancel{color:var(--coral);animation:none}@keyframes nudge{50%{margin-right:6px}}.comp-ic.mic.recording{background:var(--coral);color:#fff;width:52px;height:52px;transform:scale(1.25)}.tray{z-index:4;background:#fff;border-radius:24px 24px 0 0;flex-direction:column;flex:none;display:flex;overflow:hidden;box-shadow:0 -8px 24px -12px #14152b33}.dark .tray{background:#1a1b33}.tray-head{justify-content:space-between;align-items:center;padding:12px 16px 4px;display:flex}.tray-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));align-content:start;gap:4px;padding:8px 12px 16px;display:grid;overflow-y:auto}.tray-cell{border-radius:12px;place-items:center;height:88px;display:grid}@media (hover:hover){.tray-cell:hover{background:var(--cloud)}.tray-cell:hover img{transform:scale(1.08)rotate(3deg)}.dark .tray-cell:hover{background:#24263f}}.tray-cell img{transition:transform var(--t-fast) var(--ease-pop)}.tray-cell:active{transform:scale(.9)}.theme-row{scrollbar-width:none;gap:14px;margin:0 -4px;padding:6px 4px 10px;display:flex;overflow-x:auto}.theme-tile{border-radius:20px;flex-direction:column;flex:none;align-items:center;gap:8px;width:120px;font-size:14px;font-weight:600;display:flex;position:relative}.theme-mini{outline-offset:3px;width:120px;height:140px;transition:outline-color var(--t-fast), transform var(--t-fast);border-radius:18px;outline:3px solid #0000;flex-direction:column;justify-content:flex-end;gap:6px;padding:14px 12px;display:flex;box-shadow:inset 0 0 0 1px #14152b0f}.theme-mini i{border-radius:9px;height:18px;display:block}@media (hover:hover){.theme-tile:hover .theme-mini{box-shadow:var(--e2);transform:translateY(-4px)}}.theme-tile.on .theme-mini{outline-color:var(--ink)}.theme-check{background:var(--lime);width:24px;height:24px;color:var(--ink);box-shadow:0 0 0 2px var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.set-row{align-items:center;gap:14px;display:flex}.sleeping{z-index:30;text-align:center;color:#fff;background:linear-gradient(#151845 0%,#2a2a6e 55%,#6e5db8 100%);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.star{background:#fff;border-radius:50%;animation:ease-in-out infinite alternate twinkle;position:absolute}@keyframes twinkle{0%{opacity:.3}to{opacity:1}}.shooting-star{opacity:0;background:linear-gradient(90deg,#0000,#fff);width:80px;height:1px;animation:32s linear 6s infinite shoot;position:absolute;top:12%;left:-10%;transform:rotate(-20deg)}@keyframes shoot{0%{opacity:0;transform:translate(0)rotate(-20deg)}1%{opacity:1}2.2%{opacity:0;transform:translate(70vw,-25vh)rotate(-20deg)}to{opacity:0}}.sleep-art{width:min(320px,64vw);animation:6s ease-in-out infinite bobslow;position:relative}.sleep-art img{aspect-ratio:1;object-fit:contain;cursor:pointer;width:100%;height:auto}@keyframes bobslow{50%{transform:translateY(-10px)}}.z{font-family:var(--font-display);color:var(--lavender);opacity:0;font-weight:800;animation:3s ease-out infinite zfloat;position:absolute;top:14%;right:18%}.z1{font-size:18px}.z2{font-size:24px;animation-delay:1s}.z3{font-size:30px;animation-delay:2s}@keyframes zfloat{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(16px,-40px)}}.sleep-title{margin-top:8px;font-size:clamp(32px,6vw,40px)}.sleep-reason{color:#ffffffbf;max-width:420px;font-size:18px}.sleep-pill{background:#ffffff1f;border:1px solid #fff3;border-radius:999px;margin-top:8px;padding:10px 18px;font-weight:600}.sleep-switch{left:24px;bottom:max(20px, env(safe-area-inset-bottom));color:#fff9;border-radius:12px;padding:8px 12px;font-weight:600;position:absolute}.sleep-switch:hover{color:#fff}@media (prefers-reduced-motion:reduce){.bob,.sleep-art,.star,.z,.shooting-star{animation:none!important}.z{opacity:.6}}[data-theme=sunset] .row-msg.out .bubble{font-weight:500}.dark .empty p{color:#f2f3fa99}.dark .empty h3{color:#f2f3fa}.friend-row:focus-visible,.rail-me-btn:focus-visible,.tray-cell:focus-visible,.theme-tile:focus-visible{box-shadow:var(--ring);outline:none}.dark .friend-row:focus-visible{box-shadow:var(--ring-dark)}.convo-inner{will-change:transform}.link{color:var(--cobalt);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.center-screen{color:var(--faint);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.chip.green{color:var(--green);background:#2e8b571a}.chip.gray{background:var(--cloud);color:var(--muted)}.chip.tangerine{color:#c75b12;background:#ff8a3d1f}.chip.coral{background:var(--coral-tint);color:#c22b3b}.breathe{font-style:normal;animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.5}}.handoff{z-index:90;background:var(--cobalt);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.signin{background:var(--cloud);grid-template-columns:56fr 44fr;display:grid;position:fixed;inset:0;overflow:auto}.signin-photo{border-radius:28px;margin:16px;position:relative;overflow:visible}.signin-photo>img:first-child{object-fit:cover;object-position:30% center;border-radius:28px;width:100%;height:100%}.signin-scrib{object-fit:contain;z-index:2;filter:drop-shadow(0 12px 24px #14152b40);width:180px;height:180px;position:absolute;bottom:32px;right:-60px}.signin-side{justify-content:center;align-items:center;padding:32px;display:flex}.signin-col{gap:18px;width:100%;max-width:400px;display:grid}.signin-h{font-size:clamp(32px,4vw,44px)}.signin-sub{color:var(--muted);font-size:17px;line-height:1.45}.signin-steps{margin-top:8px}@media (width<=860px){.signin{grid-template-rows:38vh auto;grid-template-columns:1fr}.signin-photo{margin:0}.signin-photo>img:first-child{border-radius:0 0 28px 28px}.signin-scrib{width:120px;height:120px;bottom:-40px;right:16px}.signin-side{align-items:flex-start;padding:40px 24px 32px}}.onboard-page{background:var(--cloud);justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.onboard-card{width:100%;max-width:520px;box-shadow:var(--e2);background:#fff;border-radius:28px;padding:32px;position:relative}.sheet .onboard-card{box-shadow:none;border-radius:0;padding:0}.onboard-progress{grid-auto-flow:column;gap:8px;margin-bottom:28px;display:grid}.onboard-progress i{background:var(--track);border-radius:2px;height:4px;overflow:hidden}.onboard-progress b{background:var(--cobalt);transform-origin:0;height:100%;transition:transform .4s var(--ease-out);display:block}.onboard-back{border-radius:10px;align-items:center;gap:2px;padding:6px 8px;display:flex;position:absolute;top:28px;left:20px}.sheet .onboard-back{top:-4px;left:auto;right:0}@media (width<=600px){.onboard-page{padding:0}.onboard-card{border-radius:0;min-height:100%;padding:24px 20px}}.char-picker{gap:18px;display:grid}.char-preview{flex-direction:column;justify-content:flex-end;align-items:center;min-height:190px;display:flex}.char-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.char-cell{aspect-ratio:1;background:var(--cloud);border-radius:18px;place-items:center;display:grid;position:relative}.char-cell .avatar{width:80%!important;height:80%!important}@media (hover:hover){.char-cell:hover .avatar img{transform:translate(-50%)translateY(-4px)}}.char-cell .avatar img{transition:transform var(--t-fast) var(--ease-out)}.char-cell.on{box-shadow:0 0 0 3px var(--cobalt);background:#fff}.char-check{background:var(--cobalt);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-6px;right:-6px}.disc-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.disc-swatch{border-radius:50%;width:36px;height:36px;box-shadow:inset 0 0 0 1px #14152b14}.disc-swatch.on{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--ink)}.p-shell{background:var(--cloud);grid-template-columns:232px 1fr;display:grid;position:fixed;inset:0}.p-side{border-right:1px solid var(--hair);background:#fff;flex-direction:column;min-height:0;padding:20px 12px;display:flex}.p-nav{gap:2px;display:grid}.p-nav-item{height:44px;color:var(--muted);border-radius:12px;align-items:center;gap:12px;width:100%;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;display:flex}@media (hover:hover){.p-nav-item:hover{background:var(--cloud);color:var(--ink)}}.p-nav-item.on{color:var(--cobalt);background:#3b4bff14}.p-badge{background:var(--coral);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-style:normal;display:grid}.p-main{min-width:0;position:relative;overflow-y:auto}.p-tabs{display:none}.p-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.p-page{max-width:1080px;padding:32px}.p-section{box-shadow:var(--e1);background:#fff;border-radius:22px;margin-bottom:16px;padding:20px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-head .meta{margin-top:2px}.back-link{border-radius:10px;align-items:center;gap:2px;margin:-8px 0 12px -6px;padding:6px;display:inline-flex}.list-card{box-shadow:var(--e1);background:#fff;border-radius:22px;overflow:hidden}.list-card.flat{box-shadow:none;border:1px solid var(--hair);border-radius:16px}.list-row{min-height:64px;color:inherit;border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;display:flex}.list-row:last-child{border-bottom:0}a.list-row:hover,.list-row.on{background:#f7f8fc}.list-row b{font-weight:600}@media (width<=899px){.p-shell{grid-template-rows:1fr auto;grid-template-columns:1fr}.p-side{display:none}.p-tabs{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--hair);padding-bottom:env(safe-area-inset-bottom);background:#ffffffeb;grid-template-columns:repeat(5,1fr);display:grid}.p-tab{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.p-tab.on{color:var(--cobalt)}.p-dot{background:var(--coral);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:calc(50% + 8px)}.p-page{padding:20px 16px 32px}}.p-home{grid-template-columns:minmax(0,1fr) 340px;height:100%;display:grid}.p-home-main{min-width:0;padding:32px;overflow-y:auto}.p-feed{border-left:1px solid var(--hair);background:#fff;min-width:0;padding:32px 20px;overflow:hidden auto}.feed-list>*{min-width:0}@media (width<=1199px){.p-home{grid-template-columns:minmax(0,1fr);height:auto}.p-home-main{overflow:visible}.p-feed{border-left:0;border-top:1px solid var(--hair);box-shadow:var(--e1);border:0;border-radius:22px;margin:0 32px 32px}}@media (width<=899px){.p-home-main{padding:20px 16px}.p-feed{margin:0 16px 24px}}.needs{margin-bottom:24px;overflow:hidden}.needs-row{gap:10px;display:grid}@media (width<=899px){.needs-row{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.need-card{scroll-snap-align:start;min-width:88%}}.need-card{box-shadow:var(--e1);background:#fff;border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.need-card b{font-weight:600;display:block}.need-card.flag{background:var(--coral-tint);box-shadow:none}.flag-ic{width:44px;height:44px;color:var(--coral);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.kid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.kid-card{box-shadow:var(--e1);cursor:pointer;text-align:left;transition:box-shadow var(--t-fast), transform var(--t-fast), background .3s;background:#fff;border-radius:22px;gap:18px;padding:20px;display:grid}@media (hover:hover){.kid-card:hover{box-shadow:var(--e2);transform:translateY(-2px)}}.kid-card.is-paused{background:#fff6ee}.kid-card.add{min-height:220px;box-shadow:inset 0 0 0 2px var(--hair);color:var(--muted);background:0 0;align-content:center;place-items:center;gap:10px}.kid-card.add:hover{color:var(--ink);background:#fff}.add-ic{width:52px;height:52px;box-shadow:var(--e1);background:#fff;border-radius:50%;place-items:center;display:grid}.kc-head{align-items:center;gap:14px;display:flex}.status{align-items:center;gap:4px;min-height:20px;margin-top:2px;font-size:14px;font-weight:500;display:flex}.status.s-awake{color:var(--green)}.status.s-sleep{color:var(--muted)}.status.s-paused{color:#c75b12}.week-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:72px;display:grid}.wb{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.wb i{background:var(--bar-past);transform-origin:bottom;border-radius:6px;width:100%;max-width:22px;height:52px;display:block}.wb i.today{background:var(--cobalt)}.wb span{color:var(--faint);font-size:11px;font-weight:600}@media (hover:hover){.wb:hover i{filter:brightness(.95)}}.feed-list{gap:2px;display:grid}.feed-row{color:inherit;border-radius:12px;align-items:center;gap:10px;padding:10px 8px;text-decoration:none;display:flex}.feed-row:hover{background:#f7f8fc}.feed-who{font-size:14px}.feed-what{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.p-feed .empty{min-height:240px}.p-feed .empty img{width:120px;height:120px}.painter{position:relative}.painter-grid{touch-action:none;grid-template-columns:64px 1fr;row-gap:6px;display:grid}.painter-hours{grid-template-columns:repeat(calc(var(--cols) / 2), 1fr);color:var(--faint);padding-bottom:4px;font-size:11px;font-weight:600;display:grid}.painter-row{display:contents}.painter-day{align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.painter-copy{opacity:0;width:24px;height:24px;color:var(--muted);border-radius:6px;place-items:center;display:grid}.painter-day:hover .painter-copy{opacity:1}.painter-copy:hover{background:var(--cloud)}.painter-cells{grid-template-columns:repeat(var(--cols), 1fr);background:var(--cloud);cursor:crosshair;border-radius:8px;height:28px;display:grid;overflow:hidden}.painter-cells i{border-right:1px solid #14152b08;height:100%;display:block}.painter-cells i:nth-child(2n){border-right-color:#14152b12}.painter-cells i.on{background:#3b4bff40;border-right-color:#0000;box-shadow:inset 0 1px #3b4bff99,inset 0 -1px #3b4bff99}.painter-cells i.on.l{border-radius:8px 0 0 8px;box-shadow:inset 1px 1px #3b4bff99,inset 0 -1px #3b4bff99}.painter-cells i.on.r{border-radius:0 8px 8px 0;box-shadow:inset -1px 1px #3b4bff99,inset 0 -1px #3b4bff99}.painter-cells i.on.l.r{border-radius:8px;box-shadow:inset 0 0 0 1px #3b4bff99}.painter-readout{z-index:30;pointer-events:none;background:var(--ink);color:#fff;white-space:nowrap;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:600;position:fixed}.saved{color:var(--green);opacity:0}.saved.show{animation:2s forwards savedfade}@keyframes savedfade{0%{opacity:0}10%,70%{opacity:1}to{opacity:0}}@media (width<=600px){.painter{overflow-x:auto}.painter-grid{min-width:560px}}.family-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.family-card{border:1px solid var(--hair);border-radius:16px;padding:16px}.code-block{background:var(--cloud);border-radius:16px;place-items:center;min-height:96px;display:grid}.code-text{letter-spacing:.2em;padding-left:.2em;font-size:36px}.pick-grid{flex-wrap:wrap;justify-content:center;gap:16px;padding:12px 0;display:flex}.pick-kid{border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex}.pick-kid:hover{background:var(--cloud)}.chats{grid-template-columns:minmax(300px,380px) 1fr;height:100%;display:grid}.chats-list{padding:32px 16px 32px 32px;overflow-y:auto}.chats-view{min-width:0;padding:24px 24px 24px 8px;display:flex}.chats-empty{flex:1;place-items:center;display:grid}.history{box-shadow:var(--e1);background:radial-gradient(120% 80% at 100% 0,#e4e7ff,#f7f8fd 55%);border-radius:24px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.history-head{-webkit-backdrop-filter:blur(8px);background:#fffc;border-bottom:1px solid #14152b0f;align-items:center;gap:12px;padding:14px 20px;display:flex}.history-back{display:none}@media (width<=899px){.chats{grid-template-columns:1fr}.chats-list{padding:20px 16px}.chats.has-open .chats-list,.chats:not(.has-open) .chats-view{display:none}.chats-view{padding:0}.history{border-radius:0}.history-back{display:grid}}.flag-context{background:radial-gradient(120% 80% at 100% 0,#e4e7ff,#f7f8fd 55%);border-radius:18px;flex-direction:column;height:min(46dvh,420px);display:flex;overflow:hidden}.ai-reason{background:#f7f8fc;border-radius:14px;gap:12px;padding:14px 16px;line-height:1.45;display:flex}.ai-reason svg{color:var(--cobalt);flex:none;margin-top:2px}.flag-actions{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=600px){.flag-actions{grid-template-columns:1fr}}.device-ic{background:var(--cloud);width:44px;height:44px;color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.online-dot{background:var(--green);border-radius:50%;width:8px;height:8px;margin-right:4px;animation:2s ease-out infinite online;display:inline-block}@keyframes online{0%{box-shadow:0 0 #2e8b5780}to{box-shadow:0 0 0 6px #2e8b5700}}.settings-links{padding:0;overflow:hidden}.p-nav-item:focus-visible,.list-row:focus-visible,.feed-row:focus-visible,.p-tab:focus-visible,.kid-card:focus-visible{box-shadow:var(--ring);outline:none}.list-row,.feed-row{transition:background var(--t-fast)}.need-card .btn{flex:none}
