:root{
  color-scheme:light;
  /* Light: a soft grey canvas, a white work panel, borders you can see and three clear text levels. */
  --canvas:#f2f3f5;
  --bg:#ffffff;--bg-2:#f7f8fa;--bg-3:#eef0f3;--bg-hover:#f2f4f6;--bg-active:#e8ebef;
  --border:#e1e4e9;--border-subtle:#eceef2;--border-strong:#cdd1d8;--border-focus:#0e8a92;
  --fg:#1b1d22;--fg-2:#4b505c;--fg-3:#6d727e;
  --accent:#0d8189;--accent-hover:#0a6d74;--accent-fg:#ffffff;--accent-soft:#e1f2f3;
  --done:#197a47;--done-soft:#e2f4ea;--progress:#955f00;--progress-soft:#fbefd4;
  --later:#4f5f8c;--later-soft:#e8ecf6;--popover:#ffffff;--menu-hover:rgba(27,29,34,.06);--seg-bg:#eff1f4;--seg-active:#ffffff;--seg-ring:rgba(20,22,30,.09);--test:#6a4ed0;--test-soft:#ede8fc;
  --blocked:#bf323e;--blocked-soft:#fbe4e6;--info:#2463b8;--info-soft:#e4edfb;
  --unknown:#646975;--unknown-soft:#edeff2;--bug:#dc3d43;--feature:#0d8189;
  --shadow:0 1px 2px rgba(20,22,30,.07),0 12px 32px rgba(20,22,30,.13);--shadow-panel:-8px 0 32px rgba(20,22,30,.13);
  --panel-shadow:0 1px 2px rgba(20,22,30,.04),0 4px 14px -6px rgba(20,22,30,.08);
  --radius-s:4px;--radius:6px;--radius-l:10px;
  --font:"Inter Variable","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-settings:"cv01","ss03";
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --topbar:48px;--peek-w:480px;--gutter:clamp(16px,3vw,32px);--sidebar-w:248px;--shell-gap:8px;--pad-x:clamp(14px,1.8vw,22px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--canvas:#121316;--bg:#18191d;--bg-2:#1d1f23;--bg-3:#24262b;--bg-hover:#212327;--bg-active:#2a2d33;--border:#2d3037;--border-subtle:#23252a;--border-strong:#3d414a;--border-focus:#4fcad1;--fg:#f1f2f4;--fg-2:#b4b8c1;--fg-3:#878c97;--accent:#3fc4cc;--accent-hover:#62d1d8;--accent-fg:#04201f;--accent-soft:#0f2f34;--done:#52c78f;--done-soft:#13301f;--progress:#e8bc5a;--progress-soft:#33290f;--later:#9aa8d3;--later-soft:#1e2541;--popover:#1e2024;--menu-hover:rgba(241,242,244,.07);--seg-bg:#131417;--seg-active:#2d3037;--seg-ring:rgba(255,255,255,.07);--test:#ad9af6;--test-soft:#272044;--blocked:#f2707a;--blocked-soft:#3a1b1f;--info:#74b4ff;--info-soft:#13263f;--unknown:#9499a4;--unknown-soft:#202329;--bug:#f2707a;--feature:#3fc4cc;--shadow:0 1px 2px rgba(0,0,0,.45),0 16px 40px rgba(0,0,0,.6);--shadow-panel:-8px 0 40px rgba(0,0,0,.6);--panel-shadow:0 0 0 1px rgba(255,255,255,.015),0 8px 24px -8px rgba(0,0,0,.6)}}
:root[data-theme="dark"]{color-scheme:dark;--canvas:#121316;--bg:#18191d;--bg-2:#1d1f23;--bg-3:#24262b;--bg-hover:#212327;--bg-active:#2a2d33;--border:#2d3037;--border-subtle:#23252a;--border-strong:#3d414a;--border-focus:#4fcad1;--fg:#f1f2f4;--fg-2:#b4b8c1;--fg-3:#878c97;--accent:#3fc4cc;--accent-hover:#62d1d8;--accent-fg:#04201f;--accent-soft:#0f2f34;--done:#52c78f;--done-soft:#13301f;--progress:#e8bc5a;--progress-soft:#33290f;--later:#9aa8d3;--later-soft:#1e2541;--popover:#1e2024;--menu-hover:rgba(241,242,244,.07);--seg-bg:#131417;--seg-active:#2d3037;--seg-ring:rgba(255,255,255,.07);--test:#ad9af6;--test-soft:#272044;--blocked:#f2707a;--blocked-soft:#3a1b1f;--info:#74b4ff;--info-soft:#13263f;--unknown:#9499a4;--unknown-soft:#202329;--bug:#f2707a;--feature:#3fc4cc;--shadow:0 1px 2px rgba(0,0,0,.45),0 16px 40px rgba(0,0,0,.6);--shadow-panel:-8px 0 40px rgba(0,0,0,.6);--panel-shadow:0 0 0 1px rgba(255,255,255,.015),0 8px 24px -8px rgba(0,0,0,.6)}

:root{--ws-1:#e7edf5;--ws-1-fg:#45607e;--ws-2:#e5efe8;--ws-2-fg:#476a55;--ws-3:#f2ece1;--ws-3-fg:#7a6444;--ws-4:#eee7f0;--ws-4-fg:#6c5274;--ws-5:#e2eeef;--ws-5-fg:#3d6a6f;--ws-6:#f1e7e3;--ws-6-fg:#7c5a4b}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ws-1:#1f2b3c;--ws-1-fg:#b3c8e3;--ws-2:#1d2b22;--ws-2-fg:#aecfb9;--ws-3:#302819;--ws-3-fg:#dcc69d;--ws-4:#2b2231;--ws-4-fg:#d2b9d9;--ws-5:#1a2b2d;--ws-5-fg:#a5d0d4;--ws-6:#30241f;--ws-6-fg:#ddb9a9}}
:root[data-theme="dark"]{--ws-1:#1f2b3c;--ws-1-fg:#b3c8e3;--ws-2:#1d2b22;--ws-2-fg:#aecfb9;--ws-3:#302819;--ws-3-fg:#dcc69d;--ws-4:#2b2231;--ws-4-fg:#d2b9d9;--ws-5:#1a2b2d;--ws-5-fg:#a5d0d4;--ws-6:#30241f;--ws-6-fg:#ddb9a9}
:is(.ws-mark,.avatar)[data-tone="1"]{background:var(--ws-1);color:var(--ws-1-fg)}
:is(.ws-mark,.avatar)[data-tone="2"]{background:var(--ws-2);color:var(--ws-2-fg)}
:is(.ws-mark,.avatar)[data-tone="3"]{background:var(--ws-3);color:var(--ws-3-fg)}
:is(.ws-mark,.avatar)[data-tone="4"]{background:var(--ws-4);color:var(--ws-4-fg)}
:is(.ws-mark,.avatar)[data-tone="5"]{background:var(--ws-5);color:var(--ws-5-fg)}
:is(.ws-mark,.avatar)[data-tone="6"]{background:var(--ws-6);color:var(--ws-6-fg)}
:root{--app-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",sans-serif;--ease:cubic-bezier(.32,.72,0,1);--nav-ease:cubic-bezier(.22,.9,.26,1);--nav-time:380ms;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}

:root{--fs-3xs:10px;--fs-2xs:10.5px;--fs-xs:11.5px;--fs-sm:12.5px;--fs-base:13.5px;--fs-md:14px;--fs-lg:14.5px;--fs-xl:15.5px;--fs-2xl:17px;--fs-3xl:20px;--fs-title:22px;--fs-hero:26px;--fs-jumbo:36px}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--fg);font-family:var(--app-font);font-size:var(--fs-md);line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{position:fixed;inset:0 0 auto 0;height:var(--app-height,100dvh);margin:0;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;background:var(--bg)}
h1,h2,h3,p,dl,dd,ol{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
button,a,.row,.tab{touch-action:manipulation;-webkit-user-select:none;user-select:none}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.muted{color:var(--fg-3)}
.noscript{padding:24px;text-align:center}


.app{position:relative;flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}
.pane{position:relative;min-height:0;overflow:hidden}
.pane-root{grid-row:1;isolation:isolate;transition:transform var(--nav-time) var(--nav-ease)}
.pane-detail{position:absolute;inset:0;z-index:5;pointer-events:none}
.app.has-detail .pane-detail{pointer-events:auto}
.pane-empty{display:none}
.app.is-wide{grid-template-columns:minmax(300px,380px) minmax(0,1fr)}
.app.is-wide .pane-root{grid-column:1}
.app.is-wide .tabbar{grid-column:1}
.app.is-wide .pane-detail{position:relative;grid-column:2;grid-row:1/3;pointer-events:auto;border-left:1px solid var(--border)}
.app.is-wide .pane-empty{display:grid;place-content:center;justify-items:center;gap:10px;height:100%;color:var(--fg-3)}


.screen{position:absolute;inset:0;isolation:isolate;display:flex;flex-direction:column;background:var(--bg);transition:transform var(--nav-time) var(--nav-ease)}
.screen.is-root{position:relative;height:100%}
.pane-detail .screen{box-shadow:-12px 0 32px rgba(20,22,30,.08)}
.screen.is-entering,.screen.is-leaving{transform:translate3d(100%,0,0)}


.app:not(.is-wide) .pane-root,.app:not(.is-wide) .pane-detail .screen{will-change:transform}
.app:not(.is-wide).has-detail .pane-root,.app:not(.is-wide) .pane-detail .screen:has(~ .screen:not(.is-leaving)){transform:translate3d(calc(-28% * (1 - var(--drag, 0))),0,0)}
.pane-root::after,.pane-detail .screen::after{content:"";position:absolute;inset:0;z-index:20;background:#000;opacity:0;pointer-events:none;transition:opacity var(--nav-time) var(--nav-ease)}
.app:not(.is-wide).has-detail .pane-root::after,.app:not(.is-wide) .pane-detail .screen:has(~ .screen:not(.is-leaving))::after{opacity:calc(.16 * (1 - var(--drag, 0)))}
.app.is-swiping .screen,.app.is-swiping .pane-root,.app.is-swiping .pane-root::after,.app.is-swiping .screen::after{transition:none}

.screen.is-root.is-fading{animation:tab-in 200ms ease-out}
@keyframes tab-in{from{opacity:0;transform:translate3d(0,6px,0)}}
.app.is-wide .screen{transition:none;box-shadow:none}
.screen-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.screen-body.is-padded{padding:8px 16px calc(24px + var(--safe-bottom))}
@media (prefers-reduced-motion:reduce){.screen,.pane-root,.screen::after,.pane-root::after,.sheet,.sheet-scrim{transition:none;animation:none}}



.bar{position:relative;z-index:2;flex:none;display:flex;align-items:center;gap:2px;min-height:calc(56px + var(--safe-top));padding:var(--safe-top) 8px 0 16px;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);transition:box-shadow 200ms ease}
.bar.is-scrolled{box-shadow:0 8px 20px -14px rgba(10,12,16,.45)}
.bar:has(.bar-back){gap:10px;padding-left:10px}
.bar-text{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}
.bar-title{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.screen.is-root .bar-title{font-size:var(--fs-title);font-weight:600;letter-spacing:-.015em}
.bar-sub{font-size:var(--fs-xs);line-height:1.3;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-end{display:flex;align-items:center;gap:4px;flex:none}
.bar-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--bg-2);color:var(--fg);cursor:pointer;transition:background 120ms ease,transform 120ms ease}
.bar-button:active{background:var(--bg-active);transform:scale(.92)}

.bar-back svg{width:19px;height:19px;margin-left:-2px}
.bar-back svg path{stroke-width:2}
.bar-room{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:4px 0;color:inherit;text-decoration:none}
.bar-room .avatar{width:29px;height:29px;font-size:var(--fs-xs)}
.app.is-wide .bar-button:hover{background:var(--bg-hover)}
.app.is-wide .bar-back{display:none}
.app.is-wide .bar:has(.bar-back){padding-left:16px}
.app.is-wide .pane-detail .screen:not(:first-child) .bar-back{display:grid}
.app.is-wide .pane-detail .screen:not(:first-child) .bar:has(.bar-back){padding-left:10px}


.tabbar{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 6px calc(10px + var(--safe-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);box-shadow:0 -10px 24px -20px rgba(10,12,16,.4)}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:45px;color:var(--fg-3);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.01em;text-decoration:none;transition:color 160ms ease}
.tab-icon{position:relative;display:grid;place-items:center;width:50px;height:28px;border-radius:999px;transition:background 200ms var(--ease),transform 160ms ease}
.tab:active .tab-icon{transform:scale(.92)}
.tab[aria-current]{color:var(--fg)}
.tab[aria-current] .tab-icon{background:var(--accent-soft);color:var(--accent)}
.tab-dot{position:absolute;top:3px;right:14px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg);display:none}
.tab[aria-current] .tab-dot{box-shadow:0 0 0 2px var(--accent-soft)}
.tab.has-dot .tab-dot{display:block}
.app.is-wide .tab:hover .tab-icon{background:var(--bg-hover)}
.app.is-wide .tab[aria-current]:hover .tab-icon{background:var(--accent-soft)}

@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .tabbar{box-shadow:none}}
:root[data-theme="light"] .tabbar{box-shadow:none}
.is-typing .tabbar{display:none}


.groups{padding-bottom:16px}
.group{padding-top:8px}
.group-label{padding:14px 16px 4px;font-size:var(--fs-sm);font-weight:650;color:var(--fg-3)}
.group-archived summary{list-style:none;cursor:pointer}
.group-archived summary::-webkit-details-marker{display:none}
.group-archived summary::after{content:"›";display:inline-block;transition:transform 160ms}
.group-archived[open] summary::after{transform:rotate(90deg)}
.rows{display:flex;flex-direction:column;gap:2px;padding:0 8px}
.row{display:flex;align-items:center;gap:12px;width:100%;min-height:53px;padding:8px;border:0;border-radius:16px;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background 120ms ease}
.row:active{background:var(--bg-active)}
.row-text{display:flex;flex-direction:column;min-width:0;flex:1}
.row-title{display:flex;align-items:center;gap:6px;font-size:var(--fs-lg);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-sub{font-size:var(--fs-sm);color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row.is-unread .row-title{font-weight:650}
.row.is-unread .row-sub{color:var(--fg-2)}
.unread-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.room-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:13px;background:var(--bg-3);color:var(--fg-2);font-size:var(--fs-2xl);font-weight:650}

.chat-list{padding-bottom:16px}

*{scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
.chips{display:flex;flex-wrap:wrap;gap:6px 8px;padding:6px 16px 6px}
.chips.is-scroll{position:sticky;top:0;z-index:2;flex-wrap:nowrap;gap:6px;padding:8px 16px 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding:0 16px;background:var(--bg);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 28px),transparent)}
.chips.is-scroll.at-start{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.chips.is-scroll.at-start.at-end,.chips.is-scroll.at-end:not(.at-start){-webkit-mask-image:none;mask-image:none}
.chips.is-scroll.at-end:not(.at-start){-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px);mask-image:linear-gradient(90deg,transparent 0,#000 16px)}
.chips.is-scroll .chip{height:30px;padding:0 13px;border:1px solid var(--border);background:transparent;color:var(--fg-2);font-size:var(--fs-sm)}
.chips.is-scroll .chip[aria-selected="true"]{border-color:var(--fg);background:var(--fg);color:var(--bg)}
.chips.is-scroll .chip-count{min-width:18px;height:18px;padding:0 5px}
.chips.is-scroll .chip-count.is-quiet{background:var(--bg-3);color:var(--fg-2)}
.chips.is-scroll .chip[aria-selected="true"] .chip-count.is-quiet{background:color-mix(in srgb,var(--bg) 22%,transparent);color:var(--bg)}
.chip{display:inline-flex;align-items:center;gap:6px;flex:none;height:29px;padding:0 14px;border:0;border-radius:999px;background:var(--bg-2);color:var(--fg-2);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:background 140ms ease,color 140ms ease}
.chip:active{transform:scale(.97)}
.chip[aria-selected="true"]{background:var(--fg);color:var(--bg)}
.chip-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-size:var(--fs-2xs);font-weight:700}
.chat-row{min-height:58px}
.chat-row .avatar.is-lg,.chat-row .room-mark{width:40px;height:40px}
.chat-row .room-mark{border-radius:15px}
.chat-row .avatar.is-lg{font-size:var(--fs-md)}
.chat-row .row-title{font-size:var(--fs-lg)}
.chat-row.is-unread .row-title{font-weight:700}
.tag{flex:none;padding:1px 6px;border-radius:999px;background:var(--bg-3);color:var(--fg-2);font-size:var(--fs-2xs);font-weight:600}
.result{align-items:flex-start}
.result-text{font-size:var(--fs-base);color:var(--fg-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.result-meta{font-size:var(--fs-xs);color:var(--fg-3)}
.app.is-wide .row:hover{background:var(--bg-hover)}
.app.is-wide .row[aria-current]{background:var(--accent-soft)}


.avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg-3);color:var(--fg-2);font-size:var(--fs-xs);font-weight:650;letter-spacing:.02em}
.avatar.is-sm{width:22px;height:22px;font-size:var(--fs-3xs)}.avatar.is-lg{width:34px;height:34px;font-size:var(--fs-base)}.avatar.is-xl{width:65px;height:65px;font-size:var(--fs-title)}


.state{display:grid;justify-items:center;gap:8px;padding:56px 32px;text-align:center;color:var(--fg-3)}
.state-title{font-size:var(--fs-xl);font-weight:600;color:var(--fg)}
.state-text{max-width:30ch;font-size:var(--fs-base)}
.state .pill{margin-top:8px}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 20px;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg);color:var(--fg);font-size:var(--fs-md);font-weight:600;cursor:pointer}
.pill:active{background:var(--bg-active)}
.pill.is-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}
.pill:disabled{opacity:.5}
.link{padding:0;border:0;background:none;color:var(--accent);font-weight:550;cursor:pointer}
.connection{padding:8px 16px;background:var(--progress-soft);color:var(--progress);font-size:var(--fs-sm);font-weight:550}
.skeleton{padding:8px 0}
.skeleton-row{height:40px;margin:8px 16px;border-radius:12px;background:linear-gradient(90deg,var(--bg-2),var(--bg-3),var(--bg-2));background-size:200% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skeleton-row{animation:none}}


.sheet-scrim{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,12,16,.36);animation:fade-in 180ms ease}
.sheet{width:100%;max-width:560px;max-height:88%;overflow-y:auto;padding:6px 0 calc(12px + var(--safe-bottom));border-radius:18px 18px 0 0;background:var(--popover);box-shadow:var(--shadow);animation:slide-up 260ms var(--ease);transition:transform 200ms var(--ease)}
.sheet-scrim.is-closing{animation:fade-out 200ms ease forwards}
.sheet.is-closing{animation:slide-down 200ms ease forwards}
@keyframes fade-in{from{opacity:0}}@keyframes fade-out{to{opacity:0}}
@keyframes slide-up{from{transform:translateY(100%)}}@keyframes slide-down{to{transform:translateY(100%)}}
.sheet-grip{display:block;width:31px;height:5px;margin:4px auto 8px;border-radius:999px;background:var(--border-strong)}
.sheet-title{padding:0 20px 8px;font-size:var(--fs-xl);font-weight:650}
.sheet-preview{margin:0 20px 6px;padding:10px 12px;border-radius:12px;background:var(--bg-2);color:var(--fg-2);font-size:var(--fs-base);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sheet-actions{display:flex;flex-direction:column}
.sheet-action{display:flex;align-items:center;gap:14px;min-height:45px;padding:0 20px;border:0;background:transparent;font-size:var(--fs-lg);text-align:left;cursor:pointer}
.sheet-action svg{color:var(--fg-2)}
.sheet-action:active{background:var(--bg-active)}
.sheet-action.is-danger,.sheet-action.is-danger svg{color:var(--blocked)}
.sheet-reactions{display:flex;justify-content:space-between;padding:4px 16px 10px}
.sheet-reaction{display:grid;place-items:center;width:41px;height:41px;border:0;border-radius:50%;background:var(--bg-2);font-size:var(--fs-3xl);cursor:pointer}
.sheet-reaction.is-mine{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}
.sheet .form,.sample-panel,.install{padding:0 20px 8px}
.toast{position:fixed;left:50%;bottom:calc(76px + var(--safe-bottom));z-index:50;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:11px 16px;border-radius:14px;background:var(--fg);color:var(--bg);font-size:var(--fs-base);box-shadow:var(--shadow);transform:translateX(-50%)}
.toast.is-error{background:var(--blocked);color:#fff}
.toast-action{padding:0;border:0;background:none;color:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.copy-buffer{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0}


input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select{font-size:16px!important}
textarea.compose-title,textarea.task-title-edit{font-size:var(--fs-3xl)!important}
.bar-button,.chip,.segment,.prop-chip,.format-button,.pill.is-small,.tab,.subtask-tick,.plan-tick{position:relative}
.bar-button::before,.chip::before,.segment::before,.prop-chip::before,.format-button::before,.pill.is-small::before{content:"";position:absolute;inset:-6px -2px}

.stage{position:relative;flex:1;min-height:0;display:flex}
.conversation{flex:1}
.msgs{display:flex;flex-direction:column;padding:6px 0 14px}
.day{position:sticky;top:6px;z-index:1;display:flex;justify-content:center;margin:12px 0 4px;pointer-events:none}
.day span{padding:3px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--popover);color:var(--fg-3);font-size:var(--fs-xs);font-weight:600}
.new-line{display:flex;align-items:center;gap:8px;margin:8px 16px 2px;color:var(--blocked);font-size:var(--fs-xs);font-weight:700}
.new-line::before{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--blocked) 45%,transparent)}
.msg{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;padding:3px 16px 3px 12px;margin-top:10px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.msg.is-follow{margin-top:0;padding-top:1px}
.msg:active{background:var(--bg-hover)}
.msg.is-mention{background:color-mix(in srgb,var(--progress-soft) 60%,transparent);box-shadow:inset 3px 0 0 var(--progress)}
.msg.is-pending{opacity:.75}
.msg-gutter{padding-top:2px}
.msg-head{display:flex;align-items:baseline;gap:6px;min-width:0}
.msg-author{font-size:var(--fs-md);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-tag{padding:0 5px;border-radius:4px;background:var(--test-soft);color:var(--test);font-size:var(--fs-3xs);font-weight:700}
.msg-time{flex:none;color:var(--fg-3);font-size:var(--fs-xs)}
.msg-text{font-size:var(--fs-md);line-height:1.45;overflow-wrap:anywhere}
.msg-text.is-deleted{color:var(--fg-3);font-style:italic}
.msg-text code{padding:1px 4px;border-radius:4px;background:var(--bg-3);font-family:var(--mono);font-size:var(--fs-sm)}
.msg-text pre{margin:4px 0;padding:10px;border-radius:10px;background:var(--bg-2);font-family:var(--mono);font-size:var(--fs-sm);white-space:pre-wrap;overflow-wrap:anywhere}
.msg-edited{color:var(--fg-3);font-size:var(--fs-xs)}
.msg-state{margin-top:2px;color:var(--fg-3);font-size:var(--fs-xs)}
.msg-state.is-failed{color:var(--blocked)}
.mention{padding:0 3px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-weight:600}
.mention.is-me{background:var(--progress-soft);color:var(--progress)}
.item-ref{font-weight:600;text-decoration:none}
.reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.reaction{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-2);font-size:var(--fs-sm);font-weight:600;color:var(--fg-2);cursor:pointer}
.reaction.is-mine{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.reaction-emoji{font-size:var(--fs-md)}
.replies{display:block;width:fit-content;margin-top:4px;font-size:var(--fs-base);font-weight:600;text-decoration:none}
.jump{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--popover);color:var(--fg-2);box-shadow:var(--shadow);cursor:pointer}


.composer{position:relative;flex:none;padding:6px 10px calc(6px + var(--safe-bottom));background:var(--bg)}
.is-typing .composer{padding-bottom:8px}
.composer-row{display:flex;align-items:flex-end;gap:8px}
.composer-field{flex:1;min-width:0;display:flex;align-items:flex-end;border:0;border-radius:20px;background:var(--bg-2);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow 160ms ease,background 160ms ease}
.composer-field:focus-within{box-shadow:inset 0 0 0 1px var(--border)}
.composer-input{flex:1;min-width:0;min-height:38px;max-height:160px;padding:9px 8px 9px 15px;border:0;background:transparent;color:var(--fg);font-size:16px;line-height:20px;resize:none;outline:none;scrollbar-width:none;-webkit-appearance:none;appearance:none;caret-color:var(--accent)}
.composer-input::placeholder{color:var(--fg-3)}
.composer-input::-webkit-scrollbar{display:none}
.composer-tool{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--bg-2);color:var(--fg-2);cursor:pointer;transition:transform 120ms ease,background 120ms ease}
.composer-tool:active{transform:scale(.92);background:var(--bg-active)}

.composer-send{display:grid;place-items:center;flex:none;width:30px;height:30px;margin:4px;padding:0;border:0;border-radius:50%;background:var(--accent);color:var(--accent-fg);cursor:pointer;transition:transform 180ms var(--ease),opacity 140ms ease,width 180ms var(--ease),margin 180ms var(--ease)}
.composer-send svg path{stroke-width:2.2}
.composer-send:active{transform:scale(.9)}
.composer-send:disabled{width:0;margin:4px 0;opacity:0;transform:scale(.4);pointer-events:none}
@media (prefers-reduced-motion:reduce){.composer-send{transition:none}}
.composer-edit{display:flex;align-items:center;justify-content:space-between;padding:0 6px 6px;color:var(--fg-2);font-size:var(--fs-sm);font-weight:550}
.composer-off{padding:6px 8px;color:var(--fg-3);font-size:var(--fs-base);text-align:center}
.mentions-pop{position:absolute;left:8px;right:8px;bottom:calc(100% + 4px);z-index:3;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--popover);box-shadow:var(--shadow)}
.mention-option{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:10px;background:transparent;text-align:left;font-size:var(--fs-md);cursor:pointer}
.mention-option:active,.mention-option:hover{background:var(--bg-hover)}


