:root{--ring: #0B1220;--line: #19C37D;--line-ink: #0A5C3B;--paper: #F6F7F9;--card: #FFFFFF;--bubble-user: #DCEBFF;--bubble-friend: #F1F2F4;--ink: #0B1220;--ink-2: #4A5261;--ink-3: #8A92A0;--hair: rgba(11,18,32,.08);--glass: rgba(255,255,255,.72);--glass-strong: rgba(255,255,255,.86);--danger: #D64545;--warn: #E0A100;--sammy: #B98A5A;--accent: var(--line);--accent-ink: #FFFFFF;--font-head: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--fs-body: 17px;--fs-small: 13px;--fs-title: 22px;--r-bubble: 20px;--r-card: 16px;--r-sheet: 24px;--r-pill: 999px;--gutter: 16px;--blur: 20px;--t-tap: .18s cubic-bezier(.2,.8,.2,1);--t-sheet: .24s cubic-bezier(.2,.8,.2,1);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}@media(min-width:1000px){:root{--fs-body: 15px;--fs-small: 12.5px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0E1117;--card: #161B24;--bubble-user: #182640;--bubble-friend: #1B2230;--ink: #F3F5F8;--ink-2: #B8BFCB;--ink-3: #7E8796;--hair: rgba(255,255,255,.09);--glass: rgba(14,17,23,.72);--glass-strong: rgba(14,17,23,.88);--ring: #F3F5F8}}:root[data-theme=dark]{--paper: #0E1117;--card: #161B24;--bubble-user: #182640;--bubble-friend: #1B2230;--ink: #F3F5F8;--ink-2: #B8BFCB;--ink-3: #7E8796;--hair: rgba(255,255,255,.09);--glass: rgba(14,17,23,.72);--glass-strong: rgba(14,17,23,.88);--ring: #F3F5F8}:root[data-accent=blue]{--accent: #2F6BFF}:root[data-accent=purple]{--accent: #7A5AF8}:root[data-accent=pink]{--accent: #E5559B}:root[data-accent=orange]{--accent: #F0812B}:root[data-accent=green]{--accent: #19C37D}:root[data-accent=beige]{--accent: #B9A48A;--accent-ink: #0B1220}:root[data-accent=mono]{--accent: #0B1220}:root[data-accent=sammy]{--accent: #B98A5A}@media(prefers-color-scheme:dark){:root[data-accent=mono]:not([data-theme=light]){--accent: #F3F5F8;--accent-ink: #0B1220}}:root[data-theme=dark][data-accent=mono]{--accent: #F3F5F8;--accent-ink: #0B1220}@media(prefers-reduced-motion:reduce){:root{--t-tap: 0ms;--t-sheet: 0ms}*{animation:none!important}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.45 var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none}:root[data-textsize=large]{--fs-body: 19px;--fs-small: 15px}a{color:var(--line-ink)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1{font:800 var(--fs-title)/1.2 var(--font-head);margin:8px 0 12px;letter-spacing:-.01em}h2{font:700 15px/1.3 var(--font-head);color:var(--ink-2);margin:18px 0 8px;text-transform:none}small{font-size:var(--fs-small);color:var(--ink-3)}.ic{vertical-align:-5px}.shell{height:100dvh;display:grid;grid-template-columns:1fr;grid-template-areas:"main"}.main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.rail,.threadcol,.panelcol{display:none}} .railavatar{margin-bottom:18px}.railitems{display:flex;flex-direction:column;gap:6px;flex:1}.railbottom{display:flex;flex-direction:column;gap:6px}.railbtn{width:44px;height:44px;border-radius:12px;color:var(--ink-2);display:grid;place-items:center;transition:background var(--t-tap),color var(--t-tap)}.railbtn:hover,.railbtn.on{background:var(--bubble-friend);color:var(--ink)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.4);backdrop-filter:blur(var(--blur)) saturate(1.4)}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:48px 1fr auto;align-items:center;padding:calc(var(--sat) + 6px) var(--gutter) 6px;min-height:calc(var(--sat) + 72px);border-bottom:1px solid var(--hair)}.topbar .center{display:flex;justify-content:center;align-items:center;min-width:0}.topbar .ttl{font:700 17px var(--font-head)}.deskttl{display:none;font:700 17px var(--font-head)}.who{display:flex;flex-direction:column;align-items:center;gap:0;cursor:pointer}.who .name{font:700 15px var(--font-head);margin-top:-2px}.who .status{font-size:11.5px;line-height:1}.who.big{gap:6px;padding:18px 12px 8px}.who.big b{font:800 20px var(--font-head)}.connected{display:inline-flex;align-items:center;gap:6px}.iconbtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:var(--glass-strong);box-shadow:0 1px 2px #0000000f,inset 0 0 0 1px var(--hair);transition:transform var(--t-tap),background var(--t-tap)}.iconbtn:active{transform:scale(.94)}.iconbtn.sm{width:32px;height:32px;box-shadow:none;background:transparent}.pill-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:var(--r-pill);background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--hair);font:600 14px var(--font-head)}.tabbar{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 8px calc(var(--sab) + 6px);border-top:1px solid var(--hair)}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 2px;border-radius:14px;color:var(--ink-3);font:600 11px var(--font-head);transition:color var(--t-tap),background var(--t-tap)}.tab.on{color:var(--ink)}.tab.on .ic{color:var(--accent)}.tab:active{background:var(--bubble-friend)}.chat{flex:1;display:flex;flex-direction:column;min-height:0}.log{flex:1;overflow:auto;padding:8px var(--gutter) 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain;position:relative}.day{align-self:center;font:600 12px var(--font-head);color:var(--ink-3);margin:10px 0 2px}.day.left{align-self:flex-start;margin:12px 0 4px}.empty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--ink-2)}.empty b{font:800 22px var(--font-head);color:var(--ink)}.m{max-width:86%;display:flex;flex-direction:column;gap:4px}.m.user{align-self:flex-end;align-items:flex-end}.m.friend{align-self:flex-start}.bubble{padding:12px 15px;border-radius:var(--r-bubble);background:var(--bubble-friend);white-space:pre-wrap;word-break:break-word;line-height:1.45}.m.user .bubble{background:var(--bubble-user);border-bottom-right-radius:6px}.m.friend .bubble{border-bottom-left-radius:6px}.acts{display:flex;gap:2px;padding-left:4px;opacity:0;transition:opacity var(--t-tap)}.m:hover .acts,.m:focus-within .acts{opacity:1}@media(hover:none){.acts{opacity:.7}}.acts button{width:30px;height:30px;border-radius:50%;color:var(--ink-3);display:grid;place-items:center}.sys{align-self:center;font-size:var(--fs-small);color:var(--ink-3)}.jump{position:sticky;bottom:8px;align-self:center;width:40px;height:40px;border-radius:50%;background:var(--glass-strong);box-shadow:0 2px 8px #0000001f,inset 0 0 0 1px var(--hair);display:grid;place-items:center}.jump em{position:absolute;top:-4px;right:-4px;background:var(--accent);color:var(--accent-ink);font:700 11px var(--font-head);border-radius:10px;padding:1px 6px;font-style:normal}.btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:var(--r-pill);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);font:600 14px var(--font-head);color:var(--ink);text-decoration:none;transition:transform var(--t-tap),background var(--t-tap)}.btn:active{transform:scale(.96)}.btn.p{background:var(--accent);color:var(--accent-ink);box-shadow:none}.btn.d{color:var(--danger)}.btn.sm{height:32px;padding:0 12px;font-size:13px}.card{background:var(--card);border-radius:var(--r-card);padding:12px 14px;margin-top:10px;box-shadow:inset 0 0 0 1px var(--hair)}.card.done{color:var(--line-ink)}.card.failed{color:var(--danger)}.card.waiting{color:var(--warn)}.card small{display:block;margin-top:6px}.card .mono{font:500 13px var(--font-mono);word-break:break-all;margin:6px 0}.card.center{text-align:center}.card.center p{margin:6px 0 10px;color:var(--ink-2)}.prop .hd{font:700 14px var(--font-head);color:var(--ink-2);margin-bottom:6px}.prop .msg{background:var(--card);border-radius:14px;padding:10px 12px;box-shadow:inset 0 0 0 1px var(--hair)}.prop details{margin-top:8px}.prop summary{cursor:pointer;font:600 13px var(--font-head);color:var(--ink-2)}.prop .why{font-size:var(--fs-small);color:var(--ink-2);margin-top:4px;display:flex;flex-direction:column;gap:3px}.prop .lesson{margin-top:8px;font-size:var(--fs-small);color:var(--line-ink)}.portal{margin-top:10px;background:var(--card);border-radius:var(--r-card);overflow:hidden;box-shadow:inset 0 0 0 1px var(--hair)}.portal .thumb{aspect-ratio:16/9;background:var(--ring);display:grid;place-items:center;color:#fff;overflow:hidden}.portal .thumb iframe{width:100%;height:100%;border:0;pointer-events:none}.portal .st{display:flex;align-items:center;gap:8px;padding:8px 12px 0;font:600 13px var(--font-head)}.portal .btns{padding:8px 12px 12px;margin:0}.dot{width:9px;height:9px;border-radius:50%;background:var(--line);box-shadow:0 0 0 3px #19c37d33;display:inline-block}.dot.off{background:var(--ink-3);box-shadow:none}.composer{position:sticky;bottom:0;display:flex;align-items:flex-end;gap:6px;margin:0 var(--gutter) 10px;padding:6px;border-radius:28px;box-shadow:0 6px 24px #0b12201a,inset 0 0 0 1px var(--hair)}.composer textarea{flex:1;resize:none;border:0;background:transparent;color:var(--ink);font:inherit;padding:10px 6px;max-height:140px;outline:none}.composer .send{background:var(--accent);color:var(--accent-ink)}.composer .rec{color:var(--danger);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.5}}.signin{margin:8px var(--gutter);padding:10px 14px;background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--hair)}.scrim{position:fixed;inset:0;z-index:20;background:#0b122059;display:flex;align-items:flex-end;justify-content:center;animation:fade var(--t-sheet)}.scrim.left{align-items:stretch;justify-content:flex-start}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(24px)}}@keyframes inleft{0%{transform:translate(-30px)}}.sheet{width:100%;max-width:640px;max-height:88dvh;background:var(--card);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:8px var(--gutter) calc(var(--sab) + 16px);overflow:auto;animation:up var(--t-sheet)}.sheet.tall{min-height:60dvh}.grab{width:40px;height:5px;border-radius:3px;background:var(--hair);margin:4px auto 10px}.sheethd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font:700 17px var(--font-head)}.drawer{width:min(86vw,320px);height:100%;background:var(--card);padding:calc(var(--sat) + 12px) 12px 12px;overflow:auto;animation:inleft var(--t-sheet)}.threads{display:flex;flex-direction:column;gap:4px;padding:12px}.search{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--r-pill);background:var(--bubble-friend);color:var(--ink-3);margin-bottom:8px}.search input{flex:1;border:0;background:transparent;font:inherit;color:var(--ink);outline:none;min-width:0}.thread{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;text-align:left;font:600 15px var(--font-head)}.thread small{margin-left:auto;font-weight:400}.thread.on{background:var(--bubble-friend)}.threadhd{display:flex;align-items:center;justify-content:space-between;margin:14px 4px 4px;font:700 12px var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.threadnote{padding:8px 12px;font-size:var(--fs-small);color:var(--ink-3)}.panel{padding:8px 12px 12px;position:relative}.panel .close{position:absolute;right:8px;top:8px}.seg{display:flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:var(--bubble-friend);margin:8px 0}.seg button{flex:1;height:34px;border-radius:var(--r-pill);font:600 13px var(--font-head);color:var(--ink-2);transition:background var(--t-tap)}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000014}.page{flex:1;overflow:auto;padding:8px var(--gutter) 24px}.list{display:flex;flex-direction:column;background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--hair);overflow:hidden}.list+.list,.list+.threadhd{margin-top:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--hair);text-align:left;width:100%;color:inherit;text-decoration:none}.row:last-child{border-bottom:0}.row>span:first-child{min-width:0;flex:1}.row.act{align-items:flex-start}.row.act .st{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#19c37d26;color:var(--line-ink);margin-top:2px}.row.act .st.bad{background:#d6454526;color:var(--danger)}.row.danger{color:var(--danger)}.menu .row{font:600 15px var(--font-head)}.pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--bubble-friend);font:600 12px var(--font-head);color:var(--ink-2)}.pill.on{background:#19c37d26;color:var(--line-ink)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);font:600 13px var(--font-head);color:var(--ink-2);text-decoration:none}.chip.on{background:var(--accent);color:var(--accent-ink);box-shadow:none}.stages{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.stages .chip{height:22px;padding:0 8px;font-size:11px}.sw{width:14px;height:14px;border-radius:50%;display:inline-block;background:var(--line)}.sw[data-acc=sammy]{background:#b98a5a}.sw[data-acc=blue]{background:#2f6bff}.sw[data-acc=purple]{background:#7a5af8}.sw[data-acc=pink]{background:#e5559b}.sw[data-acc=orange]{background:#f0812b}.sw[data-acc=beige]{background:#b9a48a}.sw[data-acc=mono]{background:var(--ring)}.group{background:var(--card);border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--hair);margin-top:10px;padding:0 14px 10px}.group summary{padding:12px 0;cursor:pointer;font:600 15px var(--font-head);list-style:none;display:flex;align-items:center;gap:8px}.group summary::-webkit-details-marker{display:none}.group .list{box-shadow:none;background:transparent}.group .note{display:block;margin-top:8px}.perm{color:var(--ink-3)}.inp{flex:1;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--hair);background:var(--paper);font:inherit;color:var(--ink);min-width:0}.doc{width:100%;padding:12px;border-radius:var(--r-card);border:1px solid var(--hair);background:var(--card);font:400 15px/1.5 var(--font-body);color:var(--ink);resize:vertical}.pre{white-space:pre-wrap;font:inherit;margin:6px 0 0}.bar{height:6px;border-radius:3px;background:var(--bubble-friend);overflow:hidden;margin:6px 0}.bar i{display:block;height:100%;background:var(--accent)}.backlink{display:inline-flex;align-items:center;gap:4px;font:600 14px var(--font-head);color:var(--ink-2);margin:4px 0}.foot{display:block;text-align:center;margin-top:18px}.idea{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;background:var(--card);border-radius:var(--r-card);padding:14px;box-shadow:inset 0 0 0 1px var(--hair);margin-bottom:10px;transition:transform var(--t-tap)}.idea:active{transform:scale(.985)}.idea b{font:700 16px var(--font-head)}.idea span{color:var(--ink-2)}.libgrid{display:grid;gap:12px}.libnav{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.libnav button{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--r-pill);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);font:600 13px var(--font-head);color:var(--ink-2)}.libnav button.on{background:var(--ring);color:var(--paper);box-shadow:none}@media(min-width:1000px){.libgrid{grid-template-columns:220px 1fr}.libnav{flex-direction:column}}.textline{padding:8px;gap:6px}.tm{max-width:86%;padding:10px 12px;border-radius:16px;background:var(--bubble-friend);white-space:pre-wrap}.tm.in{align-self:flex-start}.tm.out{align-self:flex-end;background:var(--bubble-user)}.tm small{display:block;margin-top:4px}.menu .row .ic{margin-right:6px}.sel{margin-top:4px;font:inherit;font-size:var(--fs-small);color:var(--ink-2);background:var(--paper);border:1px solid var(--hair);border-radius:8px;padding:3px 6px}.strike{text-decoration:line-through;color:var(--ink-3)}.thread .tbtn{display:flex;align-items:center;gap:10px;flex:1;text-align:left;min-width:0}.thread .tbtn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.card.sms .doc.sm{margin-top:8px;font-size:16px}.card.sms .btn.wide{margin-top:2px}.welcome{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:calc(var(--sat) + 24px) var(--gutter) calc(var(--sab) + 24px);background:radial-gradient(120% 60% at 50% 0%,rgba(25,195,125,.12),transparent 60%),var(--paper)}.brand{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.brand h1{margin:6px 0 0;font-size:28px}.brand p{margin:0;color:var(--ink-2);max-width:340px}.authcard{width:100%;max-width:400px;background:var(--card);border-radius:var(--r-sheet);padding:18px;box-shadow:0 10px 30px #0b122014,inset 0 0 0 1px var(--hair);display:flex;flex-direction:column;gap:10px}.authcard p{margin:0}.authcard ul{margin:0;padding-left:18px;color:var(--ink-2)}.authcard li{margin:4px 0}.authcard .muted{color:var(--ink-2);font-size:var(--fs-small)}.inp.big{height:46px;font-size:16px}.btn.wide{width:100%;justify-content:center;height:46px}.link{color:var(--line-ink);font:600 14px var(--font-head);align-self:center}.fine{text-align:center}.err{color:var(--danger);font-size:var(--fs-small)}.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font:700 11px var(--font-head);display:grid;place-items:center}.mascot{position:relative;display:grid;place-items:center;border-radius:50%}.mascot svg{overflow:visible}.mascot .head{transform-origin:0 20px;animation:breathe 3.6s ease-in-out infinite}.mascot .lids{opacity:0;animation:blink 5.5s infinite}.mascot .open,.mascot .tongue,.mascot .paw,.mascot .card,.mascot .reddot{opacity:0;transition:opacity var(--t-tap)}.mascot .ears{transform-origin:0 -60px;transition:transform var(--t-sheet)}.mascot .pupils{transition:transform var(--t-sheet)}@keyframes breathe{50%{transform:translateY(2px) scale(1.01)}}@keyframes blink{0%,92%,to{opacity:0}94%,98%{opacity:1}}.mascot.s-listening .head{transform:rotate(-8deg);animation:none}.mascot.s-listening .ears{transform:scaleY(1.08)}.mascot.s-thinking .pupils{transform:translateY(-10px)}.mascot.s-thinking .head{animation:think 1.8s ease-in-out infinite}@keyframes think{50%{transform:rotate(3deg)}}.mascot.s-working .paw{opacity:1;animation:type .5s steps(2) infinite}@keyframes type{50%{transform:translateY(-4px)}}.mascot.s-needs_you .open{opacity:1}.mascot.s-needs_you .mouth{opacity:0}.mascot.s-needs_you .paw{opacity:1;animation:wave .7s ease-in-out infinite}@keyframes wave{50%{transform:rotate(-14deg) translateY(-6px)}}.mascot.s-paying .card{opacity:1}.mascot.s-recording .reddot{opacity:1;animation:pulse 1s infinite}.mascot.s-done .tongue{opacity:1}.mascot.s-done .head{animation:nod .8s ease-in-out 2}@keyframes nod{50%{transform:translateY(5px)}}.mascot.s-sleeping .lids{opacity:1;animation:none}.mascot.s-sleeping .head{animation:breathe 5s ease-in-out infinite}@media(min-width:1000px){.shell{grid-template-columns:64px 239px 1fr 320px;grid-template-areas:"rail threads main panel"}.rail{grid-area:rail;display:flex;flex-direction:column;align-items:center;padding:14px 0 12px;border-right:1px solid var(--hair);background:var(--card)}.threadcol{grid-area:threads;display:block;border-right:1px solid var(--hair);background:var(--card);overflow:auto}.panelcol{grid-area:panel;display:block;border-left:1px solid var(--hair);background:var(--card);overflow:auto}.tabbar,.topbar .iconbtn:first-child{display:none}.topbar{background:transparent;backdrop-filter:none;border:0}.topbar{grid-template-columns:1fr auto;padding:12px 24px;min-height:64px}.topbar .center{justify-content:flex-start}.topbar .who{display:none}.topbar .deskttl{display:block}.scrim.left,.shell>.scrim:not(.left) .sheet.tall{display:none}.composer{margin:0 24px 20px;max-width:900px;align-self:center;width:calc(100% - 48px)}.log{padding:8px 24px 20px}.m{max-width:720px}.page{max-width:820px;margin:0 auto;width:100%}body.embed .rail{display:none!important}body.embed .shell{grid-template-columns:1fr;grid-template-areas:"main"}body.embed .threadcol,body.embed .panelcol{display:none!important}body.embed .topbar{min-height:56px;padding-top:6px;padding-bottom:6px}}
