@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}:root{color-scheme:light dark;--font: "Inter Variable", Inter, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-base: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 28px;--r-xs: 8px;--r-sm: 10px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 999px;--radius: 14px;--ease: cubic-bezier(.16, 1, .3, 1);--pdf-slide: .28s cubic-bezier(.32, .72, 0, 1);--roll: .21s cubic-bezier(.2, .8, .3, 1);--rail-w: 76px;--pane-w: 340px;--bg: #000000;--surface-1: #0a0a0e;--surface-2: #17171d;--surface-3: #22222a;--canvas: #0e0e14;--hover: rgba(255, 255, 255, .055);--scrollbar: rgba(255, 255, 255, .22);--pressed: rgba(255, 255, 255, .09);--separator: #2a2a31;--text-primary: #ffffff;--text-secondary: #a6a6b0;--text-tertiary: #8a8a99;--accent: #6464f2;--accent-hover: #7878f6;--accent-soft: #23234a;--accent-text: #a7a7fa;--on-accent: #ffffff;--bubble-in: #22222a;--bubble-border: transparent;--danger: #ff6b61;--danger-bg: #c0271d;--danger-soft: #3a1512;--online: #34c759;--warn-bg: #3a2a12;--warn-text: #f5d9a6;--ok-bg: #14331c;--ok-text: #7ddea0;--scrim: rgba(0, 0, 0, .66);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 14px 40px rgba(0, 0, 0, .6);--skeleton: rgba(255, 255, 255, .07);--skeleton-shine: rgba(255, 255, 255, .13);--pdf-canvas: #111113;--pdf-sidebar: #1a1a1d}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #ffffff;--surface-1: #f7f7fa;--surface-2: #ffffff;--surface-3: #ffffff;--canvas: #f1f1f6;--hover: rgba(10, 10, 25, .045);--scrollbar: rgba(10, 10, 25, .22);--pressed: rgba(10, 10, 25, .08);--separator: #e2e2e8;--text-primary: #0b0b12;--text-secondary: #555562;--text-tertiary: #6c6c7a;--accent: #5e5ce6;--accent-hover: #4b49d6;--accent-soft: #ececfc;--accent-text: #4b49d6;--on-accent: #ffffff;--bubble-in: #ffffff;--bubble-border: #e5e5ec;--danger: #d02a1b;--danger-bg: #c62716;--danger-soft: #fdecea;--online: #1b7e3f;--warn-bg: #fff4de;--warn-text: #7a5310;--ok-bg: #e4f7ea;--ok-text: #1d7a3e;--scrim: rgba(18, 18, 30, .34);--shadow-sm: 0 1px 3px rgba(15, 15, 30, .1);--shadow-md: 0 14px 40px rgba(15, 15, 30, .16);--skeleton: rgba(10, 10, 25, .07);--skeleton-shine: rgba(10, 10, 25, .03);--pdf-canvas: #ececf0;--pdf-sidebar: #f7f7f9}}:root[data-theme=light]{--bg: #ffffff;--surface-1: #f7f7fa;--surface-2: #ffffff;--surface-3: #ffffff;--canvas: #f1f1f6;--hover: rgba(10, 10, 25, .045);--scrollbar: rgba(10, 10, 25, .22);--pressed: rgba(10, 10, 25, .08);--separator: #e2e2e8;--text-primary: #0b0b12;--text-secondary: #555562;--text-tertiary: #6c6c7a;--accent: #5e5ce6;--accent-hover: #4b49d6;--accent-soft: #ececfc;--accent-text: #4b49d6;--on-accent: #ffffff;--bubble-in: #ffffff;--bubble-border: #e5e5ec;--danger: #d02a1b;--danger-bg: #c62716;--danger-soft: #fdecea;--online: #1b7e3f;--warn-bg: #fff4de;--warn-text: #7a5310;--ok-bg: #e4f7ea;--ok-text: #1d7a3e;--scrim: rgba(18, 18, 30, .34);--shadow-sm: 0 1px 3px rgba(15, 15, 30, .1);--shadow-md: 0 14px 40px rgba(15, 15, 30, .16);--skeleton: rgba(10, 10, 25, .07);--skeleton-shine: rgba(10, 10, 25, .03);--pdf-canvas: #ececf0;--pdf-sidebar: #f7f7f9}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);font-size:var(--fs-base);-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}button{cursor:pointer}a{color:var(--accent-text);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rolling{white-space-collapse:preserve}.roll-word{white-space:nowrap}.roll-slot{position:relative;display:inline-block}.roll-in{display:inline-block;animation:roll-in var(--roll) backwards}.roll-out{position:absolute;inset:0;opacity:0;animation:roll-out var(--roll)}.rolling-down .roll-in{animation-name:roll-in-down}.rolling-down .roll-out{animation-name:roll-out-down}@keyframes roll-in{0%{opacity:0;transform:translateY(50%)}}@keyframes roll-out{0%{opacity:1}to{opacity:0;transform:translateY(-50%)}}@keyframes roll-in-down{0%{opacity:0;transform:translateY(-50%)}}@keyframes roll-out-down{0%{opacity:1}to{opacity:0;transform:translateY(50%)}}@keyframes roll-fade-in{0%{opacity:0}}@keyframes roll-fade-out{0%{opacity:1}to{opacity:0}}@supports (animation-timing-function: linear(0,1)){:root{--roll: .21s linear(0, .174, .461, .699, .854, .941, .983, 1)}}@media(prefers-reduced-motion:reduce){.roll-in,.rolling-down .roll-in{animation:roll-fade-in .15s ease-out backwards}.roll-out,.rolling-down .roll-out{animation:roll-fade-out .15s ease-out}}.btn{height:48px;border-radius:var(--radius);border:0;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;width:100%;text-decoration:none;transition:background .15s ease,opacity .15s ease}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--separator)}.btn-secondary:hover:not(:disabled){background:var(--hover)}.field{width:100%;height:44px;border-radius:var(--r-md);border:1px solid var(--separator);background:var(--surface-2);color:var(--text-primary);padding:0 14px;font-size:var(--fs-base);outline:none}.field::placeholder{color:var(--text-tertiary)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.err{color:var(--danger);font-size:var(--fs-sm);margin:0;width:100%}.lede{margin:10px 0 0;color:var(--text-secondary);text-align:center;font-size:var(--fs-base);line-height:1.45}.copy-pill{background:var(--accent-soft);color:var(--accent-text);border:0;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;padding:5px 11px;display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.copy-pill:hover{background:var(--accent);color:var(--on-accent)}.auth{height:100%;display:grid;grid-template-columns:clamp(320px,40vw,780px) minmax(0,1fr);background:var(--bg)}.auth-brand{position:relative;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:clamp(28px,4vw,56px);background:var(--surface-1);border-right:1px solid var(--separator)}.auth-glow{position:absolute;width:760px;height:760px;top:-180px;left:-160px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 34%,transparent) 0%,color-mix(in srgb,var(--accent) 8%,transparent) 42%,transparent 70%);pointer-events:none;animation:auth-breathe 9s ease-in-out infinite}@keyframes auth-breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}.auth-brand-inner{position:relative;z-index:1;width:min(480px,100%);margin-block:auto;max-height:100%;min-height:0;overflow:auto}.auth-brand-title{margin:clamp(14px,2.2vh,22px) 0 0;font-size:clamp(27px,2.5vw,46px);line-height:1.12;font-weight:700;letter-spacing:-.035em}.auth-brand-sub{margin:clamp(10px,1.6vh,14px) 0 0;font-size:clamp(var(--fs-base),1.05vw,19px);line-height:1.5;color:var(--text-secondary);max-width:38ch}.auth-mark{width:52px;height:52px;border-radius:22.5%;display:grid;place-items:center;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 35%,transparent)}.auth-mark-compact,.auth-mobile-kicker{display:none}.auth-trust{list-style:none;margin:clamp(20px,4vh,34px) 0 0;padding:0;display:grid;gap:clamp(11px,2vh,16px)}.auth-trust li{display:flex;gap:12px;align-items:flex-start}.auth-trust li>span{width:32px;height:32px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;flex-shrink:0}.auth-trust strong{display:block;font-size:var(--fs-md);font-weight:600}.auth-trust div>span{display:block;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.45}.auth-panel{min-height:0;min-width:0;display:flex;padding:clamp(28px,4vw,56px);overflow-y:auto}.auth-card{width:min(440px,100%);margin:auto}.auth-card h1{margin:0;font-size:clamp(24px,1.9vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1.15}.auth-sub{margin:10px 0 0;font-size:var(--fs-base);line-height:1.5;color:var(--text-secondary)}.auth-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:18px;padding:0;border:0;background:none;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:600}.auth-back:hover{color:var(--text-primary)}.auth-steps{display:flex;align-items:center;gap:6px;margin-bottom:16px}.auth-step{width:26px;height:3px;border-radius:2px;background:var(--separator);transition:background .25s var(--ease)}.auth-step.done{background:var(--accent)}.auth-steps em{margin-left:6px;font-style:normal;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.auth-form{display:flex;flex-direction:column;gap:clamp(12px,2vh,16px);margin-top:clamp(18px,3vh,26px)}.auth-form .btn{margin-top:2px}.auth-note{margin:0;font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.55}.auth-foot{margin:22px 0 0;font-size:var(--fs-sm);color:var(--text-secondary)}.auth-foot a,.auth-link{color:var(--accent-text);font-weight:600;background:none;border:0;padding:0;font-size:inherit}.auth-foot a:hover,.auth-link:hover{text-decoration:underline}.auth-link{align-self:flex-start;font-size:var(--fs-sm)}.auth-error{margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);line-height:1.45}.auth-ok{margin:0;display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:var(--r-sm);background:var(--ok-bg);color:var(--ok-text);font-size:var(--fs-sm);font-weight:600}.auth-identity{margin:0;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--separator);font-size:var(--fs-sm);color:var(--text-secondary)}.auth-identity strong{color:var(--text-primary)}.auth-warn{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border-radius:var(--r-md);background:var(--warn-bg);color:var(--warn-text)}.auth-warn p{margin:0;font-size:var(--fs-sm);line-height:1.5}.auth-warn>svg{flex-shrink:0;margin-top:1px}.auth-checks{display:grid;gap:14px}.afield{display:flex;flex-direction:column;gap:6px}.afield>label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.afield-wrap{position:relative;display:flex}.afield-input{width:100%;height:46px;border-radius:var(--r-md);border:1px solid var(--separator);background:var(--surface-2);color:var(--text-primary);padding:0 14px;font-size:16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.afield-wrap .afield-input{padding-right:44px}.afield-input::placeholder{color:var(--text-tertiary)}.afield-input:hover:not(:focus){border-color:var(--text-tertiary)}.afield-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.afield-input.invalid{border-color:var(--danger)}.afield-input.invalid:focus{box-shadow:0 0 0 3px var(--danger-soft)}.afield-input.ok{border-color:var(--online)}.afield-reveal{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-tertiary);display:grid;place-items:center}.afield-reveal:hover{color:var(--text-primary);background:var(--hover)}.afield-note{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--text-tertiary);display:flex;align-items:center;gap:5px}.afield-note.error{color:var(--danger)}.afield-note.warn{color:var(--warn-text)}.auth-rules{list-style:none;margin:-4px 0 0;padding:0;display:grid;gap:6px}.auth-rules li{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-tertiary);transition:color .2s ease}.auth-rules li>span:first-child{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--surface-3);color:var(--text-tertiary)}.auth-rules li.met{color:var(--text-secondary)}.auth-rules li.met>span:first-child{background:var(--ok-bg);color:var(--ok-text)}.auth-rule-dot{width:4px;height:4px;border-radius:50%;background:currentColor}.auth-strength{display:flex;align-items:center;gap:10px;margin-top:-6px}.auth-strength-track{flex:1;height:4px;border-radius:2px;background:var(--separator);overflow:hidden}.auth-strength-fill{height:100%;border-radius:2px;background:var(--danger);transition:width .3s var(--ease),background .3s ease}.auth-strength-fill[data-level=fair]{background:#d99a2b}.auth-strength-fill[data-level=good]{background:var(--accent)}.auth-strength-fill[data-level=strong]{background:var(--online)}.auth-strength>span{min-width:46px;text-align:right;font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary)}.phrase{display:flex;flex-direction:column;gap:10px}.phrase-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.phrase-cell{position:relative;min-width:0;display:flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--r-sm);padding:9px 10px;transition:border-color .15s ease,background .15s ease}.phrase-cell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.phrase-n{font-size:var(--fs-2xs);color:var(--text-tertiary);width:14px;flex-shrink:0;font-variant-numeric:tabular-nums}.phrase-word{font-size:var(--fs-md);font-weight:600}.phrase-input{flex:1;width:100%;min-width:0;border:0;background:transparent;color:var(--text-primary);font-size:16px;font-weight:600;outline:none;padding:0}.phrase-actions{display:flex;justify-content:flex-end}.phrase-status{margin:0;font-size:var(--fs-xs);color:var(--text-tertiary)}.lock-screen{min-height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(48px,8vw,112px);padding:32px 24px 40px;background:var(--bg);position:relative;overflow:hidden;opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .5s var(--ease)}.lock-screen.in{opacity:1;transform:none}.lock-hero-col{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(420px,100%);text-align:center}.lock-hero-col h1{margin:0;font-size:32px;font-weight:700;letter-spacing:-.025em;line-height:1.1;transition:opacity .4s ease,transform .5s var(--ease)}.lock-hero-col .lede{margin:0;max-width:360px;font-size:var(--fs-base);line-height:1.5;color:var(--text-secondary);transition:opacity .4s ease,transform .5s var(--ease)}.lock-account{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 6%,var(--bg));font-size:var(--fs-sm);font-weight:600;transition:opacity .4s ease,transform .5s var(--ease)}.lock-account .avatar-sm{width:26px;height:26px;font-size:var(--fs-2xs)}.lock-trust{margin:4px 0 0;display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-tertiary);transition:opacity .4s ease,transform .5s var(--ease)}.lock-stage{position:relative;width:360px;height:300px;transform:scale(.9);transition:transform .7s var(--ease)}.lock-screen.in .lock-stage{transform:none}.lock-stage>*{position:absolute;left:50%;top:50%}.lock-ring{border-radius:50%;translate:-50% -50%;transition:transform .5s var(--ease),opacity .45s ease}.lock-ring-outer{width:300px;height:300px;border:1.5px solid color-mix(in srgb,var(--accent) 16%,transparent)}.lock-ring-mid{width:240px;height:240px;border:1.5px solid color-mix(in srgb,var(--accent) 28%,transparent)}.lock-ring-inner{width:160px;height:160px;background:var(--accent-soft)}.lock-mark{width:100px;height:100px;border-radius:22.5%;translate:-50% -50%;display:grid;place-items:center;box-shadow:0 16px 40px color-mix(in srgb,var(--accent) 40%,transparent);transition:transform .5s var(--ease),opacity .3s ease,box-shadow .5s ease}.lock-badge{width:40px;height:40px;border-radius:50%;translate:calc(-50% + 47px) calc(-50% + 48px);background:var(--bubble-in);color:var(--accent-text);display:grid;place-items:center;box-shadow:0 6px 16px #00000038;transition:background .25s ease,color .25s ease,transform .35s var(--ease),opacity .3s ease}.lock-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:var(--fs-md);font-weight:600;transition:opacity .35s ease,transform .5s var(--ease),letter-spacing .3s ease}.lock-chip-locked{translate:calc(-50% + 97px) calc(-50% - 83px);rotate:-5deg;padding:9px 13px;border-radius:16px 16px 4px;background:var(--accent);color:#fff;letter-spacing:2px;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 30%,transparent)}.lock-chip-locked svg{opacity:.8}.lock-chip-sealed{translate:calc(-50% - 98px) calc(-50% + 68px);rotate:3deg;padding:7px 11px;border-radius:14px;background:var(--bubble-in);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:500;box-shadow:0 6px 18px #0000002e}.lock-chip-sealed svg{color:var(--online)}.lock-card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px 36px 26px;border-radius:28px;background:var(--surface-2);border:1px solid var(--separator);box-shadow:var(--shadow-md);transition:opacity .4s ease,transform .5s var(--ease)}.lock-card-label{margin:0;font-size:var(--fs-base);font-weight:600}.lock-dots{display:flex;gap:14px;min-height:18px}.lock-dots.shake{animation:lock-shake .42s ease}.lock-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--separator);background:transparent;transition:transform .18s var(--ease),background .18s ease,border-color .18s ease,box-shadow .18s ease}.lock-dot.filled{background:var(--accent);border-color:var(--accent);transform:scale(1.15);box-shadow:0 0 0 4px var(--accent-soft)}.lock-hint,.lock-err{min-height:18px;margin:0;font-size:var(--fs-xs);text-align:center}.lock-hint{color:var(--text-tertiary)}.lock-err{font-size:var(--fs-sm);font-weight:600;color:var(--danger)}.lock-pad{display:grid;grid-template-columns:repeat(3,64px);gap:12px 14px;justify-content:center}.lock-key{width:64px;height:64px;border-radius:32px;border:1px solid var(--separator);background:color-mix(in srgb,var(--text-primary) 6%,var(--surface-2));color:var(--text-primary);font-size:26px;font-weight:500;display:grid;place-items:center;touch-action:manipulation;transition:transform .12s ease,background .12s ease}.lock-key:hover{background:color-mix(in srgb,var(--text-primary) 10%,var(--surface-2))}.lock-key:active{transform:scale(.9);background:var(--accent-soft);color:var(--accent-text)}.lock-key:disabled{opacity:.4}.lock-key.ghost{background:transparent;border:0;pointer-events:none}.lock-key.del{font-size:16px;color:var(--text-secondary);background:transparent;border-color:transparent}.lock-key.del:active{color:var(--accent-text);background:var(--accent-soft)}.lock-phrase{font-size:var(--fs-sm);padding:4px 0 0}.lock-reset{margin:0;max-width:232px;font-size:var(--fs-xs);line-height:1.5;color:var(--text-secondary);text-align:center}.lock-reset span{display:flex;justify-content:center;gap:16px;margin-top:8px}.auth-link.muted{color:var(--text-secondary)}.lock-screen.is-verified .lock-badge{background:var(--online);color:#fff;transform:scale(1.1)}.lock-screen.is-verified .lock-ring-inner{transform:scale(1.04)}.lock-screen.is-verified .lock-chip-locked{letter-spacing:0}.lock-screen.is-verified .lock-chip-sealed{color:var(--text-primary)}.lock-screen.is-verified .lock-dot.filled{background:var(--online);border-color:var(--online);box-shadow:0 0 0 4px var(--ok-bg)}.lock-screen.is-releasing .lock-ring{transform:scale(1.3);opacity:0}.lock-screen.is-releasing .lock-ring-inner{transform:scale(1.25)}.lock-screen.is-releasing .lock-mark{transform:translateY(-24px) scale(1.16);box-shadow:0 22px 44px color-mix(in srgb,var(--accent) 50%,transparent)}.lock-screen.is-releasing .lock-badge,.lock-screen.is-releasing .lock-chip{opacity:0;transform:scale(.9)}.lock-screen.is-releasing .lock-account,.lock-screen.is-releasing h1,.lock-screen.is-releasing .lede,.lock-screen.is-releasing .lock-trust{opacity:0;transform:translateY(24px)}.lock-screen.is-releasing .lock-card{opacity:0;transform:translateY(24px) scale(.98)}@keyframes lock-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.shell{display:flex;height:100%;background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}.shell-body{display:flex;flex:1;min-height:0;min-width:0}.rail{width:var(--rail-w);flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 0;background:var(--bg);border-right:1px solid var(--separator)}.rail-mark{width:36px;height:36px;display:grid;place-items:center}.rail-tabs{display:flex;flex-direction:column;align-items:center;gap:6px}.rail-btn{position:relative;width:46px;height:46px;border-radius:var(--r-md);border:0;background:transparent;color:var(--text-secondary);display:grid;place-items:center;transition:background .15s ease,color .15s ease}.rail-btn:hover{background:var(--hover);color:var(--text-primary)}.rail-btn.active{background:var(--accent-soft);color:var(--accent-text)}.rail-me{border:0;background:transparent;padding:2px;border-radius:var(--r-full);display:grid;place-items:center}.rail-me:hover{background:var(--hover)}.rail-me[aria-expanded=true]{box-shadow:0 0 0 2px var(--accent)}.rail-badge{position:absolute;top:4px;right:4px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--bg)}.pane{width:var(--pane-w);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--separator);background:var(--surface-1);min-width:0;min-height:0}.pane-head{padding:18px 14px 10px;display:flex;flex-direction:column;gap:12px}.pane-title-row{display:flex;justify-content:space-between;align-items:center}.pane-actions{display:flex;gap:6px}.pane-title-row h1{font-size:var(--fs-2xl);margin:0;text-align:left;font-weight:700;letter-spacing:-.02em}.icon-btn{width:36px;height:36px;border-radius:var(--r-sm);border:0;background:transparent;color:var(--text-secondary);display:grid;place-items:center;flex-shrink:0;transition:background .15s ease,color .15s ease}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text-primary)}.icon-btn:disabled{opacity:.38;cursor:default}.search{height:38px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--separator);display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-tertiary);width:100%;transition:border-color .15s ease,box-shadow .15s ease}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{flex:1;background:transparent;border:0;color:var(--text-primary);outline:none;font-size:var(--fs-md);min-width:0}.search input::placeholder{color:var(--text-tertiary)}.search input::-webkit-search-cancel-button{display:none}.search-clear{border:0;background:transparent;color:var(--text-tertiary);display:grid;place-items:center;padding:2px;border-radius:var(--r-full)}.search-clear:hover{color:var(--text-primary);background:var(--hover)}.rows{flex:1;overflow-y:auto;padding:4px 8px 12px;overscroll-behavior:contain}.pane-error{margin:4px 4px 10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}.list-label{margin:10px 8px 4px;font-size:var(--fs-2xs);font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.rows-empty{padding:28px 16px;color:var(--text-secondary)}.rows-empty strong{display:block;font-size:var(--fs-base);color:var(--text-primary);margin-bottom:4px}.rows-empty p{margin:0;font-size:var(--fs-sm);line-height:1.5}.row{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:var(--r-md);color:inherit;width:100%;background:transparent;border:0;text-align:left}.row-button{transition:background .12s ease}.row-button:hover{background:var(--hover)}.row-button:active{background:var(--pressed)}.row-button.active{background:var(--accent-soft)}.row-button.active .row-copy strong{color:var(--accent-text)}.row-static{cursor:default}.row-copy{flex:1;min-width:0;display:block}.row-copy strong{display:block;font-size:var(--fs-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-copy span{display:block;font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.row-time{font-size:var(--fs-2xs);color:var(--text-tertiary);flex-shrink:0;align-self:flex-start;padding-top:3px}.row-actions{display:flex;gap:6px;flex-shrink:0}.mini-btn{height:27px;padding:0 11px;border-radius:var(--r-xs);border:0;background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);font-weight:600}.mini-btn:hover{background:var(--accent-hover)}.mini-btn.ghost{background:var(--surface-3);color:var(--text-primary);border:1px solid var(--separator)}.mini-btn.ghost:hover{background:var(--hover)}.skeletons{list-style:none;margin:0;padding:0}.skeleton-row{gap:12px}.skeleton{display:block;border-radius:var(--r-xs);background:linear-gradient(90deg,var(--skeleton),var(--skeleton-shine),var(--skeleton));background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite}.skeleton-avatar{width:44px;height:44px;border-radius:var(--r-full);flex-shrink:0}.skeleton-line{height:11px;margin-bottom:7px}.skeleton-line.short{height:9px;margin-bottom:0}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.avatar{position:relative;flex-shrink:0;border-radius:var(--r-full);background:linear-gradient(180deg,var(--avatar-top, #7c7aff),var(--avatar-bottom, #5e5ce6));color:#fff;display:grid;place-items:center;font-weight:600;letter-spacing:.01em;text-shadow:0 1px 1.5px rgb(0 0 0 / .18);-webkit-user-select:none;user-select:none}.avatar-sm{width:32px;height:32px;font-size:var(--fs-xs)}.avatar-md{width:44px;height:44px;font-size:var(--fs-base)}.avatar-lg{width:72px;height:72px;font-size:26px}.avatar-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--online);box-shadow:0 0 0 2px var(--surface-1)}.avatar-lg .avatar-dot{width:16px;height:16px;right:3px;bottom:3px}.thread-head .avatar-dot{box-shadow:0 0 0 2px var(--bg)}.thread{flex:1;display:flex;flex-direction:column;background:var(--canvas);min-width:0;position:relative}.thread-head{height:68px;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--separator)}.thread-peer{min-width:0;flex:1}.thread-peer strong{display:block;font-size:var(--fs-lg);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-peer span{display:block;font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-peer span.online{color:var(--online)}.e2e-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-2xs);font-weight:600;flex-shrink:0}.back-mobile{display:none}.thread-search{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 16px;background:var(--bg);border-bottom:1px solid var(--separator);color:var(--text-tertiary)}.thread-search:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}.thread-search input{flex:1;min-width:0;border:0;background:transparent;outline:none;color:var(--text-primary);font-size:16px}.thread-search input::placeholder{color:var(--text-tertiary)}.thread-search input::-webkit-search-cancel-button{display:none}.thread-search-count{font-size:var(--fs-xs);color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.search-in-chat[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.bubble-text mark,.voice-tx-text mark{background:var(--accent-soft);color:var(--accent-text);border-radius:3px;padding:0 1px}.bubble.out .bubble-text mark,.bubble.out .voice-tx-text mark{background:#ffffff47;color:var(--on-accent)}.messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.messages-inner{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:20px 24px 22px}.thread-note{margin:auto;color:var(--text-secondary);font-size:var(--fs-md);text-align:center}.thread-note-error{color:var(--danger)}.thread-older{flex:none;height:28px;margin:0;color:var(--text-secondary);font-size:var(--fs-sm);text-align:center;line-height:28px}.thread-empty,.pane-failed{margin:auto;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.pane-failed{padding:0 16px}.thread-empty strong,.pane-failed strong{font-size:var(--fs-lg)}.thread-empty p,.pane-failed p{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.pane-failed .btn{margin-top:6px}.day-sep{display:flex;justify-content:center;margin:18px 0 10px}.day-sep span{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.03em;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--bubble-border);padding:4px 11px;border-radius:var(--r-full)}.bubble{position:relative;max-width:min(560px,74%);padding:7px 13px;display:flex;align-items:flex-end;gap:9px;font-size:var(--fs-base);line-height:1.4;border-radius:var(--r-lg);animation:bubble-in .22s var(--ease)}.bubble-text{margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-2xs);line-height:1;opacity:.8;padding-bottom:1px}.bubble.in{background:var(--bubble-in);border:1px solid var(--bubble-border);align-self:flex-start;border-bottom-left-radius:var(--r-xs)}.bubble.in:not(.first){border-top-left-radius:var(--r-xs)}.bubble.in .bubble-meta{color:var(--text-secondary)}.bubble.out{background:var(--accent);color:var(--on-accent);align-self:flex-end;border-bottom-right-radius:var(--r-xs)}.bubble.out:not(.first){border-top-right-radius:var(--r-xs)}.bubble.out .bubble-meta{color:#ffffffd1}.bubble.first{margin-top:10px}.bubble.deleted{opacity:.6;font-style:italic}.bubble.pending{opacity:.68}.bubble.failed.out{background:var(--danger-bg)}.bubble.failed.in{border-color:var(--danger);color:var(--text-secondary)}.msg-row{position:relative;display:flex;align-items:flex-end;gap:6px;touch-action:pan-y;transform:translate(var(--swipe, 0px))}.msg-row.mine{justify-content:flex-end}.msg-row[data-swipe-settling=true]{transition:transform .24s var(--ease)}.msg-row>.bubble{align-self:auto}.msg-row.is-flashing:before{content:"";position:absolute;inset:-2px -24px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 22%,transparent);animation:reply-flash 1.4s var(--ease) forwards;pointer-events:none}@keyframes reply-flash{0%{opacity:0}12%{opacity:1}62%{opacity:1}to{opacity:0}}.bubble-reply-btn{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--separator);border-radius:50%;background:var(--surface-2);color:var(--text-secondary);opacity:0;transition:opacity .12s var(--ease),color .12s var(--ease)}.msg-row.mine .bubble-reply-btn{order:-1}.msg-row:hover .bubble-reply-btn,.bubble-reply-btn:focus-visible{opacity:1}.bubble-reply-btn:hover{color:var(--accent-text);border-color:var(--accent)}@media(hover:none){.bubble-reply-btn{display:none}}.swipe-reply{position:absolute;top:50%;right:-44px;width:32px;height:32px;margin-top:-16px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);transform:scale(calc(.65 + .35*min(1,var(--swipe-progress, 0) * 1.2)));opacity:min(1,calc(var(--swipe-progress, 0) * 2));pointer-events:none}.swipe-reply:before{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--swipe-progress, 0) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 0 15px,#000 15px);mask:radial-gradient(circle,transparent 0 15px,#000 15px)}.msg-row[data-swipe-armed=true] .swipe-reply{background:var(--accent);color:var(--on-accent);transform:scale(1);animation:swipe-armed .3s var(--ease)}.msg-row[data-swipe-armed=true] .swipe-reply:before{opacity:0}@keyframes swipe-armed{0%{transform:scale(.92)}55%{transform:scale(1.12)}to{transform:scale(1)}}.reply-quote{display:flex;align-items:center;gap:7px;width:100%;min-width:0;margin:0;padding:4px 8px 5px 9px;border:0;border-left:3px solid currentColor;border-radius:6px;background:transparent;font:inherit;font-size:var(--fs-md);line-height:1.3;text-align:left}button.reply-quote{cursor:pointer}.reply-quote-lines{display:flex;flex-direction:column;min-width:0}.reply-quote-lines strong{font-weight:600}.reply-quote-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-quote-thumb{flex:0 0 auto;width:32px;height:32px;border-radius:4px;object-fit:cover}.reply-quote-icon{flex:0 0 auto;opacity:.9}.bubble.in .reply-quote-bubble{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 18%,transparent)}.bubble.in .reply-quote-bubble .reply-quote-text{color:var(--text-primary)}.bubble.in .reply-quote-bubble .reply-quote-text.muted{color:var(--text-secondary)}.bubble.out .reply-quote-bubble{color:var(--on-accent);background:#0000001f}.bubble.out .reply-quote-bubble .reply-quote-text{color:#ffffffeb}.bubble.out .reply-quote-bubble .reply-quote-text.muted{color:#ffffffb8}.bubble.has-reply{flex-direction:column;align-items:stretch;gap:5px}.bubble-body{display:flex;align-items:flex-end;gap:9px;min-width:0}.bubble.photo-msg .reply-quote,.bubble.video-msg .reply-quote{width:auto;margin:6px 6px 0}.bubble.voice-msg .reply-quote{margin-bottom:5px}.reply-bar{display:flex;align-items:center;gap:10px;padding:8px 8px 4px 16px;border-top:1px solid var(--separator)}.reply-bar-glyph{flex:0 0 auto;color:var(--accent)}.reply-quote-bar{color:var(--accent);font-size:var(--fs-base);padding-block:1px}.reply-quote-bar .reply-quote-text{color:var(--text-secondary)}.reply-bar-close{flex:0 0 auto}.link-bar .reply-quote-bar .reply-quote-text{color:var(--text-primary)}.link-bar .reply-quote-bar .reply-quote-text.muted{color:var(--text-secondary)}.link-bar .reply-quote-bar:disabled{cursor:default}.msg-link{color:var(--accent-text);text-decoration:none;overflow-wrap:anywhere}.msg-link:hover{text-decoration:underline}.bubble.out .msg-link{color:var(--on-accent);text-decoration:underline;text-underline-offset:2px}.msg-link:focus-visible{outline:2px solid currentColor;outline-offset:1px;border-radius:3px}.bubble.has-link-preview{flex-direction:column;align-items:stretch;gap:6px}.bubble.has-link-media{width:460px}.bubble-meta-row{display:flex;justify-content:flex-end;margin-top:-1px}.link-preview{display:block;overflow:hidden;padding:5px 8px 7px 9px;border-left:3px solid currentColor;border-radius:6px;font-size:var(--fs-md);line-height:1.3;text-align:left;text-decoration:none;overflow-wrap:anywhere;transition:transform .2s var(--ease)}.link-preview:active{transform:scale(.985)}.link-preview:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bubble.in .link-preview{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 18%,transparent)}.bubble.out .link-preview{color:var(--on-accent);background:#0000001f}.link-preview-site,.link-preview-title,.link-preview-desc{display:block}.link-preview-site,.link-preview-title{font-weight:600}.bubble.in .link-preview-title,.bubble.in .link-preview-desc{color:var(--text-primary)}.bubble.out .link-preview-desc{color:var(--on-accent)}.link-preview:hover .link-preview-title{text-decoration:underline}.link-preview.has-thumb{min-height:76px;padding-right:6px}.link-preview-thumb{float:right;width:64px;height:64px;margin:1px 0 4px 8px;border-radius:4px;object-fit:cover}.link-preview-media{position:relative;display:block;margin-top:6px;aspect-ratio:var(--lp-aspect, 1.91);max-height:340px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,currentColor 12%,transparent)}.link-preview-media img{display:block;width:100%;height:100%;object-fit:cover}.link-preview-media img.is-placeholder{filter:blur(10px);transform:scale(1.08)}.link-preview-play{position:absolute;inset:0;margin:auto;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#0b0b1273;color:#fff}.ctx-menu{position:fixed;z-index:70;min-width:200px;max-width:260px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--r-md);box-shadow:0 12px 32px #0006;animation:ctx-menu-in .12s var(--ease)}@keyframes ctx-menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.ctx-menu-item{display:flex;align-items:center;gap:12px;width:100%;height:36px;padding:0 10px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--fs-md);font-weight:500;text-align:left;cursor:pointer}.ctx-menu-item:hover,.ctx-menu-item:focus-visible{background:var(--hover);outline:none}.ctx-menu-item.danger{color:var(--danger)}.ctx-menu-sep{height:1px;margin:3px 8px;border:0;background:var(--separator)}.ctx-menu-header{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;margin-bottom:3px;border-bottom:1px solid var(--separator)}.ctx-menu-who{display:flex;flex-direction:column;min-width:0}.ctx-menu-who strong{font-size:var(--fs-md);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-menu-who span{font-size:var(--fs-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-row{-webkit-touch-callout:none}.msg-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}@media(hover:none){.msg-row{-webkit-user-select:none;user-select:none}}.thread-banner.notice{background:var(--accent-soft);color:var(--accent-text);animation:fade-in .2s ease}.profile-qr{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;font-size:var(--fs-md)}.modal-actions.stacked{flex-direction:column}.modal-actions.stacked .btn{flex:0 0 auto}.btn-secondary.danger-text{color:var(--danger)}.bubble.voice-msg{flex-direction:column;align-items:stretch;gap:0;padding:8px 10px;max-width:min(560px,85%)}.voice{display:flex;align-items:center;gap:10px}.voice-play{width:38px;height:38px;flex-shrink:0;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent)}.bubble.out .voice-play{background:#ffffff38;color:#fff}.voice-play[aria-label^=Play] svg{transform:translate(1px)}.voice-play:disabled{opacity:.7;cursor:default}.voice-play:hover:not(:disabled){filter:brightness(1.08)}.voice-spin{animation:voice-spin .8s linear infinite}@keyframes voice-spin{to{transform:rotate(360deg)}}.voice-body{min-width:160px;flex:0 1 auto;display:flex;flex-direction:column;gap:5px}.voice-top{display:flex;align-items:center;gap:8px}.voice-wave{flex:0 1 auto;min-width:0;display:flex;align-items:center;height:26px;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none}.voice-bar{flex:1 1 0;min-width:0;border-radius:2px;background:color-mix(in srgb,var(--voice-played) calc(var(--played, 0) * 100%),var(--voice-rest))}.bubble.in.voice-msg{--voice-played: var(--accent);--voice-rest: color-mix(in srgb, var(--accent) 28%, transparent)}.bubble.out.voice-msg{--voice-played: #fff;--voice-rest: rgba(255, 255, 255, .4)}.voice-footer{display:flex;align-items:center;gap:6px;font-size:11px;font-variant-numeric:tabular-nums}.voice-time{opacity:.85}.voice-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.bubble.out .voice-dot{background:#fff}.voice-rate{border:0;border-radius:var(--r-full);padding:2px 5px;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;background:var(--accent-soft);color:var(--accent-text)}.bubble.out .voice-rate{background:#ffffff38;color:#fff}.voice-footer>.bubble-meta{margin-left:auto}.bubble.out .voice-footer{color:#ffffffd1}.bubble.in .voice-footer{color:var(--text-secondary)}.voice-tx{position:relative;flex:none;width:28px;height:28px;margin-block:-1px;display:grid;place-items:center;border:0;border-radius:9px;padding:0;overflow:hidden;color:var(--voice-tx-ink);background:var(--voice-tx-fill);transition:background .15s ease,scale .15s var(--ease)}.voice-tx:hover{background:var(--voice-tx-hover)}.voice-tx:active{scale:.9}.voice-tx:focus-visible{outline:2px solid var(--voice-tx-ink);outline-offset:2px}.bubble.in.voice-msg{--voice-tx-ink: var(--accent-text);--voice-tx-fill: color-mix(in srgb, var(--accent) 14%, transparent);--voice-tx-hover: color-mix(in srgb, var(--accent) 22%, transparent)}.bubble.out.voice-msg{--voice-tx-ink: #fff;--voice-tx-fill: rgba(255, 255, 255, .2);--voice-tx-hover: rgba(255, 255, 255, .28)}.voice-tx-enter{animation:voice-tx-in .32s var(--ease) both}@keyframes voice-tx-in{0%{width:0;margin-left:-8px;opacity:0;scale:.4}}.voice-tx-glyph{width:20px;height:20px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.voice-tx-glyph path{transition:transform .32s var(--ease),stroke-dasharray .32s var(--ease),opacity .2s ease}.voice-tx-leg{stroke-dasharray:13 20;transform:translate(17px,6px) rotate(0)}.voice-tx-bar{transform-origin:17px 14px}.voice-tx[aria-expanded=true] .voice-tx-leg{stroke-dasharray:8.5 20}.voice-tx[aria-expanded=true] .voice-tx-leg-l{transform:translate(12px,9px) rotate(24.44deg)}.voice-tx[aria-expanded=true] .voice-tx-leg-r{transform:translate(12px,9px) rotate(-24.44deg)}.voice-tx[aria-expanded=true] .voice-tx-arrow{opacity:0;transform:translate(-4px)}.voice-tx[aria-expanded=true] .voice-tx-bar{opacity:0;transform:scaleX(.3);transition-duration:.32s,.32s,.12s}.voice-tx-ring{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:0 92;opacity:0;transition:opacity .2s ease;pointer-events:none}.voice-tx[data-busy] .voice-tx-ring{opacity:1;animation:voice-tx-lap 1.3s linear infinite}@keyframes voice-tx-lap{0%{stroke-dasharray:.5 91.3;stroke-dashoffset:0}50%{stroke-dasharray:34 57.8;stroke-dashoffset:-23}to{stroke-dasharray:.5 91.3;stroke-dashoffset:-91.8}}.voice-tx-drawer{width:0;min-width:100%;height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear .32s}.voice-tx-drawer[data-open]{height:auto;visibility:visible;transition:none}.voice-tx-drawer[data-open]{display:flex;align-items:flex-end;gap:9px}.voice-tx-drawer>p{flex:1 1 auto;min-width:0}.voice-tx-drawer>.bubble-meta{padding:0 3px 3px 0}.voice-tx-drawer>p{margin:0;padding:7px 3px 2px;font-size:var(--fs-md);line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere;opacity:0;translate:0 -6px;transition:opacity .12s ease,translate .32s var(--ease)}.voice-tx-drawer[data-open]>p{opacity:1;translate:none;animation:voice-tx-fade .2s ease-out}@keyframes voice-tx-fade{0%{opacity:0}}.voice-tx-drawer[data-open]>.voice-tx-stream{animation:none}.voice-tx-word{animation:voice-tx-word .52s cubic-bezier(.2,.65,.3,1) both}@keyframes voice-tx-word{0%{opacity:0;filter:blur(6px)}}.voice-tx-drawer>.voice-tx-wait{font-size:var(--fs-sm)}.voice-tx-wait>span{color:transparent;background:linear-gradient(100deg,var(--voice-wait-ink) 40%,var(--voice-wait-shine) 50%,var(--voice-wait-ink) 60%) 0 0 / 250% 100%;-webkit-background-clip:text;background-clip:text;animation:voice-tx-shimmer 1.6s linear infinite}@keyframes voice-tx-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.bubble.in.voice-msg{--voice-wait-ink: var(--text-secondary);--voice-wait-shine: var(--text-primary)}.bubble.out.voice-msg{--voice-wait-ink: rgba(255, 255, 255, .6);--voice-wait-shine: #fff}.bubble.typing-bubble{padding:8px 13px 9px;transform-origin:0 100%;animation:typing-in .42s cubic-bezier(.3,1.45,.55,1) both}.bubble.typing-bubble[data-leaving]{animation:typing-out .18s ease-in both}@keyframes typing-in{0%{opacity:0;scale:.4}}@keyframes typing-out{to{opacity:0;scale:.55}}.typing-ink{display:block;width:40px;height:20px;overflow:visible}.typing-ink circle{--ink-rest: color-mix(in srgb, var(--accent) 42%, var(--bubble-in));fill:var(--ink-rest);transform-box:fill-box;transform-origin:center;animation:typing-ink 1.35s cubic-bezier(.45,0,.35,1) infinite both}.typing-ink circle:nth-child(2){animation-delay:.17s}.typing-ink circle:nth-child(3){animation-delay:.34s}@keyframes typing-ink{0%,56%,to{transform:translateY(0) scale(.72);fill:var(--ink-rest)}24%{transform:translateY(-4px) scale(1.26);fill:var(--accent)}}.typing-label{animation:fade-in .2s ease}:is(.row-copy,.thread-peer,.info-sheet) .typing-label{color:var(--accent-text);font-weight:500}.typing-dots{display:inline-flex;gap:2px;margin-left:3px;vertical-align:1px}.typing-dots>i{width:3px;height:3px;border-radius:50%;background:currentColor;animation:typing-dot 1.35s cubic-bezier(.45,0,.35,1) infinite both}.typing-dots>i:nth-child(2){animation-delay:.17s}.typing-dots>i:nth-child(3){animation-delay:.34s}@keyframes typing-dot{0%,56%,to{translate:0 0;opacity:.4}24%{translate:0 -2.5px;opacity:1}}.rec-ink{display:flex;align-items:center;justify-content:center;gap:5px;width:40px;height:20px}.rec-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--danger);animation:voice-rec-pulse 1.4s ease-in-out infinite}.rec-bars{display:inline-flex;align-items:center;gap:1.5px;height:9px;margin-left:4px;vertical-align:-1px}.rec-bars>i{width:2px;height:100%;border-radius:1px;background:currentColor;animation:rec-bar-1 1.05s ease-in-out infinite}.rec-bars>i:nth-child(2){animation:rec-bar-2 .9s ease-in-out infinite}.rec-bars>i:nth-child(3){animation:rec-bar-3 1.2s ease-in-out infinite}.rec-bars>i:nth-child(4){animation:rec-bar-4 .95s ease-in-out infinite}.rec-bars>i:nth-child(5){animation:rec-bar-5 1.1s ease-in-out infinite}.rec-bars-lg{gap:2px;height:16px;margin:0;color:var(--accent)}.rec-bars-lg>i{width:3px;border-radius:1.5px}@keyframes rec-bar-1{0%,to{scale:1 .35}25%{scale:1 .9}50%{scale:1 .5}75%{scale:1 .75}}@keyframes rec-bar-2{0%,to{scale:1 .8}25%{scale:1 .4}50%{scale:1 1}75%{scale:1 .55}}@keyframes rec-bar-3{0%,to{scale:1 .5}25%{scale:1 1}50%{scale:1 .65}75%{scale:1 .3}}@keyframes rec-bar-4{0%,to{scale:1 .9}25%{scale:1 .55}50%{scale:1 .8}75%{scale:1 .45}}@keyframes rec-bar-5{0%,to{scale:1 .4}25%{scale:1 .7}50%{scale:1 .35}75%{scale:1 .95}}.typing-bubble>.rec-ink,.typing-bubble>.typing-ink{animation:activity-swap .26s var(--ease) both}@keyframes activity-swap{0%{opacity:0;scale:.6}}.receipt-read{color:#8fe3ff}.bubble.in .receipt-read{color:var(--accent-text)}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.thread-foot{position:relative;flex-shrink:0}.jump-latest{position:absolute;right:22px;bottom:calc(100% + 38px);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-full);border:1px solid var(--separator);background:var(--surface-2);color:var(--text-primary);font-size:var(--fs-xs);font-weight:600;box-shadow:var(--shadow-md);animation:bubble-in .2s var(--ease)}.jump-latest:hover{background:var(--hover)}.thread-banner{margin:0;padding:8px 16px;background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);text-align:center}.voice-hint{animation:fade-in .2s ease}.compose-shell{position:relative;display:flex;flex-direction:column;background:var(--bg);border-top:1px solid var(--separator)}.compose{display:flex;gap:6px;align-items:flex-end;padding:8px 14px}.compose-grow{flex:1;min-width:0;display:grid;overflow:hidden;border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--separator);transition:border-color .15s ease,box-shadow .15s ease}.compose-grow:hover:not(:focus-within){border-color:var(--text-tertiary)}.compose-grow:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.compose-grow:after{content:attr(data-value) " ";white-space:pre-wrap;overflow-wrap:anywhere;visibility:hidden}.compose-grow>textarea,.compose-grow:after{grid-area:1 / 1 / 2 / 2;min-height:38px;max-height:160px;padding:8px 14px;font:inherit;font-size:var(--fs-base);line-height:1.35;border:0}.compose-field{background:transparent;color:var(--text-primary);outline:none;resize:none;overflow-y:auto;scrollbar-width:thin}.compose-field::placeholder{color:var(--text-tertiary)}.compose-field:disabled{opacity:.6}.compose .icon-btn{width:34px;height:34px;margin-bottom:2px}.compose-mic{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;color:var(--accent-text);transition:background .15s ease,color .15s ease,opacity .2s ease}.compose-mic:disabled{color:var(--text-tertiary)}.compose-mic[aria-disabled=true],.compose-mic[aria-disabled=true]:hover{background:transparent;color:var(--text-tertiary);opacity:.38;cursor:default}.compose-plus{display:none}.send{width:38px;height:38px;border-radius:var(--r-full);border:0;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;flex-shrink:0;transition:background .15s ease,transform .12s ease,opacity .15s ease}.send:hover:not(:disabled){background:var(--accent-hover)}.send:active:not(:disabled){transform:scale(.94)}.send:disabled{background:var(--surface-3);color:var(--text-tertiary);cursor:default}.voice-droplet{position:absolute;left:0;bottom:0;z-index:3;width:38px;height:38px;border-radius:var(--r-full);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--separator);pointer-events:none;animation:voice-droplet-bud .22s var(--ease) both}.voice-droplet-ink{position:absolute;inset:0;border-radius:inherit;background:var(--accent);box-shadow:0 0 0 calc(var(--level, 0) * 12px) color-mix(in srgb,var(--accent) 22%,transparent),0 8px 22px color-mix(in srgb,var(--accent) 36%,transparent);transition:box-shadow 90ms linear}.voice-droplet-icon{position:absolute;inset:0;display:grid;place-items:center;color:#fff}.voice-droplet[data-phase=arming] .voice-droplet-ink{animation:voice-droplet-wait 1.3s ease-in-out .3s infinite}.voice-droplet[data-phase=leaving]{animation:voice-droplet-out .18s ease-in both}@keyframes voice-droplet-bud{0%{scale:.4;opacity:0}}@keyframes voice-droplet-out{to{scale:.4;opacity:0}}@keyframes voice-droplet-wait{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 20%,transparent),0 8px 22px color-mix(in srgb,var(--accent) 36%,transparent)}}.voice-strip{display:grid;grid-template-rows:1fr;animation:voice-strip-open .3s var(--ease) both}.voice-strip[data-state=closing]{animation:voice-strip-close .26s cubic-bezier(.4,0,.2,1) .12s both}.voice-strip[data-close=discard]{animation-delay:.24s}@keyframes voice-strip-open{0%{grid-template-rows:0fr}}@keyframes voice-strip-close{to{grid-template-rows:0fr}}.voice-strip-clip{min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.voice-strip-row{display:flex;align-items:center;gap:10px;padding:8px 14px 4px;flex-shrink:0}.voice-strip-discard{width:38px;height:38px;flex-shrink:0;border:0;border-radius:var(--r-full);background:transparent;color:var(--danger);display:grid;place-items:center}.voice-strip-discard:hover:not(:disabled){background:var(--danger-soft)}.voice-strip-discard:disabled{opacity:.45;cursor:default}.voice-strip-capsule{flex:1;min-width:0;display:flex;align-items:center;gap:12px;height:40px;padding:0 16px 0 14px;background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--r-full);clip-path:inset(0 0 0 0 round 20px)}.voice-rec-meta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.voice-rec-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:voice-rec-pulse 1.4s ease-in-out infinite}@keyframes voice-rec-pulse{50%{opacity:.3}}.voice-rec-time{min-width:56px;font-size:var(--fs-base);font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-primary)}.voice-live-wave{flex:1;min-width:0;height:24px;overflow:hidden}.voice-live-wave.scrolling{-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px);mask-image:linear-gradient(90deg,transparent,#000 32px)}.voice-live-track{display:flex;align-items:center;gap:2px;height:100%}.voice-live-bar{flex:0 0 3px;border-radius:2px;background:var(--accent);animation:voice-bar-in .22s var(--ease) both}@keyframes voice-bar-in{0%{scale:1 .25;opacity:.35}}.voice-strip[data-state=opening] .voice-strip-capsule{visibility:hidden}.voice-strip-capsule>*{transition:opacity .18s ease,translate .3s var(--ease)}.voice-strip-capsule>.voice-live-wave{transition-delay:40ms}.voice-strip[data-state=opening] .voice-strip-capsule>*{opacity:0;translate:-8px 0}.voice-strip-row>.voice-strip-discard,.voice-strip-row>.voice-strip-send{transition:background .15s ease,transform .12s ease,opacity .16s ease 70ms,scale .38s cubic-bezier(.34,1.56,.64,1) 70ms}.voice-strip[data-state=opening] :is(.voice-strip-discard,.voice-strip-send){opacity:0;scale:.4}.voice-strip[data-close=send] .voice-strip-row>*{opacity:0;translate:0 -6px;transition:opacity .14s ease,translate .2s var(--ease),scale .2s var(--ease)}.voice-strip[data-close=send] .voice-strip-send{scale:.8}.voice-strip[data-close=discard] .voice-strip-capsule{clip-path:inset(0 100% 0 0 round 20px);transition:clip-path .22s cubic-bezier(.45,0,.8,.35)}.voice-strip[data-close=discard] .voice-strip-capsule>*{opacity:0;transition:opacity .1s ease}.voice-strip[data-close=discard] .voice-strip-send{opacity:0;scale:.6;transition:opacity .14s ease,scale .2s ease-in}.voice-strip[data-close=discard] .voice-strip-discard{opacity:0;animation:voice-bin-catch .28s ease-in-out .16s;transition:opacity .12s ease .3s}@keyframes voice-bin-catch{35%{rotate:-14deg;scale:1.12}70%{rotate:9deg}}@media(prefers-reduced-motion:reduce){.voice-rec-dot,.voice-live-bar,.voice-droplet,.voice-strip,.voice-strip[data-state=closing],.voice-strip[data-close=discard] .voice-strip-discard{animation:none}.voice-strip-capsule>*,.voice-strip-row>.voice-strip-discard,.voice-strip-row>.voice-strip-send,.voice-strip[data-close=send] .voice-strip-row>*,.voice-strip[data-close=discard] .voice-strip-capsule,.voice-strip[data-close=discard] .voice-strip-send,.voice-strip[data-close=discard] .voice-strip-discard{transition:none}}.thread-placeholder{display:grid;place-items:center}.placeholder-card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:320px;text-align:center;color:var(--text-secondary)}.placeholder-card strong{font-size:var(--fs-lg);color:var(--text-primary)}.placeholder-card p{margin:0;font-size:var(--fs-sm);line-height:1.5}.placeholder-card>svg{margin-bottom:4px}.settings{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--canvas)}.set-nav{flex-shrink:0;display:flex;align-items:center;gap:4px;height:56px;padding:0 8px;background:var(--bg);border-bottom:1px solid var(--separator)}.set-nav h1{margin:0;font-size:var(--fs-lg);font-weight:650}.set-body{flex:1;min-height:0;overflow-y:auto;padding:20px 20px 56px;display:flex;flex-direction:column;gap:16px;--set-width: 620px}.set-body>*{width:min(var(--set-width),100%);margin-inline:auto;flex-shrink:0}.set-body>.modal-scrim{width:auto;margin-inline:0}.set-body>.set-toast{width:max-content}.set-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0 8px;text-align:center}.set-hero h1{margin:6px 0 0;font-size:26px;font-weight:700;letter-spacing:-.02em}.set-hero p{margin:0;font-size:var(--fs-base);color:var(--text-secondary)}.set-group{display:flex;flex-direction:column;gap:8px}.set-group>h2{margin:0 4px;font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.set-card{background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--radius);overflow:hidden}.set-row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;border:0;border-top:1px solid var(--separator);background:transparent;color:inherit;text-align:left;font-size:var(--fs-base)}.set-card>.set-row:first-child,.set-card>.set-toggle:first-child{border-top:0}.set-row-button{cursor:pointer;transition:background .12s ease}.set-row-button:hover{background:var(--hover)}.set-row-button:active{background:var(--pressed)}.set-row[aria-disabled=true]{opacity:.55}.set-tile{width:30px;height:30px;border-radius:var(--r-xs);display:grid;place-items:center;flex-shrink:0;color:#fff}.set-tile-muted{background:color-mix(in srgb,var(--text-primary) 10%,var(--surface-2));color:var(--text-secondary)}.set-row-copy{flex:1;min-width:0}.set-row-copy strong{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);font-weight:500}.set-row-copy strong.danger{color:var(--danger)}.set-row-copy>span{display:block;margin-top:2px;font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-row-copy>span.wrap{white-space:normal;line-height:1.45}.set-row-copy code{display:block;margin-top:3px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);word-break:break-all}.set-row-value{font-size:var(--fs-md);color:var(--text-secondary);flex-shrink:0}.set-chevron{color:var(--text-tertiary);flex-shrink:0}.set-soon{font-size:var(--fs-2xs);font-weight:600;padding:3px 8px;border-radius:var(--r-full);background:color-mix(in srgb,var(--text-primary) 8%,var(--surface-2));color:var(--text-tertiary);flex-shrink:0}.set-chip{font-size:var(--fs-2xs);font-weight:600;padding:2px 7px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text)}.set-toggle{position:relative;display:flex;align-items:flex-start;gap:14px;padding:13px 14px;border-top:1px solid var(--separator);cursor:pointer}.set-toggle.disabled{opacity:.6;cursor:default}.set-toggle input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:inherit}.set-switch{position:relative;flex-shrink:0;pointer-events:none;width:44px;height:26px;border-radius:var(--r-full);background:color-mix(in srgb,var(--text-primary) 22%,var(--surface-2));border:1px solid transparent;transition:background .18s var(--ease),border-color .18s ease;margin-top:1px}.set-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease)}.set-toggle input:checked~.set-switch{background:var(--accent);border-color:var(--accent)}.set-toggle input:checked~.set-switch:after{transform:translate(18px)}.set-toggle input:focus-visible~.set-switch{outline:2px solid var(--accent);outline-offset:2px}.set-note{margin-block:-4px 0;padding-inline:4px;font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.55}.set-error{margin-block:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}.set-placeholder{margin:0;padding:16px 14px;font-size:var(--fs-sm);color:var(--text-secondary)}.set-explainer{background:var(--accent-soft);border-radius:var(--radius);padding:14px}.set-explainer strong{display:flex;align-items:center;gap:7px;font-size:var(--fs-md);color:var(--accent-text)}.set-explainer p{margin:6px 0 0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.set-confirm{background:var(--surface-2);border:1px solid var(--danger);border-radius:var(--radius);padding:14px}.set-confirm strong{display:block;font-size:var(--fs-base)}.set-confirm p{margin:6px 0 12px;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.set-confirm-actions{display:flex;gap:8px}.set-confirm-actions .btn{width:auto;flex:1;height:40px;font-size:var(--fs-md)}.set-logout{width:100%;height:48px;border:1px solid var(--separator);border-radius:var(--radius);background:var(--surface-2);color:var(--danger);font-size:16px;font-weight:600;transition:background .15s ease}.set-logout:hover{background:var(--danger-soft);border-color:var(--danger)}.set-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--accent)}.about-hero{padding-top:16px}.about-hero>svg{margin-bottom:4px}.about-tile-ok{background:#2fa85b}.about-tile-accent{background:var(--accent)}.about-tile-failed{background:var(--danger-bg)}.set-tile .dev-spinner{width:14px;height:14px}.about-value{flex-shrink:1;min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-privacy{align-items:flex-start}.about-privacy p{flex:1;min-width:0;margin:0;padding-top:4px;font-size:var(--fs-md);line-height:1.5;color:var(--text-secondary)}.set-card>.lic-item:first-child>.set-row{border-top:0}.lic-chevron{transition:transform .18s var(--ease)}.set-row[aria-expanded=true] .lic-chevron{transform:rotate(180deg)}.lic-text{margin:0;padding:12px 14px 14px;max-height:min(420px,55vh);overflow:auto;border-top:1px solid var(--separator);background:color-mix(in srgb,var(--text-primary) 4%,var(--surface-2));font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:1.55;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.lic-text:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dev-row{padding:0}.set-row-button:disabled{cursor:default;opacity:.6}.set-row-button:disabled:hover{background:transparent}.dev-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:11px 14px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.dev-row{transition:background .12s ease}.dev-row:has(.dev-row-main:hover){background:var(--hover)}.dev-row:has(.dev-row-main:active){background:var(--pressed)}.dev-row-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dev-row>.dev-link,.dev-row>.dev-busy{margin-right:14px}.set-row-copy>span.dev-active,.info-sheet>span.dev-active{display:flex;align-items:center;gap:6px;color:var(--accent-text)}.info-sheet>span.dev-active{justify-content:center}.dev-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--online)}.dev-link{flex-shrink:0;padding:6px 8px;margin:-6px -8px;border:0;border-radius:var(--r-xs);background:transparent;font:inherit;font-size:var(--fs-md);font-weight:500;color:var(--accent-text);cursor:pointer}.dev-link:hover{background:var(--hover)}.dev-link.danger{color:var(--danger)}.dev-spinner{display:inline-block;flex-shrink:0;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text-primary) 18%,transparent);border-top-color:var(--text-secondary);animation:voice-spin .8s linear infinite}.dev-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 14px;text-align:center}.dev-state p{margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}.dev-state-warn{color:#d08a0e}.set-row.dev-capacity{flex-direction:column;align-items:stretch;gap:10px;padding-block:12px}.dev-capacity-head{display:flex;align-items:center;justify-content:space-between}.dev-capacity-head strong{font-size:var(--fs-base);font-weight:500}.dev-capacity-count{font-size:var(--fs-base);color:var(--text-secondary);font-variant-numeric:tabular-nums}.dev-capacity-count.full{color:#d08a0e}.dev-meter{display:flex;gap:4px}.dev-meter i{flex:1;height:5px;border-radius:var(--r-full);background:var(--separator)}.dev-meter i.on{background:var(--accent)}.dev-meter i.on.full{background:#d08a0e}.dev-detail .info-sheet strong{font-size:22px;font-weight:700;margin-top:4px}.dev-detail .set-card{background:var(--surface-1)}.set-row.dev-info{justify-content:space-between;align-items:baseline}.set-row.dev-info>span:first-child{flex-shrink:0}.set-row.dev-info>span:last-child{color:var(--text-secondary);text-align:right}.set-row.dev-info code{flex:1;min-width:0;text-align:right;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);word-break:break-all}.set-row.dev-info .copy-pill{align-self:center}.dev-rename{display:flex;flex-direction:column;gap:8px}.dev-rename label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.dev-rename p{margin:0;font-size:var(--fs-xs);color:var(--text-tertiary)}.dev-rename p.dev-rename-error{color:var(--danger)}.set-toast{position:fixed;left:16px;right:16px;bottom:28px;z-index:90;width:max-content;max-width:calc(100vw - 32px);margin-inline:auto;display:flex;align-items:center;gap:8px;padding:11px 16px;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--separator);box-shadow:var(--shadow-md);font-size:var(--fs-sm);font-weight:600;animation:modal-in .2s var(--ease)}.set-toast svg{color:var(--online)}@media(prefers-reduced-motion:reduce){.dev-spinner{animation-duration:2.4s}}.btn-destructive{background:var(--danger-bg);color:#fff}.btn-destructive:hover:not(:disabled){filter:brightness(1.1)}.modal-actions{display:flex;gap:8px}.modal-actions .btn{flex:1;height:42px;font-size:var(--fs-md)}.dev-limit .set-card{background:var(--surface-1)}.dev-limit-pick{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.dev-limit-pick>.set-card{align-self:stretch}.dev-limit-choose{margin-block:0}.dev-limit .set-row-copy{contain:inline-size}.dev-limit-pick .set-row-copy>span{white-space:normal}.dev-limit-pick .set-row-copy>span>span{white-space:nowrap}.dev-link:disabled{opacity:.45;cursor:default}.dev-link:disabled:hover{background:transparent}.dev-picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-picker-tag{flex-shrink:0;font-style:normal;font-size:var(--fs-xs);font-weight:400;color:var(--text-secondary)}.dev-picker-check{color:var(--accent-text);flex-shrink:0}.modal p.dev-limit-note{font-size:var(--fs-xs)}.dev-spinner.on-danger{width:14px;height:14px;margin-right:8px;border-color:#ffffff59;border-top-color:#fff}.btn-destructive[aria-disabled=true]{cursor:default}.btn-destructive[aria-disabled=true]:hover{filter:none}@media(max-width:440px){.dev-limit .modal-actions{flex-direction:column-reverse}.dev-limit .modal-actions .btn{flex:0 0 auto}}.mini-btn.ghost.danger{color:var(--danger)}.segmented{display:flex;width:100%;gap:3px;padding:3px;background:color-mix(in srgb,var(--text-primary) 6%,var(--surface-2));border:1px solid var(--separator);border-radius:var(--r-md)}.segment{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:8px 15px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:600;transition:background .15s ease,color .15s ease}.segment:hover{color:var(--text-primary)}.segment.active{background:var(--accent);color:var(--on-accent)}.logo-picker{display:flex;gap:10px;width:100%}.logo-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px 10px;border:0;border-radius:var(--r-md);background:color-mix(in srgb,var(--text-primary) 5%,var(--surface-2));box-shadow:inset 0 0 0 1px var(--separator);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:600;transition:box-shadow .15s ease,color .15s ease}.logo-option:hover{color:var(--text-primary)}.logo-option.active{color:var(--accent-text);box-shadow:inset 0 0 0 2px var(--accent)}.modal.qr-modal{gap:16px;animation-duration:.26s}.qr-modal>header .icon-btn{background:var(--surface-1)}.qr-identity{display:flex;flex-direction:column;align-items:center;margin-top:6px}.qr-identity .avatar-lg{width:64px;height:64px;font-size:22px}.qr-identity>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:10px}.qr-identity strong{font-size:18px;font-weight:600}.qr-identity>div>span{font-size:var(--fs-sm);color:var(--text-secondary)}.qr-card{--qr-start: .2s;position:relative;width:min(254px,100%);aspect-ratio:1;margin:2px auto 0;background:#fff;border-radius:8.66%;overflow:hidden;outline-offset:4px;transition:transform .25s var(--ease),box-shadow .25s ease}.qr-svg{display:block;width:100%;height:100%}.qr-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 26px #00000059}@media(hover:hover){.qr-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #00000059}}.qr-ring,.qr-eyes,.qr-mark{transform-box:fill-box;transform-origin:center}.qr-mark{animation:qr-mark-in .42s cubic-bezier(.34,1.56,.64,1) var(--qr-start) both}.qr-ring{animation:qr-ring-in .38s var(--ease) both;animation-delay:calc(var(--qr-start) + 60ms + var(--ring) * 40ms)}.qr-eyes{animation:qr-ring-in .38s var(--ease) both;animation-delay:calc(var(--qr-start) + 60ms + (var(--rings) - 1) * 40ms)}@keyframes qr-mark-in{0%{opacity:0;transform:scale(.4)}}@keyframes qr-ring-in{0%{opacity:0;transform:scale(.6)}}.qr-sweep{position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(180deg,transparent,rgb(94 92 230 / .25) 50%,transparent);pointer-events:none;opacity:0;animation:qr-sweep 1.6s cubic-bezier(.45,0,.55,1) calc(var(--qr-start) + .62s) 2 both}.qr-sweep:after{content:"";position:absolute;left:5.5%;right:5.5%;top:50%;height:2px;margin-top:-1px;border-radius:1px;background:#5e5ce6b3}.qr-card:focus-visible .qr-sweep{animation:qr-sweep-again 1.6s cubic-bezier(.45,0,.55,1) both}@media(hover:hover){.qr-card:hover .qr-sweep{animation:qr-sweep-again 1.6s cubic-bezier(.45,0,.55,1) both}}@keyframes qr-sweep{0%{transform:translateY(-100%);opacity:0}12%,88%{opacity:1}to{transform:translateY(460%);opacity:0}}@keyframes qr-sweep-again{0%{transform:translateY(-100%);opacity:0}12%,88%{opacity:1}to{transform:translateY(460%);opacity:0}}.modal .qr-caption{margin:-2px 0 0;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary)}.qr-codes{background:var(--bg);border:1px solid var(--separator);border-radius:var(--radius);overflow:hidden}.qr-code-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.qr-code-row+.qr-code-row{border-top:1px solid var(--separator)}.qr-code-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.qr-code-row>div>span{font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary)}.qr-code-row code{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.3;color:var(--text-primary);overflow-wrap:anywhere}.qr-action{gap:8px}.qr-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:center;background:none;border:0;padding:4px 0 2px;color:var(--accent-text);font-size:var(--fs-md);font-weight:600}.qr-entry:hover{text-decoration:underline}.icon-btn.accent{background:var(--accent-soft);color:var(--accent-text)}.icon-btn.accent:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text);filter:brightness(1.12)}@media(max-width:900px){.modal-scrim.sheet{place-items:end stretch;padding:0}.modal.sheet{width:100%;max-height:94dvh;overflow-y:auto;border-radius:24px 24px 0 0;border-bottom:0;padding:10px 18px calc(24px + env(safe-area-inset-bottom));animation:sheet-up .32s var(--ease)}.modal.sheet:before{content:"";flex-shrink:0;align-self:center;width:36px;height:5px;border-radius:3px;background:var(--separator);margin-bottom:2px}.qr-modal.sheet{gap:14px}.qr-card{--qr-start: .26s}}@keyframes sheet-up{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.qr-ring,.qr-eyes,.qr-mark,.qr-sweep{animation:none!important}.qr-card,.qr-card:hover,.qr-card:focus-visible{transform:none}.voice-spin,.voice-tx-enter{animation:none!important}.voice-tx-glyph path{transition:none!important}.voice-tx-drawer>p,.voice-tx-drawer[data-open]>p,.voice-tx-drawer[data-open]>.voice-tx-wait,.voice-tx-word{animation:none!important;transition:none!important;translate:none}.voice-tx-wait>span{animation:none!important;background:none;color:var(--voice-wait-ink)}.typing-ink circle,.typing-dots>i{animation:none!important}.typing-ink circle{fill:var(--accent)}.bubble.typing-bubble,.bubble.typing-bubble[data-leaving],.typing-label{animation:none!important}.voice-tx[data-busy] .voice-tx-ring{animation:none!important;stroke-dasharray:30 62;opacity:1}}.tab-bar{display:none;height:62px;flex-shrink:0;border-top:1px solid var(--separator);background:var(--bg);align-items:center;justify-content:space-around}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;color:var(--text-secondary);font-size:var(--fs-2xs);font-weight:600;width:84px;padding:6px 0}.tab-icon{position:relative;display:grid;place-items:center}.tab.active{color:var(--accent-text)}.modal-scrim{position:fixed;inset:0;background:var(--scrim);display:grid;place-items:center;padding:20px;z-index:80;animation:fade-in .15s ease}.modal{width:min(440px,100%);background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--r-xl);padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-md);animation:modal-in .2s var(--ease)}.modal header{display:flex;justify-content:space-between;align-items:center}.modal h2{margin:0;font-size:var(--fs-xl)}.modal p{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.modal-form{display:flex;flex-direction:column;gap:12px}.info-sheet{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 8px}.info-sheet strong{font-size:var(--fs-lg)}.info-sheet>span:where(:not(.avatar)){font-size:var(--fs-sm);color:var(--text-secondary)}.info-sheet span.online{color:var(--online)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.modal-scrim.wipe-scrim{z-index:90}.modal-scrim.continued{animation:none}.wipe-card{padding:28px 24px 24px;gap:20px;align-items:center;text-align:center}.wipe-card:focus{outline:none}.wipe-heading{align-self:stretch;display:flex;flex-direction:column;gap:6px}.wipe-emblem{position:relative;flex:none;width:96px;height:96px;display:grid;place-items:center}.wipe-ring{position:absolute;inset:0;transform:rotate(-90deg);overflow:visible}.wipe-ring circle{fill:none;stroke-width:3.5}.wipe-ring-track{stroke:var(--separator)}.wipe-ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .55s var(--ease),stroke .3s ease}.wipe-ring-fill[data-empty=true]{opacity:0}.wipe-emblem[data-state=done] .wipe-ring-fill{stroke:var(--online)}.wipe-emblem[data-state=failed] .wipe-ring-fill{stroke:var(--danger)}.wipe-core{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);transition:background .3s ease,color .3s ease}.wipe-emblem[data-state=running] .wipe-core svg{animation:wipe-breathe 1.6s ease-in-out infinite}.wipe-emblem:not([data-state=running]) .wipe-core svg{animation:wipe-pop .5s var(--ease) both}.wipe-emblem[data-state=done] .wipe-core{background:var(--ok-bg);color:var(--online)}.wipe-emblem[data-state=failed] .wipe-core{background:var(--danger-soft);color:var(--danger)}.wipe-particle{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);margin:calc(var(--size) / -2);border-radius:50%;background:var(--accent);opacity:0;animation:wipe-particle 1.8s ease-out var(--delay) infinite}@keyframes wipe-particle{0%{transform:translate(0) scale(1);opacity:0}20%{opacity:.9}to{transform:translate(var(--dx),var(--dy)) scale(.35);opacity:0}}@keyframes wipe-breathe{50%{transform:scale(.92);opacity:.8}}@keyframes wipe-pop{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}@keyframes wipe-spin{to{transform:rotate(360deg)}}@keyframes wipe-draw{to{stroke-dashoffset:0}}.wipe-steps{align-self:stretch;margin:0;padding:6px 12px;list-style:none;border-radius:var(--r-md);background:color-mix(in srgb,var(--text-primary) 4.5%,transparent);text-align:left}.wipe-step{display:flex;align-items:center;gap:12px;min-height:40px}.wipe-step-label{flex:1;min-width:0;font-size:var(--fs-md);font-weight:500;color:var(--text-primary);transition:color .2s ease}.wipe-step[data-state=pending] .wipe-step-label{font-weight:400;color:var(--text-secondary)}.wipe-step-detail{font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;animation:fade-in .25s ease}.wipe-status{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;transition:background .2s ease}.wipe-status svg{width:22px;height:22px;overflow:visible}.wipe-status[data-state=done]{background:var(--accent-soft)}.wipe-status[data-state=failed]{background:var(--danger-soft)}.wipe-status-ring{fill:none;stroke:var(--separator);stroke-width:1.5}.wipe-status-track,.wipe-status-arc{fill:none;stroke-width:2.2}.wipe-status-track{stroke:var(--separator)}.wipe-status-arc{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:17 100}.wipe-status[data-state=active] svg{animation:wipe-spin .8s linear infinite}.wipe-status-tick,.wipe-status-bang{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wipe-status-tick{stroke:var(--accent-text);stroke-dasharray:14;stroke-dashoffset:14;animation:wipe-draw .3s var(--ease) .05s forwards}.wipe-status-bang{stroke:var(--danger)}.modal p.wipe-foot{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-xs);line-height:1.4}.wipe-foot-spinner{animation:wipe-spin .9s linear infinite}.wipe-actions{align-self:stretch}@media(prefers-reduced-motion:reduce){.wipe-particle{display:none}.wipe-emblem[data-state] .wipe-core svg,.wipe-status[data-state=active] svg,.wipe-foot-spinner{animation:none}.wipe-ring-fill{transition:none}.wipe-status-tick{animation:none;stroke-dashoffset:0}}.bubble.photo-msg{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.bubble.photo-msg:not(.has-caption){border-color:transparent}.bubble.photo-msg.pending{opacity:1}.photo-frame{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:color-mix(in srgb,var(--text-primary) 7%,var(--surface-2));color:inherit;font:inherit;overflow:hidden;cursor:zoom-in;-webkit-tap-highlight-color:transparent}.bubble.out .photo-frame{background:color-mix(in srgb,#000 14%,var(--accent))}.photo-frame.is-failed{cursor:pointer}.photo-frame:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--accent-text)}.photo-thumb,.photo-full{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.photo-thumb{filter:blur(14px) saturate(1.15);transform:scale(1.14)}.photo-full{opacity:0;transition:opacity .3s ease,filter .2s ease}.photo-frame.is-painted .photo-full{opacity:1}.photo-full.instant{transition:none}.photo-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-tertiary)}.bubble.out .photo-empty{color:#ffffffb3}@media(hover:hover){.photo-frame:hover .photo-full{filter:brightness(1.05)}}.photo-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.photo-spinner,.photo-badge,.photo-size,.photo-meta{background:#0000006b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.photo-spinner{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;animation:fade-in .2s ease}.photo-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:600}.photo-badge-danger{background:color-mix(in srgb,var(--danger-bg) 86%,transparent)}.photo-size,.photo-meta{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-full);font-size:var(--fs-2xs);line-height:1.3;font-variant-numeric:tabular-nums;pointer-events:none}.photo-size{top:8px;left:8px}.photo-meta{right:7px;bottom:7px}.photo-caption{display:flex;align-items:flex-end;gap:9px;padding:7px 13px}.bubble.video-msg{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.bubble.video-msg:not(.has-caption){border-color:transparent}.bubble.video-msg.pending{opacity:1}.video-frame{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:#111;color:inherit;font:inherit;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}.video-frame:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--accent-text)}.video-frame:disabled{cursor:default}.video-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.video-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.34),transparent 52px),linear-gradient(to top,rgba(0,0,0,.3),transparent 46px)}.video-badge{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:center;gap:4px;padding:3.5px 7px;border-radius:var(--r-full);background:#00000073;color:#fff;font-size:var(--fs-2xs);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3;pointer-events:none}.video-badge-dot{opacity:.55;font-weight:600}.video-disc{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-shadow:0 2px 8px #00000040;pointer-events:none}.video-disc svg{margin-left:2px}.video-disc-busy svg{margin-left:0}.viewer-play{position:absolute;inset:0;margin:auto;pointer-events:auto;border:0;cursor:pointer}.viewer-clip{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%}.viewer-media{display:block;max-width:100%;max-height:min(100%,calc(100dvh - 160px));width:auto;height:auto;background:#000;opacity:0;transition:opacity .25s ease}.viewer-media.is-painted{opacity:1}.viewer-transport{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;padding:14px 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000000a6);font-size:var(--fs-xs);font-weight:500;font-variant-numeric:tabular-nums;transition:opacity .2s ease}.viewer-bare .viewer-transport{opacity:0;pointer-events:none}.viewer-scrub{flex:1;min-width:0;height:28px;margin:0;accent-color:#fff;cursor:pointer}.vcompose{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:#000;color:#fff;animation:fade-in .18s ease}.vcompose-bar{display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}.vcompose-to{flex:1;min-width:0;font-size:var(--fs-lg)}.vcompose-to strong{font-weight:600}.vcompose-add{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border:0;border-radius:var(--r-full);background:#2c2c2e;color:#fff;font-size:var(--fs-sm);font-weight:600}.vcompose-add:hover{background:#3a3a3c}.vcompose-strip{list-style:none;margin:0;padding:8px 16px;display:flex;gap:8px;overflow-x:auto}.vcompose-strip li{position:relative;flex:0 0 auto}.vcompose-thumb{width:54px;height:54px;padding:0;border:2.5px solid transparent;border-radius:8px;overflow:hidden;background:#1c1c1e;color:#fff}.vcompose-thumb.is-current{border-color:var(--accent);transform:scale(1.05)}.vcompose-thumb img,.vcompose-thumb .attach-placeholder{display:block;width:100%;height:100%;object-fit:cover}.vcompose-thumb span{position:absolute;left:4px;bottom:4px;padding:1.5px 4px;border-radius:var(--r-full);background:#0000008c;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.vcompose-stage{flex:1;min-height:0;display:grid;place-items:center;position:relative;cursor:pointer}.vcompose-video{display:block;max-width:100%;max-height:100%;background:#000}.vcompose-muted{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--r-full);background:#0000008c;font-size:11px;font-weight:700;letter-spacing:.04em}.vcompose-stage .video-disc{position:absolute;pointer-events:none}.vcompose-foot{display:flex;flex-direction:column;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#000}.vcompose-meta{display:flex;align-items:center;gap:8px;min-height:16px;font-size:var(--fs-xs);color:#ffffffbf;font-variant-numeric:tabular-nums}.vcompose-meta em{color:var(--accent-text);font-style:normal;font-weight:700;font-size:10px}.vcompose-meta>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcompose-quality{position:relative;flex-shrink:0;margin-left:auto}.vcompose-quality-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:0;border-radius:var(--r-full);background:#2c2c2e;color:#fff;font-size:12px;font-weight:600}.vcompose-quality-btn:hover{background:#3a3a3c}.vcompose-quality-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:2;min-width:232px;padding:6px;border-radius:14px;background:#2c2c2e;box-shadow:0 10px 28px #00000073}.vcompose-quality-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:#fff;font-size:14px;font-weight:600;text-align:left}.vcompose-quality-item:hover:not(:disabled){background:#ffffff14}.vcompose-quality-item.is-current{background:#ffffff14}.vcompose-quality-item:disabled{opacity:.4}.vcompose-quality-name{display:inline-flex;align-items:center;gap:8px;min-width:0}.vcompose-quality-item svg{opacity:0;flex-shrink:0}.vcompose-quality-item.is-current svg{opacity:1}.vcompose-quality-item small{color:#ffffff9e;font-size:12px;font-weight:500}.vcompose-quality-name small{font-weight:500}.vcompose-send{display:flex;align-items:flex-end;gap:8px}.vcompose-send .compose-grow{background:#2c2c2e;color:#fff}.vcompose-send .compose-field{color:#fff}.vcompose-tool{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:50%;background:#2c2c2e;color:#fff}.vcompose-tool:hover:not(:disabled){background:#3a3a3c}.vcompose-tool:disabled{opacity:.35}.vcompose-tool.is-on{color:var(--accent-text)}.vcompose-count{width:22px;height:22px;flex-shrink:0;margin-bottom:11px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;font-size:12px;font-weight:600}.vcompose-banner{position:absolute;left:50%;bottom:240px;transform:translate(-50%);margin:0;padding:10px 16px;border-radius:var(--r-full);background:#2c2c2ef2;font-size:var(--fs-sm);font-weight:600;white-space:nowrap;pointer-events:none}.vtrim{position:relative;height:48px;-webkit-user-select:none;user-select:none;touch-action:none}.vtrim-track{position:relative;height:48px;margin:0 16px;background:#1c1c1e;border-radius:8px}.vtrim-film{display:flex;height:100%;border-radius:8px;overflow:hidden}.vtrim-film img,.vtrim-gap{flex:1 1 0;min-width:0;height:100%;object-fit:cover}.vtrim-gap{background:#ffffff17}.vtrim-dim{position:absolute;top:0;bottom:0;background:#0000008c;pointer-events:none}.vtrim-keep{position:absolute;top:0;bottom:0;border:2.5px solid #fff;border-radius:8px;pointer-events:none;box-sizing:border-box}.vtrim-playhead{position:absolute;top:4px;bottom:4px;width:2.5px;margin-left:-1.25px;background:#fff;box-shadow:0 0 4px #00000073;pointer-events:none}.vtrim-handle{position:absolute;top:0;width:16px;height:48px;padding:0;border:0;border-radius:5px;background:#fff;transform:translate(-50%);cursor:ew-resize;touch-action:none}.vtrim-handle:after{content:"";position:absolute;left:7px;top:16px;width:2px;height:16px;border-radius:1px;background:#00000059}@media(max-width:900px){.bubble.video-msg{max-width:78%}}.bubble.file-msg{flex-direction:column;align-items:stretch;gap:4px;width:max-content;min-width:min(240px,100%);max-width:min(300px,74%);padding:8px 10px 7px}.bubble.file-msg.pending{opacity:1}.file-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent}button.file-row{cursor:pointer}button.file-row:focus-visible{outline:none}button.file-row:focus-visible .file-tile{box-shadow:0 0 0 3px var(--accent-text)}.file-tile{position:relative;flex:none;width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;overflow:hidden;background:var(--accent);color:#fff;transition:filter .15s ease}.bubble.out .file-tile{background:#ffffff38}.file-tile.is-unsupported{background:var(--text-tertiary)}.bubble.out .file-tile.is-unsupported{background:#0000002e}.file-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.file-tile.has-thumb:after{content:"";position:absolute;inset:0;background:#00000059}.file-glyph{position:relative;z-index:1;display:grid;place-items:center}.file-glyph>*{grid-area:1 / 1}@media(hover:hover){button.file-row:hover .file-tile{filter:brightness(1.08)}}.file-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.file-name{display:flex;min-width:0;font-size:var(--fs-base);font-weight:500;line-height:1.3;white-space:pre}.file-name-head{min-width:0;overflow:hidden;text-overflow:ellipsis}.file-name-tail{flex:none}.file-meta{font-size:var(--fs-sm);line-height:1.3;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bubble.out .file-meta{color:#ffffffc7}.file-warning{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:500;line-height:1.3;color:var(--warn-text)}.file-warning svg{flex:none}.bubble.out .file-warning{color:#f5d9a6}.file-caption{padding-top:2px}.bubble.file-msg.has-pdf-card{width:min(300px,74%)}.file-pdf-card{position:relative;flex:none;aspect-ratio:2 / 1;margin:-4px -6px 2px;border-radius:var(--r-md);overflow:hidden;background:#fff;-webkit-tap-highlight-color:transparent}.bubble.file-msg.has-quote .file-pdf-card{margin-top:2px}.file-pdf-card.is-tappable{cursor:pointer}.file-pdf-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 .5px #0000001a;pointer-events:none}.file-pdf-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.file-pdf-card-img.is-local{opacity:0;transition:opacity .15s ease}.file-pdf-card-img.is-local.is-painted{opacity:1}.file-pdf-card-img.is-instant{transition:none}@media(hover:hover){.file-pdf-card.is-tappable:hover{filter:brightness(.97)}}@media(prefers-reduced-motion:reduce){.file-pdf-card-img.is-local{transition:none}}.file-tile.audio-cover{border-radius:50%}.audio-play-glyph{transform:translate(1px)}.audio-title{min-width:0;font-size:var(--fs-base);font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-warning.file-cant-play{color:var(--text-secondary);font-weight:400}.bubble.out .file-warning.file-cant-play{color:#ffffffc7}.audio-scrub{--track-played: var(--accent);--track-rest: rgba(142, 142, 160, .3);-webkit-appearance:none;appearance:none;display:block;width:calc(100% - 54px);height:14px;margin:-2px 0 0 54px;padding:0;background:transparent;cursor:pointer;touch-action:none}.bubble.out .audio-scrub{--track-played: #ffffff;--track-rest: rgba(255, 255, 255, .3)}.audio-scrub:focus-visible{outline:none}.audio-scrub::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--track-played) var(--played, 0%),var(--track-rest) var(--played, 0%))}.audio-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;margin-top:-3.5px;border:0;border-radius:50%;background:var(--track-played)}.audio-scrub:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-text)}.audio-scrub::-moz-range-track{height:3px;border-radius:2px;background:var(--track-rest)}.audio-scrub::-moz-range-progress{height:3px;border-radius:2px;background:var(--track-played)}.audio-scrub::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--track-played)}.audio-scrub:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent-text)}.now-playing{position:relative;z-index:3;flex-shrink:0;height:44px;margin-bottom:-44px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:10px;padding:0 6px 0 12px;background:var(--surface-2);border-bottom:1px solid var(--separator);overflow:hidden}.now-playing-toggle{flex:none;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer;transition:filter .15s ease}.now-playing-toggle:hover{filter:brightness(1.08)}.now-playing-text{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:6px;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.now-playing-title{flex:0 1 auto;min-width:0;display:flex;font-size:var(--fs-md);font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing-title .file-name{font-size:inherit;min-width:0}.now-playing-artist{flex:0 100 auto;min-width:0;font-size:var(--fs-sm);line-height:1.3;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-playing-time{flex:none;font-size:var(--fs-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.now-playing-speed{flex:none;height:22px;min-width:34px;padding:0 7px;border:0;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.now-playing-close{flex:none}.now-playing-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform-origin:left center;pointer-events:none}.file-compose-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.file-compose-row{display:flex;align-items:center;gap:10px;padding:8px 6px 8px 10px;border-radius:var(--r-lg);background:var(--surface-1);animation:modal-in .2s var(--ease)}.file-compose-row .file-meta{color:var(--text-secondary)}.file-compose-remove{flex:none}.modal p.file-compose-note{font-size:var(--fs-xs)}.modal-head-actions{display:inline-flex;align-items:center;gap:6px;flex:none}.modal.text-viewer{width:min(760px,100%);max-height:calc(100dvh - 40px);overflow:hidden}.modal.text-viewer header{gap:12px}.modal.text-viewer h2{min-width:0;font-size:var(--fs-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-viewer-download{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-sm);font-weight:600;transition:background .15s ease}.text-viewer-download:hover{background:color-mix(in srgb,var(--accent) 22%,var(--accent-soft))}.text-viewer-body{flex:1 1 auto;min-height:160px;margin:0;padding:12px 14px;overflow:auto;border-radius:var(--r-md);background:var(--surface-1);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.text-viewer-body:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.modal p.text-viewer-cut{font-size:var(--fs-xs)}.pdf-viewer-scrim{position:fixed;inset:0;z-index:80;display:grid;place-items:stretch center;padding:20px;background:var(--scrim);animation:fade-in .15s ease}.pdf-viewer{width:min(1240px,100%);height:100%;min-height:0;display:flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--separator);border-radius:var(--r-xl);box-shadow:var(--shadow-md);overflow:hidden;animation:modal-in .2s var(--ease)}.pdf-viewer-head{flex:none;display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 12px;border-bottom:1px solid var(--separator)}.pdf-viewer-title{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.pdf-viewer-title h2{margin:0;min-width:0;font-size:var(--fs-lg);font-weight:600;line-height:1.25}.pdf-viewer-title .file-name{font-size:inherit;font-weight:inherit;line-height:inherit}.pdf-viewer-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-head-actions{display:inline-flex;align-items:center;gap:4px;flex:none}.pdf-viewer-head .icon-btn.is-on,.pdf-viewer-head .icon-btn.is-on:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.pdf-zoom{display:inline-flex;align-items:center;margin:0 4px;padding:0 2px;border-radius:var(--r-sm);background:var(--surface-1)}.pdf-zoom .icon-btn{width:32px;height:32px}.pdf-zoom-value{min-width:46px;text-align:center;font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.pdf-download{margin-left:4px}.pdf-download svg{flex:none}.pdf-search{flex:1 1 auto;min-width:0;height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--separator);background:var(--surface-1);color:var(--text-tertiary);transition:border-color .15s ease,box-shadow .15s ease}.pdf-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pdf-search input{flex:1 1 auto;min-width:0;border:0;outline:none;background:none;color:var(--text-primary);font:inherit;font-size:16px}.pdf-search input::placeholder{color:var(--text-tertiary)}.pdf-search input::-webkit-search-cancel-button{display:none}.pdf-search-count{flex:none;font-size:var(--fs-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.pdf-search-done{height:32px;padding:0 12px;margin-left:2px;border:0;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-sm);font-weight:600}.pdf-search-done:hover{background:color-mix(in srgb,var(--accent) 22%,var(--accent-soft))}.pdf-viewer-body{position:relative;flex:1 1 auto;min-height:0;display:flex}.pdf-viewer-stage{position:relative;flex:1 1 auto;min-width:0;background:var(--pdf-canvas)}.pdf-viewer-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;outline:none}.pdf-viewer-scroll.is-hidden{visibility:hidden}.pdf-viewer-scroll .pdfViewer,.pdf-viewer-scroll .pdfViewer *{box-sizing:content-box}.pdf-viewer-scroll .pdfViewer{padding:12px 0 0}.pdf-viewer-scroll .pdfViewer .page{margin:0 auto 12px;border:0;border-radius:2px;box-shadow:0 1px 2px #0000001f,0 4px 16px #0000001a}.pdf-viewer-scroll .pdfViewer .page .canvasWrapper{border-radius:2px}.pdf-viewer-scroll .pdfViewer .page.loadingIcon:after{display:none}.pdf-viewer-scroll .textLayer .highlight{--highlight-bg-color: color-mix(in srgb, var(--accent) 30%, transparent);--highlight-selected-bg-color: color-mix(in srgb, var(--accent) 60%, transparent)}.pdf-viewer-scroll .annotationLayer .linkAnnotation>a:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.pdf-placeholders{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;overflow:hidden;pointer-events:none}.pdf-placeholder{flex:none;width:min(920px,100%);aspect-ratio:210 / 297;border-radius:2px;background:#fff;box-shadow:0 1px 2px #0000001f,0 4px 16px #0000001a}.pdf-spinner{position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;border:3px solid rgba(0,0,0,.12);border-top-color:var(--accent);animation:voice-spin .8s linear infinite;pointer-events:none}.pdf-state{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 32px));display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 22px 22px;border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--separator);box-shadow:var(--shadow-md);text-align:center;animation:modal-in .2s var(--ease)}.pdf-state-glyph{width:52px;height:52px;margin-bottom:4px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)}.pdf-state h3{margin:0;font-size:var(--fs-lg);font-weight:600}.pdf-state p{margin:0;font-size:var(--fs-sm);line-height:1.45;color:var(--text-secondary)}.pdf-state p.err{color:var(--danger);text-align:center}.pdf-state .field{margin-top:6px;font-size:16px}.pdf-state .btn{height:44px;gap:8px;font-size:var(--fs-base);margin-top:4px}.pdf-sidebar{position:relative;flex:none;width:0;overflow:hidden;transition:width var(--pdf-slide)}.pdf-sidebar.is-open{width:200px}.pdf-sidebar-inner{position:absolute;top:0;bottom:0;right:0;width:200px;contain:strict;display:flex;flex-direction:column;background:var(--pdf-sidebar);border-right:1px solid var(--separator)}.pdf-pages-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}.pdf-pages-list{position:relative;width:100%}.pdf-page-row{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center}.pdf-page-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;-webkit-tap-highlight-color:transparent}.pdf-page-frame{position:relative;display:block;flex:none;border-radius:2px;background:#fff;box-shadow:0 0 0 .5px #00000024,0 1px 4px #0000001f;overflow:hidden;transition:box-shadow .15s ease}.pdf-page-frame img{position:absolute;inset:0;width:100%;height:100%}.pdf-page-number{font-size:var(--fs-xs);line-height:16px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.pdf-page-thumb.is-current .pdf-page-frame{outline:2px solid var(--accent);outline-offset:3px}.pdf-page-thumb.is-current .pdf-page-number{color:var(--accent-text);font-weight:600}.pdf-page-thumb:focus-visible{outline:none}.pdf-page-thumb:focus-visible .pdf-page-frame{outline:2px solid var(--accent-text);outline-offset:3px}@media(hover:hover){.pdf-page-thumb:hover .pdf-page-frame{box-shadow:0 0 0 .5px #00000024,0 3px 12px #0000002e}}.pdf-drawer-scrim{position:absolute;inset:0;z-index:3;background:#0000004d;animation:fade-in var(--pdf-slide)}.pdf-drawer-scrim.is-closing{animation:pdf-fade-out var(--pdf-slide) forwards;pointer-events:none}.pdf-drawer{position:absolute;top:0;bottom:0;left:0;z-index:4;width:min(280px,80%);display:flex;flex-direction:column;background:var(--pdf-sidebar);box-shadow:0 0 32px #00000047;touch-action:pan-y;animation:pdf-drawer-in var(--pdf-slide);transition:transform var(--pdf-slide)}.pdf-drawer.is-dragging{transition:none}.pdf-drawer.is-closing{animation:pdf-drawer-out var(--pdf-slide) forwards;pointer-events:none}@keyframes pdf-drawer-in{0%{transform:translate(-100%)}}@keyframes pdf-drawer-out{0%{transform:translate(var(--pdf-drawer-from, 0px))}to{transform:translate(-100%)}}@keyframes pdf-fade-out{to{opacity:0}}@media(max-width:899px){.pdf-viewer-scrim{padding:0}.pdf-viewer{width:100%;border:0;border-radius:0;box-shadow:none;animation:sheet-up .28s var(--ease)}.pdf-viewer-head{gap:6px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px;min-height:56px}.pdf-download{width:36px;padding:0;justify-content:center;margin-left:0}.pdf-download span{display:none}}@media(max-width:640px){.pdf-zoom{display:none}.pdf-head-actions{gap:2px}.pdf-search{padding:0 10px}}@media(prefers-reduced-motion:reduce){.pdf-viewer,.pdf-viewer-scrim,.pdf-state,.pdf-drawer,.pdf-drawer-scrim{animation:none}.pdf-sidebar,.pdf-drawer{transition:none}.pdf-spinner{animation-duration:2.4s}}.ring{display:block;overflow:visible}.ring-track{fill:none;stroke:#ffffff42}.ring-fill{fill:none;stroke:#fff;stroke-linecap:round;transition:stroke-dasharray .25s linear}.ring-spin{animation:voice-spin .9s linear infinite}.drop-zone{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--canvas) 70%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;animation:fade-in .15s ease}.drop-card{width:min(440px,100%);min-height:min(240px,60%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px dashed color-mix(in srgb,var(--accent) 65%,transparent);border-radius:var(--r-xl);background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));color:var(--accent-text);text-align:center;animation:modal-in .2s var(--ease)}.drop-card strong{font-size:var(--fs-lg);color:var(--text-primary)}.drop-card span{font-size:var(--fs-sm);color:var(--text-secondary)}.modal.attach-modal{width:min(480px,100%);max-height:min(860px,calc(100dvh - 40px));overflow-y:auto;gap:12px}.attach-hero{display:grid;place-items:center;min-height:160px;border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.attach-hero .attach-img{display:block;max-width:100%;max-height:min(54dvh,460px);width:auto;height:auto}.attach-hero .attach-placeholder{width:100%;aspect-ratio:4 / 3;border-radius:0}.attach-hero .attach-failed{width:100%;aspect-ratio:4 / 3}.attach-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.attach-tile{position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--surface-1);animation:modal-in .2s var(--ease)}.attach-tile .attach-img,.attach-tile .attach-placeholder,.attach-tile .attach-failed{display:flex;width:100%;height:100%;object-fit:cover;border-radius:0}.attach-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;display:grid;place-items:center;background:#0000008c;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s ease,transform .15s ease}.attach-remove:hover{background:#000000bf}.attach-remove:active{transform:scale(.9)}.attach-add{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1.5px dashed var(--separator);border-radius:inherit;background:transparent;color:var(--accent-text);font-size:var(--fs-xs);font-weight:600;transition:background .15s ease,border-color .15s ease}.attach-add:hover{background:var(--hover);border-color:var(--accent)}.attach-failed{flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--danger-soft);color:var(--danger);font-size:var(--fs-xs);font-weight:600}.attach-info{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px}.attach-note{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-secondary)}.attach-note svg{color:var(--online);flex-shrink:0}.attach-more{display:inline-flex;align-items:center;gap:5px;padding:4px 2px;border:0;background:none;color:var(--accent-text);font-size:var(--fs-sm);font-weight:600}.attach-more:hover{text-decoration:underline}.attach-compose{display:flex;gap:8px;align-items:flex-end}.attach-compose .compose-grow{background:var(--surface-1)}.attach-compose .send{margin-bottom:0}.send.is-busy:disabled{background:var(--accent);color:var(--on-accent)}.send-spin{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;animation:voice-spin .8s linear infinite}.viewer{position:fixed;inset:0;z-index:40;color:#fff;touch-action:none;animation:fade-in .18s ease}.viewer-backdrop{position:absolute;inset:0;background:#06060af2;opacity:var(--viewer-dim, 1)}.viewer-stage{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:68px 76px 64px;overflow:hidden;touch-action:none}.viewer-slide{display:grid;place-items:center;will-change:transform}.viewer-slide.settling{transition:transform .3s var(--ease)}.viewer-photo{position:relative;cursor:zoom-in;will-change:transform;animation:viewer-in .24s var(--ease)}.viewer-photo.settling{transition:transform .3s var(--ease)}.viewer-photo.zoomed{cursor:grab}.viewer-photo.zoomed:active{cursor:grabbing}.viewer-thumb,.viewer-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.viewer-thumb{filter:blur(18px);transform:scale(1.03)}.viewer-img{opacity:0;transition:opacity .25s ease}.viewer-img.is-painted{opacity:1}.viewer-loading,.viewer-error{position:absolute;inset:0;display:grid;place-items:center}.viewer-error{font-size:var(--fs-md);color:#fffc;text-align:center}.viewer-bar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:14px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px 22px;background:linear-gradient(rgba(0,0,0,.55),transparent);transition:opacity .2s ease}.viewer-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.viewer-who strong{font-size:var(--fs-base);font-weight:600}.viewer-who span{font-size:var(--fs-xs);color:#ffffffa8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-count{font-size:var(--fs-sm);color:#ffffffbf;font-variant-numeric:tabular-nums}.viewer-actions{display:flex;gap:6px}.viewer-btn,.viewer-nav{display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff1a;color:#fff;transition:background .15s ease,opacity .2s ease,transform .15s ease}.viewer-btn{width:40px;height:40px}.viewer-btn:hover:not(:disabled),.viewer-nav:hover{background:#fff3}.viewer-btn:active:not(:disabled),.viewer-nav:active{transform:scale(.92)}.viewer-btn:disabled{opacity:.4;cursor:default}.viewer-btn:focus-visible,.viewer-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.viewer-nav{position:absolute;top:50%;z-index:2;width:46px;height:46px;margin-top:-23px}.viewer-prev{left:16px}.viewer-next{right:16px}.viewer-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;max-height:38%;overflow-y:auto;padding:30px max(20px,14%) calc(20px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0009 45%);font-size:var(--fs-base);line-height:1.45;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;transition:opacity .2s ease}.viewer-bare .viewer-bar,.viewer-bare .viewer-nav,.viewer-bare .viewer-caption{opacity:0;pointer-events:none}@keyframes viewer-in{0%{opacity:0;transform:scale(.96)}}@media(hover:none){.viewer-nav{display:none}}@media(max-width:900px){.bubble.photo-msg{max-width:78%}.viewer-stage{padding:60px 0 24px}.viewer-bar{padding-left:16px}.attach-grid{grid-template-columns:repeat(3,1fr);gap:5px}.modal.attach-modal{width:100%;max-height:94dvh}}@media(max-width:900px){.rail{display:none}.shell{flex-direction:column}.pane{width:100%;border-right:0}.pane.hidden-mobile,.thread.hidden-mobile{display:none}.tab-bar{display:flex}.set-toast{bottom:78px}.thread-head{height:58px;padding:0 8px 0 4px;gap:10px}.thread-head .avatar-md{width:38px;height:38px;font-size:var(--fs-sm)}.e2e-badge{display:none}.back-mobile{display:grid}.messages-inner{padding:14px 12px 16px}.bubble{max-width:84%}.compose{padding:7px 10px}.voice-strip-row{padding:7px 10px 3px}.compose-wide{display:none}.compose-plus{display:grid}.compose.has-draft .compose-mic{display:none}.compose:not(.has-draft) .send{display:none}.jump-latest{right:14px;bottom:calc(100% + 16px)}.set-body{padding:16px 12px 48px}.set-nav{height:52px}.pane-head{padding:14px 12px 10px}.rows{padding:2px 6px 12px}}@media(max-width:960px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{justify-content:center;padding:32px 20px 44px;align-items:flex-start}.auth-card{width:min(440px,100%);padding-top:24px}.auth-mark-compact{display:grid;margin-bottom:12px}.auth-mobile-kicker{display:block;margin:0 0 10px;font-size:var(--fs-sm);font-weight:600;color:var(--accent-text);letter-spacing:-.01em}.auth-card h1{font-size:26px}.lock-screen{flex-direction:column;justify-content:flex-start;gap:12px;padding:20px 16px 32px}.lock-hero-col{gap:14px}.lock-hero-col h1{font-size:28px}.lock-hero-col .lede{font-size:var(--fs-md);max-width:300px}.lock-stage{scale:.72;margin:-46px 0 -52px}.lock-trust{display:none}.lock-hint{visibility:hidden}.lock-card{background:transparent;border:0;box-shadow:none;padding:4px 0 0;gap:14px}.lock-pad{gap:10px 14px}.lock-card-label{display:none}}@media(max-width:600px){.phrase-grid{grid-template-columns:repeat(2,1fr)}.auth-panel{padding:24px 16px 40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.lock-screen{opacity:1;transform:none}.lock-stage{transform:none}}.bubble.has-reactions{flex-direction:column;align-items:stretch}.reaction-strip{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}.reaction-strip-meta{margin-left:auto;padding-left:6px;display:inline-flex}.reaction-chip{--chip-bg: color-mix(in srgb, var(--accent) 16%, transparent);display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;min-height:30px;max-width:100%;padding:0 3px 0 4px;border-radius:15px;background:var(--chip-bg);transition:background .12s var(--ease)}.reaction-chip.is-mine{--chip-bg: var(--accent)}.bubble.out .reaction-chip{--chip-bg: rgba(255, 255, 255, .2)}.bubble.out .reaction-chip.is-mine{--chip-bg: #fff}.reaction-chip .avatar-xs{box-shadow:0 0 0 1.5px var(--chip-bg)}.bubble.out .reaction-chip:not(.is-mine) .avatar-xs{box-shadow:0 0 0 1.5px var(--accent)}.bubble.in .reaction-chip:not(.is-mine) .avatar-xs{box-shadow:0 0 0 1.5px var(--bubble-in)}.reaction-emoji{height:30px;min-width:24px;padding:0 2px;display:grid;place-items:center;border:0;border-radius:var(--r-full);background:transparent;color:inherit;font:inherit;font-size:18px;line-height:1;cursor:pointer;transition:transform .08s var(--ease)}.reaction-emoji.is-new{animation:reaction-pop .3s var(--ease)}.reaction-emoji:active{transform:scale(.82)}.reaction-emoji:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.reaction-faces{display:inline-flex;margin-left:3px}.reaction-faces .avatar+.avatar{margin-left:-12px}.avatar-xs{width:24px;height:24px;font-size:9px}.media-reactions{padding:6px 8px 8px}.media-reactions .reaction-strip{margin-top:0}.bubble.voice-msg .reaction-strip{margin-top:7px}@keyframes reaction-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08);opacity:1}to{transform:none}}.reaction-picker{flex:1;min-width:0;display:flex;flex-direction:column}.reaction-picker.is-expanded{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:4px;row-gap:6px;align-items:center;width:266px}.reaction-picker-list{display:flex;flex-wrap:nowrap;align-items:center;gap:2px}.reaction-picker.is-expanded .reaction-picker-list{grid-column:1 / -1}.reaction-picker-list.is-grid{display:grid;grid-template-columns:repeat(8,30px);gap:4px 2px;align-content:start;justify-content:center;min-height:30px;max-height:184px;overscroll-behavior:contain;overflow:hidden auto;scrollbar-gutter:stable}.reaction-picker-list.is-grid,.ctx-menu{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}.reaction-picker-list.is-grid::-webkit-scrollbar,.ctx-menu::-webkit-scrollbar{width:8px}.reaction-picker-list.is-grid::-webkit-scrollbar-track,.ctx-menu::-webkit-scrollbar-track{background:transparent}.reaction-picker-list.is-grid::-webkit-scrollbar-thumb,.ctx-menu::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:var(--r-full);border:2px solid transparent;background-clip:padding-box}.reaction-picker-list.is-grid::-webkit-scrollbar-thumb:hover,.ctx-menu::-webkit-scrollbar-thumb:hover{background-color:var(--text-tertiary)}.reaction-picker-list.is-grid .reaction-pick:nth-child(n+8){animation:reaction-grid-in .32s var(--ease) both}@keyframes reaction-grid-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.reaction-search{height:30px;min-width:0;display:flex;align-items:center;gap:6px;padding:0 9px;border-radius:var(--r-full);background:var(--hover);color:var(--text-tertiary);animation:reaction-head-in .24s var(--ease) both}.reaction-search:focus-within{box-shadow:0 0 0 2px var(--accent);color:var(--text-secondary)}.reaction-search input{flex:1;min-width:0;padding:0;background:transparent;border:0;outline:none;color:var(--text-primary);font:inherit;font-size:var(--fs-sm)}.reaction-search input::placeholder{color:var(--text-tertiary)}.reaction-search input::-webkit-search-cancel-button{display:none}.reaction-search-clear{width:20px;height:20px;padding:0;display:grid;place-items:center;border:0;border-radius:var(--r-full);background:transparent;color:var(--text-tertiary);cursor:pointer}.reaction-search-clear:hover,.reaction-search-clear:focus-visible{color:var(--text-primary);background:var(--hover);outline:none}.reaction-more.is-open{animation:reaction-head-in .24s var(--ease) both}@keyframes reaction-head-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reaction-empty{grid-column:1 / -1;justify-self:center;height:30px;display:grid;place-items:center;margin:0;padding:0 12px;text-align:center;font-size:var(--fs-sm);color:var(--text-tertiary)}.reaction-pick,.reaction-more{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--r-full);background:transparent;color:var(--text-secondary);font-size:21px;line-height:1;cursor:pointer;transition:transform .08s var(--ease),background .12s var(--ease)}.reaction-pick:hover{transform:scale(1.18)}.reaction-pick:focus-visible,.reaction-more:focus-visible{outline:2px solid var(--accent);outline-offset:1px;transform:scale(1.1)}.reaction-pick:active{transform:scale(.85)}.reaction-pick.is-selected{background:var(--accent-soft)}.reaction-more{background:var(--hover);width:26px;height:26px}.reaction-picker-list.is-grid:has(.reaction-empty){align-content:center;justify-content:center}@media(prefers-reduced-motion:reduce){.reaction-emoji{animation:none}.reaction-pick:hover{transform:none}.reaction-picker-list.is-grid .reaction-pick,.reaction-search,.reaction-more.is-open{animation:none}}.ctx-menu:has(.reaction-picker){max-width:300px}.ctx-menu-header:has(.reaction-picker){padding:4px 4px 6px}.bubble-hover-actions{display:flex;align-items:flex-end;gap:4px;flex:0 0 auto}.msg-row.mine .bubble-hover-actions{order:-1}.row-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;align-self:stretch}.row-side .row-time{align-self:auto}.row-reaction-badge{width:20px;height:20px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);animation:reaction-pop .3s var(--ease)}@media(prefers-reduced-motion:reduce){.reaction-emoji.is-new,.row-reaction-badge{animation:none}}.row-badges{display:flex;align-items:center;gap:4px}.row-unread{min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:700;font-variant-numeric:tabular-nums;animation:reaction-pop .3s var(--ease)}.row-unread.muted{background:var(--text-tertiary);color:var(--bg)}.row-copy strong.row-title-muted{display:flex;align-items:center;gap:5px}.row-copy strong.row-title-muted>span{display:block;margin:0;min-width:0;font-size:inherit;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-muted-icon{flex-shrink:0;color:var(--text-tertiary)}@media(prefers-reduced-motion:reduce){.row-unread{animation:none}}.notify-offer{display:flex;align-items:center;gap:12px;margin:2px 2px 10px;padding:12px;border-radius:var(--r-md);background:var(--accent-soft)}.notify-offer-icon{width:34px;height:34px;border-radius:var(--r-full);display:grid;place-items:center;flex-shrink:0;background:var(--accent);color:var(--on-accent)}.notify-offer-copy{flex:1;min-width:0}.notify-offer-copy strong{display:block;font-size:var(--fs-md);font-weight:600}.notify-offer-copy p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.4}.notify-offer-copy button{margin-top:6px;padding:0;border:0;background:none;color:var(--accent-text);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.notify-offer-copy button:hover{text-decoration:underline}.notify-offer .icon-btn{align-self:flex-start;width:28px;height:28px}.set-row-button:disabled:active{background:transparent}.set-sounds>.set-row:first-child{border-top:0}.set-check{flex-shrink:0;color:var(--accent)}.chat-menu-layer{position:relative;z-index:85}.tab-icon .rail-badge{top:-6px;right:-12px}.call-start{display:flex;justify-content:center;gap:10px;margin-top:8px}.call-start button{min-width:92px;height:56px;padding:0 14px;border:0;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:var(--fs-xs);font-weight:600;transition:filter .15s ease,opacity .15s ease}.call-start button:hover:not(:disabled){filter:brightness(1.1)}.call-start button:disabled{opacity:.45;cursor:default}.call{--call-red: #e0352b;--call-green: #1f9d4c;--call-tint: #6464f2;--call-glass: rgba(255, 255, 255, .14);--call-glass-hover: rgba(255, 255, 255, .24);--call-disc: 62px;--call-ring-disc: 70px;--tile-w: 200px;--tile-h: calc(var(--tile-w) * 10 / 16);--tiles-top: calc(66px + env(safe-area-inset-top)) ;position:fixed;inset:0;z-index:88;display:flex;flex-direction:column;align-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden;color:#fff;color-scheme:dark;background:#09090d;outline:none;animation:call-in .32s var(--ease)}@keyframes call-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.call-backdrop{position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 32%,color-mix(in srgb,var(--call-tint) 13%,transparent),transparent 70%),linear-gradient(180deg,#141420,#0c0c13 60%,#08080c)}.call-ended .call-backdrop{filter:saturate(.5) brightness(.8);transition:filter .6s ease}.call-remote{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;opacity:0;pointer-events:none}.call-remote.is-shown{opacity:1}@media(min-width:901px){.call-remote{object-fit:contain}}.call-shade{position:absolute;left:0;right:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .3s ease}.call-shade-top{top:0;height:calc(160px + env(safe-area-inset-top));background:linear-gradient(rgba(0,0,0,.6),transparent)}.call-shade-bottom{bottom:0;height:calc(220px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0000008c)}.call.has-video .call-shade,.call.has-screen .call-shade,.call.self-full .call-shade{opacity:1}.call-screen{position:absolute;inset:0;z-index:1;display:flex;overflow:hidden;background:#000;opacity:0;transform:scale(.985);pointer-events:none;touch-action:manipulation;transition:opacity .28s ease,transform .36s var(--ease)}.call-screen.is-shown{opacity:1;transform:none;pointer-events:auto;cursor:zoom-in}.call-screen video{display:block;margin:auto;width:100%;height:100%;object-fit:contain}.call-screen.is-actual{overflow:auto;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior:contain}.call-screen.is-actual:active{cursor:grabbing}.call-screen.is-actual video{width:auto;height:auto;max-width:none;flex-shrink:0;object-fit:fill}.call-top{position:relative;z-index:3;align-self:stretch;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 0 16px}.call-e2e{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--r-full);background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:var(--fs-xs);font-weight:600;color:#ffffffd1}.call-icon-btn{width:40px;height:40px;flex-shrink:0;border:0;border-radius:var(--r-full);background:#ffffff1f;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;transition:background .15s ease,transform .12s ease}.call-icon-btn:hover{background:#ffffff38}.call-icon-btn:active{transform:scale(.92)}.call-icon-btn.is-on,.call-icon-btn.is-on:hover{background:#fff;color:#111}.call-top-actions{display:flex;align-items:center;gap:8px}.call-top-start{display:flex;align-items:center;gap:8px;min-width:0}.call-sharing{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;height:29px;padding:0 3px 0 11px;border-radius:var(--r-full);background:var(--call-red);color:#fff;box-shadow:0 4px 14px #00000059;font-size:var(--fs-xs);font-weight:650;animation:call-status-in .3s var(--ease)}.call-sharing-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#fff;animation:call-live 1.6s ease-in-out infinite}.call-sharing-label{white-space:nowrap}.call-sharing-sound{flex-shrink:0;opacity:.9}.call-sharing-stop{height:23px;padding:0 10px;border:0;border-radius:var(--r-full);background:#fff;color:var(--call-red);font:inherit;font-weight:700;transition:background .15s ease,transform .12s ease}.call-sharing-stop:hover{background:#ffe9e7}.call-sharing-stop:active{transform:scale(.94)}.call-stage{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:0 24px;pointer-events:none}.call-stage>*{pointer-events:auto}.call-who{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;animation:call-rise .4s var(--ease)}@keyframes call-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.call-avatar{position:relative;border-radius:50%;transition:transform .4s var(--ease),opacity .4s ease}.call-avatar .avatar{width:128px;height:128px;font-size:46px;box-shadow:0 8px 24px #00000059}.call.is-ringing .call-avatar{animation:call-breathe 2.2s ease-in-out infinite}@keyframes call-breathe{0%,to{transform:scale(.985)}50%{transform:scale(1.02)}}.call-avatar.ringing:before,.call-avatar.ringing:after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.32);animation:call-pulse 2.4s var(--ease) infinite;pointer-events:none}.call-avatar.ringing:after{animation-delay:1.2s}@keyframes call-pulse{0%{transform:scale(1);opacity:.85}to{transform:scale(1.7);opacity:0}}.call-stage .call-avatar.is-opening{animation:call-face-open .2s ease-out both}.call-stage .call-avatar.is-closing{animation:call-face-close .26s ease-out .06s both}@keyframes call-face-open{to{transform:scale(1.14);opacity:0}}@keyframes call-face-close{0%{transform:scale(1.14);opacity:0}}.call-who.is-leaving .call-id{animation:call-id-leave .2s ease-in .22s both}@keyframes call-id-leave{to{opacity:0;translate:0 -6px}}.call-ended .call-avatar{opacity:.6;transform:scale(.92)}.call-id{position:absolute;top:calc(100% + 18px);left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 48px);display:flex;flex-direction:column;align-items:center;gap:10px}.call-id-main{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:100%}.call-name{margin:0;max-width:100%;font-size:28px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-status{margin:0;min-height:1.4em;display:grid;font-size:var(--fs-base);color:#ffffffbd;font-variant-numeric:tabular-nums;transition:font-size .3s var(--ease),color .3s ease}.call-status.is-clock{font-size:var(--fs-xl);font-weight:500;color:#ffffffe6;letter-spacing:.01em}.call-status-text{grid-area:1 / 1;animation:call-status-in .3s var(--ease)}@keyframes call-status-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.call.is-reconnecting .call-status-text{color:#ffd9a8;animation:call-status-in .3s var(--ease),call-blink 1.4s ease-in-out .3s infinite}@keyframes call-blink{50%{opacity:.55}}.call-ended .call-status{color:#fff;font-weight:600}.call-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.call-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-full);background:#00000061;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:var(--fs-xs);font-weight:600;animation:call-status-in .3s var(--ease)}.call-mic{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-full);background:#00000061;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;opacity:.72;transition:opacity .25s ease;animation:call-status-in .3s var(--ease)}.call-mic[data-live=true]{opacity:1}.call-mic-bars{display:inline-flex;align-items:center;gap:2px;height:16px}.call-mic-bar{display:block;width:3px;height:16px;border-radius:2px;background:#fff;transform:scaleY(.1875);transform-origin:center;will-change:transform}.call-e2e,.call-top-actions,.call-stage,.call-dock{transition:opacity .3s ease}.call.is-idle{cursor:none}.call.is-idle .call-e2e,.call.is-idle .call-top-actions,.call.is-idle .call-stage,.call.is-idle .call-dock,.call.is-idle .call-shade{opacity:0;pointer-events:none}.call.is-idle .call-stage>*{pointer-events:none}.call.is-idle .call-screen{cursor:none}.call-notice{margin:0;max-width:340px;font-size:var(--fs-sm);line-height:1.45;color:#ffd9a8;animation:call-status-in .3s var(--ease)}.call-safety{margin:8px 0 0;max-width:min(420px,88vw);padding:8px 12px;border:0;border-radius:12px;background:#ffffff1f;color:#fff;font:inherit;font-size:13px;line-height:1.35;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.call-safety:hover{background:#fff3}.call-safety-wrap{position:relative;display:inline-flex;flex-shrink:0}.call-e2e.is-unverified{border:1px solid rgba(255,196,110,.35);padding:6px 11px;background:#ffb04029;color:#ffd9a8;font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:background .15s ease,opacity .3s ease;-webkit-tap-highlight-color:transparent}.call-e2e.is-unverified:hover,.call-e2e.is-unverified.is-open{background:#ffb04042}.call-safety-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:2;width:min(300px,calc(100vw - 32px));padding:14px;display:grid;gap:10px;border-radius:20px;background:#181822f5;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px #00000073,inset 0 1px #ffffff14;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);color:#fff;text-align:left;animation:call-safety-in .2s var(--ease)}.call-safety-panel:focus{outline:none}@keyframes call-safety-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}}.call-safety-title{font-size:var(--fs-sm);font-weight:650}.call-safety-text{margin:0;font-size:var(--fs-xs);line-height:1.45;color:#ffffffb3}.call-safety-num{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 4px;padding:10px 8px;border-radius:12px;background:#ffffff14;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:500;letter-spacing:.04em;text-align:center;font-variant-numeric:tabular-nums}.call-safety-confirm{height:36px;border:0;border-radius:var(--r-full);background:#fff;color:#111;font:inherit;font-size:var(--fs-sm);font-weight:650;cursor:pointer;transition:opacity .15s ease,transform .12s ease}.call-safety-confirm:hover{opacity:.9}.call-safety-confirm:active{transform:scale(.97)}.thread-banner-action{display:inline-block;margin-left:8px;border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:650;text-decoration:underline;cursor:pointer}.call.has-video .call-stage,.call.has-screen .call-stage,.call.self-full .call-stage{align-content:start;justify-items:center;padding-top:calc(64px + env(safe-area-inset-top))}.call.has-video .call-avatar,.call.has-screen .call-avatar,.call.self-full .call-avatar{display:none}.call.has-video .call-id,.call.has-screen .call-id,.call.self-full .call-id{position:static;transform:none;width:auto;gap:8px}.call.has-video .call-id-main,.call.has-screen .call-id-main,.call.self-full .call-id-main{flex-direction:row;align-items:baseline;gap:10px;padding:8px 16px;border-radius:var(--r-full);background:#0000005c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.call.has-video .call-name,.call.has-screen .call-name,.call.self-full .call-name{font-size:var(--fs-base);font-weight:600;letter-spacing:0}@media(min-width:901px){.call.has-video .call-id,.call.has-screen .call-id{max-width:calc(100vw - 480px)}}.call.has-video .call-status,.call.has-screen .call-status,.call.self-full .call-status{font-size:var(--fs-sm);font-weight:400;color:#ffffffbd;min-height:0}.call-self,.call-tile{position:absolute;z-index:2;top:calc(var(--tiles-top) + var(--slot, 0) * (var(--tile-h) + 10px));right:16px;width:var(--tile-w);height:var(--tile-h);border-radius:var(--r-lg);overflow:hidden;background:#1b1b22;box-shadow:0 10px 34px #0000008c,0 0 0 1px #ffffff1f;display:grid;place-items:center;opacity:0;transform:scale(.86);transform-origin:top right;pointer-events:none;transition:opacity .28s ease,transform .35s var(--ease),width .35s var(--ease),height .35s var(--ease),top .35s var(--ease),right .35s var(--ease),border-radius .35s var(--ease),box-shadow .35s ease}.call-self.is-shown,.call-tile.is-shown{opacity:1;transform:none}.call-self video,.call-tile video{width:100%;height:100%;object-fit:cover;display:block}.call-own-screen{background:#000}.call-own-screen video{object-fit:contain}.call-tile-label{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:var(--r-full);background:#0000008c;font-size:11px;font-weight:600;color:#ffffffeb}.call-self video.mirrored{transform:scaleX(-1)}.call-self video{transition:object-position .12s linear}.call-self.full{z-index:0;top:0;right:0;width:100%;height:100%;border-radius:0;box-shadow:none;transform-origin:center}.call-dock{position:relative;z-index:3;align-self:stretch;margin-top:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:14px;padding:12px 16px 28px}.call-captions{width:min(560px,100%);min-height:78px;max-height:118px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:12px 18px;border-radius:20px;background:#0000005c;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;font-size:var(--fs-base);line-height:1.4;color:#ffffffeb;text-align:center;text-wrap:balance;transition:opacity .3s ease;animation:call-status-in .3s var(--ease)}.call-captions.is-empty{display:none}.call-captions p{margin:0;animation:call-status-in .3s var(--ease)}.call-captions p:not(:last-child){color:#ffffff8c;font-size:var(--fs-sm)}.call-sound{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--r-full);border:0;background:#fff;color:#111;font-size:var(--fs-sm);font-weight:600;box-shadow:0 6px 18px #0000004d;animation:call-bar-in .4s var(--ease)}.call-sound:hover{background:#f1f1f4}.call-bar{max-width:100%;display:flex;align-items:flex-start;justify-content:center;gap:clamp(12px,3vw,22px);padding:14px 20px 12px;border-radius:34px;background:#1818228c;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 32px #00000059,inset 0 1px #ffffff14;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);animation:call-bar-in .45s var(--ease)}@keyframes call-bar-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}.call-bar-ring{gap:clamp(44px,14vw,88px);padding:16px 30px 14px}.call-bar-ring .call-ctl-disc{width:var(--call-ring-disc);height:var(--call-ring-disc)}.call-ctl{min-width:var(--call-disc);padding:0;border:0;background:none;color:#fff;display:flex;flex-direction:column;align-items:center;gap:8px;-webkit-tap-highlight-color:transparent}.call-ctl-disc{width:var(--call-disc);height:var(--call-disc);border-radius:50%;display:grid;place-items:center;background:var(--call-glass);transition:background .2s ease,color .2s ease,transform .15s var(--ease)}.call-ctl-glyph{display:grid;place-items:center;animation:call-glyph-in .25s var(--ease)}@keyframes call-glyph-in{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}.call-ctl:hover:not(:disabled) .call-ctl-disc{background:var(--call-glass-hover)}.call-ctl:active:not(:disabled) .call-ctl-disc{transform:scale(.9)}.call-ctl.is-on .call-ctl-disc,.call-ctl.is-on:hover:not(:disabled) .call-ctl-disc{background:#fff;color:#111}.call-ctl-end .call-ctl-disc,.call-ctl-end:hover:not(:disabled) .call-ctl-disc{background:var(--call-red)}.call-ctl-accept .call-ctl-disc,.call-ctl-accept:hover:not(:disabled) .call-ctl-disc{background:var(--call-green)}.call-ctl-end:hover:not(:disabled) .call-ctl-disc,.call-ctl-accept:hover:not(:disabled) .call-ctl-disc{filter:brightness(1.1)}.call-ctl-label{font-size:var(--fs-xs);font-weight:600;color:#ffffffdb;white-space:nowrap}.call-ctl:disabled,.call-ctl.is-unavailable{opacity:.4;cursor:default}.call-ctl.is-unavailable:hover .call-ctl-disc{background:var(--call-glass)}.call-share{position:relative}.call-quality-wrap{position:absolute;top:0;right:0}.call-share-more{position:absolute;top:-5px;right:-7px;width:24px;height:24px;padding:0;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:#262632eb;color:#fff;box-shadow:0 2px 8px #00000059;transition:background .2s ease,transform .15s var(--ease);-webkit-tap-highlight-color:transparent}.call-share-more svg{transition:transform .2s var(--ease)}.call-share-more:hover{background:#3e3e4ef5}.call-share-more:active{transform:scale(.9)}.call-share-more.is-open{background:#fff;color:#111}.call-share-more.is-open svg{transform:rotate(180deg)}.call-share-more.is-dimmed:not(.is-open){opacity:.55}.call-share-more:focus-visible{outline:2px solid #fff;outline-offset:2px}.call-quality{position:absolute;bottom:calc(100% + 26px);left:calc(var(--call-disc) / -2);transform:translate(-50%);width:236px;padding:14px 14px 12px;display:grid;gap:12px;border-radius:20px;background:#181822f5;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px #00000073,inset 0 1px #ffffff14;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);color:#fff;text-align:left;animation:call-quality-in .2s var(--ease);z-index:2}@keyframes call-quality-in{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.97)}to{opacity:1;transform:translate(-50%)}}.call-quality-title{font-size:var(--fs-sm);font-weight:650}.call-quality-group{margin:0;padding:0;border:0;min-width:0;display:grid;gap:6px}.call-quality-group legend{padding:0;margin-bottom:6px;font-size:var(--fs-xs);font-weight:600;color:#ffffff9e}.call-quality-options{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;border-radius:12px;background:#ffffff14}.call-quality-option{position:relative;display:block;cursor:pointer}.call-quality-option input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.call-quality-option span{display:flex;align-items:baseline;justify-content:center;gap:3px;height:32px;line-height:32px;border-radius:10px;font-size:var(--fs-sm);font-weight:600;color:#ffffffdb;transition:background .15s ease,color .15s ease}.call-quality-option span small{font-size:.78em;font-weight:600;opacity:.7}.call-quality-option:hover input:not(:checked)+span{background:#ffffff1a}.call-quality-option input:checked+span{background:#fff;color:#111}.call-quality-option input:focus-visible+span{outline:2px solid #fff;outline-offset:1px}.call-ctl.is-pending .call-ctl-disc{animation:call-ctl-wait 1.1s ease-in-out infinite}@keyframes call-ctl-wait{50%{background:#ffffff6b}}.call-ctl:focus-visible{outline:none}.call-ctl:focus-visible .call-ctl-disc{outline:3px solid #fff;outline-offset:3px}.call :focus-visible{outline-color:#fff}.call:focus-visible{outline:none}@media(max-width:900px){.thread-head .icon-btn:not(.back-mobile)+.icon-btn{margin-left:-6px}.call{--call-disc: 58px;--call-ring-disc: 68px}.call-top{padding:10px 12px 0 14px}.call{--tile-w: 104px;--tile-h: calc(var(--tile-w) * 4 / 3);--tiles-top: calc(156px + env(safe-area-inset-top)) }.call-self,.call-tile{right:12px}.call-avatar .avatar{width:116px;height:116px;font-size:42px}.call-name{font-size:26px}.call-dock{padding:10px 12px 18px;gap:12px}.call-captions{min-height:62px;max-height:92px;padding:10px 14px;border-radius:18px}.call-id{top:calc(100% + 14px)}.call-bar{gap:14px;padding:12px 16px 10px;border-radius:30px}.call-bar-ring{gap:clamp(40px,12vw,72px);padding:14px 26px 12px}}@media(max-height:760px){.call-avatar .avatar{width:108px;height:108px;font-size:38px}.call-stage{padding-bottom:48px}.call.has-video .call-stage,.call.has-screen .call-stage,.call.self-full .call-stage{padding-bottom:0}}@media(max-height:560px){.call{--call-disc: 54px;--call-ring-disc: 60px}.call-avatar .avatar{width:84px;height:84px;font-size:30px}.call-stage{padding-bottom:96px}.call-name{font-size:22px}.call-status.is-clock{font-size:var(--fs-lg)}.call-dock{padding-bottom:14px;gap:10px}.call-captions{min-height:54px;padding:8px 14px}.call-notice{max-width:520px}.call-bar{padding:10px 16px 8px}.call{--tile-w: 140px}}@media(max-width:900px)and (max-height:560px){.call{--tile-w: 90px;--tiles-top: calc(62px + env(safe-area-inset-top)) }}.call-banner{--call-red: #e0352b;--call-green: #1f9d4c;position:fixed;z-index:92;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(440px,calc(100% - 24px));display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:var(--r-xl);color:#fff;color-scheme:dark;background:#181822b8;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 32px #00000059,inset 0 1px #ffffff14;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);outline:none;animation:call-banner-in .5s var(--ease)}@keyframes call-banner-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 20px)) scale(.96)}to{opacity:1;transform:translate(-50%)}}.call-banner-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:4px 8px 4px 4px;margin:-4px 0 -4px -4px;border:0;border-radius:var(--r-lg);background:none;color:inherit;text-align:left;transition:background .15s ease}.call-banner-main:hover{background:#ffffff12}.call-banner-avatar{position:relative;flex-shrink:0;border-radius:50%;display:block}.call-banner-avatar:before,.call-banner-avatar:after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.32);animation:call-pulse 2.4s var(--ease) infinite;pointer-events:none}.call-banner-avatar:after{animation-delay:1.2s}.call-banner-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.call-banner-name{font-size:var(--fs-base);font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-banner-kind{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:500;color:#ffffffb3;white-space:nowrap}.call-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.call-banner-btn{width:44px;height:44px;border:0;border-radius:50%;color:#fff;display:grid;place-items:center;transition:transform .15s var(--ease),filter .15s ease}.call-banner-btn:hover{filter:brightness(1.1)}.call-banner-btn:active{transform:scale(.9)}.call-banner-btn.decline{background:var(--call-red)}.call-banner-btn.accept{background:var(--call-green)}.call-banner.is-ended .call-banner-avatar:before,.call-banner.is-ended .call-banner-avatar:after{animation:none;opacity:0}.call-banner.is-ended .call-banner-main{cursor:default}.call-banner.is-ended .call-banner-main:hover{background:none}.call-banner :focus-visible{outline:2px solid #fff;outline-offset:2px}.call-banner-main:focus-visible{outline-offset:0}@media(max-width:900px){.call-banner{top:calc(10px + env(safe-area-inset-top))}}.update-banner{position:fixed;z-index:86;top:calc(14px + env(safe-area-inset-top));left:12px;right:12px;width:max-content;max-width:min(480px,calc(100vw - 24px));margin-inline:auto;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--separator);box-shadow:var(--shadow-md);animation:update-banner-in .4s var(--ease)}@keyframes update-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.update-banner-icon{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text)}.update-banner-text{margin:0;min-width:0;font-size:var(--fs-sm);font-weight:500;line-height:1.35;color:var(--text-primary)}.update-banner-reload,.about-reload{height:32px;padding:0 14px;flex-shrink:0;border:0;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-sm);font-weight:600;transition:background .15s ease}.update-banner-reload:hover,.about-reload:hover{background:var(--accent-hover)}.about-reload{height:30px}.update-banner-close.icon-btn{width:32px;height:32px}@media(max-width:900px){.update-banner{top:calc(10px + env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){.update-banner{animation:none}}.call-pill{position:fixed;z-index:88;left:calc(var(--rail-w) + 12px);bottom:14px;width:calc(var(--pane-w) - 24px);display:flex;align-items:center;gap:6px;padding:6px;border-radius:var(--r-full);background:#187a3c;color:#fff;box-shadow:var(--shadow-md);animation:modal-in .2s var(--ease)}.call-pill.is-ended{background:#3b3b45}.call-pill-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 8px 4px 10px;border:0;border-radius:var(--r-full);background:none;color:inherit;text-align:left}.call-pill-main:hover{background:#ffffff1a}.call-pill-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#8dffb4;animation:call-live 1.6s ease-in-out infinite}.call-pill.is-ended .call-pill-dot{display:none}@keyframes call-live{50%{opacity:.35}}.call-pill-copy{min-width:0;display:flex;flex-direction:column}.call-pill-copy strong{font-size:var(--fs-sm);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-pill-status{font-size:var(--fs-xs);opacity:.88;font-variant-numeric:tabular-nums}.call-pill-expand{margin-left:auto;flex-shrink:0;opacity:.8}.call-pill-btn{width:36px;height:36px;flex-shrink:0;border:0;border-radius:50%;background:#ffffff2e;color:#fff;display:grid;place-items:center;transition:background .15s ease}.call-pill-btn:hover{background:#ffffff47}.call-pill-btn.is-on,.call-pill-btn.is-on:hover{background:#fff;color:#187a3c}.call-pill-btn.end,.call-pill-btn.end:hover{background:#e0352b}.call-pill-btn.is-sharing,.call-pill-btn.is-sharing:hover{background:#fff;color:#c42b22}.call-pill :focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:var(--r-full)}@media(max-width:900px){.call-pill{position:static;order:-1;flex-shrink:0;width:auto;padding:calc(4px + env(safe-area-inset-top)) 10px 4px 4px;border-radius:0;box-shadow:none;animation:none}.call-pill-btn{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.call,.call-pill,.call-backdrop,.call-who,.call-bar,.call-sound,.call-status-text,.call-chip,.call-notice,.call-safety,.call-ctl-glyph,.call-remote,.call-captions,.call-captions p,.call.is-ringing .call-avatar,.call-stage .call-avatar.is-opening,.call-stage .call-avatar.is-closing,.call-who.is-leaving .call-id,.call-banner{animation:none}.call-avatar.ringing:before,.call-avatar.ringing:after,.call-banner-avatar:before,.call-banner-avatar:after{animation:none;opacity:0}.call-avatar.ringing .avatar{box-shadow:0 0 0 6px #ffffff38}.call-pill-dot{animation:none}.call-self,.call-tile,.call-screen,.call-avatar,.call-shade,.call-remote{transition:none}.call-self,.call-tile,.call-screen{transform:none}.call-sharing,.call-sharing-dot,.call-quality,.call-safety-panel{animation:none}.call-ctl.is-pending .call-ctl-disc{animation:none;background:#ffffff4d}}