.search-field{display:flex;align-items:center;gap:8px;height:36px;margin:10px 16px 4px;padding:0 12px;border-radius:12px;background:var(--bg-2);color:var(--fg-3)}
.search-input{flex:1;min-width:0;height:100%;border:0;background:transparent;font-size:var(--fs-lg);color:var(--fg);outline:none}


.profile-card{display:grid;gap:20px;max-width:520px;margin:0 auto;padding-top:8px}
.profile{display:grid;justify-items:center;gap:2px;padding:8px 0 0;text-align:center}
.profile .avatar.is-xl{width:96px;height:96px;margin-bottom:14px;font-size:var(--fs-hero)}
.avatar.is-xl svg{width:38px;height:38px}.avatar.is-lg svg{width:20px;height:20px}
.profile-name{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.profile-title{color:var(--fg-2);font-size:var(--fs-md)}
.profile-status{margin-top:10px;padding:6px 14px;border-radius:999px;background:var(--bg-2);color:var(--fg);font-size:var(--fs-base)}

.profile-actions{display:flex;justify-content:center;gap:8px}
.profile-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 18px;border:0;border-radius:999px;background:var(--bg-2);color:var(--fg);font-size:var(--fs-base);font-weight:600;text-decoration:none;cursor:pointer;transition:transform 120ms ease,background 120ms ease}
.profile-action svg{width:18px;height:18px}
.profile-action:active{transform:scale(.96);background:var(--bg-active)}
.profile-action.is-primary{background:var(--accent);color:var(--accent-fg)}
.profile-action.is-primary:active{background:var(--accent-hover)}
.details{display:grid;gap:2px;padding:6px;border-radius:18px;background:var(--bg-2)}
.detail{display:flex;align-items:flex-start;gap:12px;padding:10px}
.detail-icon{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:10px;background:var(--bg);color:var(--fg-2)}
.detail-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;padding-top:1px}
.detail-label{color:var(--fg-3);font-size:var(--fs-xs);font-weight:600}
.detail-value{color:var(--fg);font-size:var(--fs-md);overflow-wrap:anywhere;white-space:pre-line;text-decoration:none}
a.detail-value{color:var(--accent)}
.detail-action{display:grid;place-items:center;flex:none;width:31px;height:31px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-3);cursor:pointer}
.detail-action:active{background:var(--bg-active)}
.detail-action svg{width:18px;height:18px}
.info-head{padding:20px 16px 8px}
.info-name{font-size:var(--fs-2xl);font-weight:700}
.info-topic{margin-top:4px;color:var(--fg-2)}
.switch-row{display:flex;align-items:center;gap:12px;min-height:53px;padding:8px 16px;cursor:pointer}
.switch{flex:none;appearance:none;-webkit-appearance:none;position:relative;width:44px;height:27px;margin:0;border-radius:999px;background:var(--bg-active);transition:background 160ms;cursor:pointer}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform 200ms var(--ease)}
.switch:checked{background:var(--accent)}
.switch:checked::after{transform:translateX(20px)}
.screen-body.is-padded .group-label{padding-left:0}


