@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2) format("woff2"),url(/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2) format("woff2"),url(/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2) format("woff2"),url(/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2) format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-ext-700-normal-CrK2-ngJ.woff2) format("woff2"),url(/assets/caveat-cyrillic-ext-700-normal-DjFGiEhD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-cyrillic-700-normal-BIyejhEL.woff2) format("woff2"),url(/assets/caveat-cyrillic-700-normal-Bhcx9qBB.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-ext-700-normal-DFbRgDry.woff2) format("woff2"),url(/assets/caveat-latin-ext-700-normal-DjJQd59I.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/caveat-latin-700-normal-D8_1Nw6V.woff2) format("woff2"),url(/assets/caveat-latin-700-normal-cPyBTTZN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-ext-700-normal-ByMJlNdM.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-700-normal-BIFoAzHx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2) format("woff2"),url(/assets/courier-prime-latin-700-normal-CVvp4Sof.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground: #050608;--surface: #111317;--surface-2: #1a1d22;--bubble: #262b35;--well: #23272f;--line: #262a33;--text: #edeff4;--text-2: #c2c7d4;--muted: #939bad;--dim: #828a9c;--accent: #4680f2;--accent-ink: #0b0d12;--accent-glyph: #ffffff;--mine: #2569f0;--mine-ink: #ffffff;--accent-tint: #0f1c38;--accent-on-tint: #598df3;--saved: #5fbfa8;--saved-tint: #10261f;--warn: #e8b765;--warn-tint: #211c12;--danger: #ff6b6b;--danger-tint: #221414;--veil-soft: rgba(5, 6, 8, .3);--veil: rgba(5, 6, 8, .72);--veil-deep: rgba(5, 6, 8, .96);--lift-near: rgb(0 0 0 / .5);--lift-far: rgb(0 0 0 / .7);--lift-edge: rgb(255 255 255 / .15);--lift-edge-soft: rgb(255 255 255 / .08);--lift-rim: rgb(255 255 255 / .14);--l-ground: #f6f7fb;--l-lift-near: rgb(20 30 60 / .1);--l-lift-far: rgb(20 30 60 / .22);--l-lift-edge: rgb(255 255 255 / .7);--l-lift-edge-soft: rgb(255 255 255 / .4);--l-lift-rim: rgb(255 255 255 / 0);--l-surface: #ffffff;--l-surface-2: #eceff6;--l-bubble: #e2e7f2;--l-well: #e2e6f0;--l-line: #d9dde8;--l-text: #14161c;--l-text-2: #3b4250;--l-muted: #5b6270;--l-dim: #656c7a;--l-accent: #002e5d;--l-accent-ink: #ffffff;--l-mine: var(--l-accent);--l-mine-ink: var(--l-accent-ink);--l-accent-tint: #e2ebf6;--l-accent-on-tint: #002e5d;--l-saved: #1b7560;--l-saved-tint: #e1f0eb;--l-warn: #8a5a00;--l-warn-tint: #fbf0d9;--l-danger: #bf2b2b;--l-danger-tint: #fbe6e6;--l-veil-soft: rgba(246, 247, 251, .32);--l-veil: rgba(246, 247, 251, .74);--l-veil-deep: rgba(246, 247, 251, .97);--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 30px;--r-pill: 999px;--ease-settle: cubic-bezier(.2, .9, .2, 1);--ease-spring: cubic-bezier(.2, .9, .2, 1.25);--ease-exit: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .6, 1);--lift: 0 2px 10px rgba(11, 13, 18, .34);--glass-blur: blur(28px) saturate(1.6);--glass-edge: color-mix(in srgb, var(--line) 70%, transparent);--glass-float: 0 12px 36px rgba(0, 0, 0, .32);--tap: 44px;--gutter: 18px;--safe-bottom: env(safe-area-inset-bottom, 0px);--font: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--font-read: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--zoom: 1;--unzoom: calc(1/min(var(--zoom, 1), 1)) ;--face: calc(60px * var(--unzoom));color-scheme:dark light}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--ground: var(--l-ground);--surface: var(--l-surface);--surface-2: var(--l-surface-2);--bubble: var(--l-bubble);--well: var(--l-well);--line: var(--l-line);--text: var(--l-text);--text-2: var(--l-text-2);--muted: var(--l-muted);--dim: var(--l-dim);--accent: var(--l-accent);--accent-ink: var(--l-accent-ink);--mine: var(--l-mine);--mine-ink: var(--l-mine-ink);--accent-tint: var(--l-accent-tint);--accent-on-tint: var(--l-accent-on-tint);--saved: var(--l-saved);--saved-tint: var(--l-saved-tint);--warn: var(--l-warn);--warn-tint: var(--l-warn-tint);--danger: var(--l-danger);--danger-tint: var(--l-danger-tint);--veil-soft: var(--l-veil-soft);--veil: var(--l-veil);--veil-deep: var(--l-veil-deep);--lift-near: var(--l-lift-near);--lift-far: var(--l-lift-far);--lift-edge: var(--l-lift-edge);--lift-edge-soft: var(--l-lift-edge-soft);--lift-rim: var(--l-lift-rim)}}:root[data-theme=light]{--ground: var(--l-ground);--surface: var(--l-surface);--surface-2: var(--l-surface-2);--bubble: var(--l-bubble);--well: var(--l-well);--line: var(--l-line);--text: var(--l-text);--text-2: var(--l-text-2);--muted: var(--l-muted);--dim: var(--l-dim);--accent: var(--l-accent);--accent-ink: var(--l-accent-ink);--mine: var(--l-mine);--mine-ink: var(--l-mine-ink);--accent-tint: var(--l-accent-tint);--accent-on-tint: var(--l-accent-on-tint);--saved: var(--l-saved);--saved-tint: var(--l-saved-tint);--warn: var(--l-warn);--warn-tint: var(--l-warn-tint);--danger: var(--l-danger);--danger-tint: var(--l-danger-tint);--veil-soft: var(--l-veil-soft);--veil: var(--l-veil);--veil-deep: var(--l-veil-deep);--lift-near: var(--l-lift-near);--lift-far: var(--l-lift-far);--lift-edge: var(--l-lift-edge);--lift-edge-soft: var(--l-lift-edge-soft);--lift-rim: var(--l-lift-rim)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{zoom:var(--zoom, 1)}html,body{overscroll-behavior:contain}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--ground);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}button{font-family:var(--font);cursor:pointer}button{transition:scale .12s ease-out,opacity .12s ease-out}button:not(:disabled):active{scale:.96;opacity:.82}@media (prefers-reduced-motion: reduce){button:not(:disabled):active{scale:none}}input,select,textarea{font-family:var(--font);font-size:max(16px,calc(16px / var(--zoom, 1)))}button,a,.tab,[role=button]{touch-action:manipulation}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}img,video{dynamic-range-limit:standard}[data-viewer-media],.snap-viewer .snap-photo,.snap-stage-media,.pager-media img,.pager-media video,.pager-inset img,.snap-step-shot,.snap-step-inset{dynamic-range-limit:no-limit}.app{display:flex;flex-direction:column;height:100%;max-width:calc(480px / var(--zoom, 1));margin:0 auto;position:relative;overflow:hidden}.pane{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;position:relative}.scroll.col>*{flex-shrink:0}.scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;transition:transform .19s var(--ease-spring)}.scroll.bounce-top{transform:translateY(9px)}.scroll.bounce-bottom{transform:translateY(-9px)}@media (prefers-reduced-motion: reduce){.scroll.bounce-top,.scroll.bounce-bottom{transform:none}}.header{zoom:calc(1 / var(--zoom, 1));flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:18px var(--gutter) 12px;border-bottom:1px solid var(--line)}.header+.scroll{padding-top:var(--gutter)}.chat-top{position:absolute;top:0;left:0;right:0;z-index:3}.chat-header{background:color-mix(in srgb,var(--ground) 62%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)}.title{margin:0;font-size:27px;font-weight:800;letter-spacing:-.8px}.header-me{padding:0;border-radius:var(--r-pill);background:none}.tabbar{zoom:calc(1 / var(--zoom, 1));flex:0 0 auto;position:relative;display:flex;align-items:center;gap:6px;padding:8px var(--gutter) max(14px,var(--safe-bottom));border-top:1px solid var(--line);background:var(--ground)}.tab{flex:1 1 0;min-height:var(--tap);border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;color:var(--dim);font-size:11px;font-weight:600}.tab[aria-current=page]{color:var(--accent-on-tint);font-weight:700;background:var(--accent-tint);border-radius:var(--r-md)}.tab-dot{position:absolute;top:-1px;right:-5px;width:9px;height:9px;border-radius:var(--r-pill);background:var(--accent);box-shadow:0 0 0 2px var(--ground)}.tab[aria-current=page] .tab-dot{box-shadow:0 0 0 2px var(--accent-tint)}.camera-key .key-badge{top:-4px;right:-6px;z-index:1;box-shadow:0 0 0 2px var(--ground)}.tab-badge{position:absolute;top:-2px;right:-8px;min-width:18px;height:18px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.camera-key{position:relative;flex:0 0 60px;width:60px;height:60px;margin:-24px 12px 0;padding:0;border:4px solid var(--ground);border-radius:var(--r-pill);background:var(--accent);color:var(--accent-glyph);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px #0b0d1280;z-index:4;transform:translateY(0)}.camera-key-label{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);color:var(--dim);font-size:11px;font-weight:600;white-space:nowrap;pointer-events:none}.camera-key[aria-current=page] .camera-key-label{color:var(--accent-on-tint);font-weight:700}.camera-key-icon{display:flex;filter:drop-shadow(0 1.5px 1.5px color-mix(in srgb,var(--accent),black 45%))}.card{border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.chip--saved{background:var(--saved-tint);color:var(--saved)}.chip--late{background:var(--warn-tint);color:var(--warn)}.chip--accent{background:var(--accent-tint);color:var(--accent)}.chip-toggle{min-height:36px;border:0;font-family:var(--font)}.btn{min-height:var(--tap);padding:0 20px;border:0;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{background:var(--surface-2);color:var(--dim);cursor:default}.btn--ghost{background:transparent;border:1px solid var(--line);color:var(--text-2);font-weight:600}.btn--block{width:100%}.icon-btn{width:var(--tap);height:var(--tap);border:0;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center}.well{background:var(--well);display:flex;align-items:center;justify-content:center;color:var(--dim)}.avatar{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text);font-weight:700;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%;object-fit:cover}.ring{position:relative;border-radius:var(--r-pill);padding:2px;background:var(--accent);flex:0 0 auto}.ring--seen{background:none;border:2px solid var(--muted);padding:.5px}.ring--empty{background:none;border:2px dashed var(--line);padding:.5px}.ring--you{background:none;border:2px dashed var(--accent);padding:.5px}.ring--mine{background:none;border:2px solid var(--accent);padding:.5px}.ring>.avatar{border:2.5px solid var(--ground);width:100%;height:100%;background:var(--accent-tint)}.media-dark{--surface-2: #1a1d22;--text: #edeff4;--text-2: #c2c7d4;--muted: #939bad;--dim: #828a9c;color:var(--text);color-scheme:dark}.rail{display:flex;gap:14px;padding:4px var(--gutter) 14px;overflow-x:auto;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.scrim{position:absolute;inset:0;background:#06070a80;z-index:20}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:21;border-radius:var(--r-xl) var(--r-xl) 0 0;background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-edge);box-shadow:0 -12px 40px #00000059;padding:12px var(--gutter) calc(22px + var(--safe-bottom));display:flex;flex-direction:column;gap:16px;max-height:92%;overflow-y:auto;touch-action:none;animation:sheet-up .22s var(--ease-settle);transition:transform .2s var(--ease-spring)}.scrim{touch-action:none}.sheet.is-going{transform:translateY(100%)!important;transition:transform .22s var(--ease-exit)}.scrim.is-going{animation:scrim-out .22s linear forwards}@keyframes sheet-up{0%{transform:translateY(14px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes scrim-out{0%{opacity:1}to{opacity:0}}.grabber{align-self:center;width:40px;height:4px;border-radius:var(--r-pill);background:var(--line)}.sheet-head{display:flex;align-items:center;gap:8px}.sheet-head-title{margin:0 auto 0 0;font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.3px}.sheet-head-title:has(+.sheet-head-count){margin-right:0}.sheet-head-count{margin-right:auto;min-width:24px;padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-2);font-size:13px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.sheet-head-close{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-2);cursor:pointer}.pager{position:absolute;inset:0;z-index:30;background:#000;overflow:hidden;animation:pager-in .2s ease backwards;transition:transform .24s var(--ease-in-out),opacity .24s ease}.pager.is-leaving{transform:translateY(100%);opacity:0}.pager-page{position:relative;height:100%;display:flex;align-items:center;justify-content:center}.pager-bars{position:absolute;left:14px;right:14px;top:calc(12px + env(safe-area-inset-top,0px));z-index:3;display:flex;gap:4px}.pager-seg{flex:1 1 0;height:3px;border-radius:var(--r-pill);background:#ffffff52;overflow:hidden}.pager-seg-fill{display:block;width:100%;height:100%;border-radius:inherit;background:#fff;transform:scaleX(0);transform-origin:left center}.pager-seg.is-done .pager-seg-fill{transform:scaleX(1)}.pager-seg.is-now .pager-seg-fill{animation:seg-fill var(--seg-ms, 5s) linear forwards}.pager.is-held .pager-seg.is-now .pager-seg-fill{animation-play-state:paused}.pager-seg.is-clip .pager-seg-fill{animation:none}@keyframes seg-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.pager-seg.is-now .pager-seg-fill{animation-duration:var(--seg-ms, 5s)}}.pager-media{position:absolute;inset:0;background:#000;isolation:isolate}.pager-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;padding:0 40px;text-align:center;background:var(--well);color:var(--text-2);font-size:14px;font-weight:600}.pager-empty-title{font-size:17px;font-weight:700;color:var(--text)}.pager-empty-body{max-width:32ch;font-size:13px;font-weight:500;line-height:1.5;color:var(--muted)}.pager-media img{width:100%;height:100%;object-fit:contain}.pager-media .snap-backdrop,.memory-shot .snap-backdrop{object-fit:cover;max-height:none}.pager-media video{position:relative;z-index:2}.pager-inset{position:absolute;left:14px;top:76px;width:116px;height:155px;border-radius:var(--r-md);border:3px solid #000;overflow:hidden;background:var(--well)}.pager-inset img{width:100%;height:100%;object-fit:cover}.glass{background:#ffffff24;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bubble{max-width:300px;padding:10px 14px;border-radius:var(--r-md) var(--r-md) var(--r-md) 5px;background:var(--bubble);box-shadow:inset 0 1px 0 var(--lift-edge-soft),0 1px 1px var(--lift-near),0 2px 6px -2px var(--lift-far);font-family:var(--font-read);font-size:17px;line-height:1.3;word-break:break-word}.bubble--mine{border-radius:var(--r-md) var(--r-md) 5px var(--r-md);background:var(--mine);color:var(--mine-ink);box-shadow:inset 0 1px 0 var(--lift-edge),0 1px 1px var(--lift-near),0 4px 12px -3px var(--lift-far)}.bubble--reacted{padding-bottom:16px}.bubble--caption{max-width:247px}.composer{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;padding:4px var(--gutter) 32px}.composer-dock{position:absolute;left:0;right:0;bottom:0;z-index:3}.composer-dock:before{content:"";position:absolute;inset:-56px 0 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--veil-soft) 34%,var(--veil) 66%,var(--veil-deep))}.jump-bottom{position:absolute;bottom:100%;left:50%;margin:0 0 10px -19px;width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);box-shadow:0 6px 18px #0b0d1270;animation:jump-bottom-in .15s ease-out}.jump-mention{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:10px;display:flex;align-items:center;gap:6px;height:38px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-family:var(--font);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 6px 18px #0b0d1270;animation:jump-bottom-in .15s ease-out}.jump-mention>span{font-size:15px;font-weight:700}.jump-mention.is-stacked{margin-bottom:58px}@keyframes jump-bottom-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.jump-bottom{animation:none}}.composer>.icon-btn{flex:0 0 auto}.composer-btn{width:42px;height:42px;margin-bottom:1px;box-shadow:var(--lift)}.composer-input{flex:1 1 auto;min-width:0;padding:10px 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:var(--lift);color:var(--text);font-family:var(--font-read);font-size:max(16px,calc(16px / var(--zoom, 1)));line-height:21px;resize:none;max-height:148px;overflow-y:hidden;overscroll-behavior:contain}.composer-input::placeholder{color:var(--dim);font-size:calc(max(16px,calc(16px / var(--zoom, 1)))*.875)}.attach-row,.file-row,.place-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text);text-align:left;text-decoration:none}.file-row,.place-row{max-width:280px}.attach-icon{flex:0 0 auto;width:34px;height:34px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center}.file-name{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}.search-field{flex:1 1 auto;min-width:0;min-height:var(--tap);padding:0 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text)}.search-field::placeholder{color:var(--dim)}.recording-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px var(--gutter);background:var(--surface);border-top:1px solid var(--line)}.recording-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--danger);animation:recording 1.4s ease-in-out infinite}@keyframes recording{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.recording-dot{animation:none}}.jump-back{flex:0 0 auto;margin:0 var(--gutter) 6px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:600}.found{animation:found 2.4s ease-out 1;border-radius:var(--r-lg)}@keyframes found{0%,45%{background:var(--accent-tint, rgba(122,140,255,.22))}to{background:transparent}}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column}.grow{flex:1 1 auto;min-width:0}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.center{display:flex;align-items:center;justify-content:center}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}.tiny{font-size:12px}.bold{font-weight:700}.pad{padding:0 var(--gutter)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.aperture{width:18px;height:18px;flex:none;display:block;overflow:visible}.aperture-iris{transform-box:fill-box;transform-origin:center;animation:aperture 1.15s ease-in-out infinite}@keyframes aperture{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.28);opacity:.55}}@media (prefers-reduced-motion: reduce){.aperture-iris{animation:aperture-fade 1.4s ease-in-out infinite}@keyframes aperture-fade{0%,to{opacity:1}50%{opacity:.4}}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.reaction-bar{display:flex;align-items:center;gap:2px;padding:6px;border-radius:var(--r-pill);background:var(--surface-2);box-shadow:0 10px 30px #00000073}.reaction-key{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r-pill);background:none;color:var(--text);font-size:19px;line-height:1}.reaction-key.is-mine{background:var(--accent)}.reaction-more{color:var(--dim)}.emoji-scrim{position:fixed;inset:0;z-index:64;border:0;padding:0;background:#06070a80;animation:hold-scrim-in .15s ease-out}.emoji-panel{position:fixed;left:0;right:0;bottom:0;z-index:65;display:flex;flex-direction:column;gap:8px;max-width:calc(480px / var(--zoom, 1));margin:0 auto;padding:10px 12px calc(14px + var(--safe-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-edge);box-shadow:0 -12px 40px #00000059;animation:sheet-up .22s var(--ease-settle)}.emoji-panel .sheet-head{padding:4px 4px 2px 8px}.emoji-search{flex:0 0 auto;width:100%;padding:10px 14px;border:1px solid var(--glass-edge);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text);-webkit-appearance:none;appearance:none}.emoji-search::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.emoji-none{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 4px;text-align:center}.emoji-tabs{display:flex;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line)}.emoji-tab{flex:1 1 0;min-width:0;padding:6px 0;border:0;border-radius:var(--r-sm);background:none;font-size:19px;line-height:1;opacity:.45}.emoji-tab.is-on{opacity:1;background:var(--accent-tint)}.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;height:232px;overflow-y:auto;overscroll-behavior:contain}.emoji-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--r-sm);background:none;font-size:25px;line-height:1;padding:0}.emoji-cell:active{background:var(--well)}.hold-focus{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 24px) 0 calc(env(safe-area-inset-bottom,0px) + 24px);zoom:calc(1 / var(--zoom, 1));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hold-focus:not(.is-armed) .hold-card>*{pointer-events:none}.hold-card{pointer-events:none}.hold-focus.is-armed .hold-card>*{pointer-events:auto}.hold-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;padding:0 8px;max-height:100%}.hold-focus[data-mine=true] .hold-card{align-items:flex-end}.reaction-pop{transform-origin:bottom left;animation:react-pop .2s var(--ease-spring)}.reaction-pop[data-mine=true]{transform-origin:bottom right}.hold-card .reaction-pop{max-width:100%}.hold-message{zoom:var(--zoom, 1);display:flex;max-width:calc(100% / var(--zoom, 1));max-height:calc(46vh / var(--zoom, 1));overflow-y:auto;border-radius:var(--r-md);transform:scale(1.05);transform-origin:left center;box-shadow:0 14px 34px #00000080,0 3px 8px #00000059;animation:hold-lift .22s var(--ease-spring)}.hold-focus[data-mine=true] .hold-message{transform-origin:right center}.hold-message .bubble{max-width:100%}.hold-message .thread-media-fit{--media-cap: min(calc(36vh / var(--zoom, 1)), 500px)}.hold-message{scrollbar-width:none}.hold-message::-webkit-scrollbar{display:none}@keyframes hold-lift{0%{transform:scale(1);box-shadow:0 0 #0000}to{transform:scale(1.05)}}.pager-bottom .reaction-bar{zoom:calc(1 / var(--zoom, 1))}.pager-bottom .reaction-bar,.card-react-bar .reaction-bar{justify-content:space-between;padding:6px 8px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--ground) 35%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);box-shadow:none}.pager-bottom .reaction-key,.card-react-bar .reaction-key{flex:0 1 40px;min-width:0;width:40px;height:auto;aspect-ratio:1;font-size:22px}.card-react{position:fixed;inset:0;z-index:60;zoom:calc(1 / var(--zoom, 1))}.card-react-scrim{position:absolute;inset:0;background:#06070a66;animation:hold-scrim-in .17s ease-out}.card-react-bar{position:absolute;left:16px;right:16px}.hold-card .reaction-bar,.hold-card .message-actions{border:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface-2) 68%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-float)}.hold-card .reaction-bar{max-width:100%;gap:2px;padding:6px}.hold-card .reaction-key{flex:0 1 40px;min-width:0;width:40px;height:auto;aspect-ratio:1;font-size:22px}.hold-card .message-actions{flex-direction:column;gap:0;min-width:220px;padding:0;border-radius:var(--r-lg);overflow:hidden;animation:react-pop .2s var(--ease-spring)}.hold-card .message-actions button{min-height:50px;padding:0 20px;border-radius:0;background:none;font-size:17px;font-weight:600;text-align:left}.hold-card .message-actions button+button{border-top:1px solid var(--glass-edge)}@keyframes react-pop{0%{transform:scale(.82) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.reaction-pop .reaction-key{animation:react-key-in .17s backwards var(--ease-spring)}.reaction-pop .reaction-key:nth-child(1){animation-delay:30ms}.reaction-pop .reaction-key:nth-child(2){animation-delay:55ms}.reaction-pop .reaction-key:nth-child(3){animation-delay:80ms}.reaction-pop .reaction-key:nth-child(4){animation-delay:105ms}.reaction-pop .reaction-key:nth-child(5){animation-delay:.13s}.reaction-pop .reaction-key:nth-child(6){animation-delay:155ms}.reaction-pop .reaction-key:nth-child(7){animation-delay:.18s}.reaction-pop .reaction-key:nth-child(8){animation-delay:205ms}.reaction-pop .reaction-key:nth-child(9){animation-delay:.23s}@keyframes react-key-in{0%{transform:scale(.4) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.hold-scrim{position:absolute;inset:0;background:#06070a8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:hold-scrim-in .17s ease-out}@keyframes hold-scrim-in{0%{opacity:0}to{opacity:1}}.reacted-scrim{position:fixed;inset:0;z-index:64}.reacted-by{position:fixed;z-index:66;width:max-content;max-width:min(210px,calc(100vw - 20px));max-height:210px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface-2) 72%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-float);animation:reacted-by-in .13s var(--ease-spring);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@keyframes reacted-by-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.reacted-group{display:flex;align-items:flex-start;gap:10px}.reacted-emoji{font-size:17px;line-height:1.3;width:22px;flex:none;text-align:center}.reacted-names{display:flex;flex-direction:column;gap:2px;padding-top:2px;font-size:14px;font-weight:600;line-height:1.3;color:var(--text);white-space:nowrap}.swipe-body.is-held{visibility:hidden}@media (prefers-reduced-motion: reduce){.reaction-pop,.reaction-pop .reaction-key,.hold-scrim,.hold-message,.hold-card .message-actions{animation:none}}.msg-in{position:relative;margin-left:calc(var(--gutter) * -1);padding-left:28px}.msg-in .bubble{padding-left:26px}.chat-thread{container-type:inline-size;--message-width: min(560px, calc(100cqw - 24px) );--media-width: min(440px, calc((100cqw - 24px)*.85) )}.thread-media{width:var(--media-width, 247px);max-width:100%}.thread-media-fit{--media-cap: min(58vh, 500px);display:block;width:min(100%,calc(var(--media-cap) * var(--ar, .75)));height:auto;object-fit:contain;border-radius:var(--r-sm);background:var(--well)}.chat-thread .bubble{max-width:min(560px,calc(100cqw - 24px))}.msg-in .reaction-row{padding-left:26px}.msg-in>.msg-face{position:absolute;left:8px;bottom:-2px;z-index:2;display:inline-flex;border-radius:var(--r-pill);box-shadow:0 0 0 2px var(--ground),0 0 0 3px var(--lift-rim),0 2px 3px var(--lift-near),0 5px 12px -3px var(--lift-far)}.reaction-row{position:relative;z-index:1;display:flex;gap:4px;flex-wrap:wrap;margin-top:-16px;padding:0 14px}.reaction-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:1px solid transparent;border-radius:var(--r-pill);background:var(--surface-2);box-shadow:0 0 0 2px var(--ground);color:var(--text);font-size:12px;line-height:1.5}.reaction-chip.is-mine{border-color:var(--accent)}.swipe-track{position:relative;display:flex}.swipe-hint{position:absolute;left:-24px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}.swipe-body{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover: hover) and (pointer: fine){.swipe-body .bubble{-webkit-user-select:text;user-select:text}}.swipe-body.is-selecting .bubble{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.swipe-body.is-selecting .bubble{outline:2px solid var(--accent);outline-offset:2px}.swipe-body .bubble .link-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.reply-rail{display:flex;gap:8px;align-items:stretch;max-width:250px;padding:0 4px;border:0;background:none}.reply-rail-tick{width:2px;flex:0 0 auto;border-radius:2px;background:var(--accent)}.reply-rail-text{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;color:var(--muted)}.reply-rail-who{font-weight:700;color:var(--accent)}.sending-thumb{flex:0 0 auto;width:28px;height:28px;object-fit:cover;border-radius:3px;background:var(--well)}.quote-thumb{flex:0 0 auto;align-self:center;object-fit:cover;border-radius:3px;opacity:.55;background:var(--well)}.time-marker{align-self:center;padding:4px 12px;border-radius:var(--r-pill);border:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface) 60%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.2px}.unread-line{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.3px}.unread-line:before,.unread-line:after{content:"";flex:1;height:1px;background:var(--accent);opacity:.45}.snap-step-alt{margin-top:12px;padding:8px 14px;border:0;border-radius:var(--r-pill);background:#ffffff24;color:#fff;font-size:13px;font-weight:600}.on-time{align-self:center;padding:4px 10px;border-radius:var(--r-pill);background:#4680f238;border:1px solid var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.on-time--late{background:#e8b76538;border-color:var(--warn)}.on-time--corner{position:absolute;right:12px;top:12px}.fault{gap:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface);border-left:3px solid var(--danger)}.fault-head{display:flex;align-items:flex-start;gap:8px;padding:0;border:0;background:none;color:inherit;text-align:left}.fault-message{overflow-wrap:anywhere}.fault-stack{margin:0;max-height:260px;overflow-y:auto;padding:10px;border-radius:var(--r-sm);background:var(--well);color:var(--text-2);font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.fault-agent{overflow-wrap:anywhere}.boot{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--ground)}.boot-mark{width:84px;height:84px;overflow:visible}.boot-iris{transform-box:fill-box;transform-origin:center;animation:boot-shutter 1.9s ease-in-out infinite}@keyframes boot-shutter{0%,30%{transform:scale(1)}40%{transform:scale(.04)}44%{transform:scale(.04)}62%{transform:scale(1)}to{transform:scale(1)}}.boot-flash{opacity:0;animation:boot-flash 1.9s ease-out infinite}@keyframes boot-flash{0%,38%{opacity:0}41%{opacity:.8}56%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.boot-iris,.boot-flash{animation:none}.boot-flash{opacity:0}}.in-text-link{color:inherit;text-decoration:underline;text-underline-offset:2px;word-break:break-word}.link-card{display:block;margin-top:8px;border-radius:var(--r-sm);overflow:hidden;background:#00000029;color:inherit;text-decoration:none}.link-card-image{display:block;width:100%;height:140px;object-fit:cover;background:var(--well)}.link-card-body{display:flex;flex-direction:column;gap:2px;padding:8px 10px}.link-card-site{font-size:11px;font-weight:700;letter-spacing:.2px;opacity:.7}.link-card-title{font-size:13px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-card-text{font-size:12px;opacity:.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mention{font-weight:700;color:var(--accent)}.bubble--mine .mention{color:var(--mine-ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}.mention-picker{flex:0 0 auto;max-height:188px;overflow-y:auto;margin:0 var(--gutter) 8px;padding:4px 0;border-radius:var(--r-lg);border:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-float)}.mention-option{display:flex;gap:10px;align-items:center;width:100%;min-height:var(--tap);padding:8px 14px;border:0;background:none;color:var(--text);text-align:left}.mention-option+.mention-option{border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.mention-everyone{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent);font-size:14px;font-weight:700}.on-photo{background:#080a0e75;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.24);color:#fff}.compose-banner{display:flex;gap:10px;align-items:center;margin:0 var(--gutter) 8px;padding:10px 12px;border-radius:var(--r-lg);border:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-float)}.bubble--gone{background:none;box-shadow:none;border:1px dashed var(--line);color:var(--dim);font-style:italic}.snap-bubble{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:0;font:inherit;font-size:14px;text-align:left;cursor:default}button.snap-bubble{color:inherit}.snap-bubble.is-openable{cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.snap-mark{flex:0 0 auto;width:12px;height:12px;border-radius:3px;border:2px solid var(--accent)}.snap-mark.is-full{background:var(--accent)}.bubble--mine .snap-mark{border-color:var(--accent-glyph)}.bubble--mine .snap-mark.is-full{background:var(--accent-glyph)}.snap-text{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;line-height:1.3}.snap-title{font-weight:700;white-space:nowrap}.snap-line{font-size:12px;opacity:.8}.snap-viewer{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#000;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;animation:snap-in .12s ease-out}@keyframes snap-in{0%{opacity:0}}.snap-viewer.is-next{animation:none}.snap-viewer.is-closing{pointer-events:none;animation:snap-zoom-out 45ms var(--ease-settle) forwards}@keyframes snap-zoom-out{0%{transform:translateY(var(--from-y, 0px)) scale(var(--from-scale, 1));opacity:1}to{transform:translateY(var(--from-y, 0px)) scale(calc(var(--from-scale, 1) * .9));opacity:0}}.snap-photo{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.snap-loading{position:absolute;inset:0;display:grid;place-items:center}.snap-convo{align-self:stretch;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.snap-convo-faces{display:flex;flex:0 0 auto}.snap-convo-faces>*+*{margin-left:-8px;box-shadow:0 0 0 2px var(--surface)}.snap-convo-text{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.snap-convo-who{font-size:14px;font-weight:700}.snap-convo-marks{display:flex;flex-wrap:wrap;gap:4px}.snap-convo-new{flex:0 0 auto;padding:2px 8px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700}.snap-convo-more-faces{width:28px;height:28px;margin-left:-8px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--muted);font-size:11px;font-weight:700}.snap-convo-more{color:var(--muted);font-size:11px;font-weight:700}.snap-spent{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border:0;background:none;color:var(--dim);font:inherit;font-size:11px}button.snap-spent{cursor:pointer}.snap-spent-marks{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700}.snap-spent-mark{width:7px;height:7px;border-radius:2px;border:1.5px solid var(--dim);box-sizing:border-box}.snap-chips{align-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;padding:2px 0}.snap-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;-webkit-touch-callout:none;user-select:none}.snap-chip-name{padding-right:2px;min-width:0;max-width:9em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.snap-chip-count{min-width:18px;height:18px;padding:0 6px;box-sizing:border-box;border-radius:var(--r-pill);background:var(--line);color:var(--text);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.snap-chip-dot{width:7px;height:7px;border-radius:var(--r-pill);background:var(--accent)}.snap-chip.is-waiting{border-color:var(--accent);background:var(--accent-tint);color:var(--text)}.snap-chip.is-waiting .snap-chip-count{background:var(--accent);color:var(--accent-ink)}.snap-chip.is-spent{opacity:.5}.snap-sheet-scrim{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:var(--veil)}.snap-sheet-scrim,.snap-choose-scrim{touch-action:none}.snap-sheet,.snap-choose{touch-action:none;transition:transform .2s var(--ease-settle)}.snap-sheet-list.is-scrolling{touch-action:pan-y}.snap-sheet{width:100%;max-width:calc(520px / var(--zoom, 1));max-height:80vh;display:flex;flex-direction:column;gap:12px;padding:12px var(--gutter) calc(20px + var(--safe-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 -12px 40px #00000059}.snap-sheet-grip{align-self:center;width:40px;height:4px;border-radius:var(--r-pill);background:var(--line)}.snap-sheet-close{min-height:var(--tap);padding:0 16px;border:1px solid var(--glass-edge);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text-2);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.snap-sheet-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.snap-sheet-back{margin-top:32px}.snap-sheet-time{align-self:center;font-size:11px;font-weight:700;color:var(--muted)}.snap-sheet-row{display:flex;align-items:flex-end;gap:8px}.snap-sheet-row.is-mine{justify-content:flex-end;align-items:center}.snap-sheet-theirs{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.snap-sheet-who{font-size:12px;color:var(--muted)}.snap-when{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:1;display:flex;align-items:center;height:44px;padding:0 12px;border-radius:var(--r-pill);background:#0000008c;color:#ffffffd9;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}.snap-who{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:14px;z-index:1;display:flex;align-items:center;gap:10px;padding:4px 14px 4px 4px;border-radius:var(--r-pill);background:#0000008c}.snap-ring{position:relative;width:48px;height:48px;display:grid;place-items:center}.snap-ring-track{position:absolute;inset:0;transform:rotate(-90deg)}.snap-ring-track circle{fill:none;stroke:#ffffff40;stroke-width:3}.snap-ring-track .snap-ring-fill{stroke:#fff;stroke-linecap:round;stroke-dasharray:131.95;stroke-dashoffset:0;animation-name:snap-ring-empty;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes snap-ring-empty{to{stroke-dashoffset:131.95}}.snap-who-text{display:flex;flex-direction:column;gap:1px}.snap-who-name{color:#fff;font-size:14px;font-weight:700}.snap-who-left{color:#ffffffb8;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.snap-held{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.snap-held.is-mine{align-items:flex-end}.snap-held .reaction-row{padding-left:0}.snap-hold-menu{display:flex;flex-direction:column;align-items:inherit;gap:6px;animation:react-pop .2s var(--ease-spring)}.snap-choose-scrim{position:fixed;inset:0;z-index:85;display:flex;align-items:flex-end;justify-content:center;background:var(--veil)}.snap-choose-scrim.is-over-snap{z-index:96}.snap-choose{width:100%;max-width:calc(520px / var(--zoom, 1));display:flex;flex-direction:column;gap:14px;padding:18px var(--gutter) calc(18px + var(--safe-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 -12px 40px #00000059}.snap-choose-title{font-size:17px;font-weight:800;text-align:center}.snap-choose-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.snap-choose-kind{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:110px;border:0;border-radius:var(--r-md);background:var(--accent);color:var(--accent-ink);font:inherit;font-size:17px;font-weight:700;cursor:pointer}.snap-choose-kind--wide{flex-direction:row;gap:14px;min-height:92px;font-size:19px}.snap-choose-kind--quiet{background:var(--surface-2);color:var(--text)}.snap-choose-kind--row{flex-direction:row;gap:10px;min-height:56px;font-size:15px}.snap-choose-kind-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.snap-choose-when{padding:4px 10px;border-radius:var(--r-pill);background:#0b0d1247;font-size:13px;font-weight:700}.snap-stage{position:relative;display:block;width:min(100%,calc(100dvh * var(--fit, var(--ar))));aspect-ratio:var(--ar);overflow:visible;container-type:inline-size}.snap-viewer .snap-photo,.snap-editor .snap-stage-media{filter:var(--look, none)}.snap-filter-name{position:absolute;left:50%;top:42%;z-index:4;transform:translate(-50%,-50%);padding:8px 18px;border-radius:var(--r-pill);background:#0006;color:#fff;font-size:17px;font-weight:700;pointer-events:none;animation:snap-filter-flash .9s var(--ease-settle) both}@keyframes snap-filter-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}15%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0}}@media (prefers-reduced-motion: reduce){.snap-filter-name{animation:none}}.snap-backdrop{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;filter:var(--look,) blur(36px) brightness(.72) saturate(1.2);transform:scale(1.2);pointer-events:none}.snap-stage-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.snap-stage .snap-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none}.snap-decor{position:absolute;inset:0;pointer-events:none;container-type:inline-size}.snap-stage .caption{max-width:86%;padding:1.6cqw 3.2cqw;border-radius:2cqw;font-size:5.2cqw}.snap-sticker{position:absolute;font-size:14cqw;line-height:1;white-space:nowrap;user-select:none;-webkit-user-select:none}.snap-sticker--art{width:1em}.snap-sticker--art img{display:block;width:100%;height:auto;pointer-events:none}.snap-sticker.is-editing{pointer-events:auto;cursor:grab;touch-action:none}.snap-sticker.is-held{cursor:grabbing}.snap-sticker.is-chosen{outline:2px dashed rgba(255,255,255,.8);outline-offset:2px;border-radius:var(--r-sm)}.snap-editor{position:fixed;inset:0;z-index:92;background:#000;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.snap-editor-canvas{position:absolute;inset:0;display:grid;place-items:center}.snap-editor-key{display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:50%;background:#00000073;color:#fff;font:inherit;font-size:19px;font-weight:700;cursor:pointer}.snap-editor-key[aria-pressed=true]{background:#fff;color:#000}.snap-editor-key:disabled{opacity:.4;cursor:default}.snap-editor-close{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));left:12px}.snap-editor-tools{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:12px;display:flex;flex-direction:column;gap:10px}.snap-face-strip{position:absolute;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:4;display:flex;gap:8px;padding:8px;overflow-x:auto;border-radius:var(--r-pill);background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none}.snap-face-look{flex:0 0 auto;display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:22px}.snap-face-look img{width:30px;height:30px;object-fit:contain;pointer-events:none}.snap-face-note{position:absolute;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:4;transform:translate(-50%);padding:8px 16px;border-radius:var(--r-pill);background:#00000080;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;pointer-events:none}.snap-editor-hint{position:absolute;left:0;right:0;bottom:calc(84px + var(--safe-bottom));color:#ffffffd9;font-size:13px;font-weight:700;text-align:center;text-shadow:0 1px 3px rgb(0 0 0 / .6);pointer-events:none}.snap-editor-foot{position:absolute;left:12px;right:12px;bottom:calc(14px + var(--safe-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px}.snap-editor-retake{min-height:var(--tap);padding:0 16px;border:0;border-radius:var(--r-pill);background:#00000073;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.snap-editor-send{display:flex;align-items:center;gap:8px;min-height:48px;max-width:64%;padding:0 18px;border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font:inherit;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.snap-editor-typing{position:absolute;inset:0;z-index:1;display:grid;place-items:start center;padding:24vh var(--gutter) 0;background:#00000073}.snap-editor-input{width:min(100%,520px);padding:10px 14px;border:0;border-radius:var(--r-sm);outline:none;background:#080a0e6b;color:#fff;font:inherit;font-size:22px;font-weight:700;text-align:center}.snap-editor-input::placeholder{color:#fff9}.snap-editor-typing-stack{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(100%,520px)}.caption-fonts,.caption-colors{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.caption-font{width:44px;height:44px;display:grid;place-items:center;padding:0;border:2px solid transparent;border-radius:var(--r-pill);background:#080a0e8c;color:#fff;font-size:17px;font-weight:700}.caption-font[aria-pressed=true]{border-color:var(--accent)}.caption-swatch{width:30px;height:30px;padding:0;border:2px solid rgba(255,255,255,.85);border-radius:var(--r-pill);background:currentColor;box-shadow:0 1px 4px #0006}.caption-swatch.caption--black{background:currentColor}.caption-swatch[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.emoji-scrim.is-over{z-index:95}.emoji-panel.is-over{z-index:96}.snap-choose-note{margin-top:-8px;text-align:center}.snap-choose-error{text-align:center;font-size:13px;color:var(--warn)}.typing-line{display:flex;align-items:center;gap:8px;padding:4px var(--gutter);font-size:13px;color:var(--muted)}.typing-line:empty{padding:0}.typing-dots{display:inline-flex;gap:4px}.typing-dots span{width:5px;height:5px;border-radius:50%;background:currentColor;animation:typing-dot 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion: reduce){.typing-dots span{animation:none;opacity:.7}}.snap-viewer-back{position:absolute;left:50%;bottom:calc(56px + var(--safe-bottom));z-index:1;transform:translate(-50%);padding:10px 22px;border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.snap-seen{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.snap-seen-faces{display:flex}.snap-seen-faces>*+*{margin-left:-6px;box-shadow:0 0 0 2px var(--ground)}.snap-seen-more{font-weight:700}.snap-viewer-seen{position:absolute;left:50%;bottom:calc(56px + var(--safe-bottom));z-index:1;transform:translate(-50%);padding:6px 14px 6px 8px;background:#0009;color:#fff;font-size:13px;font-weight:700}.snap-viewer-seen .snap-seen-faces>*+*{box-shadow:0 0 0 2px #000}.snap-seen-scrim{z-index:95}.snap-seen-notyet{font-size:12px;color:var(--muted)}.snap-seen-row{display:flex;align-items:center;gap:12px;padding:4px 0}.snap-seen-name{font-size:15px;font-weight:700}.quiet-banner{width:fit-content;margin:0 auto 8px;padding:6px 14px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);background:var(--warn-tint);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--warn);font-size:13px;font-weight:700;text-align:center}.snap-clip{display:contents}.snap-viewer>.snap-clip>.snap-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.snap-hint{position:absolute;left:0;right:0;bottom:calc(18px + var(--safe-bottom));color:#ffffffc7;font-size:13px;font-weight:700;text-align:center}@media (prefers-reduced-motion: reduce){.snap-viewer{animation:none}.snap-viewer.is-closing{animation:none;opacity:0}}.message-actions{display:flex;gap:4px;padding:4px 6px 6px}.message-actions button{flex-grow:1;min-height:32px;padding:0 12px;border:0;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:700}.message-actions .is-danger{color:var(--danger)}.streak-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent);font-size:13px;font-weight:700}.streak-mark{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700}.roster-rail{display:flex;gap:14px;flex:0 0 auto;overflow-x:auto;overflow-y:hidden;padding-top:14px;padding-bottom:2px;scrollbar-width:none}.roster-rail::-webkit-scrollbar{display:none}.roster-item{display:flex;flex-direction:column;align-items:center;gap:12px;flex:0 0 auto;width:68px;padding:0;border:0;background:none;color:var(--text)}.roster-item .ring{width:var(--face);height:var(--face)}.roster-item:disabled{opacity:1;cursor:default}.roster-add{display:grid;place-items:center;width:100%;height:100%;border-radius:var(--r-pill);color:var(--accent)}.roster-badge{position:absolute;right:-2px;top:-2px;min-width:18px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent);box-shadow:0 0 0 2px var(--ground);color:var(--accent-ink);font-size:10px;font-weight:700;line-height:18px;text-align:center}.family-bar{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;border-radius:var(--r-lg);background:var(--surface);transition:background-color .3s ease}.family-bar.is-everyone{background:var(--accent-tint)}.family-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.family-count{font-size:14px;color:var(--text-2)}.family-count b{color:var(--text);font-size:15px;font-weight:800}.family-streak{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:13px;font-weight:700;white-space:nowrap}.family-streak.is-none{color:var(--muted);font-weight:700}.family-segments{display:flex;gap:4px}.family-segments span{flex:1;height:6px;border-radius:3px;background:var(--well);transition:background-color .3s ease}.family-segments .is-in{background:var(--accent)}.face-streak{position:absolute;left:50%;bottom:-8px;transform:translate(-50%);display:inline-flex;align-items:center;gap:2px;padding:0 6px 0 4px;border-radius:var(--r-pill);background:var(--surface-2);box-shadow:0 0 0 2px var(--ground);color:var(--accent);font-size:11px;font-weight:700;line-height:16px;white-space:nowrap}.face-streak.is-at-risk{background:var(--warn-tint);color:var(--warn);animation:streak-at-risk 1.8s ease-in-out infinite}@keyframes streak-at-risk{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.12)}}.face-crown{position:absolute;left:50%;top:-13px;transform:translate(-50%);display:flex;color:var(--warn);filter:drop-shadow(0 0 1.5px var(--ground))}.face-first{position:absolute;left:-4px;top:-2px;padding:0 6px;border-radius:var(--r-pill);background:var(--saved);box-shadow:0 0 0 2px var(--ground);color:var(--accent-ink);font-size:10px;font-weight:700;line-height:16px}@media (prefers-reduced-motion: reduce){.face-streak.is-at-risk{animation:none}}.roster-name{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}.caught-up{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.2px}.caught-up:before,.caught-up:after{content:"";flex:1;height:1px;background:var(--line)}.new-pill{flex:none;padding:4px 10px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;letter-spacing:.3px}.opened-card{flex:0 0 auto;display:flex;flex-direction:column;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:0;border-radius:var(--r-md);background:var(--surface);color:var(--text);overflow:hidden;text-align:left}.opened-shot{position:relative;display:block;aspect-ratio:4 / 5}.name-pill{min-width:0;margin-right:auto;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:var(--r-pill);background:#0b0d12b8;color:#fff}.name-pill-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700}.inset-shot{position:absolute;left:12px;top:12px;width:24%;aspect-ratio:3 / 4;border-radius:var(--r-sm);overflow:hidden;border:2px solid var(--surface);background:var(--well)}.reply-input{flex-grow:1;min-height:38px;padding:0 14px;border:0;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text);font-family:var(--font-read)}.comment-text{font-family:var(--font-read)}.pager-advance,.pager-back{position:absolute;top:0;bottom:0;z-index:1;padding:0;border:0;background:none;touch-action:none}.pager-back{left:0;width:28%}.pager-advance{left:28%;right:0}.pager-top,.pager-bottom,.pager-inset{z-index:2}.pager-top{position:absolute;left:16px;right:16px;top:calc(28px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px}.pager-bottom{position:absolute;left:16px;right:16px;bottom:26px;display:flex;flex-direction:column;gap:16px}.snap-step{position:absolute;inset:0;z-index:40;overflow:hidden;background:#000}.snap-step-shot{width:100%;height:100%;object-fit:contain;display:block}.snap-step-inset{position:absolute;left:14px;top:76px;width:92px;height:122px;border-radius:var(--r-sm);border:2px solid var(--ground);object-fit:cover}.snap-step-top{position:absolute;left:16px;right:16px;top:calc(16px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px}.snap-step-foot{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:90px 20px calc(30px + var(--safe-bottom));color:#fff;background:linear-gradient(to top,#0b0d12f0,#0b0d1200)}.snap-step-title{font-size:27px;font-weight:800;letter-spacing:-.5px}.snap-step-sub{margin-top:-6px;font-size:14px;font-weight:500;color:#ffffffbd;text-align:center}.snap-step-go{width:78px;height:78px;margin-top:4px;border:4px solid var(--accent);border-radius:var(--r-pill);background:var(--accent);color:var(--accent-glyph);display:flex;align-items:center;justify-content:center}.snap-step-surface{position:absolute;inset:0;z-index:1;touch-action:none}.snap-step-inset,.snap-step-top,.snap-step-foot,.snap-step-tools{z-index:2}.snap-step-foot{pointer-events:none}.snap-step-foot>*{pointer-events:auto}.snap-step-tools{position:absolute;right:16px;top:calc(72px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:10px}.snap-step-hint{font-size:13px;font-weight:700;color:#ffffffd9;text-shadow:0 1px 3px rgb(0 0 0 / .6)}.snap-step .snap-editor-typing{z-index:3}.capture-clock{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent);font-size:13px;font-weight:700}.capture-hint{position:absolute;left:16px;right:16px;bottom:90px;text-align:center;font-size:13px;color:var(--muted)}.comments-scrim{position:absolute;inset:0;z-index:5;border:0;padding:0;background:#0b0d1259;animation:scrim-in .2s ease backwards;transition:opacity .24s ease;touch-action:none}.comments-scrim.is-going{opacity:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pager-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.comments-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;display:flex;flex-direction:column;padding:10px 0 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:var(--r-xl) var(--r-xl) 0 0;background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);box-shadow:0 -12px 40px #00000059;color:var(--text);transition:transform .24s var(--ease-settle);animation:sheet-in .24s var(--ease-settle) backwards;touch-action:none}.comments-sheet.is-going{transform:translateY(100%)!important}.comments-send{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-glyph);display:flex;align-items:center;justify-content:center}.comments-send:disabled{background:var(--well);color:var(--dim)}.comments-head{flex:0 0 auto;cursor:grab}.comments-grab{display:block;width:38px;height:4px;margin:0 auto 12px;border-radius:var(--r-pill);background:var(--line)}.comments-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:4px 16px 16px}.comments-composer{flex:0 0 auto;align-items:center;padding:12px 16px calc(14px + var(--safe-bottom));border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.comments-composer .reply-input{min-height:44px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--surface-2) 80%,transparent);font-size:15px}.comments-title{display:flex;align-items:center;gap:8px;padding:0 16px 12px 20px}.comments-title-text{font-size:19px;font-weight:700;letter-spacing:-.3px}.comments-count{min-width:24px;padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-2);font-size:13px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.comments-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-2)}.comment{display:flex;align-items:flex-start;gap:10px}.comment-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1 1 auto}.comment-bubble{display:flex;flex-direction:column;gap:2px;max-width:100%;padding:8px 12px 10px;border-radius:5px var(--r-md) var(--r-md) var(--r-md);background:color-mix(in srgb,var(--surface-2) 85%,transparent)}.comment-bubble.is-mine{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.comment-who{display:flex;align-items:baseline;gap:8px}.comment-name{font-size:13px;font-weight:700;color:var(--text)}.comment-when{font-size:11px;color:var(--dim)}.comment-bubble .comment-text{font-size:15px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}.comments-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px 12px;text-align:center}.comments-empty-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.comments-empty-title{font-size:15px;font-weight:700}.comments-empty-body{font-size:13px;color:var(--muted)}.memory-shot{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--well);isolation:isolate}.memory-shot img,.memory-shot video{display:block;width:100%;max-height:60vh;object-fit:contain}.memory-age{position:absolute;top:12px;left:12px;padding:6px 12px;border-radius:var(--r-pill);background:#0b0d12c7;color:var(--warn);font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.memory-foot{position:absolute;left:0;right:0;bottom:0;display:block;padding:56px 14px 14px;color:#fff;background:linear-gradient(to top,#0b0d12f0,#0b0d1200)}.week-strip{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.week-strip::-webkit-scrollbar{display:none}.week-thumb{flex:0 0 auto;width:78px;height:98px;padding:0;border:0;border-radius:var(--r-sm);overflow:hidden;background:var(--well)}.week-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media (prefers-reduced-motion: reduce){.pager,.comments-sheet,.comments-scrim{animation-duration:1ms;transition-duration:1ms}}.new-build{position:absolute;left:50%;bottom:calc(96px + var(--safe-bottom));z-index:45;transform:translate(-50%);max-width:calc(100% - 32px);padding:10px 18px;border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-family:var(--font);font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px #0b0d128c;animation:scrim-in .2s ease backwards}.avatar-edit{position:relative;flex:0 0 auto;padding:0;border:0;background:none;line-height:0}.avatar-edit-badge{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:var(--r-pill);border:2px solid var(--ground);background:var(--accent);color:var(--accent-glyph);display:flex;align-items:center;justify-content:center}.crop{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:18px;padding:16px var(--gutter) calc(20px + var(--safe-bottom))}.crop-head{display:flex;align-items:center;width:100%;gap:12px}.crop-frame{position:relative;width:min(100%,320px);aspect-ratio:1;border-radius:var(--r-pill);overflow:hidden;background:var(--well);touch-action:none;cursor:grab}.crop-frame img{position:absolute;top:0;left:0;max-width:none;user-select:none;-webkit-user-drag:none}.crop-zoom{display:block;width:min(100%,320px)}.crop-zoom input{width:100%;accent-color:var(--accent)}.kept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.kept-tile{position:relative;aspect-ratio:1;padding:0;border:0;border-radius:var(--r-sm);overflow:hidden;background:var(--well)}.kept-tile img,.kept-tile video{width:100%;height:100%;object-fit:cover;display:block}.kept-who{position:absolute;left:0;right:0;bottom:0;padding:14px 8px 6px;color:#fff;font-size:11px;font-weight:700;text-align:left;background:linear-gradient(to top,#0b0d12e6,#0b0d1200);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caption-frame{position:absolute;inset:0;z-index:3;pointer-events:none}.caption-frame.is-shown{z-index:2}.caption{position:absolute;width:max-content;max-width:78%;padding:6px 12px;border-radius:var(--r-sm);background:#080a0e6b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:19px;font-weight:700;line-height:1.3;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;transform-origin:center center}.caption--serif{font-family:Playfair Display,Georgia,serif}.caption--marker{font-family:Permanent Marker,Marker Felt,cursive;font-synthesis:none}.caption--script{font-family:Caveat,Snell Roundhand,cursive;font-size:22px}.caption--typewriter{font-family:Courier Prime,Courier New,monospace}.caption--white{color:#fff}.caption--black{color:#111318;background:#ffffffb8}.caption--yellow{color:#ffd60a}.caption--red{color:#ff5a4f}.caption--pink{color:#ff7ab6}.caption--blue{color:#5aaeff}.caption--green{color:#4ade80}.caption--purple{color:#c39bff}.caption.is-editing{pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;outline:2px dashed rgba(255,255,255,.5);outline-offset:4px}.caption.is-editing.is-held{cursor:grabbing;outline-color:var(--accent)}.caption-edge{position:absolute;top:50%;width:28px;height:max(32px,100%);transform:translateY(-50%);cursor:ew-resize;touch-action:none}.caption-edge--left{left:-18px}.caption-edge--right{right:-18px}.caption-edge:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:18px;border-radius:var(--r-pill);background:#fff;box-shadow:0 1px 3px #00000073;transform:translate(-50%,-50%)}.caption.is-editing.is-held .caption-edge:after{background:var(--accent)}.poll{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.poll-option{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--text);text-align:left;overflow:hidden}.poll-choose{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:4px 0;border:0;background:none;color:inherit;text-align:left}.poll-choose:disabled{cursor:default}.poll-option.is-mine{border-color:var(--accent)}.poll-option:disabled{opacity:.75;cursor:default}.poll-bar{position:absolute;left:0;top:0;bottom:0;background:var(--accent-tint);transition:width .26s var(--ease-settle);pointer-events:none}.poll-option>*{position:relative}.poll-face{flex:0 0 auto;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-sm);overflow:hidden;background:var(--well);display:flex;align-items:center;justify-content:center;color:var(--accent)}button.poll-face{cursor:zoom-in}.poll-face img{width:100%;height:100%;object-fit:cover}.poll-tick{display:flex}.poll-label{font-size:15px;font-weight:700;line-height:1.3;width:100%;overflow-wrap:anywhere}.poll-voters{display:flex;align-items:center;gap:4px;width:100%;min-width:0}.poll-names{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.poll-count{flex:0 0 auto;min-width:18px;text-align:right;font-size:13px;font-weight:700}.poll-edit{border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:700;padding:2px 4px}.poll-pick{flex:0 0 auto;width:44px;height:44px;border-radius:var(--r-sm);border:1px dashed var(--line);background:var(--surface-2);color:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.poll-pick img{width:100%;height:100%;object-fit:cover}.toast{position:absolute;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%);z-index:60;max-width:calc(100% - 72px);padding:8px 14px;border-radius:var(--r-pill);background:#080a0eeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:700;text-align:center;line-height:1.3;pointer-events:none;animation:toast-in .18s var(--ease-settle) backwards}.toast.is-bad{background:#3a1416f0;border-color:#ff6b6b66}@keyframes toast-in{0%{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%);opacity:1}}.confirm-scrim{z-index:70}.confirm{position:absolute;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100% - 48px));padding:22px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center;animation:confirm-in .2s var(--ease-settle) backwards}.confirm .row{width:100%}@keyframes confirm-in{0%{transform:translate(-50%,calc(-50% + 8px)) scale(.97);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.btn--danger{background:var(--danger-tint);color:var(--danger);border:1px solid var(--danger)}.recap-card{display:flex;flex-direction:column;gap:10px;width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--text);font:inherit;text-align:left}.recap-card-shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.recap-card-shots img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--r-sm);background:var(--well)}.recap-card-words{display:flex;flex-direction:column;gap:2px;padding:0 4px 2px}.recap-card-title{font-size:15px;font-weight:700}.recap-card-meta,.recap-meta{font-size:12px;color:var(--dim)}.recap-view{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--ground)}.recap-head{display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 12px;border-bottom:1px solid var(--line)}.recap-head-words{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.recap-title{margin:0;font-size:19px;font-weight:700}.recap-grid{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px var(--gutter) calc(24px + env(safe-area-inset-bottom,0px))}.recap-columns{columns:2;column-gap:6px}.recap-shot{position:relative;margin:0 0 6px;break-inside:avoid;border-radius:var(--r-sm);overflow:hidden;background:var(--well)}.recap-shot img{display:block;width:100%;aspect-ratio:var(--ar);object-fit:cover}.recap-shot-who{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:6px;padding:20px 8px 8px;background:linear-gradient(transparent,#0000008c);color:#fff;font-size:12px;font-weight:700}.recap-shot-day{margin-left:auto;font-weight:500;opacity:.85}@media (min-width: 900px){:root{--gutter: 26px}.app{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) calc(520px / var(--zoom, 1));grid-template-rows:100%}.pane{grid-column:1;grid-row:1;min-width:0}.app:not(:has(>.bento))>.pane{grid-column:1 / -1}.bento{grid-column:2;grid-row:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;padding:18px 18px 18px 0}.tile{min-width:0;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.tile-prompt,.tile-shots,.bento-actions{grid-column:1 / -1}.tile-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-on-tint)}.tile-eyebrow--quiet{color:var(--dim)}.tile-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tile-lead{font-size:22px;font-weight:800;letter-spacing:-.02em}.tile-big{font-size:32px;font-weight:800;letter-spacing:-.03em}.tile-meta{font-size:13px;color:var(--dim)}.tile-btn{flex:0 0 auto;white-space:nowrap;min-height:42px;padding:0 18px;gap:8px}.tile-faces{display:flex}.tile-faces>*+*{margin-left:-8px}.tile-faces>*{box-shadow:0 0 0 2px var(--surface)}.tile-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(180px,1fr);gap:8px;padding:8px;overflow-y:auto}.tile-empty{grid-column:1 / -1;place-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.bento-shot{position:relative;overflow:hidden;border:0;padding:0;border-radius:var(--r-md);background:var(--well);cursor:pointer}.bento-shot-media,.bento-shot .locked-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bento-shot-who{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:6px;padding:24px 8px 8px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(transparent,#0000008c)}.bento-shot-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bento-shot-time{margin-left:auto;font-size:11px;font-weight:500;opacity:.8;white-space:nowrap}.tile-recap{grid-column:1 / -1;padding:0;border:0;background:none}.recap-columns{columns:4}.bento-actions{display:flex;gap:12px}.bento-action{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:14px;font-weight:600}.grid3{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.msg-in{margin-left:-8px}.bubble{max-width:460px}.pager-page{max-width:520px;margin:0 auto}.scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.scroll::-webkit-scrollbar{width:12px}.scroll::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb{background:var(--line);background-clip:content-box;border:4px solid transparent;border-radius:var(--r-pill)}.scroll:hover::-webkit-scrollbar-thumb{background:var(--dim);background-clip:content-box}}.photo-sheet-scrim{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;background:var(--veil)}.photo-sheet{width:100%;max-width:calc(520px / var(--zoom, 1));display:flex;flex-direction:column;gap:14px;padding:14px var(--gutter) calc(24px + var(--safe-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:1px solid var(--glass-edge);background:color-mix(in srgb,var(--surface) 76%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 -12px 40px #00000059}.photo-sheet-face{position:relative;align-self:center}.photo-sheet-badge{position:absolute;right:-2px;bottom:-2px;width:34px;height:34px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--accent);color:var(--accent-glyph);box-shadow:0 0 0 3px var(--surface)}.photo-sheet-title{font-size:22px;font-weight:800;text-align:center}.photo-sheet-why{padding:0 12px;color:var(--muted);font-size:14px;line-height:1.5;text-align:center}.photo-sheet-later{align-self:center;padding:6px 12px;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.photo-banner{display:flex;align-items:center;gap:12px;margin:10px var(--gutter) 0;padding:10px 12px;border:1px solid var(--glass-edge);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--lift)}.photo-banner-face{position:relative;flex:0 0 auto}.photo-banner-plus{position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--accent);color:var(--accent-glyph);font-size:15px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--surface)}.photo-banner-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.photo-banner-title{font-size:14px;font-weight:700}.photo-banner-line{color:var(--muted);font-size:13px}.photo-banner-add{flex:0 0 auto;padding:8px 14px;border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.photo-banner-close{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer}.photo-tip{position:relative;display:flex;align-items:center;gap:10px;margin:12px var(--gutter) 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-size:14px;line-height:1.3}.photo-tip-arrow{position:absolute;top:-6px;left:12px;width:12px;height:12px;background:var(--accent);transform:rotate(45deg)}.photo-tip-text{flex:1 1 auto;min-width:0}.photo-tip-ok{flex:0 0 auto;padding:6px 12px;border:0;border-radius:var(--r-pill);background:#fff3;color:#fff;font:inherit;font-weight:700;cursor:pointer}.photo-crop{position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;background:var(--ground)}.composer-pending{display:flex;gap:8px;padding:10px var(--gutter) 2px;overflow-x:auto}.composer-pending-item{position:relative;flex:0 0 auto;width:64px;height:64px;border-radius:var(--r-sm);overflow:hidden;background:var(--surface-2)}.composer-pending-item img{width:100%;height:100%;object-fit:cover;display:block}.composer-pending-clip{width:100%;height:100%;display:grid;place-items:center;color:var(--text-2)}.composer-pending-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:0;border-radius:var(--r-pill);display:grid;place-items:center;background:#0b0d12b8;color:#fff;cursor:pointer}.pinned-bar{display:flex;align-items:center;gap:4px;margin:8px var(--gutter) 0;padding:4px 4px 4px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.event-tile{flex:0 0 auto;width:40px;height:42px;border-radius:var(--r-sm);background:var(--accent-tint);color:var(--accent-on-tint);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.event-tile small{font-size:10px;font-weight:700;letter-spacing:.08em}.event-tile b{margin-top:2px;font-size:17px;font-weight:700}.pinned-event,.pin-item-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.pinned-event-name,.pin-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--text)}.pinned-event-when,.pin-item-when{font-size:12px;color:var(--accent-on-tint);font-weight:600}.pinned-count{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;min-height:32px;padding:0 8px 0 10px;border:0;border-radius:var(--r-pill);background:var(--well);color:var(--text-2);font-size:12px;font-weight:700}.pin-sheet{max-height:88vh;overflow-y:auto}.pin-sheet-quote{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--well)}.pin-sheet-quote .reply-rail-tick{align-self:stretch}.pin-sheet-quote-text{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.5;color:var(--text-2)}.pin-field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px}.pin-field>span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.pin-field input{min-height:var(--tap);padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--ground);color:var(--text);font:inherit;font-size:15px;color-scheme:inherit}.pin-when{display:flex;gap:10px}.pin-found{margin-top:-6px;font-size:12px;color:var(--accent-on-tint)}.pin-remind{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--well)}.pin-remind-words{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;font-size:14px;font-weight:600}.pin-remind-words small{font-size:12px;font-weight:500;color:var(--muted)}.pin-remind input{width:22px;height:22px;accent-color:var(--accent)}.pin-go:disabled{opacity:.45}.pin-plain{min-height:var(--tap);border:0;background:none;color:var(--text-2);font:inherit;font-size:14px;font-weight:600}.pin-group{display:flex;flex-direction:column}.pin-group-head{margin:4px 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.pin-item{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--line)}.pin-group .pin-item:last-child{border-bottom:0}.pin-item-open{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 0;border:0;background:none;color:var(--dim);font:inherit;text-align:left}.pin-item-mark{flex:0 0 auto;width:40px;display:grid;place-items:center;color:var(--dim)}.pin-item-by{font-size:12px;color:var(--dim)}.pinned-open{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 0;border:0;background:none;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.pinned-mark{flex:0 0 auto;display:flex;color:var(--accent)}.pinned-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pinned-who{font-weight:700}.pinned-close{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer}.streak-nudge{display:flex;align-items:center;gap:4px;margin:8px var(--gutter) 0;padding:4px 4px 4px 12px;border:1px solid var(--glass-edge);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--lift)}.streak-nudge-open{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.streak-nudge-days{font-size:14px;font-weight:700}.streak-nudge-line{color:var(--accent);font-size:13px;font-weight:700}.streak-nudge-close{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer}.crash{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px var(--gutter);text-align:center;background:var(--ground);color:var(--text)}.crash-title{font-size:19px;font-weight:800}.crash-line{color:var(--muted);font-size:14px}.offline-note{margin:8px var(--gutter) 0;padding:8px 12px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:700;text-align:center}.locked-shot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 28% 22%,color-mix(in srgb,var(--accent) 38%,transparent),transparent 55%),radial-gradient(circle at 75% 70%,color-mix(in srgb,var(--accent-on-tint) 30%,transparent),transparent 60%),var(--well)}.locked-call{padding:10px 18px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:15px}.push-note{margin:0;padding:0 16px 14px;color:var(--warn);line-height:1.5}.photo-banner-close,.pinned-close,.streak-nudge-close,.reaction-key{position:relative}.photo-banner-close:before,.pinned-close:before,.streak-nudge-close:before,.composer-pending-remove:before{content:"";position:absolute;inset:calc((100% - var(--tap)) / 2)}.reaction-key:before{content:"";position:absolute;inset:calc((100% - var(--tap)) / 2) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:64px 32px;text-align:center}.empty-state-mark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.empty-state-title{font-size:17px;font-weight:700}.empty-state-body{max-width:32ch;font-size:13px;line-height:1.5;color:var(--muted)}.empty-state>.btn{margin-top:6px}.empty-state.on-dark .empty-state-title{color:#fff}.empty-state.on-dark .empty-state-body{color:#ffffffb3}:where(button,a,[role=button],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover: hover) and (pointer: fine){button:not(:disabled):hover{filter:brightness(1.12)}}.card-foot{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:6px}.card-activity{flex:none;display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:var(--r-pill);background:#0b0d12c7;color:#fff;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.card-activity-part{display:flex;align-items:center;gap:6px}.card-activity-emoji{font-size:17px;letter-spacing:-2px}.card-activity-part.is-unread{margin:-4px -8px -4px 0;padding:4px 8px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink)}.recorder{position:fixed;inset:0;z-index:98;background:#000;color:#fff}.recorder-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.recorder-preview.is-mirrored{transform:scaleX(-1)}.recorder-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px}.recorder-close,.recorder-flip{width:var(--tap);height:var(--tap);display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-pill);background:#0b0d128f;color:#fff}.recorder-clock{margin-left:auto;padding:4px 12px;border-radius:var(--r-pill);background:#e5484d;color:#fff;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.recorder-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:20px 32px calc(var(--safe-bottom, 0px) + 28px)}.recorder-spacer{width:var(--tap)}.recorder-shutter{width:76px;height:76px;display:grid;place-items:center;padding:0;border:4px solid #fff;border-radius:var(--r-pill);background:transparent}.recorder-shutter-mark{width:58px;height:58px;border-radius:var(--r-pill);background:#e5484d;transition:width .16s var(--ease-settle),height .16s var(--ease-settle),border-radius .16s var(--ease-settle)}.recorder-shutter.is-recording .recorder-shutter-mark{width:28px;height:28px;border-radius:var(--r-sm)}.recorder-failed{position:absolute;left:24px;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;font-size:15px;line-height:1.5}.recorder-failed p{margin:0}:root img.photo-wait{object-position:0 -100000px;background-color:var(--well);background-image:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--text) 8%,transparent) 50%,transparent 70%);background-size:250% 100%;background-repeat:no-repeat;animation:photo-wait 1.4s var(--ease-in-out) infinite}:root img.photo-wait--preview{background-size:cover;background-position:center;animation:none}:root img.photo-in{animation:photo-in .22s var(--ease-settle)}:root img.photo-sharpen{animation:photo-sharpen .32s var(--ease-settle)}@keyframes photo-wait{0%{background-position:100% 0}to{background-position:0% 0}}@keyframes photo-in{0%{opacity:0}}@keyframes photo-sharpen{0%{filter:blur(12px)}}@media (prefers-reduced-motion: reduce){:root img.photo-wait,:root img.photo-in,:root img.photo-sharpen{animation:none}}
