:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#fdf6f3;--color-bg-tint:#fbe9e6;--color-bar:#fcf2ef;--color-surface:#fff;--color-surface-2:#fcf0ed;--color-border:#f0dcd7;--color-text:#3d2c33;--color-muted:#8f7a80;--color-accent:#e27d8e;--color-accent-strong:#c95f73;--color-accent-soft:#fadde2;--color-on-accent:#fff;--color-lavender:#b9a6e0;--color-person-1:#e27d8e;--color-person-2:#74aae2;--color-note-rose:#fde4e9;--color-note-peach:#fde8d8;--color-note-butter:#fbf2cf;--color-note-mint:#dcf2e7;--color-note-sky:#dcebfa;--color-note-lilac:#ece4fa;--color-lavender-soft:#ece5fa;--color-peach:#f4b393;--color-peach-soft:#fde6d9;--color-mint:#8fcbb4;--color-mint-soft:#ddf2ea;--color-danger:#d05a5a;--color-danger-soft:#fbe0de;--color-success:#4f9e7f;--color-tile-1:var(--color-accent-strong);--color-tile-2:#8a6fd1;--color-tile-3:var(--color-success);--color-tile-4:var(--color-warning);--color-tile-5:#4f93c9;--color-warning:#d9822b;--color-overlay:#3d2c3359;--color-focus:#e27d8e73;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:999px;--font-sans:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Thai", "Sukhumvit Set", "Leelawadee UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.5rem;--line-height:1.5;--line-height-thai-min:1.45;--shadow-sm:0 1px 2px #8c505a0f, 0 2px 8px #8c505a0d;--shadow-md:0 4px 20px #8c505a1a;--shadow-lg:0 12px 40px #8c505a2e;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--duration-fast:.12s;--duration-md:.22s;--duration-slow:.36s;--touch-target:44px;--content-max:560px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#1c1519;--color-bg-tint:#2a1c23;--color-bar:#211920;--color-surface:#271e23;--color-surface-2:#31262c;--color-border:#3f3138;--color-text:#f6e9ec;--color-muted:#b09ca3;--color-accent:#f09aa9;--color-accent-strong:#f7b3bf;--color-accent-soft:#4a2c36;--color-on-accent:#2a1419;--color-lavender:#c7b6ee;--color-person-1:#f09aa9;--color-person-2:#8fc0ef;--color-note-rose:#3d2630;--color-note-peach:#3d2c24;--color-note-butter:#37311f;--color-note-mint:#203530;--color-note-sky:#1f2d3d;--color-note-lilac:#2e2840;--color-lavender-soft:#342c48;--color-peach:#f6c0a4;--color-peach-soft:#46312a;--color-mint:#9fd6c1;--color-mint-soft:#233a33;--color-danger:#ef8a8a;--color-danger-soft:#4a2828;--color-success:#8fd1b3;--color-tile-2:#a68ee6;--color-tile-3:#5fb596;--color-tile-5:#6daee0;--color-warning:#f2b27a;--color-overlay:#0000008c;--color-focus:#f09aa980;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 20px #00000059;--shadow-lg:0 12px 40px #00000080}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-md:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}:root[data-page-hidden] *,:root[data-page-hidden] :before,:root[data-page-hidden] :after{animation-play-state:paused!important}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--color-bg)}body{min-height:100dvh;font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height);color:var(--color-text);background:radial-gradient(120% 60% at 100% 0%, var(--color-bg-tint) 0%, transparent 60%), radial-gradient(90% 50% at 0% 100%, var(--color-lavender-soft) 0%, transparent 70%), var(--color-bg);overscroll-behavior-y:none;overflow-wrap:break-word;word-break:normal;line-break:auto;background-attachment:fixed;margin:0}h1,h2,h3,p{margin:0}h1{font-size:var(--font-size-2xl);letter-spacing:-.01em;font-weight:700;line-height:1.2}h2{font-size:var(--font-size-lg);font-weight:650;line-height:1.3}:where(h1,h2):lang(th){line-height:var(--line-height-thai-min)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-accent-strong)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100dvh;padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right)}.shell-main{max-width:var(--content-max);padding:var(--space-4) var(--space-4) calc(var(--safe-bottom) + var(--space-8));margin:0 auto}.page{gap:var(--space-4);flex-direction:column;display:flex}::view-transition{background:var(--color-bg)}::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--ease-out);mix-blend-mode:normal}::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--ease-out);mix-blend-mode:normal}:root[data-transition=forward]::view-transition-old(root){animation-name:vt-fade-out,vt-to-start}:root[data-transition=forward]::view-transition-new(root){animation-name:vt-fade-in,vt-from-end}:root[data-transition=back]::view-transition-old(root){z-index:1;animation-name:vt-fade-out,vt-to-end}:root[data-transition=back]::view-transition-new(root){animation-name:vt-fade-in,vt-from-start}:root[data-transition=fade]::view-transition-old(root){animation-duration:.18s}:root[data-transition=fade]::view-transition-new(root){animation-duration:.18s}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-from-end{0%{transform:translate(28%)}}@keyframes vt-to-start{to{transform:translate(-12%)}}@keyframes vt-to-end{to{transform:translate(28%)}}@keyframes vt-from-start{0%{transform:translate(-12%)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1) var(--space-1);display:flex}.page-header p{color:var(--color-muted)}.status-scrim{height:var(--safe-top);z-index:30;background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);pointer-events:none;position:fixed;top:0;left:0;right:0}.nav-btn.btn{--btn-bg:color-mix(in srgb, var(--color-surface) 80%, transparent);--btn-fg:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0}.page-header h1.page-title{font-size:var(--font-size-xl);flex:1;min-width:0}.onboarding{min-height:100dvh;max-width:var(--content-max);padding:calc(var(--safe-top) + var(--space-6)) calc(var(--safe-right) + var(--space-5)) calc(var(--safe-bottom) + var(--space-6)) calc(var(--safe-left) + var(--space-5));gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.app-error{min-height:100dvh;max-width:var(--content-max);padding:calc(var(--safe-top) + var(--space-8)) calc(var(--safe-right) + var(--space-5)) calc(var(--safe-bottom) + var(--space-8)) calc(var(--safe-left) + var(--space-5));text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.app-error-compact{min-height:60dvh;padding:var(--space-8) var(--space-2)}.app-error-icon{background:var(--color-accent-soft);width:72px;height:72px;color:var(--color-accent-strong);margin-bottom:var(--space-1);border-radius:50%;place-items:center;display:grid}.app-error-title{font-size:var(--font-size-xl)}.app-error-body{color:var(--color-muted);max-width:34ch}.app-error-action{margin-top:var(--space-3);width:100%;max-width:280px}.update-pill{top:calc(var(--safe-top) + var(--space-3));z-index:60;align-items:center;gap:var(--space-2);max-width:calc(100vw - var(--space-8));padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);cursor:pointer;animation:update-pill-in var(--duration-md) var(--ease-spring) both;font-weight:600;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.update-pill svg{color:var(--color-accent-strong);flex-shrink:0}@keyframes update-pill-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.route-kept-hidden{visibility:hidden}.route-kept-hidden *,.route-kept-hidden :before,.route-kept-hidden :after{animation-play-state:paused!important}.route-skeleton .page-header{justify-content:flex-start}.splash{place-items:center;min-height:100dvh;display:grid}.page.dash{gap:var(--space-3)}.dash .dash-grid>.card{gap:var(--space-2);padding:var(--space-3) var(--space-4)}.dash .list-row{min-height:48px;padding:var(--space-1) 0}.dash-top{z-index:3;align-items:flex-start;gap:var(--space-2);height:0;margin-bottom:calc(-1 * var(--space-3));padding:0;display:flex;position:relative}.dash-top-settings{width:36px;height:36px;min-height:36px;margin-left:auto;padding:0}.dash-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));display:grid}.dash-grid>.span-2{grid-column:1/-1}.dash-skeleton .card{min-height:132px}.dash-skeleton-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.big-number{font-size:var(--font-size-3xl);letter-spacing:-.02em;color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:750;line-height:1}.big-number-unit{font-size:var(--font-size-sm);color:var(--color-muted);margin-left:var(--space-1);font-weight:600}.muted{color:var(--color-muted);font-size:var(--font-size-sm)}.home-hero{gap:var(--space-2);padding:var(--space-1) var(--space-1) 0;flex-direction:column;display:flex;container:home-hero/inline-size}.home-hero-row{align-items:center;column-gap:var(--space-2);row-gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"me faces partner";display:grid}.home-hero--solo .home-hero-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"faces me"}.home-hero-row>.home-hero-side--end,.home-hero--solo .home-hero-row>.home-hero-side{grid-area:me}.home-hero-row>.home-hero-faces{grid-area:faces}.home-hero-row>.home-hero-side--start{grid-area:partner}.home-hero-faces{isolation:isolate;justify-content:center;padding:12px 10px;display:flex}.home-hero-face{box-shadow:0 0 0 3px var(--hero-ring), var(--shadow-md);border-radius:50%;display:inline-flex;position:relative}.home-hero-face--partner{margin-left:-16px}.home-hero-face .avatar{box-shadow:none;border-width:3px}.home-hero-side{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.home-hero-side--end{text-align:right;align-items:flex-end}.home-hero-side .person-weather,.home-hero-side .weather-now{max-width:100%}.home-hero-side--end .person-weather{align-items:flex-end}.home-hero-side .weather-range{display:none}.home-hero-nameline{align-items:center;gap:5px;min-width:0;max-width:100%;display:inline-flex}.home-hero-side--end .home-hero-nameline{flex-direction:row-reverse}.home-hero-nameline .name-emoji{font-size:1rem}.home-hero-photo{cursor:zoom-in;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-md) var(--ease-out);background:0 0;border:0;border-radius:50%;padding:0;display:inline-flex}.home-hero-photo:active{transform:scale(.95)}.home-hero-photo:focus-visible{box-shadow:0 0 0 4px var(--color-focus);outline:none}.avatar-zoom{z-index:200;padding:max(var(--space-4), var(--safe-top)) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);cursor:zoom-out;animation:avatar-zoom-fade var(--duration-md) var(--ease-out);background:#140c10b8;outline:none;place-items:center;display:grid;position:fixed;inset:0}.avatar-zoom__figure{align-items:center;gap:var(--space-4);animation:avatar-zoom-in .28s var(--ease-spring);flex-direction:column;margin:0;display:flex}.avatar-zoom__photo{aspect-ratio:1;object-fit:cover;width:min(75vw,60vh,420px);box-shadow:var(--shadow-lg);background:var(--color-surface-2);border:4px solid #ffffffe6;border-radius:50%}.avatar-zoom__name{color:#fff;max-width:min(75vw,420px);font-size:var(--font-size-xl);text-shadow:0 1px 8px #00000059;align-items:center;gap:8px;font-weight:700;display:inline-flex}.avatar-zoom__name>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@keyframes avatar-zoom-fade{0%{opacity:0}}@keyframes avatar-zoom-in{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.home-hero-photo{transition:none}.avatar-zoom,.avatar-zoom__figure{animation:none}}.home-hero-name{max-width:100%;font-size:var(--font-size-sm);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.home-hero-clock{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750;line-height:1.15}.home-hero-status{color:var(--color-muted);font-size:var(--font-size-sm);text-align:center;margin:0}.home-hero-status svg{margin-right:var(--space-1);vertical-align:-2px;color:var(--color-accent)}@container home-hero (width<calc(140px + 10rem)){.home-hero-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"faces faces""me partner"}.home-hero--solo .home-hero-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"faces""me"}.home-hero-side,.home-hero-side--end{text-align:center;align-items:center}.home-hero-side--end .person-weather{align-items:center}}@container home-hero (width<11rem){.home-hero-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"faces""me""partner"}.home-hero-side--end .home-hero-nameline{flex-direction:row}}.countdown{align-items:baseline;gap:var(--space-2);display:flex}.meta-row,.settings-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.milestone-row-date{min-width:42px;min-height:42px;padding:2px var(--space-1);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-strong);text-align:center;flex-shrink:0;place-items:center;line-height:1.1;display:grid}.milestone-row-date:lang(th){line-height:var(--line-height-thai-min)}.milestone-row-date strong{font-size:var(--font-size-lg)}.milestone-row-date span{text-transform:uppercase;font-size:.65rem;font-weight:650}.chat-card{align-items:center;gap:var(--space-3);width:100%;min-height:84px;padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-accent) 30%, var(--color-border));border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 0% 0%, var(--color-accent-soft) 0%, transparent 65%), linear-gradient(135deg, var(--color-surface), var(--color-lavender-soft));box-shadow:var(--shadow-md);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out);display:flex}.chat-card:active{transform:scale(.985)}.chat-card-icon{background:var(--color-accent-soft);width:56px;height:56px;color:var(--color-accent-strong);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.chat-card.has-unread .chat-card-icon{background:var(--color-accent);color:var(--color-on-accent)}.chat-card-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-card-bottom{align-items:center;gap:var(--space-2);display:flex}.chat-card-time{font-size:var(--font-size-xs);color:var(--color-muted);flex-shrink:0}.chat-card.has-unread .chat-card-time{color:var(--color-accent-strong);font-weight:650}.chat-card-preview{min-width:0;font-size:var(--font-size-lg);color:var(--color-text);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;line-height:1.3;display:-webkit-box;overflow:hidden}.chat-card-preview:lang(th){line-height:var(--line-height-thai-min)}.chat-card.has-unread .chat-card-preview{color:var(--color-text);font-weight:600}.chat-card-draft{color:var(--color-accent-strong);font-weight:650}.chat-card-badge{border-radius:var(--radius-pill);background:var(--color-accent);min-width:24px;min-height:24px;color:var(--color-on-accent);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;box-shadow:0 2px 8px color-mix(in srgb, var(--color-accent) 45%, transparent);animation:badge-pop var(--duration-md) var(--ease-spring) both;flex-shrink:0;place-items:center;padding:2px 7px;font-weight:750;display:grid}@keyframes badge-pop{0%{opacity:0;transform:scale(.6)}}.gate-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.gate-steps{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gate-steps li{align-items:center;gap:var(--space-3);display:flex}.gate-steps small{font-size:var(--font-size-sm);color:var(--color-muted);display:block}.gate-step-icon{border-radius:var(--radius-sm);background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-accent-strong);flex-shrink:0;place-items:center;display:grid}.gate-note{color:var(--color-muted);text-align:center}.gate-done{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-accent-strong);font-weight:650;display:flex}.onboarding-hero{text-align:center;align-items:center;gap:var(--space-3);padding-top:var(--space-10);flex-direction:column;display:flex}.onboarding-logo{width:104px;height:104px;box-shadow:var(--shadow-md);border-radius:30px;animation:5s ease-in-out infinite float}.onboarding-hero h1{font-size:var(--font-size-3xl)}.onboarding-hero p{color:var(--color-muted);max-width:30ch}.onboarding-actions{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.onboarding-step{gap:var(--space-4);animation:page-in var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex}.onboarding-step form{gap:var(--space-4);flex-direction:column;display:flex}.form-error{color:var(--color-danger);font-size:var(--font-size-sm);padding-left:var(--space-1)}@keyframes float{50%{transform:translateY(-6px)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.onboarding-logo{animation:none}}.card:empty{display:none}.profile-head{align-items:center;gap:var(--space-3);display:flex}.avatar-picker{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;position:relative}.avatar-picker:active{transform:scale(.96)}.avatar-picker-badge{background:var(--color-accent);width:24px;height:24px;color:var(--color-surface);border:2px solid var(--color-surface);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.sheet-actions{gap:var(--space-2);padding-top:var(--space-2);justify-content:space-between;display:flex}.activity-banner{z-index:40;top:calc(var(--safe-top) + var(--space-3));width:min(calc(100% - 2 * var(--space-4)), var(--content-max));align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);animation:activity-drop var(--duration-slow) var(--ease-spring) both;display:flex;position:fixed;left:50%;transform:translate(-50%)}.activity-banner-icon{color:var(--color-accent);place-items:center;display:grid}.activity-banner-text{min-width:0;font-size:var(--font-size-sm);flex:1;font-weight:600}@keyframes activity-drop{0%{opacity:0;transform:translate(-50%,-12px)}}@media (prefers-reduced-motion:reduce){.activity-banner{animation:none}}.call-screen__halo,.call-incoming__halo{border-radius:50%;place-items:center;display:grid;position:relative}.call-screen__halo:before,.call-incoming__halo:before{content:"";background:var(--color-accent-soft);opacity:.8;z-index:-1;border-radius:50%;position:absolute;inset:-14px}.is-pulsing:before{animation:call-pulse 1.8s var(--ease-out) infinite}.call-pill{min-height:var(--touch-target);padding:0 var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font:inherit;cursor:pointer;font-weight:600}.call-pill--primary{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.call-ctl{align-items:center;gap:var(--space-2);color:var(--call-fg,var(--color-text));font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.call-ctl__icon{background:color-mix(in srgb, var(--color-surface) 78%, transparent);width:64px;height:64px;color:var(--color-text);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast);border-radius:50%;place-items:center;display:grid}.call-ctl:active .call-ctl__icon{transform:scale(.92)}.call-ctl:focus-visible .call-ctl__icon,.call-corner-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.call-ctl.is-active .call-ctl__icon{background:var(--color-text);color:var(--color-bg)}.call-ctl--danger .call-ctl__icon{background:var(--color-danger);color:#fff}.call-ctl--accept .call-ctl__icon{background:var(--color-success);color:#fff;animation:call-nudge 1.6s var(--ease-out) infinite}.call-ctl__label{font-size:var(--font-size-xs);color:var(--call-soft,var(--color-muted));font-weight:600}.call-incoming{z-index:2000;padding:var(--space-4) var(--space-4) calc(var(--safe-bottom) + var(--space-4));background:var(--color-overlay);animation:call-in var(--duration-md) var(--ease-out);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.call-incoming__card{width:100%;max-width:420px;padding:var(--space-8) var(--space-5) var(--space-6);border-radius:var(--radius-xl);background:radial-gradient(120% 80% at 50% 0%, var(--color-accent-soft), transparent 70%), var(--color-surface);box-shadow:var(--shadow-lg);animation:call-rise var(--duration-slow) var(--ease-spring);flex-direction:column;align-items:center;display:flex}.call-incoming__name{margin:var(--space-5) 0 0;font-size:var(--font-size-xl)}.call-incoming__kind{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;color:var(--color-muted);display:flex}.call-incoming__error{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);font-size:var(--font-size-sm);text-align:center}.call-incoming__actions{width:100%;margin-top:var(--space-6);justify-content:space-around;display:flex}.call-buttons{gap:var(--space-2);flex:none;display:inline-flex}.call-buttons__btn{border:1px solid var(--color-border);background:var(--chat-bubble-theirs,var(--color-surface));width:40px;height:40px;color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;display:grid}.call-buttons__btn:active{transform:scale(.94)}.call-buttons__btn:disabled{opacity:.45}.call-buttons__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.call-bubble{align-items:center;gap:var(--space-3);min-width:190px;display:flex}.call-bubble__icon{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.call-bubble.is-missed .call-bubble__icon{background:var(--color-danger-soft);color:var(--color-danger)}.call-bubble__text{flex-direction:column;flex:1;min-width:0;display:flex}.call-bubble__label{font-weight:600}.call-bubble.is-missed .call-bubble__label{color:var(--color-danger)}.call-bubble__sub{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);opacity:.75;font-variant-numeric:tabular-nums;display:flex}.call-bubble__back{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:inherit;font:inherit;font-size:var(--font-size-xs);cursor:pointer;opacity:.85;background:0 0;border:1px solid;flex:none;font-weight:600}.call-time{justify-content:center;align-items:center;gap:var(--space-1) var(--space-2);padding:0 var(--space-2);text-align:center;font-size:var(--font-size-sm);color:var(--color-muted);flex-wrap:wrap;margin:0;display:flex}.call-time-icon{color:var(--color-accent);display:inline-flex}.call-time-main{color:var(--color-text);font-weight:600}.call-time-sub{color:var(--color-muted);flex-basis:100%}@media (prefers-reduced-motion:reduce){.is-pulsing:before,.call-ctl--accept .call-ctl__icon,.call-bar,.call-bar__dot.is-live,.call-screen.is-minimised .call-screen__remote{animation:none}}@keyframes call-in{0%{opacity:0}}@keyframes call-rise{0%{opacity:0;transform:translateY(40px)}}@keyframes call-pulse{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}@keyframes call-nudge{0%,70%,to{transform:none}80%{transform:rotate(-10deg)}90%{transform:rotate(10deg)}}.call-fallback{z-index:2000;justify-content:center;align-items:center;gap:var(--space-3);padding:calc(var(--safe-top) + var(--space-8)) var(--space-4) calc(var(--safe-bottom) + var(--space-8));background:radial-gradient(120% 70% at 50% 0%, var(--color-accent-soft), transparent 70%), var(--color-bg);color:var(--color-text);text-align:center;flex-direction:column;display:flex;position:fixed;inset:0}.call-fallback__name{font-size:var(--font-size-2xl);margin:0;font-weight:700}.call-fallback__status{color:var(--color-muted);margin:0}.call-fallback__note{margin:0 0 var(--space-4);max-width:320px;color:var(--color-muted);font-size:var(--font-size-sm)}.call-fallback__actions{gap:var(--space-6);display:flex}.nudge-row{padding:var(--space-1) var(--space-2);position:relative}.nudge-bar{align-items:center;column-gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);row-gap:2px;display:grid}.nudge-heart{background:radial-gradient(circle at 35% 30%, var(--color-accent), var(--color-accent-strong));color:#fff;width:48px;height:48px;box-shadow:0 4px 14px color-mix(in srgb, var(--color-accent) 40%, transparent);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-out);border:0;border-radius:50%;place-items:center;display:grid;position:relative}.nudge-heart:before{content:"";border-radius:50%;position:absolute;inset:-4px}.nudge-heart:active{transform:scale(.9)}.nudge-heart:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.nudge-heart-glyph{place-items:center;animation:2.4s ease-in-out infinite nudge-beat;display:grid}.nudge-heart-glyph.is-beat{animation:nudge-beat-once .7s var(--ease-out)}.nudge-burst{pointer-events:none;position:absolute;inset:0}.nudge-burst span{opacity:0;animation:nudge-pop .9s var(--ease-out) forwards;font-size:16px;position:absolute;top:20%;left:50%}.nudge-burst span:first-child{--x:-26px}.nudge-burst span:nth-child(2){--x:0px;animation-delay:80ms}.nudge-burst span:nth-child(3){--x:26px;animation-delay:.16s}.nudge-caption{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--font-size-xs);color:var(--color-muted);animation:nudge-label-in .36s var(--ease-out);padding-block:var(--space-1);margin-block:calc(var(--space-1) * -1);grid-column:1/-1;justify-self:center;font-weight:600;line-height:1.3;overflow:hidden}.nudge-caption.is-received{color:var(--color-accent-strong)}.nudge-side{min-width:0;min-height:var(--touch-target);padding:0 var(--space-1);border-radius:var(--radius-pill);color:var(--color-text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:0;align-items:center;display:flex}.nudge-side:active{background:color-mix(in srgb, var(--color-accent-soft) 70%, transparent)}.nudge-side:focus-visible,.nudge-menu-close:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.nudge-side-inner{flex:1;align-items:center;min-width:0;padding:4px 0;display:flex;overflow:hidden}.nudge-side.is-packed .nudge-side-inner{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 14px),#0000)}.nudge-side.is-theirs,.nudge-side.is-theirs .nudge-side-inner{flex-direction:row-reverse}.nudge-side.is-theirs.is-packed .nudge-side-inner{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 14px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 14px),#0000)}.nudge-side .nudge-side-photo{border-color:var(--color-bg);flex:none}.nudge-side.is-mine .nudge-side-photo{margin-right:6px}.nudge-side.is-theirs .nudge-side-photo{margin-left:6px}.nudge-side.is-quiet .nudge-side-photo{opacity:.45}.nudge-item{flex:none;place-items:center;width:28px;height:28px;font-size:20px;line-height:1;display:grid;position:relative}.nudge-side.is-mine .nudge-item+.nudge-item{margin-left:var(--nudge-spacing,2px)}.nudge-side.is-theirs .nudge-item+.nudge-item{margin-right:var(--nudge-spacing,2px)}.nudge-item.is-empty{border:1.5px dotted color-mix(in srgb, var(--color-muted) 55%, transparent);border-radius:50%}.nudge-item-badge{z-index:1;border-radius:var(--radius-pill);background:var(--nudge-dot);min-width:14px;height:14px;box-shadow:0 0 0 1.5px var(--color-bg);color:#fff;font-variant-numeric:tabular-nums;place-items:center;padding:0 3px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-3px;right:-4px}.nudge-item.is-pop{animation:nudge-count-pop .52s var(--ease-spring)}.nudge-floaters{pointer-events:none;position:absolute;inset:0}.nudge-floaters span{opacity:0;font-size:14px;line-height:1;animation:1.6s cubic-bezier(.3,.6,.4,1) forwards nudge-float-up;position:absolute;bottom:40%}.nudge-floaters span:first-child{--x:-6px;left:calc(50% - 40px)}.nudge-floaters span:nth-child(2){--x:8px;font-size:18px;animation-delay:.12s;left:calc(50% - 12px)}.nudge-floaters span:nth-child(3){--x:-4px;animation-delay:.24s;left:calc(50% + 20px)}.nudge-floaters span:nth-child(4){--x:6px;font-size:16px;animation-delay:80ms;left:calc(50% + 44px)}.nudge-floaters span:nth-child(5){--x:-8px;animation-delay:.3s;left:calc(50% - 64px)}.nudge-menu-backdrop{z-index:40;position:fixed;inset:0}.nudge-menu{top:calc(100% - var(--space-1));z-index:41;gap:var(--space-2);width:min(320px, calc(100% - var(--space-6)));padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);transform-origin:top;animation:nudge-menu-in var(--duration-md) var(--ease-spring) both;grid-template-columns:1fr 1fr;display:grid;position:absolute;left:50%;translate:-50%}.nudge-menu-close{min-height:var(--touch-target);border-radius:var(--radius-md);color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;grid-column:1/-1;font-weight:600}.nudge-menu-item{text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border:0;font-weight:600;overflow:hidden}.nudge-menu-item:active,.nudge-menu-item[aria-checked=true]{background:var(--color-accent-soft)}.nudge-overlay{z-index:90;pointer-events:none;position:fixed;inset:0;overflow:hidden}.nudge-overlay-burst{position:absolute;inset:0}.nudge-glow{background:radial-gradient(80% 70% at 50% 100%, color-mix(in srgb, var(--color-accent) 30%, transparent), transparent 70%);height:55%;animation:3.4s ease-out both nudge-fade;position:absolute;inset:auto 0 0}.nudge-float{opacity:0;will-change:transform, opacity;line-height:1;animation-name:nudge-rise;animation-timing-function:cubic-bezier(.3,.6,.4,1);animation-fill-mode:forwards;position:absolute;bottom:-48px}.nudge-still{display:none}@media (prefers-reduced-motion:reduce){.nudge-burst,.nudge-float,.nudge-floaters{display:none}.nudge-heart-glyph,.nudge-heart-glyph.is-beat,.nudge-item.is-pop,.nudge-caption,.nudge-menu{animation:none}.nudge-still{font-size:72px;animation:3.4s ease-out both nudge-fade;display:block;position:absolute;top:42%;left:50%;translate:-50% -50%}}@keyframes nudge-beat{0%,60%,to{transform:scale(1)}10%,30%{transform:scale(1.14)}20%{transform:scale(1)}}@keyframes nudge-beat-once{0%,to{transform:scale(1)}25%{transform:scale(1.35)}50%{transform:scale(.95)}70%{transform:scale(1.15)}}@keyframes nudge-pop{0%{opacity:0;transform:translate(-50%)scale(.4)}30%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)), -46px) scale(1.1)}}@keyframes nudge-label-in{0%{opacity:0}}@keyframes nudge-count-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes nudge-float-up{0%{opacity:0;transform:translate(0)scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(var(--x), -56px) scale(1.1)}}@keyframes nudge-menu-in{0%{opacity:0;transform:scale(.9)translateY(-6px)}}@keyframes nudge-rise{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1}50%{transform:translate(var(--drift), -45vh) scale(1) rotate(-8deg)}to{opacity:0;transform:translate(calc(var(--drift) * -.5), -90vh) scale(1.1) rotate(8deg)}}@keyframes nudge-fade{0%{opacity:0}20%,70%{opacity:1}to{opacity:0}}:root{--accent-rose-bg:#f8c9d4;--accent-peach-bg:#fbd6be;--accent-lavender-bg:#ddd2f7;--accent-sky-bg:#c9e1f8;--accent-mint-bg:#c4e9d8;--accent-sand-bg:#ecdcbd;--accent-coral-bg:#fbc5ba;--accent-plum-bg:#e6c6e0;--accent-rose-dot:#e27d8e;--accent-peach-dot:#ee9f73;--accent-lavender-dot:#a58fdc;--accent-sky-dot:#74aae2;--accent-mint-dot:#6fbf9d;--accent-sand-dot:#c7a96f;--accent-coral-dot:#ec8470;--accent-plum-dot:#b27aa8;--accent-text:#3a2830;--accent-sub:#5f4a52;--accent-tick:#0b3fa0}@media (prefers-color-scheme:dark){:root{--accent-rose-bg:#6e3447;--accent-peach-bg:#6e4533;--accent-lavender-bg:#4b3e70;--accent-sky-bg:#2e4d6c;--accent-mint-bg:#2c5646;--accent-sand-bg:#5c4c30;--accent-coral-bg:#743b34;--accent-plum-bg:#5e3459;--accent-rose-dot:#f09aa9;--accent-peach-dot:#f6b48f;--accent-lavender-dot:#bba6ef;--accent-sky-dot:#8fc0ef;--accent-mint-dot:#8fd3b6;--accent-sand-dot:#dcc08a;--accent-coral-dot:#f59a86;--accent-plum-dot:#cf94c5;--accent-text:#fdf2f5;--accent-sub:#e8d3da;--accent-tick:#9cc8ff}}.name-emoji{flex:none;font-size:1.1em;font-weight:400;line-height:1}.timer-stack{justify-content:center;align-self:center;align-items:center;gap:var(--space-1);max-width:calc(100% - var(--space-8));flex:none;display:flex}.timer-stack.is-expanded{flex-direction:column}.timer-stack__more{min-width:36px;height:36px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 88%, transparent);box-shadow:var(--shadow-sm);color:var(--color-accent-strong);font:inherit;font-size:var(--font-size-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent;flex:none;place-items:center;font-weight:600;display:grid}.timer-stack.is-expanded .timer-stack__more{height:28px}.timer-stack__less{transform:rotate(180deg)}.timer-pill{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;min-height:36px;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 88%, transparent);box-shadow:var(--shadow-sm);color:var(--color-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:timer-pill-in var(--duration-md) var(--ease-spring);display:inline-flex}.timer-pill__ring{flex:none}.timer-pill__track,.timer-pill__progress{fill:none;stroke-width:3px}.timer-pill__track{stroke:var(--color-accent-soft)}.timer-pill.is-stopwatch .timer-pill__track{stroke:var(--color-lavender-soft)}.timer-pill.is-stopwatch .timer-pill__progress{stroke:var(--color-lavender);transition:none}.timer-pill__progress{stroke:var(--color-accent);stroke-linecap:round;transition:stroke-dasharray 1s linear}.timer-pill__time{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}.timer-pill__label{min-width:0;padding-block:var(--space-1);margin-block:calc(-1 * var(--space-1));color:var(--color-muted);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timer-pill__end{width:28px;height:28px;color:var(--color-muted);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}.timer-pill__end:after{content:"";position:absolute;inset:-8px}.timer-pill__end:active{background:var(--color-accent-soft)}.timer-confirm{justify-content:flex-end;gap:var(--space-2);display:flex}@keyframes timer-pill-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}}@media (prefers-reduced-motion:reduce){.timer-pill{animation:none}.timer-pill__progress{transition:none}}.buzz-stack{justify-content:center;align-self:center;gap:var(--space-1);max-width:calc(100% - var(--space-8));flex-wrap:wrap;flex:none;display:flex}.buzz-pill{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;min-height:36px;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 88%, transparent);box-shadow:var(--shadow-sm);color:var(--color-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--duration-md) var(--ease-out), box-shadow var(--duration-md) var(--ease-out);display:inline-flex}.buzz-pill:has(.buzz-pill__end){padding-right:var(--space-1)}.buzz-pill__icon{color:var(--color-accent-strong);flex:none}.buzz-pill__text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.buzz-pill__label{min-width:0;color:var(--color-muted);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.buzz-pill__state{align-items:center;gap:var(--space-1);color:var(--color-muted);font-size:var(--font-size-xs);font-weight:600;display:inline-flex}.buzz-pill__dot{background:var(--color-muted);border-radius:50%;width:7px;height:7px}.buzz-pill__state.is-on{color:var(--color-success)}.buzz-pill__state.is-on .buzz-pill__dot{background:var(--color-success)}.buzz-pill.is-idle .buzz-pill__icon{color:var(--color-muted)}.buzz-pill.is-buzzing{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft), var(--shadow-sm)}.buzz-pill.is-buzzing .buzz-pill__icon{animation:.16s linear infinite buzz-wiggle}@keyframes buzz-wiggle{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}.buzz-pill__end{width:28px;height:28px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}.buzz-pill__end:after{content:"";position:absolute;inset:-8px}.buzz-pill__end:active{background:var(--color-accent-soft)}.buzz-confirm{justify-content:flex-end;gap:var(--space-2);display:flex}@media (prefers-reduced-motion:reduce){.buzz-pill.is-buzzing .buzz-pill__icon{animation:none}}.chat-msg:not(.chat-msg--grouped){margin-top:6px}.chat-msg--grouped{margin-top:-2px}.chat-msg--has-reactions+.chat-msg--grouped{margin-top:4px}.chat-msg--mine.chat-msg--continues .chat-msg__bubble{border-bottom-right-radius:var(--radius-lg)}.chat-msg--theirs.chat-msg--continues .chat-msg__bubble{border-bottom-left-radius:var(--radius-lg)}.chat-msg--mine.chat-msg--grouped .chat-msg__bubble{border-top-right-radius:8px}.chat-msg--theirs.chat-msg--grouped .chat-msg__bubble{border-top-left-radius:8px}.chat-msg__bubble--nometa{padding-bottom:8px}.chat-msg__bubble--bare.chat-msg__bubble--nometa{padding-bottom:0}.chat-msg__star{color:#e9a800;display:inline-flex}.chat-msg--mine .chat-msg__star{color:inherit}.chat-msg__star svg{display:block}.chat__more-btn{border:1px solid var(--color-border);background:var(--chat-bubble-theirs);width:40px;height:40px;color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;flex:none;place-items:center;margin-right:-4px;padding:0;display:grid;position:relative}.chat__more-btn:active{transform:scale(.94)}.chat__more-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat__more-btn:before{content:"";position:absolute;inset:-4px}.chat__more-btn.has-filter:after{content:"";background:var(--color-accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--chat-bubble-theirs);border-radius:50%;position:absolute;top:3px;right:3px}.chat-more__scrim{z-index:30;position:fixed;inset:0}.chat-more{z-index:31;background:var(--chat-bubble-theirs);min-width:220px;max-width:calc(100vw - 16px);color:var(--color-text);transform-origin:100% 0;border-radius:16px;padding:6px 0;animation:.14s ease-out chat-pop;position:fixed;box-shadow:0 8px 28px #0003}.chat-more__heading{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);padding:6px 16px 2px;font-size:.72rem;font-weight:600}.chat-more__item{width:100%;min-height:44px;color:inherit;font:inherit;text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:12px;padding:0 16px 0 12px;font-size:.95rem;display:flex}.chat-more__item:active,.chat-more__item:focus-visible{background:color-mix(in srgb, var(--color-muted) 14%, transparent);outline:none}.chat-more__item[aria-checked=true]{font-weight:600}.chat-more__icon{width:22px;color:var(--color-muted);flex:none;place-items:center;display:grid}.chat-more__item[aria-checked=true] .chat-more__icon{color:var(--color-accent-strong)}.chat-more__label{flex:1}.chat-more__separator{background:color-mix(in srgb, var(--color-muted) 18%, transparent);height:1px;margin:6px 0}.chat__filter-chip-row{display:flex}.chat__filter-chip{background:color-mix(in srgb, var(--color-accent) 16%, transparent);height:26px;color:var(--color-text);border-radius:999px;align-items:center;gap:6px;padding:0 2px 0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.chat__filter-chip--whatsapp{background:color-mix(in srgb, var(--chat-whatsapp) 18%, transparent)}.chat__filter-chip-clear{background:color-mix(in srgb, var(--color-muted) 18%, transparent);width:22px;height:22px;color:var(--color-text);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.chat__filter-chip-clear:after{content:"";position:absolute;inset:-11px}.chat__filter-chip-clear:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.chat-starred{flex-direction:column;gap:10px;display:flex}.chat-starred__status{color:var(--color-muted);text-align:center;place-items:center;margin:0;padding:24px 0;display:grid}.chat-starred__row{border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);align-items:flex-start;gap:6px;padding:12px 6px 12px 14px;display:flex}.chat-starred__open{min-width:0;color:var(--color-text);font:inherit;text-align:start;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;padding:0;display:flex}.chat-starred__head{color:var(--color-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.75rem;display:flex}.chat-starred__who{color:var(--color-accent-strong);font-weight:650}.chat-starred__who--mine{color:var(--color-text)}.chat-starred__body{overflow-wrap:anywhere;white-space:pre-wrap;-webkit-line-clamp:6;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.chat-starred__media{color:var(--color-muted);font-style:italic}.chat-starred__unstar{color:#e9a800;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;margin-top:-8px;display:grid}.chat-menu{z-index:11;flex-direction:column;gap:6px;animation:.14s ease-out chat-pop;display:flex;position:absolute;bottom:calc(100% + 6px)}.chat-msg--mine .chat-menu{align-items:flex-end;right:0}.chat-msg--theirs .chat-menu{align-items:flex-start;left:0}.chat-menu--below{flex-direction:column-reverse;top:calc(100% + 6px);bottom:auto}.chat-menu__quick,.chat-menu__actions{background:var(--chat-bubble-theirs);color:var(--color-text);box-shadow:0 6px 24px #0000002e}.chat-menu__quick{border-radius:999px;gap:2px;padding:4px;display:flex}.chat-menu__quick button{-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;place-items:center;width:1.75em;height:1.75em;padding:0;font-size:1.5rem;display:grid}.chat-menu__quick button.is-active{background:color-mix(in srgb, var(--color-accent) 25%, transparent)}.chat-menu__quick .chat-menu__more{color:var(--color-muted);background:color-mix(in srgb, var(--color-muted) 14%, transparent)}.chat-menu__actions{border-radius:16px;flex-direction:column;min-width:200px;display:flex;overflow:hidden}.chat-menu__action{min-height:46px;color:inherit;font:inherit;text-align:start;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:12px;padding:0 16px;font-size:.95rem;display:flex}.chat-menu__action+.chat-menu__action{border-top:1px solid color-mix(in srgb, var(--color-muted) 18%, transparent)}.chat-menu__action:active{background:color-mix(in srgb, var(--color-muted) 12%, transparent)}.chat-menu__action--danger{color:var(--color-danger)}.chat-menu__icon{width:20px;color:var(--color-muted);place-items:center;display:grid}.chat-menu__action--danger .chat-menu__icon{color:inherit}@media (prefers-reduced-motion:reduce){.chat-menu,.chat-more{animation:none}}.chat-msg__once{color:inherit;font:inherit;text-align:start;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px 2px;font-size:.9rem;display:inline-flex}.chat-msg__once:disabled{cursor:default}.chat-msg__once-label{font-weight:600}.chat-msg__once-state{opacity:.75}.chat-msg__once-state:before{content:"·";margin-inline-end:6px}.chat-msg__once.is-openable .chat-msg__once-state{text-underline-offset:2px;text-decoration:underline}.chat-msg__once.is-viewed{opacity:.6}.chat-msg__once.is-openable:active{opacity:.7}.chat-msg__bubble--video{padding:4px 4px 6px}.chat-msg__bubble--video .tr-roman,.chat-msg__bubble--video .chat-msg__text,.chat-msg__bubble--video .chat-msg__meta{padding:0 8px}.chat-msg__video{aspect-ratio:4/5;border-radius:calc(var(--radius-lg) - 4px);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1c1418;border:0;width:min(240px,64vw);padding:0;display:block;position:relative;overflow:hidden}.chat-msg__video :is(img,video){object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.chat-msg__video:active:not(:disabled){transform:scale(.985)}.chat-msg__video:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-msg__video-play{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000006b;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1.5px #ffffff8c,0 4px 16px #00000040}.chat-msg__video-play svg{width:26px;height:26px;margin-left:3px}.chat-msg__video-time{font-variant-numeric:tabular-nums;background:#00000080;border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:600;line-height:1.4;position:absolute;bottom:8px;left:8px}@media (prefers-reduced-motion:reduce){.chat-msg__video:active:not(:disabled){transform:none}}.chat-attach{flex-direction:column;gap:8px;display:flex}.chat-attach__option{background:color-mix(in srgb, var(--color-muted) 12%, transparent);width:100%;min-height:52px;color:var(--color-text);font:inherit;text-align:start;-webkit-tap-highlight-color:transparent;border:0;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;font-size:.95rem;display:flex}.chat-attach__option:active{transform:scale(.99)}.chat-attach__icon{background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent-strong);border-radius:50%;flex:none;place-items:center;display:grid}@media (prefers-reduced-motion:reduce){.chat-attach__option:active{transform:none}}:is(.chat-msg__bubble--video:has(.chat-album) .chat-msg__text,.chat-msg__bubble--video:has(.chat-album) .tr-roman,.chat-msg__bubble--video:has(.chat-album) .chat-msg__meta){padding:0 8px}.chat-album{border-radius:calc(var(--radius-lg) - 4px);grid-template-columns:1fr 1fr;gap:2px;width:min(260px,68vw);display:grid;overflow:hidden}.chat-album__tile{aspect-ratio:1;background:color-mix(in srgb, currentcolor 12%, transparent);color:inherit;cursor:zoom-in;border:0;padding:0;display:block;position:relative;overflow:hidden}.chat-album[data-count="2"] .chat-album__tile{aspect-ratio:3/4}.chat-album[data-count="3"] .chat-album__tile:first-child{aspect-ratio:2/1.2;grid-column:1/-1}.chat-album__tile img,.chat-album__tile video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.chat-album__tile:disabled{cursor:default}.chat-album__tile.is-queued img,.chat-album__tile.is-queued video,.chat-album__tile.is-failed img,.chat-album__tile.is-failed video{opacity:.55}.chat-album__tile.is-failed{cursor:pointer}.chat-album__tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.chat-album__play{color:#fff;font-variant-numeric:tabular-nums;background:#00000080;border-radius:999px;align-items:center;gap:3px;padding:2px 7px 2px 5px;font-size:.66rem;font-weight:600;display:inline-flex;position:absolute;bottom:6px;left:6px}.chat-album__play svg{width:12px;height:12px}.chat-album__more{color:#fff;background:#1e141980;place-items:center;font-size:1.5rem;font-weight:600;display:grid;position:absolute;inset:0}.upload-ring{background:color-mix(in srgb, var(--color-overlay) 60%, transparent);pointer-events:none;transition:opacity var(--duration-slow) var(--ease-out);place-items:center;display:grid;position:absolute;inset:0}.upload-ring__disc{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 82%, transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;display:grid}.upload-ring svg{display:block;overflow:visible}.upload-ring__track{stroke:var(--color-accent-soft)}.upload-ring__arc{stroke:var(--color-accent);transition:stroke-dashoffset var(--duration-md) var(--ease-out)}.upload-ring__glyph{stroke:var(--color-accent-strong)}.upload-ring--spin svg{animation:1s linear infinite upload-ring-spin}.upload-ring--done .upload-ring__glyph{stroke:var(--color-success)}.upload-ring--done{animation:upload-ring-done var(--duration-slow) var(--ease-out) .48s both}.upload-ring--failed .upload-ring__disc{background:var(--color-danger)}.upload-ring--failed .upload-ring__glyph{stroke:var(--color-on-accent)}.upload-ring--queued .upload-ring__glyph{stroke:var(--color-muted)}.upload-ring--compact{background:0 0;display:inline-grid;position:static;inset:auto}.upload-ring--compact .upload-ring__disc{width:auto;height:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.upload-ring--compact .upload-ring__track{stroke:color-mix(in srgb, currentcolor 25%, transparent)}.upload-ring--compact .upload-ring__arc{stroke:currentColor}@media (prefers-reduced-motion:reduce){.upload-ring--spin svg,.upload-ring--done{animation:none}.upload-ring__arc{transition:none}}@keyframes upload-ring-spin{to{transform:rotate(360deg)}}@keyframes upload-ring-done{to{opacity:0}}.chat-skeleton{gap:var(--space-2);padding:var(--space-3) 0;flex-direction:column;display:flex}.chat-skeleton__row{justify-content:flex-start;display:flex}.chat-skeleton__row--mine{justify-content:flex-end}.chat-skeleton__bubble.skeleton{border-radius:20px 20px 20px 6px}.chat-skeleton__row--mine .chat-skeleton__bubble.skeleton{border-radius:20px 20px 6px}.chat-note{justify-content:center;margin:8px 16px;display:flex}.chat-note__pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-bg) 80%, var(--color-surface));max-width:100%;min-height:28px;color:var(--color-muted);font:inherit;text-align:center;border:0;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;line-height:1.35;display:inline-flex}button.chat-note__pill{cursor:pointer}button.chat-note__pill:active{transform:scale(.97)}.chat-note__emoji{flex:none;font-size:.9rem}.chat-note__text{overflow-wrap:anywhere;min-width:0}.chat-preview{--chat-bubble-mine:var(--color-accent);--chat-bubble-mine-text:var(--color-on-accent);--chat-bubble-theirs:var(--color-surface);--chat-gap:var(--space-2);max-height:60vh;margin-top:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:4px;display:flex;overflow-y:auto}.chat-preview__group{margin-top:var(--space-3)}.chat-preview__heading{margin:0 0 var(--space-2);font-size:var(--font-size-sm)}.chat-note--hearts{position:relative}.chat-note__hearts{pointer-events:none;position:absolute;inset:0}.chat-note__heart{opacity:0;font-size:.8rem;position:absolute;bottom:4px;left:50%}.chat-note__heart.is-0{--x:-60px}.chat-note__heart.is-1{--x:-28px;animation-delay:.15s}.chat-note__heart.is-2{--x:4px;animation-delay:.3s}.chat-note__heart.is-3{--x:34px;animation-delay:.45s}.chat-note__heart.is-4{--x:62px;animation-delay:.6s}@media (prefers-reduced-motion:no-preference){.chat-note__hearts.is-playing .chat-note__heart{animation-name:chat-note-heart;animation-duration:1.6s;animation-timing-function:var(--ease-out);animation-fill-mode:both}}@media (prefers-reduced-motion:reduce){.chat-note__heart.is-0,.chat-note__heart.is-4{opacity:.8;transform:translate(var(--x), -2px)}}@keyframes chat-note-heart{0%{transform:translate(var(--x), 0) scale(.6);opacity:0}25%{opacity:1}to{transform:translate(var(--x), -40px) scale(1.1);opacity:0}}@media (prefers-reduced-motion:no-preference){.chat-note__emoji.is-popping{animation:chat-note-pop .52s var(--ease-spring) both;display:inline-block}}@keyframes chat-note-pop{0%{transform:scale(0)}70%{transform:scale(1.35)}to{transform:scale(1)}}.mem-play{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#00000061;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mem-play svg{width:22px;height:22px;margin-left:3px}.mem-play--sm{width:32px;height:32px}.mem-play--sm svg{width:15px;height:15px;margin-left:2px}.mem-duration{border-radius:var(--radius-pill);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#00000080;padding:1px 6px;font-size:.68rem;font-weight:600;position:absolute;bottom:6px;left:6px}.mem-strip,.mem-chat-note{--polaroid-frame:#fffdf8;--polaroid-ink:#8a7479;--polaroid-shadow:0 1px 2px #7846501a, 0 6px 14px #7846501f;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}@media (prefers-color-scheme:dark){.mem-strip,.mem-chat-note{--polaroid-frame:#dfd2c8;--polaroid-ink:#6f5a5f;--polaroid-shadow:0 1px 2px #00000059, 0 6px 16px #0006}}.mem-strip__title{font:inherit;margin:0}.mem-strip__head{padding:var(--space-1) var(--space-1);color:var(--color-muted);font:inherit;font-size:var(--font-size-sm);letter-spacing:.01em;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;font-weight:600;display:inline-flex}.mem-strip__head:active{color:var(--color-text)}.mem-strip__row{--strip-overlap:12px;margin:0 calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4) var(--space-4);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-4);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:0;list-style:none;display:flex;overflow-x:auto;container-type:inline-size}.mem-strip__row::-webkit-scrollbar{display:none}.mem-strip__row>*{scroll-snap-align:start;flex:none;position:relative}.mem-strip__row>*+*{margin-inline-start:calc(-1 * var(--strip-overlap))}.mem-strip__row>:active{z-index:1}.mem-polaroid{--tilt:-2deg;gap:var(--space-2);width:calc((100cqi - var(--space-4) + 3 * var(--strip-overlap,12px)) / 3.5);background:var(--polaroid-frame);box-shadow:var(--polaroid-shadow);color:var(--polaroid-ink);font:inherit;text-align:center;cursor:pointer;transform:rotate(var(--tilt));transition:transform var(--duration-md) var(--ease-out);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:0;border-radius:3px;flex-direction:column;padding:6px 6px 9px;display:flex;position:relative}.mem-strip__row>:nth-child(2n) .mem-polaroid,.mem-strip__row>.mem-polaroid:nth-child(2n){--tilt:1.6deg}.mem-polaroid:active{transform:rotate(0)scale(.97)}.mem-polaroid__photo{aspect-ratio:1;background:color-mix(in srgb, var(--polaroid-ink) 14%, var(--polaroid-frame));border-radius:1px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.mem-polaroid__photo :is(img,video){object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-slow) var(--ease-out);display:block}.mem-polaroid__photo .is-loaded{opacity:1}.mem-polaroid__caption{min-height:1.3em;font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;padding-block:var(--space-1);margin-block:calc(var(--space-1) * -1);line-height:1.3;display:block;overflow:hidden}.mem-polaroid__badge{background:color-mix(in srgb, var(--polaroid-frame) 88%, transparent);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:grid;position:absolute;top:2px;right:2px;box-shadow:0 1px 3px #0000001f}.mem-polaroid--blank{width:148px}.mem-polaroid--blank .mem-polaroid__photo{background:linear-gradient(160deg, color-mix(in srgb, var(--color-accent) 16%, var(--polaroid-frame)), color-mix(in srgb, var(--color-lavender) 18%, var(--polaroid-frame)));color:var(--color-accent)}.mem-polaroid--blank .mem-polaroid__caption{white-space:normal;font-size:var(--font-size-xs)}.mem-polaroid--skeleton{cursor:default;opacity:.6}.mem-polaroid--skeleton .mem-polaroid__photo{border-radius:1px}.mem-polaroid--skeleton .mem-polaroid__caption{width:60%;height:.9em;min-height:0;margin:2px auto 0}.mem-peek{z-index:70;align-content:center;place-items:center;gap:var(--space-3);padding:max(var(--space-5), var(--safe-top)) var(--space-4) max(var(--space-5), env(safe-area-inset-bottom));pointer-events:none;animation:mem-peek-in .16s var(--ease-out);background:#140c10d1;display:grid;position:fixed;inset:0}.mem-peek__media{object-fit:contain;max-width:100%;max-height:78dvh;animation:mem-peek-grow .2s var(--ease-out);border-radius:14px;box-shadow:0 12px 40px #00000073}.mem-peek__date{color:#ffffffd9;font-size:var(--font-size-sm);font-weight:600}@media (prefers-reduced-motion:reduce){.mem-peek,.mem-peek__media{animation:none}}@keyframes mem-peek-in{0%{opacity:0}}@keyframes mem-peek-grow{0%{transform:scale(.92)}}.mem-chat-note{align-items:center;margin:12px 0}.mem-chat-note__polaroid{width:168px}.chat-search{align-items:center;gap:var(--space-2);margin:0 calc(var(--space-4) + env(safe-area-inset-right,0px)) 0 calc(var(--space-4) + env(safe-area-inset-left,0px));padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border);animation:chat-search-in var(--duration-md) var(--ease-out);flex:none;display:flex}@keyframes chat-search-in{0%{opacity:0;transform:translateY(-6px)}}.chat-search__icon{color:var(--color-muted);flex:none;place-items:center;display:grid}.chat-search__input{min-width:0;min-height:40px;color:var(--color-text);font:inherit;font-size:var(--font-size-md);background:0 0;border:0;outline:none;flex:1}.chat-search__input::-webkit-search-cancel-button{display:none}.chat-search__close{width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-right:-6px;display:grid}.chat-search__panel{overscroll-behavior:contain;min-height:0;padding:var(--space-3) calc(var(--space-4) + var(--safe-left)) calc(var(--space-6) + var(--safe-bottom)) calc(var(--space-4) + var(--safe-right));background:var(--color-bg);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-search__status{padding:var(--space-6) 0;text-align:center;color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.chat-search__hit{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:start;font:inherit;cursor:pointer;flex-direction:column;gap:2px;display:flex}.chat-search__hit:active{background:var(--color-surface-2)}.chat-search__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-muted);display:flex}.chat-search__who{color:var(--color-lavender);font-weight:650}.chat-search__who--mine{color:var(--color-accent-strong)}.chat-search__snippet{font-size:var(--font-size-sm);line-height:var(--line-height)}.chat-search__mark{border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-strong);padding:0 2px;font-weight:650}.chat-search__note{font-size:var(--font-size-xs);color:var(--color-muted)}.chat{--chat-bubble-mine:var(--color-accent);--chat-bubble-mine-text:var(--color-on-accent);--chat-bubble-theirs:var(--color-surface);--chat-gap:var(--space-2);--chat-whatsapp:#25d366;--chat-whatsapp-text:#053d1c;--chat-tick-read:#0b3fa0;left:0;right:0;top:var(--chat-top,0px);height:var(--chat-vh,100dvh);background:var(--color-bg);color:var(--color-text);overscroll-behavior:none;flex-direction:column;display:flex;position:fixed}@media (prefers-color-scheme:dark){.chat{--chat-tick-read:#1f5fd6}.chat-msg__bubble--bare .chat-ticks--read{color:#53bdeb}}.chat__header{padding:calc(var(--safe-top) + 10px) calc(var(--space-4) + env(safe-area-inset-right,0px)) 10px calc(var(--space-4) + env(safe-area-inset-left,0px));background:var(--color-bar);border-bottom:1px solid color-mix(in srgb, var(--color-muted) 20%, transparent);flex-direction:column;flex:none;gap:6px;display:flex}.chat__bar{align-items:center;gap:var(--space-3);display:flex}.chat-wa-dot{background:var(--chat-whatsapp);border-radius:50%;flex:none;width:8px;height:8px}.chat__home{border:1px solid var(--color-border);background:var(--chat-bubble-theirs);width:40px;height:40px;color:var(--color-text);border-radius:50%;flex:none;place-items:center;margin-left:-4px;text-decoration:none;display:grid;position:relative}.chat__home:after{content:"";position:absolute;inset:-4px}.chat__home:active{transform:scale(.94)}.chat__avatar{box-shadow:none;border-width:0;flex:none}.chat__heading{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.chat__heading:lang(th){line-height:var(--line-height-thai-min)}.chat__title{white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:1.05rem;font-weight:600;display:flex}.chat__title-name{text-overflow:ellipsis;min-width:0;padding-block:var(--space-1);margin-block:calc(var(--space-1) * -1);overflow:hidden}.chat__title-btn{color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0}.chat__scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding:var(--chat-gap) calc(var(--space-4) * .75 + env(safe-area-inset-right,0px)) var(--space-4) calc(var(--space-4) * .75 + env(safe-area-inset-left,0px));flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.chat__sentinel{flex:none;height:40px}.chat__notice,.chat__empty{text-align:center;color:var(--color-muted);padding:var(--space-4);font-size:.85rem}.chat__empty{margin:auto 0}.chat__link{color:var(--color-accent);font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.chat__day{pointer-events:none;justify-content:center;margin:12px 0 6px;display:flex}.chat__day span,.chat__day-now span{color:var(--color-muted);background:color-mix(in srgb, var(--color-bg) 80%, var(--chat-bubble-theirs));border-radius:var(--radius-pill);padding:3px 10px;font-size:.72rem}.chat__top{z-index:6;padding:var(--chat-gap) 0 0;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;inset:0}.chat__top>*{pointer-events:auto}.chat__day-now{pointer-events:none;flex:none;align-self:center}.chat-msg{content-visibility:auto;contain-intrinsic-size:auto 72px;flex-direction:column;max-width:min(80%,34rem);margin-top:2px;display:flex;position:relative}.chat-msg--free,.chat-msg--flash{content-visibility:visible}.chat-msg--mine{align-self:flex-end;align-items:flex-end}.chat-msg--theirs{align-self:flex-start;align-items:flex-start}.chat-msg__bubble{border-radius:var(--radius-lg);background:var(--chat-bubble-theirs);color:var(--color-text);overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;padding:8px 12px 6px;box-shadow:0 1px 2px #0000000f}.chat-msg__text{-webkit-user-select:text;user-select:text;white-space:pre-wrap;line-height:1.35}.chat-msg--mine .chat-msg__bubble{background:var(--bubble-mine,var(--chat-bubble-mine));color:var(--bubble-mine-text,var(--chat-bubble-mine-text));border-bottom-right-radius:6px}.chat-msg--theirs .chat-msg__bubble{background:var(--bubble-theirs,var(--chat-bubble-theirs));color:var(--bubble-theirs-text,var(--color-text));border-bottom-left-radius:6px}.chat-msg--mine .chat-msg__bubble .tr-sub{color:var(--bubble-mine-sub,var(--color-muted))}.chat-msg--theirs .chat-msg__bubble .tr-sub,.chat-msg--theirs .chat-msg__bubble .tr-roman{color:var(--bubble-theirs-sub,var(--color-muted))}.chat-msg--mine .chat-msg__bubble:not(.chat-msg__bubble--bare) .chat-ticks--read{color:var(--bubble-mine-tick,var(--chat-tick-read))}.chat-msg__bubble--image{padding:4px 4px 6px}.chat-msg__bubble--image .tr-roman,.chat-msg__bubble--image .chat-msg__text,.chat-msg__bubble--image .chat-msg__meta{padding:0 8px}.chat-msg__bubble--bare,.chat-msg--mine .chat-msg__bubble--bare,.chat-msg--theirs .chat-msg__bubble--bare{box-shadow:none;color:var(--color-muted);background:0 0;padding:0}.chat-msg__bubble--failed{opacity:.75}.chat-msg__bubble--emoji{border-radius:0;flex-direction:column;align-items:flex-start;display:flex}.chat-msg--mine .chat-msg__bubble--emoji{align-items:flex-end}.chat-msg__bubble--emoji .chat-msg__text{color:var(--color-text);letter-spacing:.04em;line-height:1.15}.chat-msg__bubble--emoji .tr-main{line-height:inherit}.chat-msg__bubble--emoji-xl .chat-msg__text{font-size:3.4rem}.chat-msg__bubble--emoji-lg .chat-msg__text{font-size:2.6rem}.chat-msg__bubble--emoji-md .chat-msg__text{font-size:1.9rem}.chat-msg__bubble--emoji .chat-quote{margin:2px 0}.chat-msg__bubble--emoji .chat-msg__meta{margin-top:0}.chat-msg--emoji .chat-msg__reactions{margin-top:2px}.chat-msg__image{border-radius:calc(var(--radius-lg) - 4px);cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.chat-msg__image img{object-fit:cover;max-width:100%;max-height:320px;display:block}.chat-msg__sticker{object-fit:contain;width:140px;height:140px;display:block}.chat-msg__placeholder{opacity:.8;font-style:italic}.chat-msg__meta{opacity:.75;justify-content:flex-end;align-items:center;gap:6px;margin-top:3px;font-size:.68rem;display:flex}.chat-msg__edited{font-style:italic}.chat-msg__source{color:var(--chat-whatsapp);display:inline-flex}.chat-msg__state--failed{color:#d9534f;opacity:1;font-weight:600}.chat-msg--mine .chat-msg__state--failed{color:inherit}.chat-ticks{flex:none;width:17px;height:11px;margin-left:-2px;display:inline-flex}.chat-ticks svg{width:100%;height:100%;display:block}.chat-ticks--sending{width:12px}.chat-ticks--read{color:var(--chat-tick-read);transition:color .24s}.chat-msg__deleted{opacity:.7;align-items:center;gap:6px;font-style:italic;display:inline-flex}.chat-msg__deleted svg{flex:none;width:14px;height:14px}.chat-delete{flex-direction:column;gap:10px;padding-bottom:8px;display:flex}.chat-delete .chat-delete__everyone{--btn-bg:#d9534f}.chat-delete__hint,.chat-delete__error{text-align:center;color:var(--color-muted);margin:0;font-size:.85rem}.chat-delete__error{color:#d9534f}.chat-msg__retry{color:#d9534f;font:inherit;background:0 0;border:0;margin-top:4px;padding:2px 4px;font-size:.78rem}.chat-msg__retry-row{gap:6px;display:flex}.chat-msg__retry--remove{color:var(--color-muted)}.chat-msg__reactions{z-index:1;gap:2px;margin-top:-6px;display:flex}.chat-msg__reaction{border:2px solid var(--color-bg);background:var(--chat-bubble-theirs);border-radius:999px;padding:0 6px;font-size:.9rem;line-height:1.5}.chat-msg__reaction--mine{cursor:pointer}.chat-msg__scrim{z-index:10;position:fixed;inset:0}@keyframes chat-pop{0%{opacity:0;transform:scale(.85)}}.chat-composer{z-index:2;padding:8px calc(var(--space-4) * .75 + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(var(--space-4) * .75 + env(safe-area-inset-left,0px));background:var(--color-bar);border-top:1px solid color-mix(in srgb, var(--color-muted) 20%, transparent);flex:none;position:relative}.chat[data-keyboard=open] .chat-composer{padding-bottom:8px}.chat-composer__row{align-items:flex-end;gap:6px;display:flex}.chat-composer__input{resize:none;min-width:0;font:inherit;border:1px solid color-mix(in srgb, var(--color-muted) 35%, transparent);background:var(--chat-bubble-theirs);color:var(--color-text);border-radius:22px;outline:none;flex:1;padding:9px 14px;font-size:16px;line-height:1.35}.chat-composer__input:focus{border-color:var(--color-accent)}.chat-composer__icon,.chat-composer__send{width:40px;height:40px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chat-composer__send{background:var(--color-accent);color:var(--color-on-accent)}.chat-composer__send:disabled{opacity:.4}.chat-composer__preview.is-on{color:var(--color-accent-strong);background:var(--color-accent-soft)}.chat-viewer{--viewer-fade:1;z-index:50;color:#fff;overscroll-behavior:contain;background-color:#000000f7;outline:none;animation:.15s ease-out chat-fade;position:fixed;inset:0}.chat-viewer__stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:zoom-in;position:absolute;inset:0;overflow:hidden}.chat-viewer.is-zoomed .chat-viewer__stage{cursor:grab}.chat-viewer__track{will-change:transform;position:absolute;inset:0}.chat-viewer__slot{padding:var(--safe-top) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background-position:50%;background-repeat:no-repeat;background-size:contain;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chat-viewer__slot img{object-fit:contain;transform-origin:50%;will-change:transform;pointer-events:none;-webkit-user-drag:none;max-width:100%;max-height:100%;display:block}.chat-viewer__bar{padding:calc(var(--safe-top) + 8px) calc(env(safe-area-inset-right,0px) + 8px) 28px calc(env(safe-area-inset-left,0px) + 16px);opacity:var(--viewer-fade);background:linear-gradient(#0000008c,#0000);align-items:center;gap:8px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0;right:0}.chat-viewer__counter{font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0006;flex:1;font-size:.9rem;font-weight:600}.chat-viewer__btn,.chat-viewer__nav{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.chat-viewer__btn svg{width:22px;height:22px}.chat-viewer__btn:disabled{opacity:.5}.chat-viewer__btn:focus-visible,.chat-viewer__nav:focus-visible{outline-offset:2px;outline:2px solid #fff}.chat-viewer__nav{transition:opacity .2s;display:none;position:absolute;top:50%;transform:translateY(-50%)}.chat-viewer__nav--prev{left:calc(env(safe-area-inset-left,0px) + 12px)}.chat-viewer__nav--next{right:calc(env(safe-area-inset-right,0px) + 12px)}@media (hover:hover) and (pointer:fine){.chat-viewer__nav{display:grid}}.chat-viewer__caption{max-height:40dvh;padding:40px calc(env(safe-area-inset-right,0px) + 20px) calc(env(safe-area-inset-bottom,0px) + 20px) calc(env(safe-area-inset-left,0px) + 20px);text-shadow:0 1px 2px #00000059;opacity:var(--viewer-fade);background:linear-gradient(#0000,#000000b3 45%);font-size:1rem;line-height:1.4;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.chat-viewer__caption .tr-text,.chat-viewer__clip-caption .tr-text{max-width:40rem;margin:0 auto;display:flex}.chat-viewer__caption .tr-sub,.chat-viewer__clip-caption .tr-sub{color:#ffffffc7}.chat-viewer__album{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#ffffff2e;border-radius:999px;flex:none;padding:3px 10px;font-size:.8rem;font-weight:600}.chat-viewer.is-clip .chat-viewer__stage{cursor:default}.chat-viewer__slot--clip{padding:calc(var(--safe-top) + 64px) env(safe-area-inset-right,0px) calc(env(safe-area-inset-bottom,0px) + 8px) env(safe-area-inset-left,0px);flex-direction:column}.chat-viewer__video{object-fit:contain;background:#000;flex:1;width:100%;min-height:0;display:block}.chat-viewer__clip-caption{width:100%;max-height:25dvh;opacity:var(--viewer-fade);flex:none;padding:12px 20px 8px;font-size:1rem;line-height:1.4;overflow-y:auto}.chat-viewer.is-bare .chat-viewer__bar,.chat-viewer.is-bare .chat-viewer__caption,.chat-viewer.is-bare .chat-viewer__nav{opacity:0;pointer-events:none}@keyframes chat-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.chat-viewer{animation:none}.chat-viewer__bar,.chat-viewer__caption,.chat-viewer__nav{transition:none}}.chat__scroll{overflow-x:hidden}.chat-msg__bubble{z-index:1;touch-action:pan-y;position:relative}.chat-msg__bubble,.chat-msg__reactions,.chat-msg__retry{transform:translateX(var(--swipe-dx,0px));transition:transform .2s cubic-bezier(.2,.9,.3,1.2)}.chat-msg--swiping .chat-msg__bubble,.chat-msg--swiping .chat-msg__reactions,.chat-msg--swiping .chat-msg__retry{transition:none}.chat-msg__swipe-icon{width:32px;height:32px;color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 16%, transparent);opacity:var(--swipe-progress,0);transform:scale(calc(.6 + var(--swipe-progress,0) * .4));pointer-events:none;border-radius:50%;place-items:center;margin-top:-16px;display:grid;position:absolute;top:50%;left:4px}.chat-msg--mine .chat-msg__swipe-icon{left:auto;right:calc(100% - 36px)}.chat-msg--flash .chat-msg__bubble{animation:1.5s ease-out chat-flash}@keyframes chat-flash{0%,35%{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 55%, transparent), 0 1px 2px #0000000f}}.chat-msg__heart-pop{z-index:2;pointer-events:none;filter:drop-shadow(0 4px 10px #e27d9a73);font-size:2.6rem;line-height:1;animation:.85s cubic-bezier(.2,.9,.3,1.3) forwards chat-heart-pop;position:absolute;top:50%;left:50%}@keyframes chat-heart-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}55%{opacity:1;transform:translate(-50%,-50%)scale(.95)}to{opacity:0;transform:translate(-50%,-110%)scale(1)}}.chat-quote{border:0;border-left:3px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:1px;margin:2px 0 6px;padding:5px 10px 6px;display:flex}div.chat-quote{cursor:default}.chat-quote--on-mine{background:#fff3;border-left-color:#ffffffbf}.chat-msg__bubble--image .chat-quote{width:auto;margin:6px 8px}.chat-quote__name{color:var(--color-accent);font-size:.72rem;font-weight:600}.chat-quote--on-mine .chat-quote__name{color:inherit;opacity:.9}.chat-quote__text,.chat-quote__sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;line-height:1.3;display:-webkit-box;overflow:hidden}.chat-quote__sub{-webkit-line-clamp:1;opacity:.75;font-size:.76rem}.chat-quote__text:lang(th),.chat-quote__sub:lang(th),.chat-starred__body:lang(th){line-height:var(--line-height-thai-min)}.chat-quote--deleted .chat-quote__text{opacity:.75;font-style:italic}.chat-quote-bar,.chat-edit-bar{align-items:center;gap:6px;margin-bottom:8px;animation:.14s ease-out chat-pop;display:flex}.chat-quote-bar .chat-quote{background:color-mix(in srgb, var(--chat-bubble-theirs) 70%, var(--color-accent) 12%);margin:0}.chat-quote-bar__cancel{width:36px;height:36px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chat-edit-bar__body{border-left:3px solid var(--color-accent);background:color-mix(in srgb, var(--chat-bubble-theirs) 70%, var(--color-accent) 12%);border-radius:10px;flex-direction:column;flex:1;gap:1px;min-width:0;padding:5px 10px 6px;display:flex}.chat-edit-bar__label{color:var(--color-accent);align-items:center;gap:5px;font-size:.75rem;font-weight:600;display:flex}.chat-edit-bar__text{white-space:nowrap;text-overflow:ellipsis;color:var(--color-muted);font-size:.82rem;overflow:hidden}.chat-msg__info{background:var(--chat-bubble-theirs);color:var(--color-muted);border-radius:999px;margin:0;padding:6px 12px;font-size:.76rem;animation:.14s ease-out chat-pop;box-shadow:0 4px 16px #00000024}@media (prefers-reduced-motion:reduce){.chat-msg__bubble,.chat-msg__reactions,.chat-msg__retry{transition:none}.chat-msg__heart-pop{animation:.7s ease-out forwards chat-heart-fade}.chat-msg--flash .chat-msg__bubble{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 55%, transparent);animation:none}.chat-quote-bar,.chat-edit-bar,.chat-msg__info{animation:none}}@keyframes chat-heart-fade{0%,60%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}.chat__main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-unread{color:var(--color-accent);letter-spacing:.02em;align-items:center;gap:10px;margin:10px 4px 6px;font-size:.72rem;font-weight:600;display:flex}.chat-unread:before,.chat-unread:after{content:"";background:color-mix(in srgb, var(--color-accent) 45%, transparent);flex:1;height:1px}.chat-unread span{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-bg));border-radius:999px;padding:3px 10px}.chat-jump{right:calc(var(--space-4) * .75 + env(safe-area-inset-right,0px));z-index:5;border:1px solid color-mix(in srgb, var(--color-muted) 25%, transparent);background:var(--chat-bubble-theirs);width:42px;height:42px;color:var(--color-text);-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;animation:.16s ease-out chat-pop;display:grid;position:absolute;bottom:12px;box-shadow:0 4px 16px #00000029}.chat-jump:after{content:"";border-radius:50%;position:absolute;inset:-3px}.chat-jump:active{transform:scale(.94)}.chat-jump:focus-visible,.chat__avatar-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-jump__count{background:var(--color-accent);min-width:20px;min-height:20px;color:var(--color-on-accent);text-align:center;box-shadow:0 0 0 2px var(--color-bg);border-radius:999px;place-items:center;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.2;display:grid;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.chat-offline{padding:5px var(--space-4);color:var(--color-text);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg));border:none;border-bottom:1px solid color-mix(in srgb, var(--color-accent) 22%, transparent);cursor:pointer;flex:none;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:.78rem;animation:.18s ease-out chat-slide;display:flex}.chat-offline__retry{color:var(--color-muted);text-decoration:underline}.chat-offline__dot{background:var(--color-accent);border-radius:50%;flex:none;width:7px;height:7px;animation:1.4s ease-in-out infinite chat-pulse}.chat-msg__bubble--queued{opacity:.8}@keyframes chat-pulse{50%{opacity:.3}}@keyframes chat-slide{0%{opacity:0;transform:translateY(-100%)}}@media (prefers-reduced-motion:reduce){.chat-jump,.chat-offline,.chat-offline__dot{animation:none}}.chat__link,.chat-composer__icon,.chat-composer__send,.chat-msg__retry,.chat-msg__reaction{position:relative}.chat__link:after,.chat-composer__icon:after,.chat-composer__send:after,.chat-msg__retry:after,.chat-msg__reaction:after{content:"";position:absolute}.chat__link:after{inset:-14px -8px}.chat-composer__icon:after,.chat-composer__send:after{border-radius:50%;inset:-2px}.chat-msg__retry:after{inset:-13px -4px}.chat-msg__reaction{min-width:36px}.chat-msg__reaction:after{inset:-4px -4px -16px}.chat__avatar-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:none;padding:0;display:inline-flex}.loc-summary{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.loc-distance{flex-direction:column;gap:2px;display:flex}.loc-together{color:var(--color-accent-strong);font-weight:650}.loc-status{font-size:var(--font-size-lg);font-weight:650}.loc-people,.loc-freshness,.loc-place-form,.loc-radius{gap:var(--space-2);flex-direction:column;display:flex}.loc-person{align-items:center;gap:var(--space-3);display:flex}.loc-person-main{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.loc-person-main:lang(th){line-height:var(--line-height-thai-min)}.loc-person-name{font-weight:650}.loc-note,.loc-queued{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-muted);display:inline-flex}.loc-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.loc-pause,.loc-denied,.loc-settings,.loc-timeline{gap:var(--space-3);flex-direction:column;display:flex}.loc-pause-status{color:var(--color-lavender);font-weight:650}.leaflet-pane path.loc-line{stroke:var(--color-accent);stroke-linecap:round}.loc-about{font-size:var(--font-size-sm);color:var(--color-muted);align-self:flex-end;padding-bottom:6px}.loc-age.is-recent{opacity:.85}.loc-age.is-stale,.loc-age.is-old{color:var(--color-muted);font-style:italic}.loc-age.is-old{opacity:.8}.loc-miles{font-size:var(--font-size-sm)}.loc-person-place{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loc-strip{width:100%;padding:0 var(--space-2);color:inherit;font:inherit;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;display:block}.loc-strip-apart{text-align:center;font-size:var(--font-size-sm);color:var(--color-muted);margin-top:2px;font-weight:600;display:block}.loc-strip:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:999px}.loc-line{align-items:center;gap:2px;width:100%;display:flex}.loc-line-end{color:color-mix(in srgb, var(--color-accent) 70%, transparent);flex:none;font-size:1.1rem;font-weight:600;line-height:1}.loc-line-track{flex:1;justify-content:center;align-items:center;min-width:0;min-height:28px;display:flex;position:relative}.loc-line-track:before{content:"";inset-inline:0;border-top:2px dashed color-mix(in srgb, var(--color-accent) 55%, transparent);position:absolute;top:50%;transform:translateY(-50%)}.loc-line-track>*{position:relative}.loc-line-pill{padding:3px var(--space-3);border:1px solid color-mix(in srgb, var(--color-accent) 35%, transparent);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 0 0 4px var(--color-bg);border-radius:999px;font-weight:700}.loc-line-pill.is-unknown{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-muted);font-weight:600}.games-tile .muted,.notes-tile .muted{font-size:var(--font-size-sm)}.ntf{gap:var(--space-3);padding:var(--space-4);color:var(--color-text);display:grid}.ntf-title{margin:0;font-size:1.25rem}.ntf-subtitle{margin:0 0 var(--space-2);font-size:1rem}.ntf-card{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);display:grid;box-shadow:0 1px 3px #0000000f}.ntf-muted{color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.45}.ntf-strong{margin:0;font-weight:600}.ntf-steps{margin:var(--space-2) 0 0;gap:var(--space-1);padding-left:1.4em;line-height:1.45;display:grid}.ntf-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ntf-button{min-height:44px;padding:0 var(--space-4);border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);border-radius:var(--radius-pill);color:var(--color-text);font:inherit;cursor:pointer;background:0 0}.ntf-primary{margin-top:var(--space-2);background:var(--color-accent);color:var(--color-on-accent);border-color:#0000;font-weight:600}.ntf-actions .ntf-primary{margin-top:0}.ntf-button:disabled{opacity:.6;cursor:default}.ntf-status{margin:0;font-size:.9rem}.ntf-status-error{color:var(--color-danger)}.ntf-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.ntf-toggle-text{gap:2px;display:grid}.ntf-toggle input{appearance:none;background:color-mix(in srgb, var(--color-muted) 35%, transparent);cursor:pointer;border-radius:999px;flex:none;width:48px;height:28px;margin:0;transition:background .2s;position:relative}.ntf-toggle input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.ntf-toggle input:checked{background:var(--color-accent)}.ntf-toggle input:checked:after{transform:translate(20px)}.ntf-toggle input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ntf-toggle input,.ntf-toggle input:after{transition:none}}.ntf-sub{margin-left:var(--space-2);padding-left:var(--space-3);border-left:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent)}.ntf-repair{gap:var(--space-3);display:grid}.ntf-repair-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ntf-health{margin:var(--space-2) 0 0}.ntf-health-bad{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);justify-items:start;display:grid}.phrase-card{gap:var(--space-3)}.phrase-main{align-items:flex-start;gap:var(--space-1);width:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:var(--radius-sm);background:0 0;border:0;flex-direction:column;padding:0;display:flex}.phrase-main:disabled{cursor:default;opacity:1}.phrase-main:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.phrase-text{font-size:var(--font-size-2xl);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:700;line-height:1.3}.phrase-text:lang(th),.phrase-history-text:lang(th){line-height:var(--line-height-thai-min)}.phrase-text:lang(th){font-size:calc(var(--font-size-2xl) * 1.1);letter-spacing:0}.phrase-roman{color:var(--color-accent-strong);font-style:italic;font-size:var(--font-size-md)}.phrase-meaning{font-size:var(--font-size-md)}.phrase-more{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-muted);align-items:center;gap:2px;display:inline-flex}.phrase-chevron{transition:transform .2s;transform:rotate(90deg)}.phrase-chevron.open{transform:rotate(-90deg)}.phrase-state{align-items:flex-start;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.phrase-state .skeleton-lines{width:70%}@media (prefers-reduced-motion:reduce){.phrase-chevron{transition:none}}.phrase-details{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;margin:0;animation:.2s ease-out phrase-in;display:flex}@keyframes phrase-in{0%{opacity:0;transform:translateY(-4px)}}.phrase-details dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-weight:650}.phrase-details dd{margin:2px 0 0}.phrase-variations{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.phrase-variations li{padding-left:var(--space-3);border-left:3px solid var(--color-lavender);flex-direction:column;display:flex}.phrase-variation-text{font-weight:650;font-size:var(--font-size-lg)}.phrase-source{margin:0}.phrase-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.phrase-menu{gap:var(--space-3);flex-direction:column;display:flex}.phrase-history{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.phrase-history-item{flex-direction:column;gap:2px;display:flex}.phrase-history-top{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:24px;display:flex}.phrase-history-text{font-size:var(--font-size-xl);overflow-wrap:anywhere;font-weight:700;line-height:1.3}.stats-year-row,.recap-card-head{align-items:center;gap:var(--space-3);display:flex}.recap-card{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:radial-gradient(110% 120% at 100% 0%, var(--color-peach-soft) 0%, transparent 60%), linear-gradient(140deg, var(--color-accent-soft), var(--color-lavender-soft));box-shadow:var(--shadow-md);animation:recap-in var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex}.recap-card.is-year{background:radial-gradient(110% 120% at 0% 0%, var(--color-accent-soft) 0%, transparent 60%), linear-gradient(140deg, var(--color-lavender-soft), var(--color-peach-soft))}.recap-card-icon{background:var(--color-surface);width:44px;height:44px;color:var(--color-accent-strong);box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.recap-card-main{flex:1;min-width:0}.recap-card-eyebrow{font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent-strong);font-weight:700}.recap-card-main h2{font-size:var(--font-size-lg)}.recap-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.recap-chips li{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-surface) 80%, transparent);font-size:var(--font-size-sm);font-weight:600}@keyframes recap-in{0%{opacity:0;transform:translateY(6px)}}.setup-not-now:focus-visible,.setup-never:focus-visible,.setup-chip:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.setup-chip{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--color-accent-soft), var(--color-surface) 85%);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);font-weight:600;display:flex}.setup-chip--icon{width:36px;min-width:36px;height:36px;min-height:36px;color:var(--color-accent-strong);border-radius:50%;justify-content:center;padding:0;position:relative}.setup-chip--icon>svg:last-child{color:inherit}.setup-chip-badge{background:var(--color-accent-strong);min-width:18px;height:18px;color:var(--color-surface);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--color-bg);border-radius:999px;place-items:center;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.setup-chip>svg:last-child{color:var(--color-muted);flex:none}@media (prefers-reduced-motion:no-preference){.setup-chip{animation:setup-rise var(--duration-slow) var(--ease-out) both}}@keyframes setup-rise{0%{opacity:0;transform:translateY(6px)}}.person-weather{flex-direction:column;min-width:0;display:flex}.weather-now{align-items:center;gap:var(--space-1);min-width:0;font-size:var(--font-size-sm);color:var(--color-text);display:flex}.weather-now .weather-icon{flex:none}.weather-temp{flex:none;font-weight:650}.weather-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.weather-range{color:var(--color-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.weather-hint{font-size:var(--font-size-xs);color:var(--color-muted);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.weather-icon-sun,.weather-icon-partlyDay{color:#e7a43b}.weather-icon-moon,.weather-icon-partlyNight{color:var(--color-lavender)}.weather-icon-rain,.weather-icon-storm{color:#7d8fc4}.weather-icon-cloud,.weather-icon-fog,.weather-icon-snow{color:#8d93a6}@media (prefers-color-scheme:dark){.weather-icon-rain,.weather-icon-storm{color:#a9b8e8}.weather-icon-cloud,.weather-icon-fog,.weather-icon-snow{color:#c3c7d4}}.hero-sky{--sky-size:16px;--sky-orb:11px;--sky-orb-radius:39px;inset:calc(-1 * var(--sky-size));z-index:-1;pointer-events:none;position:absolute}.hero-sky-glow,.hero-sky-stars{border-radius:50%;position:absolute;inset:0}.hero-sky-glow{background:linear-gradient(to bottom, var(--sky-top), var(--sky-mid) 55%, var(--sky-low));opacity:.92;-webkit-mask-image:radial-gradient(closest-side,#000 70%,#0000 100%);mask-image:radial-gradient(closest-side,#000 70%,#0000 100%)}.hero-sky--dawn{--sky-top:#c9ccf3;--sky-mid:#f6c3d2;--sky-low:#fde1c4}.hero-sky--day{--sky-top:#a9d6f6;--sky-mid:#d3ebfb;--sky-low:#fdf1df}.hero-sky--dusk{--sky-top:#8e86d2;--sky-mid:#e9a2bd;--sky-low:#f9c9a0}.hero-sky--night{--sky-top:#232655;--sky-mid:#3b3b7c;--sky-low:#6b5b9e}@media (prefers-color-scheme:dark){.hero-sky--dawn{--sky-top:#4a4474;--sky-mid:#8a5a78;--sky-low:#a17563}.hero-sky--day{--sky-top:#2f5b85;--sky-mid:#4a7196;--sky-low:#7a8ea3}.hero-sky--dusk{--sky-top:#3a3270;--sky-mid:#7e4a6f;--sky-low:#9a6352}.hero-sky--night{--sky-top:#0f1233;--sky-mid:#1d1f4a;--sky-low:#342f61}.hero-sky-glow{opacity:.85}}.hero-sky-stars{background:radial-gradient(circle at 11% 36%,#fff 0 1px,#0000 1.7px),radial-gradient(circle at 26% 16%,#fff 0 1.2px,#0000 1.9px),radial-gradient(circle at 57% 9%,#fff 0 .9px,#0000 1.5px),radial-gradient(circle at 82% 23%,#fff 0 1.2px,#0000 1.9px),radial-gradient(circle at 90% 61%,#fff 0 1px,#0000 1.7px),radial-gradient(circle at 14% 71%,#fff 0 .9px,#0000 1.5px),radial-gradient(circle at 71% 86%,#fff 0 1.1px,#0000 1.8px),radial-gradient(circle at 36% 89%,#fff 0 .9px,#0000 1.5px);animation:4.8s ease-in-out infinite alternate hero-sky-twinkle}.hero-sky-orb{width:var(--sky-orb);height:var(--sky-orb);margin:calc(var(--sky-orb) / -2);transform:rotate(var(--sky-angle)) translateX(var(--sky-orb-radius)) rotate(calc(-1 * var(--sky-angle)));border-radius:50%;position:absolute;top:50%;left:50%}.hero-sky-orb--sun{background:radial-gradient(circle at 40% 38%,#fffbe9,#ffd98a 60%,#f7b863);box-shadow:0 0 7px 2px #ffce788c}.hero-sky--dawn .hero-sky-orb--sun,.hero-sky--dusk .hero-sky-orb--sun{background:radial-gradient(circle at 40% 38%,#fff1dc,#ffc49a 60%,#f39579);box-shadow:0 0 7px 2px #f8a08280}.hero-sky-orb--moon{filter:drop-shadow(0 0 3px #e2d8ffb3);box-shadow:inset -3.5px -1.5px #f4efff}@keyframes hero-sky-twinkle{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.hero-sky-stars{opacity:.85;animation:none}}.journey-head,.journey-body{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:flex}.journey-head:focus-visible,.journey-body:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.journey-head{align-items:center;gap:var(--space-2)}.journey-head-icon{color:var(--color-accent);flex-shrink:0}.journey-head-main{align-items:baseline;column-gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.journey-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;line-height:1.25}.journey-title:lang(th){line-height:var(--line-height-thai-min)}.journey-sub{color:var(--color-muted);font-size:var(--font-size-xs)}.journey-sub.is-action{color:var(--color-accent-strong);font-weight:600}.journey-body{gap:var(--space-1);flex-direction:column;transition:transform .12s}.journey-body:active{transform:scale(.985)}.journey-line{flex-direction:column;gap:2px;width:100%;display:flex}.journey-rail{align-items:center;gap:6px;height:26px;display:flex}.journey-track{flex:1;min-width:0;height:100%;position:relative}.journey-dash,.journey-fill,.journey-tick,.journey-heart{position:absolute;top:50%}.journey-dash{background:repeating-linear-gradient(90deg, var(--color-accent) 0 6px, transparent 6px 11px);opacity:.55;height:2px;left:0;right:0;transform:translateY(-50%)}.journey-guide{position:absolute;inset:0}.journey-line.is-open .journey-guide{-webkit-mask-image:linear-gradient(90deg,#000 70%,#0000);mask-image:linear-gradient(90deg,#000 70%,#0000)}.journey-tick{background:var(--color-muted);opacity:.3;width:1px;height:8px;transform:translate(-50%,-50%)}.journey-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--color-accent-soft), var(--color-accent));height:4px;transition:width 1.1s cubic-bezier(.22,1,.36,1);left:0;transform:translateY(-50%)}.journey-heart{background:var(--color-surface);width:26px;height:26px;color:var(--color-accent-strong);border-radius:50%;place-items:center;transition:left 1.1s cubic-bezier(.22,1,.36,1);display:grid;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000001f}.journey-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:10px;height:10px}.journey-plane{color:var(--color-accent-strong);flex-shrink:0;place-items:center;display:grid}.card-tone-mint .journey-dot{background:var(--color-success)}.card-tone-mint .journey-fill{background:linear-gradient(90deg, var(--color-mint-soft), var(--color-mint))}.card-tone-mint .journey-dash{background:repeating-linear-gradient(90deg, var(--color-mint) 0 6px, transparent 6px 11px)}.journey-dates{justify-content:space-between;gap:var(--space-2);color:var(--color-muted);font-size:var(--font-size-xs);line-height:1.2;display:flex}.journey-stats{color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;line-height:1.35}.journey-action{align-self:flex-start}.journey-empty{gap:var(--space-2);flex-direction:column;display:flex}.journey-empty-text{align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--font-size-sm);display:inline-flex}.journey-empty-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.journey-fill,.journey-heart,.journey-body{transition:none}}.visit-stats{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.visit-stat{gap:var(--space-1);min-width:0;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-soft);flex-direction:column;display:flex}.visit-stat .big-number{font-size:var(--font-size-2xl);color:var(--color-accent-strong)}.visit-stat-together{background:var(--color-lavender-soft)}.visit-stat-together .big-number{color:var(--color-text)}.visit-stat-label{color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.3}.visit-stat-now{font-size:var(--font-size-lg);color:var(--color-accent-strong);font-weight:700;line-height:1.2}.visit-row-icon{border-radius:var(--radius-md);background:var(--color-lavender-soft);width:44px;height:44px;color:var(--color-text);flex-shrink:0;place-items:center;display:grid}.visit-row-icon.is-past{background:var(--color-accent-soft);color:var(--color-accent-strong)}.visit-sheet-hint{margin:0}