.form{display:grid;gap:14px;padding:4px 16px 8px}
.field{display:grid;gap:6px}
.field-label{color:var(--fg-2);font-size:var(--fs-sm);font-weight:600}
.input{width:100%;min-height:40px;padding:0 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg);font-size:var(--fs-lg);outline:none}
textarea.input{padding:11px 14px;resize:vertical}
.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-soft)}
.field-error{color:var(--blocked);font-size:var(--fs-sm)}
.install-lead{margin-bottom:12px;color:var(--fg-2);font-size:var(--fs-base)}
.install-steps{display:grid;gap:12px;padding:0;list-style:none;counter-reset:step}
.install-steps li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--bg-2);font-size:var(--fs-md)}
.install-steps svg{color:var(--accent)}
.sample-panel .rows{margin:0 -20px 12px}
.sample-panel .pill{width:100%}


.signin{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;gap:20px;padding:calc(56px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));background:var(--bg);overflow-y:auto}
.signin-mark{width:45px;height:45px}
.signin-body{display:grid;gap:16px;width:100%;max-width:380px}
.signin-title{font-size:var(--fs-3xl);font-weight:700;text-align:center;letter-spacing:-.01em}
.signin .form{padding:0}
.signin-sent{color:var(--fg-2);text-align:center}
.code-input{font-size:var(--fs-3xl);letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}
.signin .link{justify-self:center;min-height:38px}

