:root{--accent: #2f6cd6;--accent2: var(--accent);--titlebar: linear-gradient(180deg, color-mix(in srgb, var(--accent2) 68%, #ffffff), var(--accent2));--ink: #1b2b44;--muted: #6b7d99;--bg-a: color-mix(in srgb, var(--accent2) 40%, #ffffff);--bg-b: color-mix(in srgb, var(--accent2) 62%, #ffffff);--bg-c: color-mix(in srgb, var(--accent2) 74%, #ffffff);--chrome: linear-gradient(180deg, #eaf2ff 0%, #c8ddf6 45%, #b2cdee 100%);--panel: #ffffff;--surface2: #eef4ff;--border: #cdddf2;--hover: #eaf2ff;--field: #ffffff;--in-name: #b5398a;--code-bg: #eef2f9;--titlebar-h: 32px;--viewport-h: 100vh;font-family:Segoe UI,Microsoft JhengHei,system-ui,sans-serif}:root[data-theme=dark]{--accent: #6ea8ff;--accent2: var(--accent);--titlebar: linear-gradient(180deg, color-mix(in srgb, var(--accent2) 52%, #101a2e), color-mix(in srgb, var(--accent2) 36%, #0b1424));--ink: #e6edf7;--muted: #93a1ba;--bg-a: color-mix(in srgb, var(--accent2) 22%, #101623);--bg-b: color-mix(in srgb, var(--accent2) 14%, #0d131f);--bg-c: color-mix(in srgb, var(--accent2) 9%, #0a0f18);--chrome: linear-gradient(180deg, #2a3346 0%, #232c3b 45%, #1e2633 100%);--panel: #1d2430;--surface2: #232c3a;--border: #33405a;--hover: #2a3547;--field: #161c26;--in-name: #e57ab8;--code-bg: #2a3344}:root[data-contrast=high]{--ink: #000000;--muted: #445269;--border: #56688a;--in-name: #8f2468}:root[data-theme=dark][data-contrast=high]{--ink: #ffffff;--muted: #b9c5da;--border: #8195b8;--in-name: #ff9ed0;--panel: #10151d;--field: #0b0f15}:root[data-contrast=high] button:focus-visible,:root[data-contrast=high] [role=button]:focus-visible{outline-width:3px}:root[data-contrast=high] a{text-decoration:underline}*{box-sizing:border-box}body{margin:0;background:var(--bg-b);color:var(--ink)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background-color:transparent;border:3px solid transparent;border-radius:999px;background-clip:padding-box}:hover::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--ink) 26%,transparent)}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--ink) 46%,transparent)}.idbar{display:flex;align-items:center;gap:6px;padding:4px 8px}.idbar__icon{font-size:14px}.idbar__select{flex:1;max-width:220px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--ink);font-size:12px}.idbar__add{border:1px solid var(--border);background:var(--field);color:var(--accent);border-radius:6px;cursor:pointer;padding:2px 8px;font-size:13px}.idbar__add:hover{background:var(--hover)}.idbar__settings{margin-left:auto}.desktop{height:var(--viewport-h);min-height:var(--viewport-h);background:radial-gradient(120% 100% at 50% 0%,var(--bg-a) 0%,var(--bg-b) 60%,var(--bg-c) 100%);display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"idbar canvas" "left  canvas"}.desktop>.idbar{grid-area:idbar}.desktop .deckwrap--left{grid-area:left;overflow-y:auto;min-height:0;padding:10px;border-right:1px solid var(--border)}.desktop .deckwrap--left>.win{width:100%;box-sizing:border-box}.desktop .deckwrap--center{grid-area:canvas;position:relative;overflow:hidden;min-height:0}.desktop--center{display:flex;align-items:center;justify-content:center;padding:24px}.deck{height:var(--viewport-h);background:radial-gradient(120% 100% at 50% 0%,var(--bg-a) 0%,var(--bg-b) 60%,var(--bg-c) 100%);display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr) minmax(220px,320px);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top top" "left center right"}.deck>.idbar{grid-area:top;background:var(--surface2);border-bottom:1px solid var(--border)}.deck .deckwrap--left{grid-area:left;overflow-y:auto;padding:10px;border-right:1px solid var(--border)}.deck .deckwrap--center{grid-area:center;display:flex;flex-direction:column;overflow:hidden;min-height:0}.deck .deckwrap--right{grid-area:right;overflow-y:auto;border-left:1px solid var(--border);background:var(--panel)}.deck__ph{color:var(--muted);font-size:12px;padding:16px 12px;text-align:center}.desktop .convotab{display:contents}.deck .convotab{display:none}.deck .convotab.on{display:flex;flex:1;min-height:0}.convo-dock.convo-dock--embed{flex:1;min-height:0;width:100%;height:100%;align-items:stretch}.convo.convo--embed{flex:1;min-height:0;width:auto;height:auto;border:none;border-radius:0;box-shadow:none;background:var(--panel)}.convo--embed .convo__resize{display:none}.convo--embed .win__title{background:var(--surface2);color:var(--ink);text-shadow:none;border-bottom:1px solid var(--border)}.convo--embed .win__title .win__btn{color:var(--muted)}.convo--embed .win__title .win__btn:hover{color:var(--ink);background:var(--hover)}.deckcenter__empty{flex:1;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;color:var(--muted);font-size:13px;padding:24px;text-align:center}.deckcenter__emptytxt{margin:0}.deckcenter__empty svg{opacity:.92;animation:mascotFloat 4.2s ease-in-out infinite}@keyframes mascotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.deckcenter__empty svg{animation:none}}.dtabs{display:flex;gap:2px;padding:6px 8px 0;overflow-x:auto;flex:none;background:var(--panel);border-bottom:1px solid var(--border)}.dtabs__tab{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;background:var(--surface2);color:var(--ink);font-size:12px;cursor:pointer;white-space:nowrap}.dtabs__tab.on{background:var(--field);font-weight:600}.dtabs__hash{color:var(--accent)}.dtabs__name{max-width:140px;overflow:hidden;text-overflow:ellipsis}.dtabs__x{border:none;background:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:0 2px}.dtabs__x:hover{color:var(--ink)}.daux{display:flex;flex-direction:column;height:100%;min-height:0}.daux__tabs{display:flex;flex:none;border-bottom:1px solid var(--border)}.daux__tab{flex:1;min-width:0;height:34px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 4px;border:none;background:none;color:var(--muted);font:inherit;font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;cursor:pointer}.daux__tab:hover{background:var(--hover)}.daux__tab.on{color:var(--accent);background:var(--surface2)}.daux__count{font-size:10px;color:var(--muted)}.daux__tab.on .daux__count{color:var(--accent)}.daux__body{flex:1;min-height:0;overflow-y:auto;padding:12px}.daux__info{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.daux__info .avatar{width:72px;height:72px;font-size:28px}.daux__name{font-weight:700;font-size:15px;color:var(--ink)}.daux__sub{font-size:12px;color:var(--muted)}.daux__id{font-size:10px;color:var(--muted);word-break:break-all;margin-top:4px}.daux__list{display:flex;flex-direction:column;gap:2px}.daux__row{display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:6px}.daux__row:hover{background:var(--hover)}.daux__rowname{flex:1;min-width:0;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daux__badge{font-size:10px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px}.daux__empty{color:var(--muted);font-size:12px;text-align:center;padding:24px 8px}.daux__media{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.daux__thumb{display:block;aspect-ratio:1;overflow:hidden;border-radius:6px;border:1px solid var(--border)}.daux__thumb img{width:100%;height:100%;object-fit:cover}.daux__thread{padding:7px 8px;border:1px solid var(--border);border-radius:8px;margin-bottom:4px}.daux__threadtext{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb{display:flex;flex-direction:column;height:100%;min-height:0;gap:6px}.dsb__me{display:flex;align-items:flex-start;gap:8px;padding:2px 2px 6px}.dsb__meinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dsb__mename{font-weight:700;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb__search input{width:100%;padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--ink);font:inherit}.dsb__list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.dsb__empty{color:var(--muted);font-size:12px;text-align:center;padding:16px 8px}.dsb__row{border-radius:6px}.dsb__row:hover{background:var(--hover)}.dsb__rowmain{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer}.dsb__rowtext{flex:1;min-width:0}.dsb__rowname{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb__hash{color:var(--accent)}.dsb__rowprev{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb__row.offline .dsb__rowname{opacity:.55}.dsb__label{border:none;background:none;cursor:pointer;font-size:12px;opacity:0;flex:none;padding:2px;border-radius:4px}.dsb__row:hover .dsb__label{opacity:.7}.dsb__label:hover{opacity:1;background:var(--hover)}.dsb__labels{padding:0 8px 6px 24px}.win{background:var(--chrome);border:1px solid var(--border);border-radius:8px 8px 6px 6px;box-shadow:0 10px 30px #0a193273;overflow:hidden}.win__title{background:var(--titlebar);color:#fff;padding:5px 10px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;text-shadow:0 1px 1px rgba(0,0,0,.25)}.win__title .spacer{flex:1}.win__brand{color:inherit;text-decoration:none;cursor:pointer}.win__brand:hover{text-decoration:underline}.convo__name--toggle{cursor:pointer}.convo__name--toggle:hover{text-decoration:underline dotted;text-underline-offset:2px}.convo__aliasedit,.convo__soundedit{cursor:pointer}.convo__soundrow{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:12px;background:var(--surface2);color:var(--ink);border-bottom:1px solid var(--border)}.convo__soundrow select{font-size:12px;max-width:180px;padding:2px 4px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--ink)}.convo__soundrow button{font-size:12px;cursor:pointer;padding:2px 8px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--accent)}.convo__soundrow button:hover{background:var(--hover)}.win__btn{width:16px;height:16px;border-radius:3px;border:1px solid #ffffff80;background:#ffffff30;color:#fff;font-size:11px;line-height:14px;text-align:center;cursor:pointer}.window-chrome{display:flex;flex-direction:column;height:100vh;--viewport-h: calc(100vh - var(--titlebar-h))}.window-chrome__body{flex:1;min-height:0;overflow:auto}.titlebar{display:flex;align-items:center;height:var(--titlebar-h);flex:none;-webkit-user-select:none;user-select:none;background:var(--panel);color:var(--ink);border-bottom:1px solid var(--border)}.titlebar__title{font-size:12px;font-weight:600;padding:0 10px;white-space:nowrap}.titlebar__spacer{flex:1;align-self:stretch}.titlebar__controls{display:flex;align-self:stretch}.titlebar__btn{width:42px;border:none;background:transparent;color:var(--muted);font-size:12px;line-height:1;padding:0;display:grid;place-items:center}.titlebar__btn:hover{background:var(--hover);color:var(--ink)}.titlebar__btn--close:hover{background:#e81123;color:#fff}.titlebar__idselect{align-self:center;max-width:180px;min-width:84px;height:22px;margin:0 2px 0 6px;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--ink);font-size:12px;padding:0 6px;cursor:pointer}.titlebar__btn--addid,.titlebar__btn--unlockhidden,.titlebar__btn--roster,.titlebar__btn--theme{width:30px;font-size:13px;color:var(--ink)}.titlebar--style-rounded .titlebar__controls{gap:2px;padding:0 4px;align-items:center}.titlebar--style-rounded .titlebar__btn{width:34px;height:22px;border-radius:7px}.titlebar--style-rounded .titlebar__btn--close:hover{border-radius:7px}.titlebar--style-compact .titlebar__btn{width:30px;font-size:10px}.titlebar--style-mac .titlebar__controls{gap:8px;padding:0 10px;align-items:center}.titlebar--style-mac .titlebar__btn{width:13px;height:13px;border-radius:50%;background:#c9ccd1;color:transparent;font-size:0}.titlebar--style-mac .titlebar__btn--close{background:#ff5f57}.titlebar--style-mac .titlebar__btn--min{background:#febc2e}.titlebar--style-mac .titlebar__btn--max{background:#28c840}.titlebar--style-mac .titlebar__btn--settings{background:#c9ccd1}.titlebar--style-mac .titlebar__btn:hover{filter:brightness(.9);background-color:inherit;color:transparent}.titlebar--style-mac .titlebar__btn--close:hover{background:#ff5f57;color:transparent}.window-chrome--autohide{--viewport-h: 100vh}.window-chrome--autohide .titlebar{position:fixed;top:0;left:0;right:0;z-index:100;transform:translateY(-100%);transition:transform .15s ease;box-shadow:0 1px 8px #00000040}.window-chrome__hotzone{position:fixed;top:0;left:0;right:0;height:6px;z-index:101}.window-chrome__hotzone:hover+.titlebar,.window-chrome--autohide .titlebar:hover,.window-chrome--autohide .titlebar:focus-within{transform:translateY(0)}.window-chrome--autohide .window-chrome__body{transition:margin-top .15s ease}.window-chrome--autohide:has(.window-chrome__hotzone:hover),.window-chrome--autohide:has(.titlebar:hover),.window-chrome--autohide:has(.titlebar:focus-within){--viewport-h: calc(100vh - var(--titlebar-h))}.window-chrome--autohide:has(.window-chrome__hotzone:hover) .window-chrome__body,.window-chrome--autohide:has(.titlebar:hover) .window-chrome__body,.window-chrome--autohide:has(.titlebar:focus-within) .window-chrome__body{margin-top:var(--titlebar-h)}@media (prefers-reduced-motion: reduce){.window-chrome--autohide .titlebar,.window-chrome--autohide .window-chrome__body{transition:none}}.titlebar--preview{border:1px solid var(--border);border-radius:6px;pointer-events:none;max-width:320px;margin-bottom:8px}.titlebarset__editor{display:flex;align-items:center;height:34px;margin-bottom:6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);overflow:hidden}.titlebarset__title{font-size:12px;font-weight:600;padding:0 10px;white-space:nowrap;color:var(--ink)}.titlebarset__gap{flex:1}.titlebarset__zone{display:flex;align-self:stretch;align-items:stretch;min-width:46px}.titlebarset__zone--target{outline:1px dashed var(--accent);outline-offset:-2px;border-radius:4px}.titlebarset__zone--over{background:color-mix(in srgb,var(--accent) 12%,transparent)}.titlebarset__piece{width:38px;display:grid;place-items:center;font-size:12px;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.titlebarset__piece:hover{background:var(--hover);color:var(--ink)}.titlebarset__piece:active{cursor:grabbing}.titlebarset__piece--drag{opacity:.4;cursor:grabbing}.titlebarset__piece--over{box-shadow:inset 2px 0 0 var(--accent)}.titlectl{display:flex;align-items:center;gap:6px}.themebtn{background:#ffffff25;border:1px solid #ffffff66;border-radius:4px;cursor:pointer;font-size:12px;line-height:16px;padding:1px 5px}.langsw{position:relative;display:inline-flex}.langsw__trigger{display:inline-flex;align-items:center;gap:4px;background:#ffffff25;color:#fff;border:1px solid #ffffff66;border-radius:4px;font-size:11px;padding:1px 7px;cursor:pointer;line-height:16px}.langsw__trigger:hover{background:#ffffff40}.langsw__trigger:focus-visible{outline:2px solid #fff;outline-offset:1px}.langsw__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:96px;margin:0;padding:4px;list-style:none;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #00000038}.langsw__menu:focus-visible{outline:none}.langsw__opt{display:flex;align-items:center;justify-content:space-between;padding:5px 9px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.langsw__opt.active{background:var(--accent);color:#fff}.langsw__opt.on:after{content:"✓";margin-left:10px;font-weight:700}.signin{margin:8vh auto;width:360px;position:relative}.signin__body{padding:28px 24px;text-align:center;background:var(--panel);color:var(--ink)}.signin__logo{width:64px;height:64px;margin:0 auto 12px;display:grid;place-items:center;filter:drop-shadow(0 6px 14px rgba(226,74,43,.28))}.signin input{width:100%;padding:8px 10px;margin:10px 0;border:1px solid var(--border);border-radius:5px;font-size:14px;background:var(--field);color:var(--ink)}button{font:inherit;font-weight:600;line-height:1.2;border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;padding:5px 12px;cursor:pointer}.signin button,.composer__send,.pill,.addbar__row button,.dialog__btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}.signin button:hover,.composer__send:hover,.pill:hover,.addbar__row button:hover,.dialog__btn:hover{filter:brightness(1.06)}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.5;cursor:default;filter:none}.signin .hint{color:var(--muted);font-size:12px;margin-top:10px}.signin__relayline{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.signin__relay{display:flex;flex-direction:column;align-items:stretch}.signin .signin__relaytoggle{background:none;border:none;padding:0;margin:0;width:auto;color:var(--muted);font-size:12px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signin .signin__relaytoggle:hover{color:var(--ink);filter:none;opacity:1}.signin .signin__secondary{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:500}.signin .signin__secondary:hover{color:var(--ink);border-color:var(--accent);filter:none}.signin button{display:block;width:fit-content;margin:12px auto 0}.signin .signin__relaytoggle{display:inline}.signin .signin__escape{display:block;margin:10px auto 0}.contacts{width:300px;display:flex;flex-direction:column;max-height:80vh}.addbar{padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface2)}.myid{font-size:11px;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;gap:4px}.myid>b{flex-shrink:0}.myid__val{font-family:Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.myid__qr{flex-shrink:0;border:1px solid var(--border);background:var(--field);color:var(--accent);border-radius:5px;cursor:pointer;font-size:11px;line-height:1;padding:1px 4px}.myid__qr:hover{background:var(--hover)}.qrcard{width:300px;max-width:calc(100vw - 24px)}.qrcard__body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px}.qrcard__img{width:220px;height:220px;image-rendering:pixelated;background:#fff;border:1px solid var(--border);border-radius:6px}.qrcard__hint{font-size:12px;color:var(--muted);text-align:center}.qrcard__npub{font-family:Consolas,monospace;font-size:10px;word-break:break-all;text-align:center;color:var(--fg)}.addbar__row{display:flex;gap:4px}.addbar__row input{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--field);color:var(--ink);font-size:12px}.addbar__row button{padding:4px 10px;font-size:12px}.me{display:flex;gap:10px;padding:10px;align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,var(--surface2)) 0%,var(--surface2) 100%);border-bottom:1px solid var(--border)}.avatar{width:44px;height:44px;border-radius:6px;border:2px solid #ffffff;box-shadow:0 1px 3px #0003;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px;flex:none}.avatar.sm{width:30px;height:30px;font-size:13px;border-width:1px;border-radius:5px}.avatar--edit{cursor:pointer}.avatar-wrap{position:relative;display:inline-flex}.avatar-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:104px;background:var(--field);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0003;display:flex;flex-direction:column;overflow:hidden}.avatar-menu button{text-align:left;padding:6px 10px;background:none;border:none;color:var(--ink);font:inherit;cursor:pointer}.avatar-menu button:hover{background:var(--hover)}.avatar-menu__hint{padding:5px 10px 3px;font-size:11px;color:var(--ink-soft, #888);border-bottom:1px solid var(--border);white-space:nowrap}.bgpick{position:relative;display:inline-flex}.bgpick__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;width:176px;background:var(--field);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000038;padding:8px}.bgpick__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.bgpick__swatch{height:30px;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:0}.bgpick__swatch.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bgpick__row{display:flex;gap:6px;margin-top:8px}.bgpick__row button{flex:1;padding:5px 6px;font-size:12px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer}.bgpick__row button:hover{background:var(--hover)}.me__info{flex:1;min-width:0}.me__name{font-weight:700;display:flex;align-items:center;gap:6px;color:var(--ink)}.me__name-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.me__mascot{flex:none;align-self:center;line-height:0}.statuspick{position:relative;flex:none}.statuspick__cur{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:5px;background:var(--field);color:var(--ink);padding:2px 6px;cursor:pointer}.statuspick__cur:hover{background:var(--hover)}.statuspick__caret{color:var(--muted);font-size:10px}.statuspick__menu{position:absolute;right:0;top:calc(100% + 3px);z-index:20;min-width:150px;background:var(--panel);border:1px solid var(--border);border-radius:7px;box-shadow:0 4px 14px #0000002e;padding:3px;display:flex;flex-direction:column;gap:1px}.statuspick__opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;border:none;background:transparent;color:var(--ink);border-radius:5px;padding:5px 8px;cursor:pointer}.statuspick__opt:hover{background:var(--hover)}.statuspick__opt.on{background:var(--hover);font-weight:700}.avatar.ring-online{box-shadow:0 0 0 2px #36c46b,0 0 7px #36c46b}.avatar.ring-away{box-shadow:0 0 0 2px #f2b134,0 0 7px #f2b134}.avatar.ring-busy{box-shadow:0 0 0 2px #e5484d,0 0 6px #e5484d}.avatar.ring-offline{box-shadow:0 1px 3px #0003}.me__msg input{width:100%;border:none;background:transparent;color:var(--muted);font-size:12px;font-style:italic;padding:2px 0}.me__msg input:focus{background:var(--field);outline:1px solid var(--border);border-radius:3px}.me__msg-preview{font-size:12px;color:var(--muted);padding:1px 0;word-break:break-word}.me__msg-preview code{font-family:ui-monospace,monospace;background:var(--field);border-radius:3px;padding:0 3px}.roster{background:var(--panel);overflow-y:auto;flex:1}.group{padding:6px 10px 2px;font-size:11px;font-weight:700;color:var(--accent)}.contact{display:flex;gap:8px;align-items:center;padding:5px 10px;cursor:pointer;border-radius:4px;margin:0 4px}.contact:hover{background:var(--hover)}.contact__info{min-width:0;flex:1}.contact__name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.contact__msg{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact__msg .np{color:#9a6cd4}.contact.offline .contact__name,.contact.offline .avatar{opacity:.5}.contact__acts{display:none;gap:2px;flex:none}.contact:hover .contact__acts{display:inline-flex}.contact__act{border:1px solid var(--border);background:var(--field);border-radius:6px;font-size:11px;line-height:1;padding:2px 4px;cursor:pointer}.contact__act:hover{background:var(--hover)}.contact.blocked .contact__name{opacity:.6}.contact.blocked .contact__act{display:inline-flex}.unread-badge{flex:none;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e0483d;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.contact--compact{padding:4px 10px}.contact--compact .contact__name{flex:1}.contact--compact.offline .dot{opacity:.55}.contact__sec{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact__sec-ic{color:#9a6cd4}.contact--row.offline .dot{opacity:.55}.contact--row.offline .contact__sec{opacity:.7}.dsb__list .contact{margin:0}.connbar{padding:4px 10px;font-size:11px;text-align:center;color:#fff}.connbar--connecting{background:#d9932b}.connbar--offline{background:#c0392b}.convo__body{position:relative}.convo__body.dropping{outline:2px dashed var(--accent);outline-offset:-4px}.dropzone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;background:#508cdc1f;color:var(--accent);font-weight:600;pointer-events:none}.filecard{display:inline-flex;gap:8px;align-items:center;margin-top:3px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);max-width:240px}.filecard__ic{font-size:20px}.filecard__info{min-width:0;flex:1}.filecard__name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filecard__meta{font-size:10px;color:var(--muted)}.filecard__bar{height:5px;border-radius:3px;background:var(--border);overflow:hidden;margin-top:4px}.filecard__bar span{display:block;height:100%;background:var(--accent);transition:width .12s linear}.filecard__dl{font-size:11px;color:var(--accent);text-decoration:none}.filecard__dl:hover{text-decoration:underline}.filecard__path{font-size:10px;color:var(--muted);margin-top:3px;word-break:break-all;-webkit-user-select:text;user-select:text}.filecard__note{font-size:10px;color:var(--muted);margin-top:3px;font-style:italic}.export__title{margin:0 0 8px;font-size:15px}.export__warn{font-size:12px;color:#b45309;background:#f59e0b1f;border-radius:6px;padding:8px 10px;margin:0 0 12px}.export__empty{font-size:13px;color:var(--muted)}.export__sect{margin-bottom:12px}.export__head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.export__all{font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0}.export__list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:6px}.export__row{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px;cursor:pointer}.export__row:hover{background:var(--border)}.export__ic{font-size:13px}.export__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export__fmts{display:flex;gap:14px}.export__fmt{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer}.export__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.export__cancel,.export__go{font-size:13px;padding:6px 14px;border-radius:6px;border:1px solid var(--border);font-weight:600;cursor:pointer}.export__cancel{background:var(--field);color:var(--ink)}.export__cancel:hover{background:var(--hover)}.export__go{background:var(--accent);color:#fff;border-color:var(--accent)}.export__go:hover{filter:brightness(1.06)}.export__go:disabled{opacity:.5;cursor:default}.retention__row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.retention__opt{font-size:12px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:none;cursor:pointer;color:var(--ink)}.retention__opt.on{background:var(--accent);color:#fff;border-color:var(--accent)}.retention__custom{width:90px;font-size:12px;padding:4px 8px;border-radius:6px;border:1px solid var(--border)}.retention__full{font-size:12px;color:#b45309;margin-top:6px}.stickerpick{padding:6px 8px;background:var(--panel);border-top:1px solid var(--border)}.stickerpick__tabs{display:flex;gap:4px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:6px;overflow-x:auto}.stickerpick__tab{flex:none;width:34px;height:34px;padding:3px;border:1px solid transparent;border-radius:6px;background:var(--field);cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;color:var(--ink)}.stickerpick__tab:hover{background:var(--hover)}.stickerpick__tab.on{border-color:var(--accent);background:var(--hover)}.stickerpick__tab img{width:100%;height:100%;display:block}.stickerpick__grid{display:flex;flex-wrap:wrap;gap:4px;min-height:54px}.stickerpick__cell{position:relative;width:48px;height:48px}.stickerpick__item{width:100%;height:100%;padding:3px;border:1px solid transparent;border-radius:8px;background:var(--field);cursor:pointer}.stickerpick__item:hover{border-color:var(--accent);background:var(--hover)}.stickerpick__item img{width:100%;height:100%;display:block}.stickerpick__fav{position:absolute;top:-4px;right:-4px;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:var(--panel);color:#bbb;font-size:12px;line-height:18px;cursor:pointer;box-shadow:0 1px 3px #00000040;opacity:0;transition:opacity .12s}.stickerpick__cell:hover .stickerpick__fav,.stickerpick__fav.on{opacity:1}.stickerpick__fav.on{color:#f5c518}.stickerpick__act{position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:var(--panel);color:var(--muted);font-size:11px;line-height:18px;cursor:pointer;box-shadow:0 1px 3px #00000040;opacity:0;transition:opacity .12s}.stickerpick__cell:hover .stickerpick__act{opacity:1}.stickerpick__act:hover{color:var(--accent)}.stickerpick__import{width:48px;height:48px;font-size:22px;color:var(--muted);border-style:dashed;border-color:var(--border)}.stickerpick__import:hover{color:var(--accent)}.stickerpick__empty{color:var(--muted);font-size:12px;padding:14px 4px}.sticker__own{padding:0;border:none;background:transparent;cursor:pointer;display:block}.sticker__own:hover img{filter:drop-shadow(0 0 4px var(--accent))}.stickerpick__act--left{right:auto;left:-4px}.stickerpick__act--topleft{right:auto;left:-4px;top:-4px;bottom:auto}.trigbar{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--surface2);border-top:1px solid var(--border);overflow-x:auto}.trigbar__item{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);font-size:11px;padding:2px 6px;cursor:pointer;flex:none}.trigbar__item img{width:24px;height:24px}.trigbar__item.on,.trigbar__item:hover{border-color:var(--accent);background:var(--hover)}.trigbar__hint{color:var(--muted);font-size:10px;margin-left:auto;flex:none}.menbar{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--surface2);border-top:1px solid var(--border);overflow-x:auto}.menbar__item{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);font-size:12px;padding:2px 8px 2px 3px;cursor:pointer;flex:none}.menbar__item.on,.menbar__item:hover{border-color:var(--accent);background:var(--hover)}.menbar__avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:11px;font-weight:700}.emojibar{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--surface2);border-top:1px solid var(--border);overflow-x:auto}.emojibar__item{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);font-size:11px;padding:2px 6px;cursor:pointer;flex:none}.emojibar__item img{width:20px;height:20px}.emojibar__item.on,.emojibar__item:hover{border-color:var(--accent);background:var(--hover)}.member__row{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:13px}.member__name{flex:1;color:var(--ink)}.member__remove{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:10px;width:18px;height:18px;line-height:14px;font-size:11px;cursor:pointer;padding:0}.member__remove:hover{color:#c0392b;border-color:#c0392b}.member__add{display:block;width:100%;text-align:left;border:1px solid var(--border);background:var(--panel);color:var(--accent);border-radius:6px;font-size:13px;padding:4px 8px;margin-top:4px;cursor:pointer}.member__add:hover{background:var(--hover)}.stickerpick__tab--manage{margin-left:auto;color:var(--muted)}.stickerpick__tab--manage:hover{color:var(--accent)}.trigpanel{width:340px;max-width:calc(100vw - 24px)}.trigpanel__body{background:var(--panel);max-height:320px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.trigpanel__empty{color:var(--muted);font-size:12px;text-align:center;padding:16px 0}.trigpanel__row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink)}.trigpanel__row img{width:28px;height:28px;flex:none}.trigpanel__gone{width:28px;text-align:center;flex:none}.trigpanel__trigger{background:var(--code-bg);border-radius:4px;padding:1px 6px}.trigpanel__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.trigpanel__row button{border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--ink);font-size:11px;padding:1px 6px;cursor:pointer;flex:none}.trigpanel__row button:hover{border-color:var(--accent);color:var(--accent)}.risklink{text-decoration-style:dotted}.risklink__badge{margin-right:2px;font-size:11px}.risklink--caution .risklink__badge{color:#c47f17}.risklink--danger,.risklink--danger .risklink__badge{color:#b3261e}.threatmask{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:6px;border:1px dashed #b3261e;background:#b3261e14;color:#b3261e;font-size:12px}.threatmask__badge{font-size:11px}.threatmask__reveal{border:none;background:none;padding:0;color:inherit;font-size:inherit;text-decoration:underline;cursor:pointer}.settings__relays{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.settings__relayrow{font-size:12px}.settings__relayrow code{word-break:break-all}.settings__home{color:var(--muted);font-style:normal;margin-left:4px}.settings__stale{color:#c47f17;font-style:normal;margin-left:6px}.settings__stalebox{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.settings__staleact{border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--ink);font-size:11px;padding:1px 7px;cursor:pointer}.settings__staleact:hover{background:var(--hover)}.settings__staleact--danger{color:#e5484d;border-color:#e5484d55}.stickered{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:55}.stickered__panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px;width:300px;box-shadow:0 10px 30px #00000059}.stickered__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--ink)}.stickered__close{border:none;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}.stickered__close:hover{color:var(--accent)}.stickered__canvaswrap{position:relative;width:256px;height:256px;margin:0 auto;border:1px dashed var(--border);border-radius:8px;background:#fff;overflow:hidden}.stickered__base{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.stickered__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.stickered__tools{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}.stickered__palette{display:flex;gap:4px}.stickered__swatch{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0}.stickered__swatch.on{border-color:var(--accent)}.stickered__widths{display:flex;gap:4px}.stickered__widthbtn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:transparent;cursor:pointer;padding:0}.stickered__widthbtn.on{border-color:var(--accent)}.stickered__widthbtn i{display:block;border-radius:50%;background:var(--ink)}.stickered__ops{display:flex;gap:4px;margin-left:auto}.stickered__ops button{border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;padding:2px 7px}.stickered__ops button:disabled{opacity:.4;cursor:default}.stickered__foot{display:flex;gap:8px}.stickered__foot input{flex:1;min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--field);color:var(--ink);padding:5px 8px}.stickered__save{border:none;border-radius:6px;background:var(--accent);color:#fff;padding:6px 12px;cursor:pointer}.stickered__save:disabled{opacity:.5;cursor:default}.sticker{display:block;margin-top:2px}.sticker img{width:96px;height:96px}.line .text .emoji{display:inline-block;width:1.4em;height:1.4em;vertical-align:-.3em;margin:0 1px}.line .text .emoji--pending{width:auto;height:auto;color:var(--muted);opacity:.6;font-size:.85em}.tool--recording{background:#e0483d;color:#fff;border-color:#e0483d}.recbar{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;color:#c0392b;background:var(--panel);border-top:1px solid var(--border)}.recdot{width:8px;height:8px;border-radius:50%;background:#e0483d;animation:recpulse 1s infinite}@keyframes recpulse{0%,to{opacity:1}50%{opacity:.3}}.voice{display:block;margin-top:2px}.voice audio{height:32px;max-width:220px}.tool__count{font-size:9px;background:var(--accent);color:#fff;border-radius:7px;padding:0 4px;margin-left:2px;vertical-align:top}.imgthumb{display:block;margin-top:2px;padding:0;border:1px solid var(--border);border-radius:8px;background:none;cursor:pointer;overflow:hidden;max-width:180px}.imgthumb img{display:block;max-width:180px;max-height:180px}.album{width:340px;max-width:calc(100vw - 24px)}.album__body{display:flex;flex-wrap:wrap;gap:6px;padding:10px;max-height:60vh;overflow-y:auto}.album__item{width:96px;height:96px;padding:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface2);cursor:pointer}.album__item img{width:100%;height:100%;object-fit:cover;display:block}.album__empty{color:var(--muted);font-size:12px;padding:20px;text-align:center;width:100%}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#000000bf;cursor:zoom-out}.lightbox img{max-width:92vw;max-height:92vh;box-shadow:0 8px 40px #00000080}.callwin{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#00000073}.callwin__box{width:320px;max-width:calc(100vw - 24px);background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 10px 40px #0006}.callwin__stage{position:relative;background:#1b2733;min-height:200px;display:flex;align-items:center;justify-content:center}.callwin__remote{width:100%;max-height:320px;background:#000;display:block}.callwin__local{position:absolute;right:8px;bottom:8px;width:84px;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:#000}.callwin__avatar{width:84px;height:84px;border-radius:50%;color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center}.callwin__info{text-align:center;padding:10px}.callwin__status{color:var(--muted);font-size:12px;margin-top:2px}.callwin__controls{display:flex;gap:10px;justify-content:center;padding:0 12px 14px}.callbtn{flex:1;max-width:120px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--field);cursor:pointer;font-size:13px}.callbtn:hover{background:var(--hover)}.callbtn--accept{background:#3fae5a;color:#fff;border-color:#3fae5a}.callbtn--hangup{background:#e0483d;color:#fff;border-color:#e0483d}.group--groups{display:flex;align-items:center;justify-content:space-between}.group__add{font-size:10px;border:1px solid var(--border);background:var(--field);color:var(--accent);border-radius:6px;cursor:pointer;padding:1px 5px}.group__add:hover{background:var(--hover)}.group--head{display:flex;align-items:center;justify-content:space-between}.group__collapse{display:flex;align-items:center;gap:4px;flex:1;min-width:0;background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:var(--accent);font-size:11px;font-weight:700;text-align:left}.group__collapse:hover{color:var(--ink)}.group__tri{font-size:9px;width:10px;flex:none}.group__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sortbar{display:flex;align-items:center;gap:4px;padding:6px 8px 4px;flex-wrap:wrap}.sortbar__label{font-size:10px;color:var(--muted);font-weight:700}.group-row .avatar{font-weight:700}.pin-ic{font-size:10px;margin-right:3px}.labelbar{display:flex;flex-wrap:wrap;gap:4px;padding:3px 8px 5px}.labelrow{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.chip{display:inline-flex;align-items:center;gap:2px;font-size:10px;line-height:1.4;padding:1px 6px;border:1px solid var(--border);border-radius:999px;background:var(--field);color:var(--muted);cursor:default}.chip--filter{cursor:pointer}.chip--filter:hover{background:var(--hover)}.chip--on{background:var(--accent);color:#fff;border-color:var(--accent)}.chip--add{cursor:pointer;color:var(--accent);border-style:dashed}.chip--role{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.chip--p2p{gap:3px}.chip--p2p.on{background:#36c46b26;color:#36c46b;border-color:#36c46b80}.chip--p2p.relay{background:#e6a23c26;color:#e6a23c;border-color:#e6a23c80}.chip--p2p.up{background:#8ca0b426;color:#8ca0b4;border-color:#8ca0b473}.pics__labels{max-width:96px;justify-content:center;flex-wrap:wrap;gap:3px;margin:2px 0 6px}.offhours{padding:4px 10px;font-size:11px;color:var(--muted);background:var(--field);border-top:1px solid var(--border)}.filecard__slot{margin-top:3px;font-size:11px;padding:1px 6px;border:1px dashed var(--border);border-radius:6px;background:none;color:var(--accent);cursor:pointer}.filecard__slot:hover{background:var(--hover)}.slotrow{align-items:center;gap:6px;font-size:12px}.slotrow__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slotrow__status{color:var(--muted)}.slotrow__status--done{color:#2f9e44}.slotrow__status--failed{color:#e5484d}.chip--add:hover{background:var(--hover)}.chip__x{border:none;background:none;color:inherit;font-size:11px;line-height:1;padding:0 0 0 1px;cursor:pointer}.chip__x:hover{color:var(--accent)}.labelrow__input{font-size:10px;width:78px;padding:1px 5px;border:1px solid var(--border);border-radius:999px;background:var(--field)}.contact__act.on{background:var(--accent);color:#fff;border-color:var(--accent)}.group-row:hover .contact__act{display:inline-flex}.groupmodal{padding:12px;display:flex;flex-direction:column;gap:8px}.groupmodal__name{padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--field)}.groupmodal__label{font-size:11px;color:var(--muted)}.groupmodal__list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:5px;padding:6px}.groupmodal__item{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:2px}.addid-choose{display:flex;flex-direction:column;gap:8px}.addid-mode{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--ink);cursor:pointer}.addid-mode:hover{border-color:var(--accent);background:var(--hover)}.addid-mode__ic{font-size:22px;flex:none}.addid-mode__txt{display:flex;flex-direction:column;gap:2px;min-width:0}.addid-mode__name{font-weight:700;font-size:14px;color:var(--ink)}.addid-mode__hint{font-size:12px;color:var(--muted);line-height:1.4}.groupmodal__create{padding:7px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.groupmodal__create:hover{filter:brightness(1.06)}.groupmodal__create:disabled{opacity:.5;cursor:not-allowed}.me__np{display:flex;align-items:center;gap:4px;margin-top:3px}.me__np-ic{color:#9a6cd4;font-size:12px}.me__np input{flex:1;min-width:0}.me__np-auto{background:none;border:none;padding:0 2px;cursor:pointer;font:inherit;font-size:12px}.me__np-auto--on{color:var(--accent);font-weight:700}.me__np-live{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--muted);font-style:italic}.convo__head{position:relative}.convo__searchbtn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:13px;opacity:.7;padding:2px 4px}.convo__searchbtn:hover,.convo__searchbtn[aria-pressed=true]{opacity:1}.convo__search{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface2);border-bottom:1px solid var(--border)}.convo__search input{flex:1;min-width:0}.convo__search .cnt{font-size:12px;color:var(--muted);white-space:nowrap}.convo__search button{border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;cursor:pointer;padding:2px 8px;font-size:12px}.line--hit{animation:hitflash 1.6s ease;border-radius:6px}@keyframes hitflash{0%{background:color-mix(in srgb,var(--accent) 28%,transparent)}to{background:transparent}}.roster__search{padding:6px 8px 0}.roster__search input{width:100%;box-sizing:border-box}.hist__search{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface2)}.hist__search input{flex:1;min-width:0}.hist__search button{border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;cursor:pointer;padding:2px 8px;font-size:12px}.hist__search button:disabled{opacity:.5;cursor:default}.hist__scan{color:var(--muted);font-size:12px;margin:6px 0}.relaycheck{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:11.5px}.relaycheck__badge{font-weight:600}.relaycheck__why{color:var(--muted);line-height:1.45}.relaycheck--ok .relaycheck__badge{color:#2f9e44}.relaycheck--warn .relaycheck__badge{color:#b26a00}.relaycheck--down .relaycheck__badge{color:#e5484d}.a11y__scale{display:flex;gap:6px;flex-wrap:wrap}.a11y__scale button[aria-pressed=true],.a11y__toggle[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent);font-weight:700}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.modal__box{width:320px;max-width:calc(100vw - 24px);max-height:calc(var(--viewport-h) - 24px);display:flex;flex-direction:column;overflow:hidden}.modal__box>.win__title{flex:0 0 auto}.modal__box>.win__title~*{overflow-y:auto;min-height:0}.modal__box.settings-modal{width:480px;height:560px}.settings__tabs{flex:0 0 auto;display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--border);overflow-x:auto}.settings__tab{border:none;background:none;color:var(--muted);font-size:12px;font-weight:600;padding:6px 10px;border-radius:6px 6px 0 0;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}.settings__tab:hover{color:var(--ink);background:var(--hover)}.settings__tab.on{color:var(--accent);border-bottom-color:var(--accent)}.settings__body{flex:1 1 auto;padding:10px 12px;display:flex;flex-direction:column;gap:12px}.dialog{width:340px}.dialog__body{padding:16px 16px 14px;display:flex;flex-direction:column;gap:14px}.dialog__msg{margin:0;font-size:13px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word}.dialog__input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--field);color:var(--ink)}.dialog__actions{display:flex;justify-content:flex-end;gap:8px}.dialog__btn--ghost{background:var(--field);color:var(--ink);border-color:var(--border)}.dialog__btn--ghost:hover{border-color:var(--accent);filter:none}.dialog__btn--danger{background:#e5484d;border-color:#d33}.settings__sec h4{margin:0 0 4px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.settings__relay{font-size:12px;word-break:break-all}.settings__list{margin:2px 0 8px;padding-left:18px;font-size:12px;line-height:1.6}.settings__list li{margin:0}.settings__warn{font-size:11px;color:#c0392b;margin:0 0 6px;line-height:1.4}.settings__danger{display:block;width:fit-content;margin:0 0 10px;background:transparent;color:#c0392b;border:1px solid #c0392b;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.settings__danger:hover{background:#c0392b;color:#fff;filter:none}.settings__hint{font-size:11px;color:var(--muted);margin:6px 0 0;line-height:1.4}.settings__key code{display:block;font-size:11px;word-break:break-all;background:var(--code-bg);padding:6px;border-radius:4px}.layoutpick{display:flex;gap:8px}.layoutpick__opt{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;cursor:pointer}.layoutpick__opt:hover{background:var(--hover)}.layoutpick__opt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--field))}.accent__label{font-size:11px;font-weight:600;color:var(--muted);margin:8px 0 4px}.accent__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.accent__sw{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0}.accent__sw.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.accent__custom{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px dashed var(--border);cursor:pointer;font-size:13px;overflow:hidden}.accent__custom input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.accent__reset{border:1px solid var(--border);background:var(--field);color:var(--accent);border-radius:6px;font-size:12px;padding:3px 9px;cursor:pointer}.accent__reset:disabled{opacity:.5;cursor:default}.settings__keyrow{display:flex;gap:6px;margin-top:6px}.settings__toggle{display:flex;gap:6px;align-items:flex-start;font-size:12px}.dot{width:9px;height:9px;border-radius:50%;flex:none}.dot.online{background:#36c46b;box-shadow:0 0 5px #36c46b}.dot.away{background:#f2b134}.dot.busy{background:#e5484d}.dot.offline{background:#b8c2d0}.convo{width:380px;display:flex;flex-direction:column;height:460px;position:relative}.convo__resize{position:absolute;right:0;bottom:0;width:15px;height:15px;z-index:12;cursor:nwse-resize;background:linear-gradient(135deg,transparent 46%,var(--border) 46%,var(--border) 60%,transparent 60%,transparent 74%,var(--border) 74%,var(--border) 88%,transparent 88%)}.convo-dock{display:flex;gap:8px;align-items:flex-start}.thread-panel{width:320px}.thread-panel .win__title{background:var(--titlebar)}.convo-dock--float{align-items:stretch;box-shadow:0 6px 24px #00000047;border-radius:6px}.convo-dock--float>.convo{flex:1;width:auto;height:100%;min-width:0}.convo-dock--float>.thread-panel{height:100%;flex:none}.win__title--drag{cursor:grab;-webkit-user-select:none;user-select:none}.win__title--drag:active{cursor:grabbing}.narrowback{display:inline-flex;align-items:center;gap:4px;margin:8px;padding:4px 10px;border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;cursor:pointer;font-size:12px}@media (max-width: 720px){.desktop{grid-template-columns:1fr;grid-template-areas:"idbar" "left"}.desktop .deckwrap--left{border-right:none}.desktop .deckwrap--center{display:none}.desktop[data-showconvo=true]{grid-template-areas:"idbar" "canvas"}.desktop[data-showconvo=true] .deckwrap--left{display:none}.desktop[data-showconvo=true] .deckwrap--center{display:block;grid-area:canvas;position:static;overflow:auto}.desktop[data-showconvo=true] .convotab{display:none}.desktop[data-showconvo=true] .convotab.on{display:block}.desktop[data-showconvo=true] .convo-dock,.desktop[data-showconvo=true] .convo-dock>.convo{width:100%;height:100%}}.thread__btn{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:10px;height:16px;line-height:12px;font-size:11px;cursor:pointer;padding:0 4px;margin-left:4px}.line:hover .thread__btn{color:var(--accent)}.thread__count{display:inline-block;margin-top:2px;border:1px solid var(--border);background:var(--surface2);color:var(--accent);border-radius:10px;font-size:11px;padding:1px 8px;cursor:pointer}.thread__count:hover{background:var(--hover)}.detail-panel{width:340px}.detail-panel .win__title{background:var(--titlebar)}.text__ellip{color:var(--muted)}.text__more{border:none;background:transparent;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}.text__more:hover{color:var(--ink)}.thread__empty{color:var(--muted);font-size:12px;padding:8px;text-align:center}.convo__head{padding:8px 10px;background:var(--surface2);border-bottom:1px solid var(--border);color:var(--ink)}.convo__head b{font-size:13px}.convo__head .sub{font-size:11px;color:var(--muted)}.convo__body{display:flex;flex:1;min-height:0;background:var(--panel)}.log{flex:1;overflow-y:auto;padding:8px 10px;font-size:13px;color:var(--ink)}.log__earlier{display:block;width:100%;margin:0 0 8px;padding:4px;font-size:11px;color:var(--accent);background:var(--field);border:1px solid var(--border);border-radius:6px;cursor:pointer}.log__earlier:hover{background:var(--hover)}.line{margin:6px 0}.line .who{font-weight:700}.line.out .who{color:var(--accent)}.line.in .who{color:var(--in-name)}.line .time{color:var(--muted);font-size:10px;margin-left:6px}.tick{display:inline-flex;align-items:center;color:var(--muted);margin-left:4px;vertical-align:middle}.tick--read{color:var(--accent)}.tick--failed{color:#dc2626}.lightbox__note{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#141418eb;color:#f2f2f2;font-size:12px}.lightbox__btn{font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff}.lightbox__actions{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.lightbox__copyfail{font-size:12px;color:#ffb4b4}.readby{font-size:10px;color:var(--muted);margin-left:5px;vertical-align:middle}.calcchip{display:flex;align-items:center;gap:6px;align-self:flex-start;margin:0 8px 4px;padding:3px 10px;border-radius:999px;cursor:pointer;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:12px;color:var(--ink)}.calcchip:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.calcchip__eq{color:var(--muted)}.calcchip__val{font-weight:700;font-variant-numeric:tabular-nums}.daux__calcout{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:8px 10px;border-radius:8px;background:var(--border);font-size:13px;font-variant-numeric:tabular-nums}.daux__calcexpr{color:var(--muted);word-break:break-all}.daux__calceq{color:var(--muted)}.daux__calcval{font-size:15px;color:var(--accent)}.daux__calcbtns{display:flex;gap:6px;flex-wrap:wrap}.daux__calcbtn{font-size:11px;padding:5px 10px;border-radius:6px;cursor:pointer;border:1px solid var(--border);background:none;color:var(--ink)}.daux__calcbtn:hover{border-color:var(--accent);color:var(--accent)}.daux__note{display:flex;flex-direction:column;gap:8px;padding:10px}.daux__notein{width:100%;box-sizing:border-box;min-height:160px;resize:vertical;padding:8px 10px;font-size:13px;line-height:1.5;font-family:inherit;border:1px solid var(--border);border-radius:8px;background:var(--field);color:var(--ink)}.daux__notehint{font-size:11px;color:var(--muted);line-height:1.5}.line .text{display:block;margin-top:1px;white-space:pre-wrap;word-break:break-word}.line.mention{background:var(--mention-bg, rgba(255,196,0,.12));border-left:3px solid var(--accent);border-radius:4px;padding:2px 6px;margin-left:-6px}.mention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;margin-left:6px;padding:0 3px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700}.react{position:relative;margin-left:4px}.react__btn{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:10px;width:18px;height:16px;line-height:12px;font-size:11px;cursor:pointer;padding:0}.line:hover .react__btn{color:var(--accent)}.react__pick{position:absolute;z-index:5;top:18px;left:0;display:flex;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:3px 5px;box-shadow:0 4px 12px #0003}.react__pick span{cursor:pointer;font-size:16px}.reactions{display:inline-flex;gap:3px;margin-top:2px}.reaction{font-size:12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:0 5px}.unsend__btn{margin-left:4px;border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:10px;height:16px;line-height:12px;font-size:10px;cursor:pointer;padding:0 5px;opacity:0}.line:hover .unsend__btn{opacity:1}.unsend__btn:hover{color:var(--accent)}.copy__btn{margin-left:4px;border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:10px;height:16px;line-height:12px;font-size:10px;cursor:pointer;padding:0 5px;opacity:0}.line:hover .copy__btn{opacity:1}.copy__btn:hover{color:var(--accent)}.alsomain-badge{font-size:10px;opacity:.7}.text[data-clickthread]{cursor:pointer}.text[data-clickthread]:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:4px}.thread-alsomain{display:flex;align-items:center;gap:6px;padding:4px 10px 8px;font-size:12px;color:var(--muted);cursor:pointer}.unsendask{padding:14px 16px;display:flex;flex-direction:column;gap:8px;max-width:340px}.unsendask p{margin:0;font-size:13px}.unsendask__opt{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.unsendask__hint{color:var(--muted);font-size:11.5px}.unsendask__row{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.line.unsent .text,.line.expired .text{color:var(--muted);font-style:italic}.timer-badge{margin-left:4px;font-size:10px;opacity:.7}.tool--timer{font-size:11px}.line .text code{background:var(--code-bg);padding:1px 4px;border-radius:3px;font-family:Consolas,monospace;font-size:12px}.line .text .md-pre{display:block;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:4px 0;overflow-x:auto;font-size:12px;line-height:1.45}.line .text .md-pre code{background:none;padding:0}.line .text .md-list{margin:2px 0;padding-left:20px}.line .text .md-list .md-list{margin:0}.md-quote{border-left:3px solid var(--border);margin:4px 0;padding:2px 10px;color:var(--muted)}.md-callout{--co: var(--accent);display:block;margin:4px 0;padding:6px 10px;border-radius:6px;border-left:3px solid var(--co);background:color-mix(in srgb,var(--co) 10%,transparent)}.md-callout--blue{--co: #3b82f6}.md-callout--green{--co: #22a55e}.md-callout--amber{--co: #d98a1f}.md-callout--red{--co: #e5484d}.md-callout--purple{--co: #8b5cf6}.md-callout--grey{--co: #8a97ab}.md-callout__head{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--co);font-size:13px}.md-callout__body{margin-top:2px}.line .text a{color:var(--accent)}.line.sys{color:var(--muted);font-size:11px;text-align:center}.pics{width:76px;border-left:1px solid var(--border);padding:8px 6px;display:flex;flex-direction:column;gap:8px;align-items:center;background:var(--surface2)}.pics .avatar{width:60px;height:60px;border-radius:8px}.pics .cap{font-size:10px;color:var(--muted)}.typing{height:16px;font-size:11px;color:var(--muted);font-style:italic;padding:0 10px}.toolbar{display:flex;gap:6px;padding:4px 8px;border-top:1px solid var(--border);background:var(--surface2);align-items:center}.tool{border:1px solid var(--border);background:var(--field);border-radius:5px;padding:3px 7px;font-size:13px;cursor:pointer;color:var(--ink)}.tool:hover{background:var(--hover)}.emopick{display:flex;gap:4px;padding:4px 8px;background:var(--surface2);border-top:1px dashed var(--border);flex-wrap:wrap}.emopick span{cursor:pointer;font-size:16px}.composer{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border);background:var(--surface2)}.insertm{position:relative;flex:none;display:flex;align-items:flex-end}.insertm__btn{border:1px solid var(--border);background:var(--field);border-radius:6px;font-size:13px;line-height:1.2;padding:5px 7px;cursor:pointer}.insertm__btn:hover{background:var(--hover)}.insertm__panel{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;width:300px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0003;padding:8px;display:flex;flex-direction:column;gap:6px}.insertm__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.insertm__grid--blocks{border-top:1px solid var(--border);padding-top:6px}.insertm__item{--co: var(--accent);display:flex;align-items:center;gap:6px;text-align:left;border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;font-size:12px;padding:4px 8px;cursor:pointer}.insertm__item:hover{background:color-mix(in srgb,var(--co) 12%,var(--field));border-color:var(--co)}.insertm__item--blue{--co: #3b82f6}.insertm__item--green{--co: #22a55e}.insertm__item--amber{--co: #d98a1f}.insertm__item--red{--co: #e5484d}.insertm__item--purple{--co: #8b5cf6}.insertm__item--grey{--co: #8a97ab}.rewrite{position:relative;flex:none;display:flex;align-items:flex-end}.rewrite__btn{border:1px solid var(--border);background:var(--field);border-radius:6px;font-size:15px;line-height:1;padding:5px 7px;cursor:pointer}.rewrite__btn:hover:not(:disabled){background:var(--hover)}.rewrite__btn:disabled{opacity:.4;cursor:not-allowed}.rewrite__panel{position:absolute;bottom:calc(100% + 6px);right:0;z-index:30;width:280px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #0003;padding:8px;display:flex;flex-direction:column;gap:6px}.rewrite__styles{display:flex;flex-wrap:wrap;gap:4px}.rewrite__style{border:1px solid var(--border);background:var(--field);color:var(--accent);border-radius:12px;font-size:12px;padding:2px 9px;cursor:pointer}.rewrite__style:hover:not(:disabled){background:var(--hover)}.rewrite__custom{display:flex;gap:4px}.rewrite__custom input{flex:1;min-width:0;border:1px solid var(--border);border-radius:5px;background:var(--field);color:var(--ink);font-size:12px;padding:4px 6px}.rewrite__go{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;font-size:12px;font-weight:600;padding:3px 8px;cursor:pointer}.rewrite__go:hover{filter:brightness(1.06)}.rewrite__go:disabled{opacity:.5;cursor:not-allowed}.rewrite__busy{font-size:12px;color:var(--muted)}.rewrite__error{font-size:12px;color:#c0392b}.rewrite__result{font-size:13px;color:var(--ink);white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto;background:var(--surface2);border-radius:6px;padding:6px 8px}.rewrite__actions{display:flex;gap:6px;justify-content:flex-end}.rewrite__adopt{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;font-size:12px;font-weight:600;padding:3px 12px;cursor:pointer}.rewrite__adopt:hover{filter:brightness(1.06)}.rewrite__cancel{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:6px;font-size:12px;padding:3px 10px;cursor:pointer}.settings__ollama{display:flex;flex-direction:column;gap:6px;margin-top:6px}.settings__field{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.settings__field input,.settings__field select{border:1px solid var(--border);border-radius:5px;background:var(--field);color:var(--ink);font-size:13px;padding:4px 6px}.settings__modelrow{display:flex;gap:4px}.settings__modelrow select{flex:1;min-width:0}.settings__modelrow button{border:1px solid var(--border);background:var(--field);color:var(--accent);border-radius:5px;cursor:pointer;padding:0 8px}.settings__warn{font-size:12px;color:#c0392b}.summary{width:340px;max-width:calc(100vw - 24px)}.summary__body{padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}.summary__text{font-size:13px;color:var(--ink);white-space:pre-wrap;word-break:break-word}.summary__msg{font-size:13px;color:var(--muted)}.summary__note{font-size:11px;color:var(--muted);font-style:italic}.summary__actions{display:flex;justify-content:flex-end}.composer textarea{flex:1;resize:none;height:46px;border:1px solid var(--border);border-radius:5px;padding:6px 8px;font:inherit;background:var(--field);color:var(--ink)}.composer--ro{justify-content:center;align-items:center;color:var(--muted);font-size:12px;min-height:46px}@keyframes nudge{0%,to{transform:translate(0)}15%{transform:translate(-8px,5px)}30%{transform:translate(8px,-5px)}45%{transform:translate(-7px,-4px)}60%{transform:translate(7px,4px)}75%{transform:translate(-4px,2px)}}.nudging{animation:nudge .55s ease}.hist{position:fixed;right:24px;bottom:24px;width:380px;max-height:60vh;display:flex;flex-direction:column;z-index:40}.hist__body{overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.hist__empty{font-size:13px;color:var(--muted);text-align:center;margin:12px 0}.hist__more{align-self:center;font-size:12px;color:var(--accent);background:none;border:1px solid var(--accent);border-radius:999px;padding:3px 12px;cursor:pointer}.hist__more:disabled{opacity:.5;cursor:default}.hist__msg{display:flex;flex-direction:column;gap:1px;font-size:12px;padding:4px 6px;border-radius:6px;background:#7f7f7f0f}.hist__msg--out{background:#7f7f7f1f}.hist__meta{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.hist__text{-webkit-user-select:text;user-select:text;word-break:break-word}.requests{background:var(--panel);border-bottom:1px solid var(--border)}.group--requests{color:#b45309}.requests__hint{padding:0 10px 6px;font-size:10px;line-height:1.5;color:var(--muted)}.request{display:flex;gap:6px;align-items:center;padding:4px 10px 6px}.request__name{flex:1;min-width:0;text-align:left;font-size:13px;font-weight:600;color:var(--ink);background:none;border:0;cursor:pointer;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request__name:hover{text-decoration:underline}.request__ok,.request__no,.request__block{font-size:10px;padding:2px 7px;border-radius:5px;cursor:pointer;border:1px solid var(--border);background:var(--field);color:var(--muted)}.request__ok{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.request__ok:hover{filter:brightness(1.08)}.request__no:hover,.request__block:hover{background:var(--hover);color:var(--ink)}.request__block{color:#e5484d}.signin__pw{display:flex;flex-direction:column;gap:6px;width:100%}.signin__err{margin:0;font-size:11px;color:#e5484d}.group--requests{display:flex;align-items:center;justify-content:space-between}.requests__clear{font-size:10px;border:1px solid #e5484d;background:var(--field);color:#e5484d;border-radius:5px;cursor:pointer;padding:1px 6px}.requests__clear:hover{background:#e5484d;color:#fff}.sponsor{position:fixed;right:12px;bottom:12px;z-index:40;width:232px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 10px;box-shadow:0 4px 16px #0000002e;font-size:11px;color:var(--muted)}.sponsor__head{display:flex;align-items:center;justify-content:space-between;gap:6px}.sponsor__title{color:var(--ink);font-weight:700;font-size:11px}.sponsor__x{border:none;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;padding:0 2px}.sponsor__x:hover{color:var(--accent)}.sponsor__who{margin:4px 0 6px;line-height:1.45}.sponsor__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sponsor__link{display:block;padding:3px 7px;border:1px solid var(--border);border-radius:5px;background:var(--field);color:var(--ink);text-decoration:none;font-size:11px}.sponsor__link:hover{background:var(--hover);border-color:var(--accent)}.sponsor__note{margin:6px 0 0;font-size:10px;line-height:1.4;opacity:.8}.cal{display:flex;flex-direction:column;gap:8px;padding:8px}.cal__views{display:flex;gap:2px;margin-bottom:6px}.cal__viewbtn{flex:1;padding:4px 0;font-size:12px;border:1px solid var(--border);background:var(--field);color:var(--muted);cursor:pointer}.cal__viewbtn:first-child{border-radius:6px 0 0 6px}.cal__viewbtn:last-child{border-radius:0 6px 6px 0}.cal__viewbtn.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.cal__nav{display:flex;align-items:center;gap:6px;margin-bottom:6px}.cal__navbtn{width:24px;height:24px;border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;cursor:pointer;line-height:1}.cal__navbtn:hover{background:var(--hover)}.cal__today{padding:2px 8px;font-size:12px;border:1px solid var(--border);background:var(--field);color:var(--ink);border-radius:6px;cursor:pointer}.cal__focuslbl{flex:1;text-align:center;font-size:12.5px;font-weight:600;color:var(--ink)}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal__grid--week{grid-template-rows:auto 1fr}.cal__dow{font-size:10.5px;color:var(--muted);text-align:center;padding:2px 0}.cal__cell{min-height:46px;border:1px solid var(--border);background:var(--panel);border-radius:4px;padding:2px;display:flex;flex-direction:column;gap:1px;align-items:stretch;cursor:pointer;overflow:hidden;text-align:left}.cal__grid--week .cal__cell{min-height:90px}.cal__cell:hover{border-color:var(--accent)}.cal__cell--out{opacity:.4}.cal__cell--today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal__cellnum{font-size:11px;color:var(--muted);align-self:flex-end;line-height:1}.cal__cell--today .cal__cellnum{color:var(--accent);font-weight:700}.cal__dot{font-size:10px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--ink);border-radius:3px;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal__more{font-size:10px;color:var(--muted)}.cal__day{margin-top:2px}.cal__new{border:1px dashed var(--border);background:var(--field);color:var(--ink);border-radius:6px;padding:6px;font-size:12px;cursor:pointer}.cal__new:hover{border-color:var(--accent);background:var(--hover)}.cal__form{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--surface2)}.cal__lbl{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--muted)}.cal__in{border:1px solid var(--border);border-radius:5px;padding:4px 6px;background:var(--field);color:var(--ink);font-size:12px;font-family:inherit;width:100%}.cal__in:focus{outline:none;border-color:var(--accent)}.cal__desc{resize:vertical;min-height:44px}.cal__formbtns{display:flex;gap:6px}.cal__save{flex:1;border:none;border-radius:5px;padding:5px;background:var(--accent);color:#fff;font-weight:700;font-size:12px;cursor:pointer}.cal__save:disabled{opacity:.45;cursor:not-allowed}.cal__ghost,.cal__danger,.cal__rsvp{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer}.cal__ghost:hover,.cal__rsvp:hover{background:var(--hover);color:var(--ink)}.cal__danger{color:#e5484d;border-color:#e5484d55}.cal__danger:hover{background:#e5484d;color:#fff}.cal__rsvp.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.cal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cal__item{border:1px solid var(--border);border-radius:6px;padding:7px 8px;background:var(--panel)}.cal__item--past{opacity:.5}.cal__when{font-size:10px;color:var(--accent);font-weight:700}.cal__name{font-size:13px;color:var(--ink);font-weight:700;margin-top:1px}.cal__loc,.cal__by{font-size:11px;color:var(--muted);margin-top:2px}.cal__descout{font-size:11px;color:var(--ink);margin-top:3px;white-space:pre-wrap;word-break:break-word}.cal__going{font-size:11px;color:var(--ink);margin-top:4px}.cal__acts{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.cal__remind{display:flex;align-items:center;gap:5px;margin-top:5px}.cal__remindlbl{font-size:10px;color:var(--muted)}.cal__remindsel{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:5px;padding:1px 4px;font-size:10px;cursor:pointer}.cal__remindsel:focus{outline:none;border-color:var(--accent)}.datechips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.datechip{border:1px solid var(--border);background:var(--field);color:var(--muted);border-radius:10px;padding:1px 7px;font-size:10px;cursor:pointer;line-height:1.5}.datechip:hover{border-color:var(--accent);color:var(--accent);background:var(--hover)}.member__fs{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}.member__fs--known{color:#2f9e44}.member__fs--lost{color:#c0392b;font-weight:600}
