:root{color-scheme:dark;--bg:#0b0e13;--surface:#12161d;--surface-raised:#1a202a;--surface-overlay:#222a36;--surface-sunken:#070a0e;--line:#242c37;--line-strong:#38424f;--text:#e9edf3;--text-muted:#98a3b3;--text-faint:#6a7484;--on-accent:#fff;--accent:#4f8cff;--success:#4ed08a;--warn:#f0be4b;--danger:#ff6f6f;--bubble-mine:color-mix(in oklab, var(--accent) 32%, var(--surface-raised));--bubble-theirs:var(--surface-raised);--bubble-mine-text:#f2f6ff;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 4px 16px -2px #00000073;--shadow-3:0 24px 48px -12px #0009;--edge:inset 0 1px 0 #ffffff0a}:root[data-theme=light]{color-scheme:light;--bg:#eef1f6;--surface:#fff;--surface-raised:#fff;--surface-overlay:#fff;--surface-sunken:#f4f6fa;--line:#e3e8ef;--line-strong:#c3ccd9;--text:#131820;--text-muted:#5a6675;--text-faint:#838e9c;--on-accent:#fff;--accent:#2f6fe6;--success:#12854f;--warn:#96660a;--danger:#d13b3b;--bubble-mine:color-mix(in oklab, var(--accent) 16%, #fff);--bubble-theirs:#fff;--bubble-mine-text:#10203c;--shadow-1:0 1px 2px #1018280f;--shadow-2:0 6px 20px -4px #1018281f;--shadow-3:0 24px 48px -12px #10182838;--edge:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg:#eef1f6;--surface:#fff;--surface-raised:#fff;--surface-overlay:#fff;--surface-sunken:#f4f6fa;--line:#e3e8ef;--line-strong:#c3ccd9;--text:#131820;--text-muted:#5a6675;--text-faint:#838e9c;--on-accent:#fff;--accent:#2f6fe6;--success:#12854f;--warn:#96660a;--danger:#d13b3b;--bubble-mine:color-mix(in oklab, var(--accent) 16%, #fff);--bubble-theirs:#fff;--bubble-mine-text:#10203c;--shadow-1:0 1px 2px #1018280f;--shadow-2:0 6px 20px -4px #1018281f;--shadow-3:0 24px 48px -12px #10182838;--edge:none}}:root{--accent-hover:color-mix(in oklab, var(--accent) 88%, var(--text));--accent-press:color-mix(in oklab, var(--accent) 82%, var(--bg));--accent-soft:color-mix(in oklab, var(--accent) 14%, transparent);--accent-line:color-mix(in oklab, var(--accent) 40%, transparent);--scrim:color-mix(in oklab, var(--bg) 84%, transparent);--success-soft:color-mix(in oklab, var(--success) 16%, transparent);--warn-soft:color-mix(in oklab, var(--warn) 16%, transparent);--danger-soft:color-mix(in oklab, var(--danger) 14%, transparent);--danger-hover:color-mix(in oklab, var(--danger) 22%, transparent);--hover:color-mix(in oklab, var(--text) 6%, transparent);--press:color-mix(in oklab, var(--text) 11%, transparent);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:40px;--leading-tight:1.25;--leading:1.5;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-full:999px;--r-bubble:18px;--control-h:44px;--control-h-sm:36px;--control-h-lg:52px;--row-h:56px;--dur-fast:.11s;--dur:.18s;--dur-slow:.28s;--ease:cubic-bezier(.2, .8, .2, 1);--pane-list:340px;--pane-header-h:68px;--read-width:760px;--form-width:560px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (width>=1180px){:root{--pane-list:380px}}@media (pointer:coarse){:root{--control-h-sm:44px}}*,:before,:after{box-sizing:border-box}html{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body{height:100%;font-size:var(--text-base);line-height:var(--leading);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;overflow:hidden}#root{left:0;right:0;top:var(--frame-top,0px);height:var(--frame-height,100%);position:fixed}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:600;line-height:var(--leading-tight);text-wrap:balance}h1{font-size:var(--text-lg)}h2{font-size:var(--text-md)}h3{font-size:var(--text-base)}a{color:var(--accent);text-underline-offset:2px}@media (hover:hover){a:hover{color:var(--accent-hover)}}ul,ol{margin:0;padding:0}hr{border:0;border-top:1px solid var(--line);margin:var(--sp-4) 0}img,svg,video,canvas{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent-soft)}@supports selector(::-webkit-scrollbar){.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--text) 14%, transparent);border-radius:var(--r-full);background-clip:padding-box;border:3px solid #0000}.scroll:hover::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--text) 22%, transparent);background-clip:padding-box}.scroll::-webkit-scrollbar-track{background:0 0}}.scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--text) 16%, transparent) transparent;min-height:0;overflow:hidden auto}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.danger{color:var(--danger)}.success{color:var(--success)}.warn{color:var(--warn)}.small{font-size:var(--text-sm)}.tiny{font-size:var(--text-xs)}.lead{font-size:var(--text-md);color:var(--text-muted);max-width:42ch}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wrap-anywhere{overflow-wrap:anywhere}.mono{font-family:var(--font-mono)}.icon{vertical-align:-.15em;flex:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.stack-4{gap:var(--sp-4)}.stack-6{gap:var(--sp-6)}.stack-wide{align-self:stretch;width:100%}.row-x{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--sp-3);min-width:0;display:flex}.actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.actions-end{justify-content:flex-end}.actions-fill>.btn{flex:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.btn{--btn-bg:var(--surface-raised);--btn-fg:var(--text);--btn-line:var(--line-strong);font:inherit;font-size:var(--text-base);min-height:var(--control-h);padding:0 var(--sp-4);border:1px solid var(--btn-line);border-radius:var(--r-sm);background:var(--btn-bg);color:var(--btn-fg);justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);font-weight:550;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);--btn-line:var(--accent)}.btn-quiet{--btn-bg:transparent;--btn-fg:var(--accent);--btn-line:transparent;padding:0 var(--sp-3)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--text);--btn-line:transparent;padding:0 var(--sp-3)}.btn-danger{--btn-bg:transparent;--btn-fg:var(--danger);--btn-line:color-mix(in oklab, var(--danger) 45%, transparent)}@media (hover:hover){.btn:hover:not(:disabled){background:color-mix(in oklab, var(--btn-bg) 100%, transparent);border-color:color-mix(in oklab, var(--btn-line) 70%, var(--text))}.btn-primary:hover:not(:disabled){--btn-bg:var(--accent-hover);--btn-line:var(--accent-hover)}.btn-quiet:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--hover);border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary:active:not(:disabled){--btn-bg:var(--accent-press);--btn-line:var(--accent-press)}.btn:disabled{cursor:default;color:var(--text-faint);background:var(--surface-raised);border-color:var(--line);transform:none}.btn-quiet:disabled,.btn-ghost:disabled,.btn-danger:disabled{background:0 0;border-color:#0000}.btn-sm{min-height:var(--control-h-sm);font-size:var(--text-sm);padding:0 var(--sp-3)}.btn-lg{min-height:var(--control-h-lg);font-size:var(--text-md)}.btn-block{width:100%}.btn-busy{cursor:progress}.icon-btn{width:var(--control-h);height:var(--control-h);min-height:var(--control-h);border-radius:var(--r-sm);color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.icon-btn:hover:not(:disabled){background:var(--hover)}}.icon-btn:active:not(:disabled){background:var(--press)}.icon-btn:disabled{color:var(--text-faint);cursor:default}.icon-btn-accent{color:var(--accent)}.icon-btn-danger{color:var(--danger)}.icon-btn-filled{background:var(--accent);color:var(--on-accent);border-radius:var(--r-full)}@media (hover:hover){.icon-btn-filled:hover:not(:disabled){background:var(--accent-hover)}}.icon-btn-filled:active:not(:disabled){background:var(--accent-press)}.icon-btn-filled:disabled{background:var(--surface-overlay);color:var(--text-faint)}.field{gap:var(--sp-2);text-align:left;flex-direction:column;min-width:0;display:flex}.field-label{font-size:var(--text-sm);color:var(--text-muted);font-weight:550}.field-hint{font-size:var(--text-sm);color:var(--text-muted)}.field-error{font-size:var(--text-sm);color:var(--danger)}.input,.textarea,.select{font:inherit;color:var(--text);background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;min-width:0;transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);font-size:16px}.input,.select{height:var(--control-h);padding:0 var(--sp-3)}.textarea{padding:var(--sp-3);min-height:var(--control-h);line-height:var(--leading);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}@media (hover:hover){.input:hover:not(:disabled):not(:read-only),.textarea:hover:not(:disabled):not(:read-only),.select:hover:not(:disabled){border-color:color-mix(in oklab, var(--line-strong) 60%, var(--text))}}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input:disabled,.textarea:disabled,.select:disabled{color:var(--text-faint);background:color-mix(in oklab, var(--surface-sunken) 60%, var(--surface));cursor:default}.input:read-only{color:var(--text-muted)}.input-invalid,.textarea-invalid{border-color:var(--danger)}.input-invalid:focus,.textarea-invalid:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.field-with-action{gap:var(--sp-2);align-items:stretch;display:flex}.field-with-action .input{flex:1}.secret-input.input:read-only{color:var(--text)}.select{appearance:none;padding-right:var(--sp-8);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.select option{background:var(--surface-overlay);color:var(--text)}.choice{align-items:center;gap:var(--sp-3);min-height:var(--control-h);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--sp-1) 0;display:flex}.choice-text{flex-direction:column;gap:2px;min-width:0;display:flex}.choice-title{font-size:var(--text-base)}.choice-hint{font-size:var(--text-sm);color:var(--text-muted)}.choice input[type=checkbox],.choice input[type=radio]{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface-sunken);cursor:pointer;width:22px;height:22px;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex:none;place-content:center;margin:0;display:grid}.choice input[type=checkbox]{border-radius:var(--r-xs)}.choice input[type=radio]{border-radius:var(--r-full)}.choice input[type=checkbox]:before{content:"";width:12px;height:12px;transition:transform var(--dur-fast) var(--ease);background:var(--on-accent);clip-path:polygon(14% 46%,0 60%,40% 100%,100% 22%,86% 8%,38% 72%);transform:scale(0)}.choice input[type=radio]:before{content:"";border-radius:var(--r-full);width:10px;height:10px;transition:transform var(--dur-fast) var(--ease);background:var(--on-accent);transform:scale(0)}.choice input:checked{background:var(--accent);border-color:var(--accent)}.choice input:checked:before{transform:scale(1)}.choice input:disabled{cursor:default;border-color:var(--line);background:var(--surface)}.choice input:disabled:checked{background:var(--text-faint);border-color:var(--text-faint)}.choice:has(input:disabled){cursor:default;color:var(--text-faint)}@media (hover:hover){.choice:hover input:not(:disabled){border-color:var(--accent)}}.switch input[type=checkbox]{border-radius:var(--r-full);width:44px;height:26px;display:block;position:relative}.switch input[type=checkbox]:before{content:"";border-radius:var(--r-full);background:var(--text-muted);clip-path:none;width:18px;height:18px;transition:translate var(--dur) var(--ease), background-color var(--dur) var(--ease);margin-top:-9px;position:absolute;inset:50% auto auto 2.5px;transform:none}.switch input[type=checkbox]:checked:before{background:var(--on-accent);translate:18px}.switch .choice-text{flex:1}.switch{flex-direction:row-reverse;justify-content:space-between}.segmented{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--r-sm);gap:3px;padding:3px;display:flex}.segmented button{font:inherit;font-size:var(--text-sm);min-height:var(--control-h-sm);border-radius:var(--r-xs);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;flex:1;font-weight:550}.segmented button[aria-pressed=true]{background:var(--surface-overlay);color:var(--text);box-shadow:var(--shadow-1)}.segmented button:disabled{color:var(--text-faint);cursor:default}@media (hover:hover){.segmented button:hover:not(:disabled)[aria-pressed=false]{color:var(--text)}}.segmented-detailed button{padding:var(--sp-1) var(--sp-2);flex-direction:column;justify-content:center;align-items:center;line-height:1.3;display:flex}.segmented-title,.segmented-detail{white-space:nowrap}.segmented-detail{font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:400}.code-input{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.35em;text-align:center;text-transform:lowercase;padding-left:calc(var(--sp-3) + .35em)}.code-display{gap:var(--sp-2);flex-wrap:wrap;justify-content:center;margin:0;display:flex}.code-display span{font-family:var(--font-mono);font-size:var(--text-xl);min-width:44px;padding:var(--sp-2) 0;text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text);font-weight:600}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--edge);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.card-title{font-size:var(--text-base);font-weight:600}.card-flush{padding:0;overflow:hidden}.card-quiet{background:var(--surface)}.card-accent{border-color:var(--accent-line);background:color-mix(in oklab, var(--accent) 7%, var(--surface-raised))}.card-danger{border-color:color-mix(in oklab, var(--danger) 35%, transparent)}.section{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.section-title{font-size:var(--text-sm);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding:0 var(--sp-1);font-weight:600}.section-hint{font-size:var(--text-sm);color:var(--text-muted);padding:0 var(--sp-1)}.row{align-items:center;gap:var(--sp-3);min-height:var(--row-h);padding:var(--sp-2) var(--sp-4);color:inherit;width:100%;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:0;text-decoration:none;display:flex;position:relative}.row+.row:before{content:"";inset:0 var(--sp-4) auto;border-top:1px solid var(--line);position:absolute}.row-avatar+.row-avatar:before{inset-inline-start:calc(var(--sp-4) + 44px + var(--sp-3))}@media (hover:hover){.row:hover{background:var(--hover)}.row-static:hover{background:0 0}}.row:active{background:var(--press)}.row-static{cursor:default}.row-static:active{background:0 0}.row-selected,.row-selected:hover{background:var(--accent-soft)}.row-selected:after{content:"";inset:var(--sp-2) auto var(--sp-2) 0;border-radius:0 var(--r-full) var(--r-full) 0;background:var(--accent);width:3px;position:absolute}.row[data-hold]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent-line);isolation:isolate}.row[data-hold]:after{content:"";z-index:-1;background:var(--accent-soft);transform-origin:0;animation:row-fill var(--hold) linear forwards;pointer-events:none;position:absolute;inset:0}.row[data-hold=flashing]{animation:row-flash var(--flash) steps(1, end) 2}@keyframes row-fill{0%{transform:scaleX(0)}}@keyframes row-flash{0%{background:var(--accent-line)}50%{background:var(--accent-soft)}}.row>.choice{flex:1;min-width:0}.row-icon{border-radius:var(--r-sm);background:var(--surface-overlay);width:32px;height:32px;color:var(--text-muted);flex:none;place-items:center;display:grid}.row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{justify-content:space-between;align-items:baseline;gap:var(--sp-2);min-width:0;display:flex}.row-name{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.row-sub{justify-content:space-between;align-items:center;gap:var(--sp-2);min-width:0;display:flex}.row-preview{font-size:var(--text-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-unread .row-name,.row-unread .row-preview{color:var(--text);font-weight:600}.row-value{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:0 1000 auto;min-width:0;overflow:hidden}.row:has(>.row-value)>.row-text{flex:auto}.row-time{font-size:var(--text-xs);color:var(--text-faint);white-space:nowrap;flex:none}.row-chevron{color:var(--text-faint);flex:none}.row-danger .row-name{color:var(--danger)}.badge{border-radius:var(--r-full);background:var(--accent);min-width:22px;height:22px;color:var(--on-accent);font-size:var(--text-xs);flex:none;justify-content:center;align-items:center;padding:0 6px;font-weight:600;display:inline-flex}.avatar{border-radius:var(--r-full);color:var(--text);letter-spacing:.01em;-webkit-user-select:none;user-select:none;background:var(--line-strong);flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar-picture{overflow:hidden}.avatar-picture img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.chip{align-items:center;gap:var(--sp-2);border-radius:var(--r-full);padding:6px var(--sp-3);font-size:var(--text-sm);border:1px solid var(--line);background:var(--surface-overlay);color:var(--text);font-weight:550;display:inline-flex}.chip-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip-warn{background:var(--warn-soft);border-color:color-mix(in oklab, var(--warn) 35%, transparent);color:var(--text)}.chip-button{cursor:pointer;font:inherit;font-size:var(--text-sm);min-height:var(--control-h-sm);box-shadow:var(--shadow-2);transition:background-color var(--dur-fast) var(--ease);font-weight:550}@media (hover:hover){.chip-button:hover:not(:disabled){background:var(--accent-hover)}}.chip-button:disabled{cursor:default;box-shadow:none}.banner{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);border-bottom:1px solid var(--line);background:var(--surface-raised);color:var(--text);display:flex}.banner-body{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;display:flex}.banner-icon{flex:none;margin-top:2px}.banner-info .banner-icon{color:var(--text-muted)}.banner-warn{background:var(--warn-soft);border-bottom-color:color-mix(in oklab, var(--warn) 30%, transparent)}.banner-warn .banner-icon{color:var(--warn)}.banner-danger{background:var(--danger-soft);border-bottom-color:color-mix(in oklab, var(--danger) 30%, transparent)}.banner-danger .banner-icon{color:var(--danger)}.sheet{color:var(--text);width:100%;max-width:100%;top:var(--frame-top,0px);bottom:var(--frame-below,0px);max-height:var(--frame-height,100dvh);background:0 0;border:0;margin:auto 0 0;padding:0;overflow:visible}.sheet::backdrop{backdrop-filter:blur(2px);background:#00000080}.sheet-panel{background:var(--surface-overlay);border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-3);max-height:calc(var(--frame-height,100dvh) * .92);padding-bottom:var(--safe-bottom);border-bottom:0;flex-direction:column;display:flex}.sheet-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-3) var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);display:flex}.sheet-header h2{font-size:var(--text-md)}.sheet-body{padding:var(--sp-5);gap:var(--sp-4);overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.sheet-footer{padding:var(--sp-3) var(--sp-5) var(--sp-5);gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.sheet-footer .btn{flex:auto}.sheet-grip{border-radius:var(--r-full);background:var(--line-strong);width:36px;height:4px;margin:var(--sp-2) auto 0;flex:none}@media (width>=768px){.sheet{max-width:480px;padding:var(--sp-6);margin:auto}.sheet-panel{border-radius:var(--r-xl);border-bottom:1px solid var(--line);max-height:min(calc(var(--frame-height,100dvh) * .8), 720px);padding-bottom:0}.sheet-grip{display:none}.sheet-footer .btn{flex:none}}@media (prefers-reduced-motion:no-preference){.sheet[open]{animation:sheet-in var(--dur) var(--ease)}@keyframes sheet-in{0%{opacity:0;translate:0 12px}}}.drag-layer{z-index:50;position:fixed;inset:0}.toasts{left:50%;bottom:calc(var(--frame-below,0px) + max(calc(var(--sp-4) + var(--frame-bottom,var(--safe-bottom))), calc(var(--composer-h,0px) + var(--sp-2))));gap:var(--sp-2);width:min(calc(100% - var(--sp-8)), 440px);z-index:40;pointer-events:none;flex-direction:column;display:flex;position:fixed;translate:-50%}.toast{background:var(--surface-overlay);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-2);font-size:var(--text-sm);pointer-events:auto;display:flex}.toast-text{flex:1;min-width:0}.text-button{appearance:none;min-height:var(--control-h);font:inherit;color:inherit;text-align:inherit;cursor:default;background:0 0;border:0;align-items:center;margin:0;padding:0;display:inline-flex}.crash-details{color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.toast-danger{border-color:color-mix(in oklab, var(--danger) 50%, transparent)}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in var(--dur) var(--ease)}@keyframes toast-in{0%{opacity:0;translate:0 8px}}}.empty-state{justify-content:center;align-items:center;gap:var(--sp-4);min-height:0;padding:var(--sp-8) var(--sp-6);text-align:center;flex-direction:column;flex:1;display:flex}.empty-state-icon{border-radius:var(--r-full);background:var(--accent-soft);width:64px;height:64px;color:var(--accent);place-items:center;display:grid}.empty-state h2{font-size:var(--text-md)}.empty-state p{color:var(--text-muted);max-width:34ch}.qr{border-radius:var(--r-md);width:min(100%,232px);padding:var(--sp-2);box-shadow:var(--shadow-1);background:#fff;align-self:center}.ring{flex:none;rotate:-90deg}.ring-track{fill:none;stroke:color-mix(in oklab, currentcolor 25%, transparent);stroke-width:3px}.ring-value{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray var(--dur) var(--ease)}.spinner{border-radius:var(--r-full);border:2px solid color-mix(in oklab, currentcolor 25%, transparent);border-top-color:currentColor;flex:none;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{rotate:360deg}}.app{background:var(--bg);height:100%;padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;display:flex;overflow:hidden}.shell-stack{flex-direction:column;height:100%;min-height:0;display:flex}.shell-stack>.banner{flex:none}.shell-stack>.app,.shell-stack>.screen{flex:1;height:auto;min-height:0}.panes{flex:1;min-height:0;display:flex}.pane{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.layout-two .pane-list{flex:0 0 var(--pane-list);border-right:1px solid var(--line)}.layout-two .pane-detail{border-left:0}.pane-header{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);padding-top:calc(var(--sp-2) + var(--safe-top));height:calc(var(--pane-header-h) + var(--safe-top));border-bottom:1px solid var(--line);background:var(--surface);flex:none;display:flex}.pane-header-text{min-width:0;padding:0 var(--sp-1);flex-direction:column;flex:1;gap:1px;display:flex}.pane-header h1{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pane-header-actions{align-items:center;gap:var(--sp-1);flex:none;display:flex}.pane-header-end{margin-left:auto}.wordmark{font-size:var(--text-lg);letter-spacing:.06em;padding:0 var(--sp-1);align-items:center;font-weight:650;display:flex}.header-link{padding:var(--sp-1) var(--sp-2);margin:0 calc(-1 * var(--sp-2));border-radius:var(--r-sm);text-align:left;color:inherit;font:inherit;cursor:pointer;min-width:0;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;flex-direction:column;flex:1;gap:1px;display:flex}@media (hover:hover){.header-link:hover{background:var(--hover)}}.header-line{align-items:center;gap:var(--sp-1);min-width:0;display:flex}.header-name{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.header-chevron{color:var(--text-faint);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.header-link:hover .header-chevron,.header-link:focus-visible .header-chevron{opacity:1}@media (pointer:coarse){.header-chevron{opacity:1}}.header-status{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:var(--sp-1);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.header-status.success{color:var(--success)}.pane-body{flex-direction:column;flex:1;min-height:0;display:flex}.pane-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--text) 16%, transparent) transparent;flex:1;min-height:0;overflow:hidden auto}.content{padding:var(--sp-4);padding-bottom:calc(var(--sp-8) + var(--safe-bottom));gap:var(--sp-5);width:100%;max-width:var(--form-width);flex-direction:column;margin:0 auto;display:flex}.content-tight{gap:var(--sp-4)}.screen{height:100%;padding:var(--sp-6);padding-top:calc(var(--sp-6) + var(--safe-top));padding-bottom:calc(var(--sp-6) + var(--frame-bottom,var(--safe-bottom)));text-align:center;justify-content:safe center;align-items:center;gap:var(--sp-5);flex-direction:column;display:flex;overflow:hidden auto}.screen-panel{gap:var(--sp-4);text-align:left;flex-direction:column;width:min(100%,420px);display:flex}.screen-panel-center{text-align:center;align-items:center}.screen-mark{border-radius:var(--r-lg);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);flex:none;place-items:center;display:grid}.lock-cover{display:none}:root[data-cover] #root{visibility:hidden}:root[data-cover] .lock-cover{visibility:visible;display:flex;position:fixed;inset:0}:root[data-cover=plain] .lock-cover .screen-mark{visibility:hidden}.screen-mark-danger{background:var(--danger-soft);color:var(--danger)}.screen-title{font-size:var(--text-xl)}.search{padding:var(--sp-3) var(--sp-4);flex:none}.search-box{align-items:center;gap:var(--sp-2);padding:0 var(--sp-2) 0 var(--sp-3);height:var(--control-h);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-sunken);color:var(--text-muted);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--text)}.search-box input{min-width:0;font:inherit;height:100%;color:var(--text);appearance:none;background:0 0;border:0;outline:none;flex:1;font-size:16px}.search-box input::-webkit-search-cancel-button{display:none}.search-box input::placeholder{color:var(--text-faint)}.list-body{flex-direction:column;flex:1;min-height:0;display:flex}.list-section{padding:0 var(--sp-4) var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;container-type:inline-size}.list-rows{padding-bottom:calc(var(--sp-4) + var(--safe-bottom));flex-direction:column;display:flex}.list-caption{font-size:var(--text-sm);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding:var(--sp-4) var(--sp-4) var(--sp-2);font-weight:600}.update-chip{top:calc(var(--sp-3) + var(--safe-top));z-index:30;position:absolute;left:50%;translate:-50%}.stall-line{top:calc(var(--sp-3) + var(--safe-top));z-index:31;align-items:center;gap:var(--sp-2);max-width:calc(100% - 2 * var(--sp-3));padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);border-radius:var(--r-full,999px);background:var(--surface);color:var(--danger);box-shadow:var(--shadow-2,0 2px 8px #0003);display:flex;position:absolute;left:50%;translate:-50%}.stall-line span{color:var(--text)}.app{position:relative}.conversation{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.conversation-body{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.drop-overlay{z-index:20;padding:var(--sp-6);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease);place-items:center;display:grid;position:absolute;inset:0}.drop-overlay:not([data-state=none]){opacity:1}.drop-overlay[data-state=passive]{box-shadow:inset 0 0 0 2px var(--accent-line)}.drop-overlay[data-state=active]{background:var(--scrim)}.drop-overlay[data-state=active]:before{content:"";inset:var(--sp-3);border:2px dashed var(--accent);border-radius:var(--r-lg);position:absolute}.drop-card{align-items:center;gap:var(--sp-1);text-align:center;min-width:0;max-width:100%;color:var(--text);flex-direction:column;display:flex;position:relative}.drop-card>.icon{color:var(--accent);margin-bottom:var(--sp-1)}.drop-title{font-size:var(--text-md);font-weight:600}.drop-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--text-sm);color:var(--text-muted);overflow:hidden}.drop-refuse{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface-overlay);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);color:var(--text-muted);font-size:var(--text-sm);text-align:start;flex-direction:row}.drop-refuse>.icon{color:var(--text-muted);flex:none;margin:2px 0 0}.conversation-log{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.log{overscroll-behavior:contain;min-height:0;padding:var(--sp-4) var(--sp-4) var(--sp-2);scrollbar-width:thin;scrollbar-color:color-mix(in oklab, var(--text) 16%, transparent) transparent;flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden auto}.log-inner{width:100%;max-width:var(--read-width);contain:paint;flex-direction:column;gap:2px;margin:0 auto;display:flex}.log-top{padding:var(--sp-2) 0;min-height:var(--sp-6);justify-content:center;display:flex}.day-divider{font-size:var(--text-xs);letter-spacing:.02em;color:var(--text-muted);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-full);padding:3px var(--sp-3);margin:var(--sp-4) 0 var(--sp-2);align-self:center;font-weight:600}.log>.day-divider:first-child,.log-inner>.day-divider:first-child{margin-top:0}.unread-divider{align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-2);font-size:var(--text-xs);color:var(--accent);font-weight:600;display:flex}.unread-divider:before,.unread-divider:after{content:"";background:var(--accent-line);flex:1;height:1px}.notice{text-align:center;max-width:80%;color:var(--text-muted);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-4);margin:var(--sp-3) 0;border-radius:var(--r-full);background:var(--surface-raised);border:1px solid var(--line);align-self:center}.notice-action{align-self:center}.bubble{border-radius:var(--r-bubble);max-width:min(80%,560px);padding:var(--sp-2) var(--sp-3);font-size:var(--text-base);box-shadow:var(--shadow-1);--meta-width:56px;position:relative}.bubble-mine{background:var(--bubble-mine);color:var(--bubble-mine-text);--meta-width:74px;align-self:flex-end}.bubble-theirs{background:var(--bubble-theirs);border:1px solid var(--line);align-self:flex-start}.bubble-start{margin-top:var(--sp-3)}.bubble-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.42}.bubble-mine .bubble-text a{color:color-mix(in oklab, var(--accent) 45%, var(--bubble-mine-text))}.bubble-spacer{width:calc(var(--meta-width) + var(--meta-extra,0px));height:1px;display:inline-block}.bubble-disappears{--meta-extra:16px}.disappear-mark{display:inline-flex}.bubble-meta{right:var(--sp-3);bottom:var(--sp-2);align-items:center;gap:var(--sp-1);font-size:var(--text-xs);color:var(--text-faint);line-height:1;display:flex;position:absolute}.bubble-mine .bubble-meta{color:color-mix(in oklab, var(--bubble-mine-text) 65%, transparent)}.ticks{line-height:0;display:inline-flex}.ticks-read{color:var(--accent)}.bubble-mine .ticks-read{color:color-mix(in oklab, var(--accent) 30%, #fff)}.composer-field textarea.is-pending{opacity:.55}.icon-btn.is-sending{position:relative}.icon-btn.is-sending svg{visibility:hidden}.icon-btn.is-sending:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;animation:.9s linear infinite sending-turn;position:absolute;inset:30%}@keyframes sending-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon-btn.is-sending:after{animation-duration:3s}}.ticks-failed{color:var(--danger)}.bubble-mine .ticks-failed{color:color-mix(in oklab, var(--danger) 45%, #fff)}.ticks-button{cursor:pointer;color:inherit;border-radius:var(--r-xs);background:0 0;border:0;align-items:center;margin:-2px;padding:2px;display:inline-flex}@media (hover:hover){.ticks-button:hover{background:var(--hover)}}.bubble-failed{align-self:flex-end;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--danger);padding:2px var(--sp-1) var(--sp-2);display:flex}.selection-count{flex:1}.bubble-selecting{cursor:pointer;-webkit-user-select:none;user-select:none}.bubble-selecting:before{content:"";z-index:-1;position:absolute;inset:-1px -100vw}.bubble-selected:before{background:var(--accent-soft)}.bubble:focus-visible,.tile:focus-visible,.file-card:focus-visible{outline-offset:-2px}.jump-pill{left:50%;bottom:var(--sp-4);z-index:5;position:absolute;translate:-50%}.jump-bottom{right:var(--sp-4);bottom:var(--sp-4);z-index:5;border-radius:var(--r-full);background:var(--surface-overlay);border:1px solid var(--line-strong);width:40px;height:40px;min-height:40px;box-shadow:var(--shadow-2);color:var(--text);position:absolute}.composer-block{border-top:1px solid var(--line);background:var(--surface);padding-bottom:var(--frame-bottom,var(--safe-bottom));flex-direction:column;flex:none;display:flex}.composer{align-items:flex-end;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);width:100%;max-width:var(--read-width);margin:0 auto;display:flex}.composer-field{background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--r-xl);min-width:0;padding:0 var(--sp-2);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex:1;align-items:flex-end;display:flex}.composer-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-field textarea{min-width:0;font:inherit;color:var(--text);resize:none;padding:11px var(--sp-2);scrollbar-width:thin;background:0 0;border:0;outline:none;flex:1;max-height:160px;font-size:16px;line-height:1.4;overflow-y:hidden}.composer-field textarea::placeholder,.composer-field textarea:disabled{color:var(--text-faint)}.file-picker{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.composer-note{width:100%;max-width:var(--read-width);align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) 0;font-size:var(--text-sm);color:var(--text-muted);margin:0 auto;display:flex}.composer-counter{width:100%;max-width:var(--read-width);padding:var(--sp-2) var(--sp-4) 0;text-align:end;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted);margin:0 auto}.composer-counter.is-over{color:var(--danger)}.chat-hint{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-raised);border-top:1px solid var(--line);flex:none;display:flex}.chat-hint span{flex:1;min-width:0}.composer-attachment{width:100%;max-width:var(--read-width);align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) 0;margin:0 auto;display:flex}.composer-quality{width:100%;max-width:var(--read-width);padding:var(--sp-2) var(--sp-3) 0;margin:0 auto}@media (width>=768px){.composer-quality .segmented{max-width:360px}}.composer-voice{align-items:center}.composer-voice .wave{flex:1}.voice-live{align-items:center;gap:var(--sp-2);flex:1;min-width:0;display:flex}.voice-clock{font-variant-numeric:tabular-nums;flex:none;min-width:36px}.voice-live .voice-clock{font-weight:600}.voice-strip{min-width:0;height:28px;color:var(--danger);flex:1;justify-content:flex-end;align-items:center;gap:2px;display:flex;overflow:hidden}.voice-strip>span{border-radius:var(--r-full);opacity:.8;background:currentColor;flex:none;width:3px}.voice-line{width:100%;max-width:var(--read-width);min-height:calc(1.4em + var(--sp-2));padding:var(--sp-2) var(--sp-4) 0;font-size:var(--text-sm);color:var(--text-muted);margin:0 auto;line-height:1.4}.voice-line.is-warn{color:var(--warn)}.composer-attachment-text{flex-direction:column;flex:1;min-width:0;display:flex}.composer-attachment-icon{border-radius:var(--r-sm);background:var(--surface-overlay);width:36px;height:36px;color:var(--text-muted);flex:none;place-items:center;display:grid}.recording-dot{border-radius:var(--r-full);background:var(--danger);flex:none;width:10px;height:10px;animation:1s infinite alternate pulse}@keyframes pulse{0%{opacity:.35}to{opacity:1}}.bubble-media{padding:var(--sp-1);max-width:min(80%,340px)}.bubble-media .bubble-text{padding:var(--sp-1) var(--sp-2) 0}.bubble-media .bubble-meta{right:var(--sp-3);padding:2px var(--sp-2);border-radius:var(--r-full);color:#fff;background:#00000073;bottom:10px}.bubble-media-text .bubble-meta{color:var(--text-faint);background:0 0;padding:0}.bubble-mine.bubble-media-text .bubble-meta{color:color-mix(in oklab, var(--bubble-mine-text) 65%, transparent)}.bubble-media .media-meta-below~.bubble-meta{padding:var(--sp-1) var(--sp-2) 0;color:var(--text-faint);background:0 0;justify-content:flex-end;position:static}.bubble-mine.bubble-media .media-meta-below~.bubble-meta{color:color-mix(in oklab, var(--bubble-mine-text) 65%, transparent)}.media{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.media-note{padding:0 var(--sp-2);font-size:var(--text-xs);color:var(--text-faint);overflow-wrap:anywhere}.media-actions{gap:var(--sp-2);padding:0 var(--sp-2);flex-wrap:wrap;display:flex}.tile{border-radius:var(--r-md);background:var(--surface-overlay);width:100%;max-height:360px;color:var(--text);cursor:pointer;border:0;padding:0;display:block;position:relative;overflow:hidden}.tile:disabled{cursor:default}.tile-thumb{object-fit:cover;width:100%;height:100%;display:block}.tile-empty,.tile-overlay,.tile-play{justify-content:center;align-items:center;gap:var(--sp-2);flex-direction:column;display:flex;position:absolute;inset:0}.tile-empty{color:var(--text-faint)}.tile-overlay{color:#fff;padding:var(--sp-3);text-align:center;font-size:var(--text-sm);background:#00000080}.tile-play{color:#fff;filter:drop-shadow(0 1px 4px #0009)}.tile-duration{right:var(--sp-2);bottom:var(--sp-2);font-size:var(--text-xs);color:#fff;border-radius:var(--r-xs);background:#0000008c;padding:1px 6px;position:absolute}.bubble-album{gap:var(--sp-1);flex-direction:column;width:min(80%,340px);display:flex}.album-grid{border-radius:var(--r-md);gap:2px;width:100%;display:grid;overflow:hidden}.album-grid-1{aspect-ratio:4/3}.album-grid-2{aspect-ratio:2;grid-template-columns:1fr 1fr}.album-grid-3{aspect-ratio:3/2;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr}.album-grid-3 .album-cell:first-child{grid-row:span 2}.album-grid-4{aspect-ratio:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.album-cell{min-width:0;min-height:0;position:relative}.tile-grid{border-radius:0;height:100%;max-height:none}.tile-overlay-grid{gap:var(--sp-1);padding:var(--sp-1);font-size:var(--text-xs)}.tile-overlay-grid .tile-text{white-space:nowrap}.tile-more{color:#fff;font-size:var(--text-xl);background:#00000080;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.bubble-album:not(.bubble-media-text) .bubble-meta{padding:0 var(--sp-2);color:var(--text-faint);background:0 0;justify-content:flex-end;position:static}.bubble-mine.bubble-album:not(.bubble-media-text) .bubble-meta{color:color-mix(in oklab, var(--bubble-mine-text) 65%, transparent)}.voice{align-items:center;column-gap:var(--sp-2);width:300px;max-width:100%;padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);grid-template-columns:auto minmax(0,1fr);display:grid}.voice-button{display:inline-grid;position:relative}.voice-button .ring{pointer-events:none;color:var(--accent);position:absolute;inset:0}.voice-row{align-items:center;gap:2px var(--sp-2);min-width:0;font-size:var(--text-xs);flex-wrap:wrap;grid-column:2;display:flex}.voice-time{color:var(--text-muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bubble-mine .voice-time{color:color-mix(in oklab, var(--bubble-mine-text) 70%, transparent)}.bubble-media .voice-row .bubble-meta{color:var(--text-faint);background:0 0;margin-left:auto;padding:0;position:static}.bubble-mine.bubble-media .voice-row .bubble-meta{color:color-mix(in oklab, var(--bubble-mine-text) 65%, transparent)}.wave{min-width:0;height:var(--control-h-sm);cursor:pointer;touch-action:pan-y;align-items:center;display:flex;container-type:inline-size}.wave[aria-disabled=true]{cursor:default}.wave-bars{flex:1;align-items:center;gap:2px;min-width:0;height:32px;display:flex}.wave-bar{border-radius:var(--r-full);opacity:.35;background:currentColor;flex:1 1 0;min-width:2px;max-width:5px}.wave-bar.is-played{opacity:1;background:var(--accent)}.bubble-mine .wave-bar.is-played{background:var(--bubble-mine-text)}@container (width<=260px){.wave-bar:nth-child(2n){display:none}}@container (width<=130px){.wave-bar:nth-child(4n+3){display:none}}.file-card{align-items:center;gap:var(--sp-3);width:100%;min-width:220px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.file-card:disabled,.file-card[aria-disabled=true],.tile[aria-disabled=true]{cursor:default}.file-card-icon.is-download{background:var(--accent-soft);color:var(--accent)}.file-card-icon.is-saved{background:color-mix(in oklab, var(--success) 16%, transparent);color:var(--success)}.file-card-icon.is-ring{background:0 0}.file-card-icon{border-radius:var(--r-sm);background:color-mix(in oklab, var(--text) 10%, transparent);flex:none;place-items:center;width:40px;height:40px;display:grid}.file-text{flex-direction:column;min-width:0;display:flex}.file-name{white-space:nowrap;min-width:0;display:flex}.file-name-head{text-overflow:ellipsis;min-width:0;overflow:hidden}.file-name-tail{flex:none}.viewer{color:#fff;overscroll-behavior:contain;background:#000;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;overflow:hidden}.viewer::backdrop{background:#000}.viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.viewer-slide,.viewer-held{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.viewer-media{object-fit:contain;max-width:100vw;max-height:100dvh;display:block}.viewer-preview{object-fit:contain;width:100vw;height:100dvh;display:block}.viewer-soft{filter:blur(16px)}.viewer-blank{background:#ffffff14}.viewer-zoomable{transform-origin:50%;will-change:transform}.viewer-over{padding:var(--sp-3);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewer-line{align-items:center;gap:var(--sp-2);max-width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);text-align:center;background:#0009;margin:0;display:flex}.viewer-play{border-radius:var(--r-full);color:#fff;cursor:pointer;background:#0000008c;border:0;place-items:center;width:72px;height:72px;display:grid;position:absolute}.viewer-unplayable{align-items:center;gap:var(--sp-3);max-width:min(90vw,480px);padding:var(--sp-3);text-align:center;flex-direction:column;display:flex}.viewer-poster{border-radius:var(--r-md);max-width:100%;max-height:50dvh}.viewer-bar,.viewer-foot{transition:opacity var(--dur) var(--ease), visibility var(--dur);display:flex;position:absolute;left:0;right:0}.viewer-bar{align-items:center;gap:var(--sp-2);padding:calc(var(--sp-2) + var(--safe-top)) calc(var(--sp-2) + var(--safe-right)) var(--sp-4) calc(var(--sp-2) + var(--safe-left));background:linear-gradient(#000000a6,#0000);top:0}.viewer-who{flex-direction:column;flex:1;min-width:0;display:flex}.viewer-name,.viewer-when{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.viewer-name{font-weight:600}.viewer-when,.viewer-count{font-size:var(--text-sm);color:#fffc}.viewer-count{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.viewer-button,.viewer-step{color:#fff}.viewer-foot{gap:var(--sp-2);padding:var(--sp-4) calc(var(--sp-3) + var(--safe-right)) calc(var(--sp-2) + var(--safe-bottom)) calc(var(--sp-3) + var(--safe-left));background:linear-gradient(#0000,#000000a6);flex-direction:column;bottom:0}.viewer-words{white-space:pre-wrap;overflow-wrap:anywhere;max-height:30dvh;margin:0;overflow-y:auto}.viewer-actions{justify-content:space-between;gap:var(--sp-2);display:flex}.viewer .viewer-action{color:#fff;white-space:nowrap}.viewer-step{border-radius:var(--r-full);transition:opacity var(--dur) var(--ease), visibility var(--dur);background:#00000073;position:absolute;top:50%;translate:0 -50%}.viewer-previous{left:calc(var(--sp-2) + var(--safe-left))}.viewer-next{right:calc(var(--sp-2) + var(--safe-right))}.viewer-bare .viewer-bar,.viewer-bare .viewer-foot,.viewer-bare .viewer-step{opacity:0;visibility:hidden}@media (hover:none) and (pointer:coarse){.viewer-step{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (hover:hover){.viewer-button:hover,.viewer-step:hover{background:#fff3}}.bubble-found{outline:2px solid var(--accent);outline-offset:-2px;animation:bubble-found-fade var(--dur-slow,.4s) var(--ease) both}@keyframes bubble-found-fade{0%{outline-color:#0000}}@media (prefers-reduced-motion:reduce){.bubble-found{animation:none}}.audio-file{align-items:center;column-gap:var(--sp-2);width:300px;max-width:100%;padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-1);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"play name save""play bar save""play time save";display:grid}.audio-file .voice-button{grid-area:play}.audio-file-name{min-width:0;font-size:var(--text-sm);grid-area:name}.audio-file .wave{grid-area:bar}.audio-file-time{font-size:var(--text-xs);grid-area:time}.audio-file-save{grid-area:save}.audio-file-mine .voice-time{color:color-mix(in oklab, var(--bubble-mine-text) 70%, transparent)}.wave-line{height:24px}.wave-track{border-radius:var(--r-full);background:color-mix(in oklab, currentcolor 25%, transparent);flex:1;height:4px;position:relative;overflow:hidden}.wave-fill{background:var(--accent);position:absolute;inset:0 auto 0 0}.bubble-mine .wave-fill{background:var(--bubble-mine-text)}.save-ready{align-items:center;gap:var(--sp-3);margin:0;display:flex}.tray-strip{width:100%;max-width:var(--read-width);gap:var(--sp-2);padding:calc(var(--sp-3) + 6px) calc(var(--sp-3) + 6px) 0 var(--sp-3);overscroll-behavior-x:contain;scrollbar-width:thin;margin:0 auto;list-style:none;display:flex;overflow:auto hidden}.tray-tile{width:60px;color:var(--text-muted);flex-direction:column;flex:none;gap:2px;display:flex;position:relative}.tray-thumb,.tray-icon{border-radius:var(--r-sm);background:var(--surface-overlay);width:60px;height:60px;display:block}.tray-thumb{object-fit:cover}.tray-icon{place-items:center;display:grid}.tray-ext{background:var(--accent-soft);color:var(--accent);font-size:var(--text-xs);font-weight:700}.tray-name{font-size:var(--text-xs);line-height:1.3}.tray-remove{border-radius:var(--r-full);background:var(--surface);width:24px;min-width:0;height:24px;min-height:0;box-shadow:var(--shadow-1);padding:0;position:absolute;top:-6px;right:-6px}.tray-add{border-radius:var(--r-sm);border:1px dashed var(--line-strong);place-items:center;height:60px;display:grid}.tray-line{width:100%;max-width:var(--read-width);padding:var(--sp-2) var(--sp-3) 0;margin:0 auto}@media (pointer:coarse){.tray-remove:after{content:"";position:absolute;inset:-10px}}.quote{align-items:stretch;gap:var(--sp-2);width:100%;min-width:0;margin:0 0 var(--sp-1);padding:var(--sp-1) var(--sp-2);border:0;border-inline-start:3px solid var(--accent);border-radius:var(--r-sm);background:color-mix(in oklab, currentColor 8%, transparent);color:inherit;font:inherit;font-size:var(--text-sm);text-align:start;line-height:1.35;display:flex}button.quote{cursor:pointer}@media (hover:hover){button.quote:hover{background:color-mix(in oklab, currentColor 13%, transparent)}}button.quote:focus-visible{outline-offset:-2px}.quote-body{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.quote-who{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.bubble-mine .quote-who{color:color-mix(in oklab, var(--accent) 45%, var(--bubble-mine-text))}.bubble-mine .quote{border-inline-start-color:color-mix(in oklab, var(--accent) 45%, var(--bubble-mine-text))}.quote-line{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;color:color-mix(in oklab, currentColor 78%, transparent);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.quote-gone .quote-line{color:color-mix(in oklab, currentColor 62%, transparent);font-style:italic}.quote-thumb{border-radius:var(--r-xs);object-fit:cover;flex:none;align-self:center;width:36px;height:36px}.bubble-media>.quote{border-radius:var(--r-md)}.composer-reply{width:100%;max-width:var(--read-width);align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) 0;color:var(--text);margin:0 auto;display:flex}.composer-disappear{width:100%;max-width:var(--read-width);align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3) 0;margin:0 auto;display:flex}.disappear-chip{align-items:center;gap:var(--sp-2);min-height:var(--control-h-sm);padding:0 var(--sp-3);border:1px solid var(--accent-line);border-radius:var(--r-full);background:var(--accent-soft);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;display:inline-flex}.disappear-chip>.icon{color:var(--accent)}@media (hover:hover){.disappear-chip:hover{background:color-mix(in srgb, var(--accent-soft), var(--hover))}}.disappear-choices{flex-direction:column;display:flex}.composer-reply-mark{width:var(--control-h);color:var(--accent);flex:none;justify-content:center;display:flex}.composer-reply>.quote{flex:1;margin:0}.composer-reply .quote-line{-webkit-line-clamp:1;line-clamp:1}.bubble-reply{width:44px;height:36px;color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:none;position:absolute;top:50%;translate:0 -50%}.bubble-theirs>.bubble-reply{left:100%}.bubble-mine>.bubble-reply{right:100%}.bubble-reply>.icon{box-sizing:content-box;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-raised);box-shadow:var(--shadow-1);padding:6px}@media (hover:hover){.bubble-reply{display:flex}.bubble:hover>.bubble-reply,.bubble-reply:focus-visible{opacity:1;pointer-events:auto}.bubble-reply:hover{color:var(--text)}}.bubble-reply:focus-visible{outline:none}.bubble-reply:focus-visible>.icon{outline:2px solid var(--accent);outline-offset:1px}.bubble{touch-action:pan-y pinch-zoom}.bubble-swiping,.bubble-settling{translate:var(--swipe,0) 0}.bubble-settling{transition:translate var(--dur) var(--ease)}.swipe-cue{z-index:4;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-overlay);width:32px;height:32px;color:var(--text-muted);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease);justify-content:center;align-items:center;margin:-16px 0 0 -16px;display:flex;position:absolute;top:0;left:0}.swipe-cue.is-shown{opacity:var(--pull,0);scale:calc(.6 + .4 * var(--pull,0));transition:none}.swipe-cue.is-armed{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}@media (prefers-reduced-motion:reduce){.bubble-settling{transition:none}}.composer>.icon-btn{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.welcome-title{font-size:var(--text-3xl);letter-spacing:-.02em;font-weight:650}.welcome-footer{align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-muted);padding-top:var(--sp-4);flex-direction:column;display:flex}.links{gap:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.links a{min-height:var(--control-h);padding:0 var(--sp-2);border-radius:var(--r-sm);align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.links a:hover{background:var(--hover);text-decoration:underline}}.phrase-grid{gap:var(--sp-1) var(--sp-3);counter-reset:phrase;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=380px){.phrase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.phrase-grid li{counter-increment:phrase;align-items:baseline;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--text-base);padding:var(--sp-2) 0;border-bottom:1px solid var(--line);display:flex}.phrase-grid li:before{content:counter(phrase);font-size:var(--text-xs);color:var(--text-faint);text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:1.4em}.phrase-hidden{filter:blur(7px);-webkit-user-select:none;user-select:none;transition:filter var(--dur-slow) var(--ease)}.phrase-cover{justify-content:center;align-items:center;gap:var(--sp-3);text-align:center;padding:var(--sp-4);border-radius:var(--r-lg);background:color-mix(in oklab, var(--surface-raised) 78%, transparent);flex-direction:column;display:flex;position:absolute;inset:0}.phrase-box{position:relative}.profile-head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0 var(--sp-2);text-align:center;flex-direction:column;display:flex}.profile-head h2{font-size:var(--text-lg);overflow-wrap:anywhere}.profile-own-name{color:var(--text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.safety-code{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.06em;text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);line-height:1.8}.about-points{padding-left:var(--sp-5);gap:var(--sp-3);font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;margin:0;display:flex}.about-links{margin-inline:calc(-1 * var(--sp-2));justify-content:flex-start}.help-screen{justify-content:flex-start}.help{width:min(100%, var(--form-width));gap:var(--sp-3)}.help h2{font-size:var(--text-lg);margin:var(--sp-6) 0 0}.help h3{font-size:var(--text-md);margin:var(--sp-5) 0 0}.help h4{font-size:var(--text-base);margin:var(--sp-3) 0 0}.help p,.help ol,.help ul{margin:0}.help h2:focus-visible,.help h3:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--r-xs)}.help-label{font-size:var(--text-sm);color:var(--text-muted);margin:0;font-weight:600}.help-topics{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.help-topics a{min-height:var(--control-h);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--surface);flex-direction:column;justify-content:center;text-decoration:none;display:flex}.help-topics a:hover{background:var(--hover)}.help-topic-title{font-weight:600}.help-topic-summary{font-size:var(--text-sm);color:var(--text-muted)}.help-section{gap:var(--sp-3);flex-direction:column;display:flex}.help-steps,.help-list{padding-left:var(--sp-6);gap:var(--sp-2);flex-direction:column;display:flex}.help-table{overflow-x:auto}.help-table table{border-collapse:collapse;font-size:var(--text-sm);min-width:100%}.help-table th,.help-table td{text-align:left;vertical-align:top;padding:var(--sp-2);border-bottom:1px solid var(--line)}.help-table thead th{color:var(--text-muted)}.help-limit,.help-stuck{border-left:3px solid var(--line-strong);padding:var(--sp-2) var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.help-stuck{border-left-color:var(--accent-line);margin-top:var(--sp-3)}.help-link{font-size:var(--text-sm);margin:0}.help-link a,.help-see a,.help-stuck a{min-height:var(--control-h);align-items:center;display:inline-flex}.invite-link{font-family:var(--font-mono);font-size:var(--text-sm)}.invite-foot{border-top:1px solid var(--line);padding-top:var(--sp-3);justify-content:center;display:flex}.setup-item{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) 0;display:flex}.setup-item+.setup-item{border-top:1px solid var(--line)}.setup-item-icon{border-radius:var(--r-sm);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);flex:none;place-items:center;display:grid}.setup-item-warn .setup-item-icon{background:var(--warn-soft);color:var(--warn)}.setup-item-text{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.setup-item-title{font-weight:550}.setup-item-dismiss{color:var(--text-muted);margin-block-start:calc(-1 * var(--sp-2));margin-inline:calc(-1 * var(--sp-2)) calc(-1 * var(--sp-3));align-self:flex-start}.stat-list{gap:var(--sp-2);flex-direction:column;display:flex}.stat{justify-content:space-between;align-items:baseline;gap:var(--sp-4);font-size:var(--text-sm);display:flex}.stat dt{color:var(--text-muted)}.stat dd{text-align:right;margin:0;font-weight:550}.status-line{align-items:center;gap:var(--sp-2);font-weight:600;display:flex}.pairing-note{text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.waiting-line{justify-content:center;align-items:center;gap:var(--sp-2);color:var(--text-muted);font-size:var(--text-sm);display:flex}.request-head{align-items:center;gap:var(--sp-3);display:flex}.request-other{gap:var(--sp-3);grid-template-columns:1fr;display:grid}@container (width>=240px){.request-other{grid-template-columns:1fr 1fr;align-items:start}}.request-message{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-sunken);border-radius:var(--r-md);padding:var(--sp-3);font-size:var(--text-sm)}.too-old{padding:var(--sp-8);text-align:center;color:var(--text);font-family:var(--font);margin:0}.blocked-link{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin:0}.install-steps{padding-left:var(--sp-6);text-align:left;gap:var(--sp-2);margin:0;display:grid}.support-picture{align-items:flex-start;gap:var(--sp-2);flex-direction:column;display:flex}.support-picture img{border-radius:var(--r-md);max-width:100%;max-height:240px}.support-see{color:var(--accent);cursor:pointer}.support-report{max-height:50vh;padding:var(--sp-3);background:var(--surface-sunken);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre;margin:0;overflow:auto}.profile-picture{align-items:center;gap:var(--sp-4);display:flex}.profile-picture .actions{align-items:stretch;gap:var(--sp-2);flex-direction:column}.shared-peek{gap:var(--sp-1);padding:0 var(--sp-3) var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.shared-peek-tile{aspect-ratio:1;border-radius:var(--r-sm);background:var(--surface-overlay);color:var(--text-faint);place-items:center;display:grid;overflow:hidden}.shared-peek-tile img{object-fit:cover;width:100%;height:100%}.pane-header-sub{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gallery-tabs{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);background:var(--surface);flex:none}.gallery-month-title{padding:var(--sp-3) var(--sp-3) var(--sp-2);font-size:var(--text-sm);color:var(--text-muted);margin:0;font-weight:600}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}@media (width>=480px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}.gallery-tile{aspect-ratio:1;background:var(--surface-overlay);position:relative;overflow:hidden}.gallery-open{align-items:center;gap:var(--sp-3);width:100%;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.gallery-tile .gallery-open{display:block;position:relative}.gallery-thumb{object-fit:cover;width:100%;height:100%;display:block}.gallery-tile-empty,.gallery-tile-state{place-items:center;display:grid;position:absolute;inset:0}.gallery-tile-empty{color:var(--text-faint)}.gallery-tile-state{color:#fff;background:#00000059}.gallery-duration{right:var(--sp-1);bottom:var(--sp-1);border-radius:var(--r-xs);color:#fff;font-size:var(--text-xs);pointer-events:none;background:#0000008c;padding:1px 6px;position:absolute}.gallery-rows{flex-direction:column;display:flex}.gallery-row{border-bottom:1px solid var(--line);position:relative}.gallery-row>.gallery-open{min-height:56px;padding:var(--sp-2) var(--sp-3)}.gallery-ext{border-radius:var(--r-sm);background:var(--accent-soft);width:40px;height:40px;color:var(--accent);font-size:var(--text-xs);flex:none;place-items:center;font-weight:700;display:grid}.gallery-row .file-text{flex:1}.gallery-row-state{width:28px;color:var(--accent);flex:none;place-items:center;display:grid}.gallery-audio-body{padding:var(--sp-2) var(--sp-3);flex-direction:column;gap:2px;display:flex}.gallery-audio-body>.small{padding-left:calc(44px + var(--sp-2) + var(--sp-1))}.gallery-selecting{cursor:pointer}.gallery-selecting .gallery-open{pointer-events:none}.gallery-open:focus-visible{outline-offset:-2px;border-radius:0}.gallery-selecting:after{content:"";z-index:1;pointer-events:none;position:absolute;inset:0}.gallery-selecting:focus-visible{border-radius:0;outline:none}.gallery-selecting:focus-visible:after{box-shadow:inset 0 0 0 2px var(--accent)}.gallery-selected:after{box-shadow:inset 0 0 0 3px var(--accent)}.gallery-selected:focus-visible:after{box-shadow:inset 0 0 0 3px var(--accent), inset 0 0 0 5px var(--bg)}.gallery-check{top:var(--sp-1);right:var(--sp-1);z-index:2;border-radius:var(--r-full);background:var(--accent);width:22px;height:22px;color:var(--on-accent);place-items:center;display:grid;position:absolute}.gallery-row .gallery-check{top:50%;right:var(--sp-3);translate:0 -50%}