.msg-text .bullet{display:block;position:relative;padding-left:18px}
.msg-text .bullet::before{content:"";position:absolute;top:.62em;left:5px;width:6px;height:6px;border-radius:50%;background:var(--fg-3)}

.reply-card{display:flex;align-items:center;gap:8px;margin:0 2px 8px;padding:8px 6px 8px 12px;border-radius:14px;background:var(--bg-2);box-shadow:inset 4px 0 0 var(--accent);animation:reply-in 180ms var(--ease)}
@keyframes reply-in{from{opacity:0;transform:translateY(6px)}}
.reply-words{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.reply-author{color:var(--accent);font-size:var(--fs-sm);font-weight:700}
.reply-text{color:var(--fg-2);font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply-close{display:grid;place-items:center;flex:none;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:var(--bg-3);color:var(--fg-2);cursor:pointer}
.reply-close svg{width:15px;height:15px}
.msg-text .quote-card{display:flex;flex-direction:column;gap:1px;margin:3px 0 5px;padding:7px 12px 8px 14px;border-radius:12px;background:var(--bg-2);box-shadow:inset 4px 0 0 var(--accent);cursor:pointer}
.msg-text .quote-card:active{background:var(--bg-active)}
.quote-author{color:var(--accent);font-size:var(--fs-sm);font-weight:700}
.quote-text{color:var(--fg-2);font-size:var(--fs-base);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.msg.is-flash{animation:msg-flash 1.4s ease}
@keyframes msg-flash{0%,40%{background:var(--accent-soft)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.reply-card,.msg.is-flash{animation:none}}



.attach-pop{position:absolute;left:8px;bottom:calc(100% - 2px);z-index:4;display:grid;gap:2px;min-width:210px;padding:6px;border-radius:18px;background:var(--popover);box-shadow:var(--shadow);transform-origin:16px 100%;animation:pop-in 180ms var(--ease)}
@keyframes pop-in{from{opacity:0;transform:scale(.85) translateY(6px)}}
.attach-item{display:flex;align-items:center;gap:12px;min-height:43px;padding:6px 14px 6px 8px;border:0;border-radius:13px;background:transparent;color:var(--fg);font-size:var(--fs-md);font-weight:550;text-align:left;cursor:pointer}
.attach-item:active,.app.is-wide .attach-item:hover{background:var(--bg-hover)}
.attach-dot{display:grid;place-items:center;flex:none;width:33px;height:33px;border-radius:50%;color:#fff}
.attach-dot.is-doc{background:#7c5cf0}.attach-dot.is-camera{background:#e2477a}.attach-dot.is-photos{background:#2e8be6}
@media (prefers-reduced-motion:reduce){.attach-pop{animation:none}}

.file-badge{position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;overflow:hidden;border-radius:12px;background:var(--bg-3);color:var(--fg-2)}
.file-badge.is-later{background:var(--later-soft);color:var(--later)}.file-badge.is-blocked{background:var(--blocked-soft);color:var(--blocked)}
.file-badge.is-info{background:var(--info-soft);color:var(--info)}.file-badge.is-done{background:var(--done-soft);color:var(--done)}
.file-badge.is-progress{background:var(--progress-soft);color:var(--progress)}
.file-badge.has-preview img{width:100%;height:100%;object-fit:cover}
.file-ext{font-size:var(--fs-3xs);font-weight:800;letter-spacing:.04em}

.composer-files{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 10px}
.composer-files::-webkit-scrollbar{display:none}
.tray-card{position:relative;display:flex;align-items:center;gap:10px;flex:none;width:220px;padding:8px 8px 8px 8px;overflow:hidden;border-radius:16px;background:var(--bg-2)}
.tray-card.is-failed{background:var(--blocked-soft)}
.tray-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.tray-name{color:var(--fg);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tray-state{color:var(--fg-3);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tray-card.is-uploading .tray-state,.tray-card.is-checking .tray-state{color:var(--accent)}
.tray-card.is-failed .tray-state{color:var(--blocked)}
.tray-action,.tray-remove{display:grid;place-items:center;flex:none;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-2);cursor:pointer}
.tray-remove{background:var(--bg-3)}
.tray-action svg,.tray-remove svg{width:15px;height:15px}
.tray-action:active,.tray-remove:active{background:var(--bg-active)}
.tray-progress{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden;background:color-mix(in srgb,var(--accent) 18%,transparent)}
.tray-progress::after{content:"";position:absolute;top:0;bottom:0;width:40%;border-radius:3px;background:var(--accent);animation:tray-run 1.1s ease-in-out infinite}
@keyframes tray-run{from{left:-40%}to{left:100%}}
@media (prefers-reduced-motion:reduce){.tray-progress::after{animation:none;left:0;width:100%}}

.msg-body button.file{display:flex;align-items:center;gap:10px;width:100%;max-width:300px;margin-top:6px;padding:8px 10px 8px 8px;border:0;border-radius:16px;background:var(--bg-2);color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:background 120ms ease}
.msg-body button.file:active{background:var(--bg-active)}
.file-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.file-name{font-size:var(--fs-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-size{color:var(--fg-3);font-size:var(--fs-xs)}
.file-save{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:50%;background:var(--bg-3);color:var(--fg-2)}


.composer-join{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px;color:var(--fg-2);font-size:var(--fs-base)}


.pick-row{gap:12px}
.pick-tick{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--bg-3);color:transparent;transition:background 140ms ease,color 140ms ease}
.pick-row[aria-pressed="true"] .pick-tick{background:var(--accent);color:var(--accent-fg)}
.set-hint.in-group{margin:-2px 16px 6px}
.start-bar{display:flex;gap:8px;padding:10px 12px calc(10px + var(--safe-bottom));background:var(--bg);box-shadow:0 -10px 24px -20px rgba(10,12,16,.4)}
.start-bar .input{flex:1;min-width:0}
.start-bar .pill{flex:none}
.start-bar .input[hidden] + .pill{flex:1}
.add-people .rows{margin:0 0 12px}
.add-people .pill{width:calc(100% - 40px);margin:0 20px 8px}


.info-note{margin-top:8px;padding:8px 12px;border-radius:12px;background:var(--progress-soft);color:var(--progress);font-size:var(--fs-sm)}
.info-join{margin-top:12px}


.activity-row{align-items:flex-start}
.activity-top{display:flex;align-items:baseline;gap:6px;min-width:0}
.activity-top .row-title{flex:none;max-width:60%}
.activity-kind{color:var(--fg-3);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-row.is-unseen .row-title{font-weight:700}
.activity-row .unread-dot{margin-top:6px}


.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:6px 16px 8px;padding:4px;border-radius:14px;background:var(--seg-bg);flex:none}
.mode-tab{height:33px;border:0;border-radius:10px;background:transparent;color:var(--fg-2);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:background 160ms ease,color 160ms ease}
.mode-tab[aria-selected="true"]{background:var(--seg-active);color:var(--fg);box-shadow:0 1px 2px rgba(20,22,30,.08),0 0 0 1px var(--seg-ring)}
.new-chat .search-field{margin-top:4px}
.picked{display:flex;flex-wrap:wrap;gap:6px;padding:6px 16px 2px}
.picked::-webkit-scrollbar{display:none}
.picked-chip{display:inline-flex;align-items:center;gap:6px;flex:none;height:29px;padding:0 10px 0 4px;border:0;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-base);font-weight:600;cursor:pointer}
.picked-chip .avatar.is-sm{width:22px;height:22px}
.new-people .set-hint.in-group{margin:10px 16px 4px}
.new-room{gap:18px;padding-top:12px}
.new-room .pill{margin-top:4px}
.new-footer{flex:none}
.new-footer:empty{display:none}


.install-invite{display:flex;align-items:center;gap:12px;margin:6px 16px 4px;padding:12px 8px 12px 12px;border-radius:18px;background:var(--bg-2)}
.install-mark{flex:none;width:38px;height:38px;border-radius:12px}
.install-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.install-text strong{font-size:var(--fs-md);font-weight:650}
.install-text span{color:var(--fg-3);font-size:var(--fs-sm)}
.install-dismiss{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-3);cursor:pointer}
.install-dismiss svg{width:16px;height:16px}
.safari-bar{display:flex;justify-content:space-around;align-items:center;margin:0 0 14px;padding:10px 6px;border-radius:14px;background:var(--bg-3);color:var(--fg-3)}
.safari-slot{display:grid;place-items:center;width:34px;height:29px;border-radius:10px}
.safari-slot.is-share{background:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-soft);animation:share-pulse 1.6s ease-in-out infinite}
@keyframes share-pulse{50%{box-shadow:0 0 0 8px var(--accent-soft)}}
@media (prefers-reduced-motion:reduce){.safari-slot.is-share{animation:none}}

.msg{position:relative;transition:transform 220ms var(--ease)}
.msg.is-swiping,.chat-row.is-swiping{transition:none}
.msg-reply-hint{position:absolute;left:-40px;top:50%;display:grid;place-items:center;width:28px;height:28px;margin-top:-16px;border-radius:50%;background:var(--bg-2);color:var(--fg-2);opacity:0;transition:transform 160ms var(--ease),background 160ms ease,color 160ms ease}
.msg-reply-hint.is-ready{background:var(--accent);color:var(--accent-fg);transform:scale(1.1)}
.msg-burst{position:absolute;right:24px;top:50%;font-size:var(--fs-hero);pointer-events:none;animation:burst 700ms var(--ease) forwards}
@keyframes burst{0%{opacity:0;transform:translateY(-50%) scale(.3)}30%{opacity:1;transform:translateY(-50%) scale(1.15)}70%{opacity:1;transform:translateY(-60%) scale(1)}100%{opacity:0;transform:translateY(-90%) scale(.9)}}

.swipe-wrap{position:relative;overflow:hidden;border-radius:16px}
.swipe-actions{position:absolute;top:0;right:0;bottom:0;display:flex;visibility:hidden}
.swipe-wrap.is-active .swipe-actions{visibility:visible}
.swipe-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:76px;border:0;color:#fff;font-size:var(--fs-xs);font-weight:650;cursor:pointer}
.swipe-action.is-read{background:var(--info)}
.swipe-action.is-mute{background:var(--fg-3)}
.swipe-wrap .chat-row{position:relative;background:var(--bg);transition:transform 240ms var(--ease)}
.app.is-wide .swipe-wrap .chat-row{background:transparent}

.pull-indicator{position:absolute;left:50%;top:64px;z-index:0;display:grid;place-items:center;width:29px;height:29px;margin-left:-17px;border-radius:50%;background:var(--bg-2);color:var(--fg-2);opacity:0;pointer-events:none;transition:transform 200ms var(--ease)}
.pull-indicator.is-ready{transform:rotate(180deg);color:var(--accent)}
.pull-indicator.is-busy svg{animation:pull-spin 800ms linear infinite}
@keyframes pull-spin{to{transform:rotate(360deg)}}
.chat-list{position:relative;z-index:1}
.chat-list.is-settling{transition:transform 260ms var(--ease)}

.fresh-pill{position:absolute;left:50%;bottom:14px;z-index:2;height:31px;padding:0 16px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-size:var(--fs-base);font-weight:650;box-shadow:var(--shadow);transform:translateX(-50%);cursor:pointer;animation:fresh-in 220ms var(--ease)}
@keyframes fresh-in{from{opacity:0;transform:translate(-50%,8px)}}
@media (prefers-reduced-motion:reduce){.msg,.msg-burst,.fresh-pill,.swipe-wrap .chat-row{transition:none;animation:none}}
.swipe-action.is-done{background:var(--done)}
.swipe-action.is-due{background:var(--progress)}
.swipe-action.is-more{background:var(--fg-3)}
.swipe-wrap .task-row{position:relative;background:var(--bg);transition:transform 240ms var(--ease)}
.app.is-wide .swipe-wrap .task-row{background:transparent}



.tabbar{display:flex;align-items:center;gap:8px;padding-right:12px}
.tabbar-tabs{flex:1;min-width:0;display:flex}

.tabbar .tab{flex:1 1 0;min-width:0;min-height:54px;gap:0}
.tabbar .tab[aria-current]{flex:0 0 auto}
.tabbar .tab-icon{width:min(60px,100% - 4px);height:38px;gap:6px}
.tabbar .tab[aria-current] .tab-icon{display:flex;align-items:center;width:auto;padding:0 14px 0 12px}
.tabbar .tab[aria-current] .tab-dot{right:auto;left:28px}
.tabbar .tab-icon{overflow:hidden}
.tab-label{display:none;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}
.tab[aria-current] .tab-label{display:block;animation:tab-label-in 300ms var(--ease) 60ms backwards}
@keyframes tab-label-in{from{opacity:0;transform:translateX(-6px)}}
@media (prefers-reduced-motion:reduce){.tab[aria-current] .tab-label{animation:none}}
.tabbar-create{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:var(--bg-2);color:var(--fg);transition:transform 120ms ease,background 120ms ease}
.tabbar-create:active{transform:scale(.92);background:var(--bg-active)}
.tabbar-create::before{content:"";position:absolute;inset:-4px}


.status-mark{position:relative;flex:none;width:16px;height:16px;border-radius:50%;border:1.75px solid var(--fg-3);background:transparent}
.status-mark[data-status="in_progress"]{border-color:var(--progress);background:conic-gradient(var(--progress) 0 50%,transparent 50%);background-clip:content-box;padding:2px}
.status-mark[data-status="to_test"]{border-color:var(--test);background:conic-gradient(var(--test) 0 75%,transparent 75%);background-clip:content-box;padding:2px}
.status-mark[data-status="do_later"]{border-style:dashed;border-color:var(--later)}
.status-mark[data-status="done"]{border-color:var(--done);background:var(--done)}
.status-mark[data-status="wont_do"]{border-color:var(--fg-3);background:var(--fg-3)}
.status-mark[data-status="done"]::after{content:"";position:absolute;left:4px;top:1.5px;width:4px;height:7px;border:solid var(--bg);border-width:0 1.75px 1.75px 0;transform:rotate(45deg)}
.status-mark[data-status="wont_do"]::after{content:"×";position:absolute;inset:0;display:grid;place-items:center;color:var(--bg);font-size:var(--fs-xs);font-weight:800;line-height:1}


.priority-mark{display:inline-flex;align-items:flex-end;gap:1.5px;flex:none;width:14px;height:12px}
.priority-mark i{width:3px;border-radius:1px;background:var(--border-strong)}
.priority-mark i:nth-child(1){height:5px}.priority-mark i:nth-child(2){height:8px}.priority-mark i:nth-child(3){height:12px}
.priority-mark[data-priority="low"] i:nth-child(1),.priority-mark[data-priority="medium"] i:nth-child(-n+2),.priority-mark[data-priority="high"] i{background:var(--fg-2)}
.priority-mark[data-priority="urgent"]{align-items:center;justify-content:center;width:14px;height:14px;border-radius:4px;background:var(--blocked);color:#fff;font-size:var(--fs-2xs);font-weight:800}
.priority-mark[data-priority="none"] i{background:var(--border)}


.task-head{padding:4px 16px 2px}
.segments{display:flex;flex-wrap:wrap;gap:4px}
.segment{height:31px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--fg-3);font-size:var(--fs-md);font-weight:600;cursor:pointer}
.segment[aria-selected="true"]{background:var(--bg-2);color:var(--fg)}


.task-screen{padding-bottom:24px}
.task-group summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer}
.task-group summary::-webkit-details-marker{display:none}
.task-group-label{padding:16px 16px 6px;color:var(--fg-2)}
.task-count{color:var(--fg-3);font-weight:500}
.task-row{min-height:48px;gap:12px;padding:8px 10px}
.task-row .row-title{font-size:var(--fs-md)}
.task-meta{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--fs-xs);color:var(--fg-3)}
.task-id{font-variant-numeric:tabular-nums}
.task-due{padding:0 6px;border-radius:6px;background:var(--bg-2)}
.task-due[data-tone="soon"]{background:var(--progress-soft);color:var(--progress)}
.task-due[data-tone="late"]{background:var(--blocked-soft);color:var(--blocked)}
.task-sub::before{content:"☑ ";opacity:.7}
.collection-row svg:last-child{color:var(--fg-3)}


.inbox-row{align-items:flex-start;min-height:62px}
.inbox-mark{position:relative;flex:none}
.inbox-badge{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--bg-2);color:var(--fg-2);box-shadow:0 0 0 2px var(--bg)}
.inbox-system{background:var(--bg-2);color:var(--fg-2)}
.inbox-top{display:flex;align-items:baseline;gap:8px;min-width:0}
.inbox-top .row-title{flex:1;min-width:0}
.inbox-when{flex:none;font-size:var(--fs-xs);color:var(--fg-3)}
.inbox-row .row-sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.inbox-row:not(.is-unread) .row-title{color:var(--fg-2);font-weight:500}
.inbox-row.is-unread .row-title{font-weight:650}
.inbox-row.is-unread .row-title::before{content:"";display:inline-block;flex:none;width:8px;height:8px;margin-right:2px;border-radius:50%;background:var(--accent)}
.inbox-note{margin:2px 16px 6px;font-size:var(--fs-sm);color:var(--fg-3)}


.project-mark{display:grid;place-items:center;flex:none;width:19px;height:19px;border-radius:7px;background:var(--bg-3);color:var(--fg);font-size:var(--fs-xs);font-weight:700}
.collection-row .project-mark{width:34px;height:34px;border-radius:13px;font-size:var(--fs-xl)}
.project-mark[data-color="green"]{background:var(--done-soft);color:var(--done)}
.project-mark[data-color="blue"]{background:var(--info-soft);color:var(--info)}
.project-mark[data-color="orange"]{background:var(--progress-soft);color:var(--progress)}
.project-mark[data-color="red"]{background:var(--blocked-soft);color:var(--blocked)}
.project-mark[data-color="purple"]{background:var(--test-soft);color:var(--test)}


.compose-bar{justify-content:space-between;gap:8px;padding-right:12px}
.project-pill{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:60%;height:34px;padding:0 14px 0 10px;border:0;border-radius:999px;background:var(--bg-2);font-size:var(--fs-md);font-weight:600;cursor:pointer}
.project-pill span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.send-button{background:var(--accent);color:var(--accent-fg)}
.send-button:disabled{background:var(--bg-2);color:var(--fg-3)}
.compose-body{display:flex;flex-direction:column;padding:8px 20px 16px}
.compose-title,.compose-description{width:100%;padding:0;border:0;background:transparent;resize:none;outline:none}
.compose-title{font-size:var(--fs-3xl);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.compose-description{flex:1;min-height:120px;margin-top:10px;font-size:var(--fs-lg);line-height:1.5;color:var(--fg-2)}
.compose-title::placeholder,.compose-description::placeholder{color:var(--fg-3)}
.compose-dock{flex:none;padding:6px 0 calc(8px + var(--safe-bottom));background:var(--bg)}
.is-typing .compose-dock{padding-bottom:8px}
.prop-chips{display:flex;flex-wrap:nowrap;gap:6px;padding:4px 16px 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding:0 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.prop-chips::-webkit-scrollbar{display:none}
.prop-chips::after{content:"";flex:none;width:10px}
.prop-chip{display:inline-flex;align-items:center;gap:7px;flex:none;height:32px;padding:0 13px 0 11px;border:1px solid transparent;border-radius:999px;background:var(--bg-2);color:var(--fg);font-size:var(--fs-base);font-weight:550;white-space:nowrap;cursor:pointer;transition:background 140ms ease,transform 120ms ease}
.prop-chip svg{flex:none;color:var(--fg-2)}
.prop-chip .avatar.is-sm{width:20px;height:20px}
.prop-chip.is-empty{border-color:var(--border-strong);border-style:dashed;background:transparent;color:var(--fg-3);font-weight:500}
.prop-chip.is-empty svg{color:var(--fg-3)}
.prop-chip:active{transform:scale(.97);background:var(--bg-active)}
.format-bar{display:flex;gap:4px;margin:0 12px;padding:4px;border-radius:999px;background:var(--bg-2)}
.format-button{display:grid;place-items:center;width:38px;height:34px;border:0;border-radius:999px;background:transparent;color:var(--fg-2);cursor:pointer}
.format-button:active{background:var(--bg-active)}


.task-detail{padding-bottom:24px}
.task-top{padding:6px 20px 14px}
.task-parent{display:inline-block;margin-bottom:6px;font-size:var(--fs-sm);color:var(--fg-3);text-decoration:none}
.task-title{font-size:var(--fs-3xl);font-weight:600;line-height:1.3;letter-spacing:-.01em}
.props{display:flex;flex-direction:column;margin:0 16px;padding:4px 0;border-radius:16px;background:var(--bg-2)}
.prop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 14px;border:0;background:transparent;font-size:var(--fs-md);text-align:left;cursor:pointer}
.prop-row:active{background:var(--bg-active)}
.prop-name{color:var(--fg-3)}
.prop-value{display:inline-flex;align-items:center;gap:8px;min-width:0;font-weight:550}
.prop-value span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.prop-row.is-empty .prop-value{color:var(--fg-3);font-weight:500}
.task-description{display:block;margin:14px 16px 0;padding:10px 4px;border-radius:12px;font-size:var(--fs-md);line-height:1.55;cursor:text}
.task-description:active{background:var(--bg-2)}
.task-description.is-empty{color:var(--fg-3)}
.task-section{margin-top:22px}
.section-label{padding:0 20px 6px;font-size:var(--fs-sm);font-weight:650;color:var(--fg-3)}
.task-section .rows{padding:0 8px}
.task-section > .muted{padding:0 20px;font-size:var(--fs-base)}
.activity-list{display:flex;flex-direction:column;gap:14px;margin:4px 0 0;padding:0 20px;list-style:none}
.activity-item{display:flex;gap:10px;align-items:flex-start}
.activity-text{min-width:0;flex:1}
.activity-line{font-size:var(--fs-base);color:var(--fg-2)}
.activity-line strong{color:var(--fg);font-weight:600}
.activity-note{margin-top:6px;padding:10px 12px;border-radius:12px;background:var(--bg-2);font-size:var(--fs-base);white-space:pre-wrap;-webkit-user-select:text;user-select:text}
.note-dock{flex:none;padding:8px 12px calc(8px + var(--safe-bottom));background:var(--bg);box-shadow:0 -10px 24px -22px rgba(10,12,16,.5)}
.is-typing .note-dock{padding-bottom:8px}
.note-box{display:flex;align-items:flex-end;gap:8px}
.note-field{flex:1;min-height:36px;padding:10px 16px;border:0;border-radius:21px;background:var(--bg-2);font-size:var(--fs-lg);line-height:1.35;resize:none;outline:none}


.picker-option{gap:12px}
.picker-label{flex:1}
.picker-tick{color:var(--accent);font-weight:700}
.picker-due{display:grid;gap:12px;padding:0 20px 8px}
.picker-due .chips{padding:0}
.date-field{height:41px;padding:0 14px;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg);font-size:var(--fs-lg)}
.find-field{width:100%;height:34px;padding:0 14px;border:0;border-radius:12px;background:var(--bg-2);font-size:var(--fs-lg);outline:none}
.search-chats{display:block;margin:0 auto;text-align:center}







.row-status{display:grid;place-items:center;flex:none;width:36px;height:36px;margin:-6px -4px -6px -8px;border:0;border-radius:50%;background:transparent;cursor:pointer}
.row-status:active{background:var(--bg-active)}
.task-row.is-finished .row-title{color:var(--fg-3)}
.task-project{max-width:40%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.segment{display:inline-flex;align-items:center;gap:6px}
.segment-count{min-width:18px;padding:0 6px;border-radius:999px;background:var(--bg-3);color:var(--fg-2);font-size:var(--fs-2xs);font-weight:700;line-height:18px;text-align:center}
.segment[aria-selected="true"] .segment-count{background:var(--accent);color:var(--accent-fg)}




.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px 2px}
.view-pill{flex:none;height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--fg-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background 140ms ease,color 140ms ease}
.view-pill[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.view-pill:active{transform:scale(.97)}
.refine-pill{display:inline-flex;align-items:center;flex:none;height:30px;border:1px dashed var(--border-strong);border-radius:999px;color:var(--fg-2)}
.refine-pill.is-on{border-style:solid;border-color:transparent;background:var(--accent-soft);color:var(--accent)}
.refine-main{display:inline-flex;align-items:center;gap:6px;height:100%;padding:0 12px;border:0;background:transparent;color:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}
.refine-pill.is-on .refine-main{padding-right:4px}
.refine-clear{display:grid;place-items:center;width:26px;height:26px;margin-right:2px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.refine-clear svg{width:13px;height:13px}
.list-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px 4px;font-size:var(--fs-sm);color:var(--fg-3)}
.picker-hint{flex:none;font-size:var(--fs-xs);color:var(--fg-3)}
.refine-pill{height:28px}

.filter-button[data-count]:not([data-count=""])::after{content:attr(data-count);position:absolute;top:-3px;right:-3px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-size:var(--fs-3xs);font-weight:700;box-shadow:0 0 0 2px var(--bg)}
.filter-sheet{display:grid;gap:10px;padding:0 4px 8px}

.filter-sheet{display:grid;gap:4px;padding:0 0 8px}
.filter-bar{display:grid;gap:4px}
.filter-block{display:grid;gap:4px}
.filter-sheet .filter-label{padding:6px 20px 0;font-size:var(--fs-xs);font-weight:650;color:var(--fg-3)}
.filter-sheet .filter-row{flex-wrap:wrap;overflow:visible;gap:6px;padding:2px 16px}
.view-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border)}
.view-pill[aria-pressed="true"]{border-color:var(--fg)}
.view-count{font-size:var(--fs-2xs);font-weight:700;color:var(--fg-3)}
.view-pill[aria-pressed="true"] .view-count{color:inherit;opacity:.7}
.view-count.is-late{color:var(--blocked)}
.filter-actions{display:flex;gap:8px;padding:10px 16px 2px}


.sheet{position:relative}
.drop-card{position:absolute;z-index:5;display:flex;flex-direction:column;max-height:300px;overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:14px;background:var(--popover);box-shadow:0 14px 34px -12px rgba(10,12,16,.45);animation:drop-in 140ms var(--ease)}
@keyframes drop-in{from{opacity:0;transform:translateY(-4px) scale(.98)}}
@media (prefers-reduced-motion:reduce){.drop-card{animation:none}}
.drop-option{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--fg);font-size:var(--fs-base);text-align:left;cursor:pointer}
.drop-option:active,.drop-option:focus-visible{background:var(--bg-2)}
.drop-option[aria-selected="true"]{font-weight:600}
.drop-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop-hint{flex:none;font-size:var(--fs-xs);color:var(--fg-3)}
.refine-main[aria-expanded="true"]{color:var(--fg)}


.view-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:2px 16px 6px}
.view-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--fg);text-align:left;cursor:pointer;scroll-snap-align:start;transition:transform 120ms ease}
.view-card:active{transform:scale(.97)}
.view-card-top{display:flex;align-items:center;justify-content:space-between;width:100%}
.view-card-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--bg-2);color:var(--fg-2)}
.view-card[data-color="red"] .view-card-icon{background:var(--blocked-soft);color:var(--blocked)}
.view-card[data-color="orange"] .view-card-icon{background:var(--progress-soft);color:var(--progress)}
.view-card[data-color="green"] .view-card-icon{background:var(--done-soft);color:var(--done)}
.view-card[data-color="blue"] .view-card-icon{background:var(--info-soft);color:var(--info)}
.view-card[data-color="purple"] .view-card-icon{background:var(--test-soft);color:var(--test)}
.view-card-count{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.01em}
.view-card-name{width:100%;font-size:var(--fs-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.view-card-sub{margin-top:-4px;font-size:var(--fs-xs);color:var(--fg-3)}
.view-card.is-new{border-style:dashed;background:transparent;color:var(--fg-2)}
.view-card.is-new .view-card-icon{background:var(--accent-soft);color:var(--accent)}

.tabbar-create.is-floating{position:absolute;right:12px;bottom:calc(12px + var(--safe-bottom));z-index:3;box-shadow:0 6px 18px -10px rgba(10,12,16,.45);cursor:pointer}
.tabbar-create[hidden]{display:none}
.screen:has(> .tabbar-create.is-floating) .screen-body{padding-bottom:calc(82px + var(--safe-bottom))}
.inbox-badge svg{width:10px;height:10px}
.inbox-badge.is-approval{background:var(--accent-soft);color:var(--accent)}


.sheet.is-menu{background:var(--bg)}
.menu{display:flex;flex-direction:column;gap:6px;padding:0 10px 6px}
.menu-head{display:flex;align-items:center;gap:8px;padding:0 6px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}
.menu-space{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:44px;padding:0 10px 0 2px;border:0;border-radius:12px;background:transparent;color:var(--fg);text-align:left;cursor:pointer}
.menu-space:disabled{cursor:default}
.menu-space:not(:disabled):active{background:var(--bg-2)}
.menu-space-name{min-width:0;font-size:var(--fs-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-space svg{flex:none;color:var(--fg-3)}
.menu-mark{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:750}
.menu-round{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--bg-2);color:var(--fg-2);cursor:pointer}
.menu-round:active{transform:scale(.94)}
.menu-round.is-current{background:var(--fg);color:var(--bg)}
.menu-list{display:flex;flex-direction:column}
.menu-heading{display:flex;align-items:center;justify-content:space-between;padding:2px 12px 2px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3)}
.menu-edit{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:0;border-radius:999px;background:var(--bg-2);color:var(--fg-2);font-size:var(--fs-xs);font-weight:600;letter-spacing:0;text-transform:none;cursor:pointer}
.menu-edit:active{background:var(--bg-active)}
.menu-row{display:flex;align-items:center;gap:14px;min-height:54px;padding:6px 12px;border:0;border-radius:12px;background:transparent;color:var(--fg);text-align:left;text-decoration:none;cursor:pointer}
.menu-row > svg{flex:none;color:var(--fg-2)}
.menu-row:active{background:var(--bg-2)}
.menu-row.is-current{background:var(--bg-2)}
.menu-row.is-current > svg,.menu-row.is-current .menu-label{color:var(--fg)}
.menu-text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.menu-label{font-size:var(--fs-lg);font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-row.is-current .menu-label{font-weight:650}
.menu-sub{font-size:var(--fs-sm);color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-count{display:none;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--accent);color:var(--accent-fg);font-size:var(--fs-2xs);font-weight:700;line-height:22px;text-align:center}
.menu-count.is-on{display:inline-block}
.menu-web{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0 2px;color:var(--fg-3);font-size:var(--fs-sm);text-decoration:none}
.menu-switch-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 8px;border:0;border-radius:12px;background:transparent;color:var(--fg);text-align:left;cursor:pointer}
.menu-switch-row.is-current{background:var(--bg-2);font-weight:600}
.menu-switch-name{flex:1}


.bar-editor{display:flex;flex-direction:column;gap:12px;padding:0 16px 8px}
.bar-preview{display:flex;justify-content:space-around;padding:10px 6px;border:1px solid var(--border);border-radius:16px;background:var(--bg-2)}
.bar-preview-tab{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;color:var(--accent);font-size:var(--fs-2xs);font-weight:600}
.bar-preview-tab.is-fixed{color:var(--fg-3)}
.bar-note{font-size:var(--fs-sm);color:var(--fg-3)}
.bar-options{display:flex;flex-direction:column;gap:2px}
.bar-option{display:flex;align-items:center;gap:4px;border-radius:12px}
.bar-option.is-on{background:var(--bg-2)}
.bar-toggle{display:flex;align-items:center;gap:12px;flex:1;min-height:46px;padding:0 10px;border:0;border-radius:12px;background:transparent;color:var(--fg);font-size:var(--fs-lg);text-align:left;cursor:pointer}
.bar-toggle:disabled{opacity:.45;cursor:default}
.bar-toggle svg{color:var(--fg-2)}
.bar-check{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1.75px solid var(--border-strong);border-radius:7px;font-size:var(--fs-2xs);font-weight:750}
.bar-option.is-on .bar-check{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}
.bar-option-label{flex:1}
.bar-move{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-2);cursor:pointer}
.bar-move:disabled{opacity:.3}
.bar-editor .pill{align-self:flex-start}


.segment{min-width:0;padding:0 12px}

.bar-product{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.bar-product .bar-title{min-width:0}
.bar-product>svg{flex:none;color:var(--fg-3)}
.bar-product:active{opacity:.7}

.task-head .segments{display:grid;grid-auto-flow:column;grid-auto-columns:auto;justify-content:start;gap:2px}
.task-head .segment{justify-content:center;padding:0 10px;white-space:nowrap}


.sheet.is-products{display:flex;flex-direction:column}
.product-sheet{display:flex;flex-direction:column;min-height:0;padding:0 0 4px}
.product-search{margin:2px 16px 8px;height:40px;padding:0 14px;border:0;border-radius:12px;background:var(--bg-2);color:var(--fg);font-size:16px;outline:none}
.product-list{display:flex;flex-direction:column;gap:2px;padding:0 8px;overflow-y:auto;overscroll-behavior:contain}
.product-group{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.product-group[hidden]{display:none}
.product-group-title{margin:0;padding:4px 12px 4px;color:var(--fg-3);font-size:var(--fs-xs);font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.product-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 12px;border:0;border-radius:14px;background:transparent;color:var(--fg);text-align:left;cursor:pointer;transition:background 120ms ease}
.product-row[hidden]{display:none}
.product-row:active{background:var(--bg-active)}
.product-row.is-current{background:var(--accent-soft)}
.product-row .project-mark{width:34px;height:34px;border-radius:11px;font-size:var(--fs-lg)}
.project-mark.is-all{background:var(--bg-2);color:var(--fg-2)}
.product-row-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.product-row-name{font-size:var(--fs-lg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-row-sub{color:var(--fg-3);font-size:var(--fs-sm)}
.product-row.is-current .product-row-name{color:var(--accent)}
.product-row>svg{flex:none;color:var(--accent)}
.product-row-tick{flex:none;width:18px}

.you-page{padding:12px 16px calc(32px + var(--safe-bottom))}
.you-page > *{max-width:560px;margin-left:auto;margin-right:auto}


.you-hero{display:grid;justify-items:center;gap:2px;padding:16px 0 4px;text-align:center}
.you-face{position:relative;margin-bottom:12px}
.you-face .avatar.is-xl{width:88px;height:88px;font-size:var(--fs-hero)}
.you-badge{position:absolute;right:-4px;bottom:-2px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg-2);font-size:var(--fs-xl);box-shadow:0 0 0 3px var(--bg)}
.you-name{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.you-title{color:var(--fg-2);font-size:var(--fs-md)}
.you-actions{display:flex;justify-content:center;gap:8px;width:100%;margin-top:16px}
.you-status,.you-edit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;height:34px;padding:0 16px;border:0;border-radius:999px;background:var(--bg-2);font-size:var(--fs-base);font-weight:550;cursor:pointer;transition:background 120ms ease}
.you-status{color:var(--fg)}
.you-status span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.you-status.is-empty{color:var(--accent)}
.you-edit{flex:none;color:var(--fg-2)}
.you-status:active,.you-edit:active{background:var(--bg-active)}

.set-section{margin-top:26px}
.set-title{padding:0 6px 8px;color:var(--fg-3);font-size:var(--fs-sm);font-weight:650}
.set-card{display:grid;gap:2px;padding:5px;border-radius:20px;background:var(--bg-2)}
.set-row{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:9px 12px 9px 9px;border:0;border-radius:15px;background:transparent;color:var(--fg);text-align:left;font:inherit}
button.set-row{cursor:pointer}
button.set-row:active{background:var(--bg-active)}
.set-row > svg{flex:none;color:var(--fg-3)}
.set-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:11px}
.set-icon.is-accent{background:var(--accent-soft);color:var(--accent)}
.set-icon.is-info{background:var(--info-soft);color:var(--info)}
.set-icon.is-later{background:var(--later-soft);color:var(--later)}
.set-icon.is-done{background:var(--done-soft);color:var(--done)}
.set-icon.is-progress{background:var(--progress-soft);color:var(--progress)}
.set-icon.is-blocked{background:var(--blocked-soft);color:var(--blocked)}
.set-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.set-label{font-size:var(--fs-md);font-weight:550}
.set-value{color:var(--fg-3);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.set-row.is-danger .set-label{color:var(--blocked)}
.app.is-wide button.set-row:hover{background:var(--bg-hover)}

.theme-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.theme-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:82px;border:0;border-radius:18px;background:var(--bg-2);color:var(--fg-2);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background 160ms ease,color 160ms ease,transform 120ms ease}
.theme-option:active{transform:scale(.97)}
.theme-option[aria-checked="true"]{background:var(--accent-soft);color:var(--accent)}

.you-foot{margin-top:28px;color:var(--fg-3);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-align:center}


.status-sheet{display:grid;gap:14px;padding:0 20px 8px}
.status-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.status-pick{display:flex;align-items:center;gap:10px;min-height:43px;padding:6px 12px;line-height:1.25;border:0;border-radius:14px;background:var(--bg-2);color:var(--fg);font-size:var(--fs-base);font-weight:550;text-align:left;cursor:pointer}
.status-pick:active{background:var(--bg-active)}
.status-emoji{font-size:var(--fs-2xl)}
.status-clear{justify-self:center;min-height:38px}


.set-hint{margin:-2px 6px 10px;color:var(--fg-3);font-size:var(--fs-sm)}
.set-value.is-wrap{white-space:normal}
.choice-card{display:grid;gap:2px;padding:5px;border-radius:20px;background:var(--bg-2)}
.choice-card + .choice-card{margin-top:10px}
.choice{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:8px 12px 8px 9px;border:0;border-radius:15px;background:transparent;color:var(--fg);text-align:left;font:inherit;cursor:pointer;transition:background 120ms ease}
.choice:not(:has(.choice-icon)){padding-left:14px}
.choice:active{background:var(--bg-active)}
.choice-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:11px;background:var(--bg);color:var(--fg-2);transition:background 140ms ease,color 140ms ease}
.choice-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.choice-label{font-size:var(--fs-md);font-weight:550}
.choice-hint{color:var(--fg-3);font-size:var(--fs-sm)}
.choice-check{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;color:var(--accent-fg);background:var(--accent);opacity:0;transform:scale(.6);transition:opacity 140ms ease,transform 180ms var(--ease)}
.choice[aria-checked="true"] .choice-check{opacity:1;transform:none}
.choice[aria-checked="true"] .choice-icon{background:var(--accent-soft);color:var(--accent)}
.app.is-wide .choice:hover{background:var(--bg-hover)}
.device-card{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 12px;border-radius:20px;background:var(--bg-2)}
.pill.is-small{flex:none;min-height:31px;padding:0 16px;font-size:var(--fs-base)}
.room-mark.is-small{width:28px;height:28px;border-radius:10px;font-size:var(--fs-md)}
.info-section{padding:8px 16px 4px}
.switch-row.in-card{min-height:50px;padding:8px 10px 8px 14px;border-radius:15px}
.sheet .choice-card{margin:0 12px 6px}
.you-page.no-bar{padding-top:calc(20px + var(--safe-top))}
