/* Crab UI v3 — layered dark greys, hairline borders, one accent, 4px grid. (Linear / Vercel-style surfaces.) */
:root{
  --bg:#0f0f10;--s1:#151518;--s2:#1b1b20;--s3:#232329;--hair:rgba(255,255,255,.08);--hair2:rgba(255,255,255,.14);
  --fg:#e6e6ea;--fg2:#b8b8c0;--mut:#80808a;--accent:#ff5a45;--accent-ink:#fff;
  --ok:#3fbf6f;--warn:#e0a53a;--bad:#ff5a45;--info:#6ea8ff;
  --ui:"Geist","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,Menlo,monospace;--font:var(--ui);
  --r:6px;--rs:4px;color-scheme:dark}
@media (prefers-color-scheme: light){:root[data-theme="light"]{--bg:#f7f7f8;--s1:#ffffff;--s2:#f1f1f3;--s3:#e8e8eb;--hair:rgba(0,0,0,.08);--hair2:rgba(0,0,0,.14);--fg:#141416;--fg2:#3c3c43;--mut:#73737c;--ok:#1f8a3b;--warn:#a86b00;--info:#2457d6;color-scheme:light}}
*{box-sizing:border-box}
html{background:var(--bg)}html,body{margin:0;color:var(--fg);font:13.5px/1.5 var(--ui);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{background:transparent}
a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--hair2);text-underline-offset:3px}a:hover{text-decoration-color:var(--fg)}
button{font:inherit;font-weight:500;color:var(--fg);background:var(--s2);border:1px solid var(--hair2);border-radius:var(--rs);padding:6px 11px;cursor:pointer;line-height:1.3;transition:background .12s,border-color .12s}
button:hover{background:var(--s3)}button:active{background:var(--s1)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover{filter:brightness(1.08)}
button.icon{width:34px;height:34px;padding:0;font-size:15px;position:relative;background:transparent;border-color:transparent}button.icon:hover{background:var(--s2);border-color:var(--hair)}
input,textarea,select{font:inherit;color:var(--fg);background:var(--s1);border:1px solid var(--hair2);border-radius:var(--rs);padding:8px 10px;width:100%;outline:none;min-width:0}
input:focus,textarea:focus,select:focus{border-color:var(--fg2);box-shadow:0 0 0 3px rgba(255,255,255,.04)}textarea{min-height:64px;resize:vertical}
::placeholder{color:var(--mut)}code{font-family:var(--mono);font-size:.9em;background:var(--s2);padding:1px 4px;border-radius:3px}
/* header */
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--hair)}
.brand{display:flex;align-items:center;gap:8px;min-width:0}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-text span{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-text small{color:var(--mut);font-family:var(--mono);font-size:10.5px}
.top-actions{display:flex;gap:2px}.icon .badge{top:-2px;right:-2px}
main{padding:10px 12px 88px;max-width:920px;margin:0 auto}
/* tabs */
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--bg);border-top:1px solid var(--hair);padding-bottom:env(safe-area-inset-bottom);z-index:5}
.tabs button{flex:1;border:0;border-radius:0;padding:8px 2px 7px;color:var(--mut);font-size:10px;font-weight:500;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent}
.tabs button i{font-style:normal;font-size:16px;line-height:1;opacity:.85}.tabs button i.ic{display:flex;width:21px;height:21px;opacity:1}.tabs button i.ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tabs button[data-tab="klutzy"] i{font-size:19px;height:21px;display:flex;align-items:center}.tabs button.active{color:var(--fg)}.tabs button.active:after{content:"";position:absolute;top:0;left:22%;right:22%;height:2px;background:var(--accent)}
.badge{position:absolute;top:2px;right:calc(50% - 22px);background:var(--accent);color:#fff;font-family:var(--mono);font-size:9.5px;font-weight:600;padding:0 4px;min-width:15px;line-height:15px;text-align:center;border-radius:3px}.badge:empty{display:none}
/* sections */
.card{background:var(--s1);border:1px solid var(--hair);border-radius:var(--r);padding:10px 14px 8px;margin:10px 0}
.card h2{margin:0 0 6px;padding:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);display:flex;justify-content:space-between;align-items:center;font-weight:600;gap:8px;border-bottom:1px solid var(--hair)}
.card h2 button{padding:2px 8px;font-size:11px}
.row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--hair)}.row:first-of-type{border-top:0}.row .main{flex:1;min-width:0}.row .t{font-weight:500;overflow-wrap:anywhere;line-height:1.35}.row .s{color:var(--fg2);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}
.row .meta{color:var(--mut);font-family:var(--mono);font-size:10.5px;white-space:nowrap;flex:none;padding-top:2px}
.row .actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.row .actions button{white-space:nowrap;padding:3px 9px;font-size:12px}
.pill{display:inline-block;font-family:var(--mono);font-size:10px;padding:1px 6px;background:var(--s2);color:var(--fg2);border:1px solid var(--hair);border-radius:3px;margin:0 4px 2px 0;vertical-align:middle;white-space:nowrap;letter-spacing:.02em}
.pill.ok{color:var(--ok);border-color:rgba(63,191,111,.35)}.pill.warn{color:var(--warn);border-color:rgba(224,165,58,.35)}.pill.bad{color:#fff;background:var(--accent);border-color:var(--accent)}.pill.info{color:var(--info);border-color:rgba(110,168,255,.35)}.pill.acc{color:var(--accent);border-color:rgba(255,90,69,.4)}.pill.model{color:var(--mut)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:7px;background:var(--mut);vertical-align:middle}.dot.active,.dot.working{background:var(--info)}.dot.working{animation:pulse 1.2s infinite}.dot.waiting{background:var(--ok)}.dot.attention{background:var(--accent);animation:pulse .8s infinite}.dot.offline,.dot.ended{background:var(--hair2)}
@keyframes pulse{50%{opacity:.3}}
.md h1{font-size:18px;margin:6px 0}.md h2{font-size:14px;margin:14px 0 6px;color:var(--fg);text-transform:none;letter-spacing:0;border:0;padding:0}.md h3{font-size:11px;margin:12px 0 4px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}.md ul{padding-left:18px;margin:4px 0}.md li{margin:3px 0}.md pre{background:var(--s2);padding:10px;overflow:auto;font-size:12px;border-radius:var(--rs)}.md p{margin:6px 0}
.empty{color:var(--mut);padding:8px 0}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}.chips button{padding:4px 10px;font-size:12px}.chips button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.screen{background:#0a0a0b;color:#d6d6dc;font:11.5px/1.4 var(--mono);padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto;border:1px solid var(--hair);border-radius:var(--rs)}
.chat .m{padding:8px 11px;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;border-radius:var(--r);border:1px solid var(--hair)}.chat .user{background:var(--s3);margin-left:12%}.chat .assistant{background:var(--s1);margin-right:12%}.chat .system{color:var(--mut);font-style:italic;border:0;background:transparent}
.compose{display:flex;gap:6px;margin-top:10px;align-items:stretch}.compose textarea{min-height:42px}.compose button{flex:none}.keys{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.keys button{padding:3px 8px;font-size:11.5px;font-family:var(--mono)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center;z-index:20}.modal.hidden,.hidden{display:none}
.modal-card{background:var(--s1);border:1px solid var(--hair2);border-bottom:0;border-radius:10px 10px 0 0;width:100%;max-width:920px;max-height:92vh;overflow:auto;padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
.modal-card h3{margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;gap:8px}.modal-card h3>span{min-width:0;overflow-wrap:anywhere}
.toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:var(--s3);color:var(--fg);border:1px solid var(--hair2);padding:7px 12px;z-index:30;font-size:12.5px;border-radius:var(--rs);max-width:92vw}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}
.bar{height:4px;background:var(--s3);margin-top:6px;border-radius:2px;overflow:hidden}.bar i{display:block;height:100%;background:var(--ok)}
.day{color:var(--mut);font-weight:600;margin:12px 0 2px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}
.tree .row{padding:6px 0}.tree .name{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}
.docview{background:var(--s2);padding:12px;max-height:70vh;overflow:auto;border-radius:var(--rs)}.docview iframe{width:100%;height:70vh;border:0;background:#fff}
.form label{display:block;color:var(--mut);font-size:10.5px;margin:8px 0 3px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
small.mut{color:var(--mut)}
.banner.hidden{display:none}.banner{position:sticky;top:47px;z-index:4;margin:0;padding:7px 12px;background:var(--s2);border-bottom:1px solid var(--hair);color:var(--warn);font-size:12.5px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.banner.master{color:var(--accent)}.banner button{padding:2px 8px;font-size:11.5px}
/* switches */
.sw-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--hair)}.sw-row:first-of-type{border-top:0}.sw-row .main{flex:1;min-width:0}.sw-row .t{font-weight:500}.sw-row .s{color:var(--mut);font-size:12px}
.sw-row.master{background:var(--s2);margin:0 -14px 6px;padding:12px 14px;border-top:0;border-bottom:1px solid var(--hair2);border-radius:var(--rs) var(--rs) 0 0}.sw-row.master .t{font-size:15px}
.sw-row.dim{opacity:.45}
.switch{position:relative;width:40px;height:22px;flex:none}.switch input{opacity:0;width:0;height:0;position:absolute}
.switch i{position:absolute;inset:0;background:var(--s3);border:1px solid var(--hair2);border-radius:11px;transition:background .15s}
.switch i:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:var(--fg2);transition:transform .15s,background .15s}
.switch input:checked+i{background:var(--ok);border-color:var(--ok)}.switch input:checked+i:before{transform:translateX(18px);background:#fff}
.switch.big{width:50px;height:28px}.switch.big i{border-radius:14px}.switch.big i:before{width:22px;height:22px}.switch.big input:checked+i:before{transform:translateX(22px)}
.switch.danger input:not(:checked)+i{background:var(--accent);border-color:var(--accent)}.switch.danger input:not(:checked)+i:before{background:#fff}
.cf-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--hair)}.cf-row:first-of-type{border-top:0}.cf-row .main{flex:1;min-width:0}.cf-row .t{font-weight:500}.cf-row .s{color:var(--mut);font-size:11px;font-family:var(--mono);overflow-wrap:anywhere}.cf-row.dim{opacity:.5}
.cf-flags{display:flex;gap:6px;align-items:center;flex:none}.cf-flags button{padding:2px 7px;font-size:12px}
label.mini{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9.5px;color:var(--mut);cursor:pointer;font-family:var(--mono)}label.mini input{display:none}label.mini i{width:28px;height:16px;border-radius:8px;background:var(--s3);border:1px solid var(--hair2);position:relative;transition:background .15s}label.mini i:before{content:"";position:absolute;width:12px;height:12px;left:1px;top:1px;border-radius:50%;background:var(--fg2);transition:transform .15s}label.mini input:checked+i{background:var(--ok);border-color:var(--ok)}label.mini input:checked+i:before{transform:translateX(12px);background:#fff}
/* desktop: sidebar with labels */
@media (min-width: 960px){
  main{padding:20px 28px 40px 196px;max-width:1240px}
  .tabs{top:47px;bottom:0;right:auto;left:0;width:168px;flex-direction:column;justify-content:flex-start;padding:10px 8px;border-top:0;border-right:1px solid var(--hair);z-index:4;gap:2px}
  .tabs button{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:10px;padding:7px 10px;font-size:13px;border-radius:var(--rs)}.tabs button i{font-size:14px;width:18px;text-align:center}
  .tabs button.active{background:var(--s2)}.tabs button.active:after{display:none}.tabs .badge{position:static;margin-left:auto}
  .toast{bottom:28px}.modal{align-items:center}.modal-card{border:1px solid var(--hair2);border-radius:10px;max-height:88vh;width:min(920px,92vw)}
  .banner{top:47px}
}
/* The Daily Crab */
.paper{background:var(--s1);border:1px solid var(--hair);border-radius:var(--r);padding:14px 16px 8px;margin:10px 0}
.paper .mast{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--hair2);padding-bottom:10px;margin-bottom:12px;flex-wrap:wrap}
.paper .mast h1{font-weight:600;font-size:15px;letter-spacing:-.01em;margin:0}
.paper .mast .date{display:flex;gap:12px;font-family:var(--mono);font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}.paper .mast .date span{white-space:nowrap}
.paper .lead{padding:2px 0 12px;border-bottom:1px solid var(--hair);margin-bottom:12px}
.paper .kicker{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.paper .lead h2{font-size:clamp(20px,5vw,28px);line-height:1.15;margin:4px 0 4px;font-weight:600;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}
.paper .lead p{margin:0;color:var(--fg2);font-size:14px}
.paper .desks{display:grid;grid-template-columns:1fr;gap:0 26px}@media(min-width:720px){.paper .desks{grid-template-columns:1fr 1fr}}
.paper .desk{padding:8px 0 10px;border-top:1px solid var(--hair);min-width:0}
.paper .desk h3{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin:0 0 6px;display:flex;justify-content:space-between;gap:8px}
.paper .desk ul{list-style:none;margin:0;padding:0}.paper .desk li{padding:5px 0;border-top:1px solid var(--hair);font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}.paper .desk li:first-child{border-top:0}
.paper .desk li b{font-weight:500;color:var(--fg)}.paper .desk li small{color:var(--mut);font-size:11.5px}.paper .desk li small.next{display:block;margin-left:52px}
.paper .desk .t{font-family:var(--mono);font-size:10.5px;color:var(--mut);display:inline-block;min-width:52px;font-variant-numeric:tabular-nums}
.paper .desk .quiet{color:var(--mut)}.paper .num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg2)}
.paper .colophon{font-family:var(--mono);font-size:10px;color:var(--mut);text-align:center;border-top:1px solid var(--hair);padding-top:8px;margin-top:4px}
.paper .err{font-family:var(--mono);color:var(--accent);font-size:11px}
.paper .editorial{border-left:2px solid var(--accent);padding:4px 12px;margin:0 0 12px;font-size:14px;color:var(--fg2)}.paper .editorial small{display:block;font-family:var(--mono);color:var(--mut);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.paper .digest{border:1px solid var(--hair2);background:var(--s2);border-radius:var(--r);padding:4px 12px 2px;margin:0 0 14px}
.paper .digest .desk{border-top:0}.paper .digest .desk+.desk{border-top:1px solid var(--hair2)}.paper .digest .desk h3{color:var(--fg2)}
.paper .digest li b{font-weight:600}.paper .desk li button{padding:0 6px;font-size:10.5px;margin-left:4px}
.today-grid{display:grid;grid-template-columns:1fr;gap:0 14px}@media(min-width:960px){.today-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
/* Klutzy chat */
.kchat{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow:auto;padding:4px 0}
.kchat .m{padding:8px 11px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.45;max-width:88%;border-radius:var(--r);border:1px solid var(--hair)}
.kchat .user{background:var(--s3);align-self:flex-end}.kchat .klutzy{background:var(--s1);align-self:flex-start}
.kchat .system{align-self:center;color:var(--mut);font-size:11.5px;border:0;background:transparent}
.kmeta{font-family:var(--mono);font-size:10.5px;color:var(--mut);display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 8px}
.kpage{display:flex;flex-direction:column;min-height:calc(100vh - 170px)}.kpage .kchat{max-height:none;flex:1;padding-bottom:8px}
.kbar{position:sticky;bottom:calc(56px + env(safe-area-inset-bottom));background:var(--bg);padding:8px 0 4px;border-top:1px solid var(--hair)}
@media (min-width:960px){.kbar{bottom:0}}
.kbar .compose textarea{min-height:44px}
.row .s.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
/* slack mrkdwn */
.sl b{font-weight:600;color:var(--fg)}.sl em{font-style:italic}.sl s{opacity:.7}.sl .at{color:var(--info)}.sl a{color:var(--info);text-decoration:none}.sl a:hover{text-decoration:underline}.sl .q{border-left:2px solid var(--hair2);padding-left:8px;color:var(--mut);display:block}
/* ---- Klutzy ---- */
.crab{position:relative;width:46px;height:35px;margin:0 6px 0 2px;cursor:pointer;flex:none;user-select:none;-webkit-tap-highlight-color:transparent;--ink:#141414;--red:#ff3b30;--red-d:#c4261f}
.crab svg{width:46px;height:35px;overflow:visible;display:block}
/* Klutzy: flat vector, no outlines. Dome body, no mouth, eyes on stalks, big notched claws; shading in darker red. */
.crab .pincer{fill:var(--red)}.crab .leg{fill:var(--red-d);stroke:var(--red-d);stroke-width:2.2;stroke-linejoin:round}
.crab .cshade,.crab .bshade{fill:var(--red-d)}
.crab .arm{fill:none;stroke:var(--red-d);stroke-width:5.2;stroke-linecap:round}.crab .arm-in{display:none}
.crab .stalk{fill:none;stroke:var(--red-d);stroke-width:4;stroke-linecap:round}.crab .stalk-in{display:none}
.crab .body{fill:var(--red)}.crab .bline{display:none}
.crab .eye .white{fill:#fff}.crab .eye .pupil{fill:var(--ink)}
.crab .eye .lid{display:none;fill:none;stroke:var(--red-d);stroke-width:2.2;stroke-linecap:round}.crab .eye .lidball{display:none;fill:var(--red)}
.crab .zzz{fill:var(--mut);font:700 11px var(--mono);opacity:0}
.crab .bubble{position:absolute;top:-4px;right:-10px;background:var(--accent);color:#fff;font-family:var(--mono);font-weight:600;font-size:10px;padding:0 5px;line-height:15px;border-radius:3px!important;opacity:0;transform:scale(.6);transition:all .25s}.crab .bubble.show{opacity:1;transform:scale(1)}
/* motion: almost still. a slow blink, and every ~30-45 s a glance + small scoot (JS sets data-peek) */
.crab .eye{animation:blink 9s infinite}.crab .eye-l{transform-origin:48px 28.6px}.crab .eye-r{transform-origin:71.7px 28.6px;animation-delay:.08s}
.crab .claw-l{transform-origin:33px 56px}.crab .claw-r{transform-origin:87px 56px}
@keyframes blink{0%,96%,100%{transform:scaleY(1)}98%{transform:scaleY(.15)}}
/* idle life: eyes wander (JS sets --gx/--gy), claws sway slowly out of phase */
.crab .pupils{transform:translate(var(--gx,0px),var(--gy,0px));transition:transform .35s cubic-bezier(.3,.7,.4,1)}
@keyframes swayL{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}@keyframes swayR{0%,100%{transform:rotate(0)}50%{transform:rotate(5deg)}}
.crab .claw-l{animation:swayL 6.5s ease-in-out infinite}.crab .claw-r{animation:swayR 7.3s ease-in-out infinite -2.4s}
.crab.mood-sleep .claw-l,.crab.mood-sleep .claw-r,.crab.mood-paused .claw-l,.crab.mood-paused .claw-r{animation:none}
@keyframes peekEyeL{0%,100%{transform:none}12%,82%{transform:translateX(-2.6px)}}@keyframes peekEyeR{0%,100%{transform:none}12%,82%{transform:translateX(2.6px)}}
@keyframes scootL{0%,30%,100%{transform:none}45%,70%{transform:translateX(-7px)}}@keyframes scootR{0%,30%,100%{transform:none}45%,70%{transform:translateX(7px)}}
@keyframes legStep{0%,100%{transform:none}50%{transform:translateY(-1.2px)}}
.crab[data-peek="l"] .pupils{animation:peekEyeL 4.2s ease-in-out}.crab[data-peek="r"] .pupils{animation:peekEyeR 4.2s ease-in-out}
.crab[data-peek="l"] .walk{animation:scootL 4.2s ease-in-out}.crab[data-peek="r"] .walk{animation:scootR 4.2s ease-in-out}
.crab[data-peek] .legs-l{animation:legStep .3s ease-in-out 1.3s 3}.crab[data-peek] .legs-r{animation:legStep .3s ease-in-out 1.45s 3}
@keyframes clawTap{0%,88%,100%{transform:none}93%{transform:rotate(-7deg)}}@keyframes clawTapR{0%,88%,100%{transform:none}93%{transform:rotate(7deg)}}
@keyframes clawWave{0%,84%,100%{transform:none}90%{transform:rotate(9deg)}}
@keyframes zz{0%{opacity:0;transform:translate(0,0)}30%{opacity:.9}100%{opacity:0;transform:translate(4px,-7px)}}
@keyframes nod{0%,100%{transform:none}40%{transform:translateY(-2px)}}
.crab.mood-busy .claw-l{animation:clawTap 6s ease-in-out infinite}.crab.mood-busy .claw-r{animation:clawTapR 6s ease-in-out infinite 3s}
.crab.mood-alert .claw-r{animation:clawWave 6s ease-in-out infinite}
.crab.mood-sleep .eye{animation:none}.crab.mood-sleep .eye .white,.crab.mood-sleep .eye .pupils{display:none}.crab.mood-sleep .eye .lid,.crab.mood-sleep .eye .lidball{display:block}.crab.mood-sleep .zzz{animation:zz 4s ease-out infinite}
.crab.mood-paused svg{filter:grayscale(1) brightness(.7)}.crab.mood-paused .eye{animation:none}
.crab.dance .walk{animation:nod .5s ease-in-out 1}
@media (prefers-reduced-motion: reduce){.crab *,.crab svg{animation:none!important}}


.greet{padding:18px 4px 8px}.greet .hello{font-size:clamp(22px,6vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.1}.greet .line{color:var(--fg2);font-size:15px;margin-top:6px;max-width:60ch;text-wrap:pretty}

/* Gmail-style inbox (reference: Gmail 2022 standard view) */
.gm{display:grid;grid-template-columns:1fr;gap:0;margin:-4px -12px 0}
.gm-side{display:none}
.gm-main{min-width:0}
.gm-search{display:flex;align-items:center;gap:10px;margin:8px 12px;background:var(--s2);border-radius:24px;padding:0 16px;height:46px}.gm-search span{color:var(--mut);font-size:18px}.gm-search input{background:transparent;border:0;padding:0;height:46px;font-size:15px}.gm-search input:focus{box-shadow:none}
.gm-tabsrow{display:flex;border-bottom:1px solid var(--hair);padding:0 4px}.gm-tabsrow button{flex:1;background:transparent;border:0;border-radius:0;color:var(--mut);padding:11px 6px;font-size:13.5px;font-weight:500;position:relative}.gm-tabsrow button.on{color:var(--info)}.gm-tabsrow button.on:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;background:var(--info);border-radius:3px 3px 0 0}
.gm-tabsrow button i,.gm-nav i{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--fg2);margin-left:6px}
.gm-toolbar{display:none;align-items:center;gap:6px;padding:4px 12px;border-bottom:1px solid var(--hair);min-height:40px}
.gm-ib{background:transparent;border:0;color:var(--fg2);padding:4px 8px;font-size:14px;border-radius:50%}.gm-ib:hover{background:var(--s3)}.gm-count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--mut)}
.gm-cb{display:inline-flex;align-items:center;cursor:pointer}.gm-cb input{display:none}.gm-cb i{width:16px;height:16px;border:2px solid var(--mut);border-radius:3px;display:inline-block;position:relative}.gm-cb input:checked+i{background:var(--info);border-color:var(--info)}.gm-cb input:checked+i:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
/* phone rows (Gmail mobile) */
.gm-row{display:grid;grid-template-columns:40px 1fr auto;grid-template-areas:"av from time" "av text star" "av snip star";column-gap:12px;row-gap:1px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--hair);cursor:pointer}
.gm-row:hover{background:var(--s2)}.gm-row.sel{background:rgba(110,168,255,.10)}
.gm-row .gm-cb{display:none}
.gm-av{grid-area:av;width:40px;height:40px;flex:none;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff;margin-top:2px}
.gm-from{grid-area:from;font-size:14.5px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread .gm-from{font-weight:600;color:var(--fg)}
.gm-time{grid-area:time;font-size:11.5px;color:var(--mut);white-space:nowrap}.unread .gm-time{color:var(--info);font-weight:500}
.gm-text{grid-area:text;min-width:0;font-size:13.5px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread .gm-subj{color:var(--fg);font-weight:500}.gm-snip{color:var(--mut)}.gm-snip b{font-weight:500;color:var(--mut)}
.gm-ws{grid-area:snip;font-family:var(--mono);font-size:10.5px;color:var(--mut)}
.gm-star{grid-area:star;background:transparent;border:0;color:var(--mut);font-size:17px;padding:0 2px;align-self:center}.gm-star.on{color:var(--warn)}.gm-star:hover{color:var(--fg)}
.gm-head{display:flex;gap:12px;align-items:center;margin:4px 0 12px}
.gm-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.55}
/* desktop (Gmail standard view): mail sidebar + single-line rows */
@media (min-width:960px){
  .gm{margin:0;grid-template-columns:200px minmax(0,1fr);gap:18px}
  .gm-side{display:flex;flex-direction:column;gap:2px;padding-top:4px}
  .gm-compose{align-self:flex-start;background:var(--s3);border:0;border-radius:16px;padding:12px 22px;font-size:13.5px;font-weight:500;margin:4px 0 10px;box-shadow:0 1px 2px rgba(0,0,0,.3)}
  .gm-nav{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-radius:0 16px 16px 0;padding:6px 12px 6px 14px;font-size:13.5px;font-weight:400;color:var(--fg2);text-align:left}.gm-nav span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gm-nav:hover{background:var(--s2)}.gm-nav.on{background:rgba(110,168,255,.16);color:var(--fg);font-weight:600}
  .gm-nav b{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}
  .gm-labels-h{font-size:12.5px;font-weight:500;color:var(--fg2);padding:14px 14px 4px}
  .gm-search{margin:0 0 10px;max-width:720px}
  .gm-tabsrow{display:none}.gm-toolbar{display:flex}
  .gm-row{display:grid;grid-template-columns:28px 24px 190px minmax(0,1fr) auto 70px;grid-template-areas:"cb star from text ws time";align-items:center;column-gap:10px;padding:0 12px;height:40px;border-bottom:1px solid var(--hair);background:var(--s1)}
  .gm-row.unread{background:var(--bg)}
  .gm-row:hover{box-shadow:inset 1px 0 0 var(--hair2),inset -1px 0 0 var(--hair2),0 1px 2px rgba(0,0,0,.4);z-index:1;position:relative}
  .gm-row .gm-cb{display:inline-flex;grid-area:cb}
  .gm-av{display:none}
  .gm-star{grid-area:star;font-size:16px;margin:0}
  .gm-from{grid-area:from;font-size:13.5px}
  .gm-text{grid-area:text;font-size:13.5px}.gm-sep{color:var(--mut)}
  .gm-ws{grid-area:ws;background:var(--s3);padding:1px 7px;border-radius:3px;font-size:10px;color:var(--fg2)}
  .gm-time{grid-area:time;text-align:right;font-size:12px}.unread .gm-time{color:var(--fg);font-weight:600}
}

/* ---- Klutzy: Claude-style surface with Napoleon in the ground ---- */
.cl{position:relative;margin:-10px -12px 0;min-height:calc(100vh - 56px);display:flex;flex-direction:column}
.cl-bg{position:fixed;inset:0;z-index:0;background-image:linear-gradient(180deg,rgba(15,15,16,.12) 0%,rgba(15,15,16,.30) 55%,rgba(15,15,16,.55) 100%),var(--bgimg);background-size:cover;background-position:center 18%;pointer-events:none}
.cl-wrap{z-index:1}   /* the painting stays pinned behind the whole conversation instead of scrolling away */
.cl-wrap{position:relative;flex:1;display:flex;flex-direction:column;max-width:760px;width:100%;margin:0 auto;padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
.cl-hero{text-align:center;padding:14vh 8px 18px;transition:opacity .25s}.cl-hero.gone{display:none}
.cl-mark{font-size:44px;line-height:1;margin-bottom:12px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}.cl-mark.crab,.cl-mark.crab svg{width:140px;height:108px;margin-left:auto;margin-right:auto;cursor:default}
.cl-hero h1{font-size:clamp(26px,6.5vw,38px);font-weight:500;letter-spacing:-.02em;margin:0;color:var(--fg);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.cl-thread{flex:1;display:flex;flex-direction:column;gap:14px;padding:8px 0 16px}
.cl-thread .m{max-width:100%;border:0;border-radius:14px;padding:12px 16px;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.cl-thread .user{align-self:flex-end;background:var(--s3);max-width:85%;white-space:pre-wrap}
.cl-thread .klutzy{align-self:stretch;background:rgba(18,18,21,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--hair);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.cl-thread .klutzy p{margin:0 0 8px}.cl-thread .klutzy p:last-child{margin:0}.cl-thread .klutzy ul{margin:4px 0 8px;padding-left:20px}
.cl-thread .system{align-self:center;color:var(--mut);font-size:12px;background:transparent}
.cl-dots{display:inline-flex;gap:4px}.cl-dots i{width:6px;height:6px;border-radius:50%;background:var(--mut);animation:dot 1.2s infinite}.cl-dots i:nth-child(2){animation-delay:.2s}.cl-dots i:nth-child(3){animation-delay:.4s}@keyframes dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cl-composer{position:sticky;bottom:calc(56px + env(safe-area-inset-bottom));background:var(--s1);border:1px solid var(--hair2);border-radius:18px;padding:12px 12px 8px;box-shadow:0 8px 30px rgba(0,0,0,.45)}
@media (min-width:960px){.cl-composer{bottom:16px}.cl{margin:-20px -28px 0 0;min-height:calc(100vh - 48px)}}
.cl-composer textarea{background:transparent;border:0;padding:4px 6px;font-size:15.5px;line-height:1.5;min-height:34px;max-height:220px;resize:none}.cl-composer textarea:focus{box-shadow:none}
.cl-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.cl-tools{display:flex;gap:6px;flex-wrap:wrap}.cl-tools button{background:transparent;border:1px solid var(--hair);border-radius:16px;padding:4px 10px;font-size:12px;color:var(--fg2)}.cl-tools button:hover{background:var(--s2);color:var(--fg)}
.cl-right{display:flex;align-items:center;gap:8px;margin-left:auto}.cl-model{font-family:var(--mono);font-size:10.5px;color:var(--mut)}
.cl-right button{background:transparent;border:1px solid var(--hair);border-radius:50%;width:30px;height:30px;padding:0;font-size:14px}
.cl-send{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff;font-weight:700}
.cl-foot{text-align:center;font-size:11px;color:var(--mut);padding:10px 8px 0}
/* ---- church calendar card ---- */
.church{background:var(--s1);border:1px solid var(--hair);border-radius:var(--r);padding:12px 14px;margin:0 0 10px}
.ch-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ch-cross{font-size:22px;color:var(--fg2);line-height:1}.ch-t{flex:1;min-width:0;display:flex;flex-direction:column}.ch-t b{font-weight:500;font-size:14px}.ch-t small{font-family:var(--mono);font-size:10.5px;color:var(--mut)}
.ch-saints{color:var(--fg2);font-size:13px;margin:8px 0 4px;overflow-wrap:anywhere}
.ch-readings{margin-top:4px}.ch-rd{border-top:1px solid var(--hair);padding:6px 0}.ch-rd summary{cursor:pointer;font-size:13.5px;color:var(--fg);list-style:none;display:flex;gap:8px;align-items:baseline}.ch-rd summary::-webkit-details-marker{display:none}.ch-rd summary:after{content:"›";margin-left:auto;color:var(--mut);transition:transform .15s}.ch-rd[open] summary:after{transform:rotate(90deg)}
.ch-src{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);min-width:56px}
.ch-verses{padding:8px 2px 4px;font-size:14px;line-height:1.6;color:var(--fg2)}.ch-v sup{font-family:var(--mono);font-size:9px;color:var(--mut);margin-right:3px}
/* ---- painting of the day ---- */
.painting{margin:0 0 10px;background:var(--s1);border:1px solid var(--hair);border-radius:var(--r);overflow:hidden}
.painting img{display:block;width:100%;max-height:420px;object-fit:cover;background:#000}
.painting figcaption{display:flex;flex-direction:column;gap:2px;padding:10px 14px}.painting figcaption b{font-weight:500}.painting figcaption span{font-family:var(--mono);font-size:10.5px;color:var(--mut)}
/* ---- screens ---- */
.shots{display:grid;grid-template-columns:1fr;gap:10px;margin:8px 0}@media(min-width:720px){.shots{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}
.shots figure{margin:0;background:#000;border:1px solid var(--hair2);border-radius:var(--rs);overflow:hidden}.shots img{display:block;width:100%;height:auto}.shots figcaption{font-family:var(--mono);font-size:10.5px;color:var(--mut);padding:4px 8px;background:var(--s2)}
#k-mic.on{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff;animation:pulse 1s infinite}
/* ---- page themes: a figure in the ground of each tab ---- */
.themed{position:relative}
.themed:before{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(180deg,rgba(15,15,16,.35) 0%,rgba(15,15,16,.7) 50%,rgba(15,15,16,.96) 100%),var(--theme-img);background-size:cover;background-position:center 8%;pointer-events:none}
.themed .card,.themed .paper,.themed .church,.themed .painting{background:rgba(21,21,24,.86);backdrop-filter:blur(2px)}.themed .greet .hello,.themed .greet .line{text-shadow:0 1px 10px rgba(0,0,0,.6)}
.theme-credit{position:fixed;right:10px;bottom:calc(58px + env(safe-area-inset-bottom));font-family:var(--mono);font-size:9.5px;color:var(--mut);opacity:.7;pointer-events:none;z-index:1}@media(min-width:960px){.theme-credit{bottom:8px}}

/* ---- routine ---- */
.routine{background:rgba(21,21,24,.86);border:1px solid var(--hair2);border-radius:var(--r);padding:12px 14px;margin:0 0 10px;min-width:0;overflow:hidden}
.rt-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;min-width:0}.rt-head b{font-size:15px;font-weight:600;white-space:nowrap}.rt-clock{font-family:var(--mono);font-size:12px;color:var(--mut)}.rt-head .pill{margin-left:auto;max-width:45%;overflow:hidden;text-overflow:ellipsis}
.rt-now,.rt-next{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:6px 0}.rt-v{min-width:0;overflow-wrap:anywhere}.rt-now{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.rt-k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.rt-now .rt-k{color:var(--accent)}
.rt-v{font-size:17px;font-weight:600;letter-spacing:-.01em}.rt-next .rt-v{font-size:14px;font-weight:500;color:var(--fg2)}.rt-v.cls{color:var(--info)}.rt-v small{color:var(--mut);font-weight:400;font-size:11px}
.rt-t{font-family:var(--mono);font-size:11px;color:var(--mut);white-space:nowrap}
.rt-day{border-top:1px solid var(--hair);padding:6px 0}.rt-day summary{cursor:pointer;font-size:12.5px;color:var(--fg2);list-style:none;display:flex;justify-content:space-between;gap:8px}.rt-day summary .num{white-space:nowrap}.rt-day summary::-webkit-details-marker{display:none}
.rt-list{padding-top:6px}.rt-b{display:grid;grid-template-columns:52px 1fr;gap:8px;padding:3px 0;font-size:13px;color:var(--fg2)}.rt-b.past{opacity:.45}.rt-b.cur{color:var(--fg);font-weight:600;background:rgba(255,90,69,.12);margin:0 -6px;padding:3px 6px;border-radius:4px}.rt-b.cls span:last-child{color:var(--info)}.rt-b.cur.cls span:last-child{color:var(--fg)}
.routine .actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.routine .actions button{padding:3px 9px;font-size:12px}
.rt-notes{margin-top:8px;font-size:11.5px;color:var(--mut);border-top:1px solid var(--hair);padding-top:6px}.rt-notes div{padding:1px 0}
.rt-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;overflow-x:auto;max-width:100%}.rt-col{min-width:0}.rt-colh{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:4px 0;border-bottom:1px solid var(--hair);margin-bottom:4px}.rt-col.today .rt-colh{color:var(--accent)}.rt-col.today{background:rgba(255,90,69,.06);border-radius:4px;padding:0 4px}
.rt-week .rt-b{grid-template-columns:44px 1fr;font-size:11.5px}

/* ---- pictures and windows inside Klutzy's replies ---- */
.kimg{margin:8px 0;background:#000;border:1px solid var(--hair2);border-radius:var(--rs);overflow:hidden;max-width:560px}.kimg img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}.kimg figcaption{font-family:var(--mono);font-size:10.5px;color:var(--mut);padding:4px 8px;background:var(--s2)}
.kwin{margin:8px 0;background:#000;border:1px solid var(--hair2);border-radius:var(--rs);overflow:hidden}.kwin iframe{width:100%;height:60vh;border:0;background:#fff}
.kwin .kwin-body{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;color:var(--mut)}.kwin .kwin-body img{width:100%;height:auto}.kwin .kwin-body img.phone{display:none}
.kwin figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--mut);padding:4px 8px;background:var(--s2)}.kwin figcaption button{padding:1px 7px;font-size:11px}
@media(max-width:600px){.kwin .kwin-body img{display:none}.kwin .kwin-body img.phone{display:block;max-width:360px}}

/* ---- calendar tab ---- */
.cal-head{display:flex;align-items:center;gap:8px;margin:4px 0 8px}.cal-head h2{margin:0;font-size:18px;font-weight:600;flex:1;text-align:center;white-space:nowrap;letter-spacing:-.01em}.cal-head button{width:40px;height:36px;padding:0;font-size:20px;line-height:1}
.cal-actions{display:flex;gap:6px;margin-bottom:10px}.cal-actions button{flex:1;padding:8px 6px;white-space:nowrap}.cal-actions #cal-today{flex:0 0 auto}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:var(--r);overflow:hidden}
.cal-dow{background:var(--s2);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding:6px 0;text-align:center}
.cal-cell{background:var(--s1);min-height:52px;padding:6px 4px;cursor:pointer;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;-webkit-tap-highlight-color:transparent}.cal-cell.pad{background:var(--bg);cursor:default}.cal-cell.past .cal-n{color:var(--mut)}.cal-cell:hover{background:var(--s2)}
.cal-n{font-family:var(--mono);font-size:13px;color:var(--fg);width:26px;height:26px;display:grid;place-items:center;border-radius:50%}
.cal-cell.today .cal-n{background:var(--accent);color:#fff;font-weight:700}.cal-cell.sel{background:var(--s3);box-shadow:inset 0 0 0 1px var(--hair2)}.cal-cell.sel:not(.today) .cal-n{box-shadow:inset 0 0 0 1.5px var(--fg)}
.cal-dots{display:flex;gap:3px;height:6px}.cal-dots i{width:6px;height:6px;border-radius:50%;display:block}
.cal-ev{display:none;width:100%}
.cal-e{font-size:11px;line-height:1.25;color:var(--fg2);border-left:2px solid var(--fg2);padding-left:4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-e span{font-family:var(--mono);color:var(--mut)}
.cal-more{font-family:var(--mono);font-size:10px;color:var(--mut);margin-top:2px}
.cal-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 2px 12px;font-size:11.5px;color:var(--mut)}.cal-legend span{display:inline-flex;align-items:center;gap:5px}.cal-legend i{width:7px;height:7px;border-radius:50%;display:block}
.cal-row{border-left:3px solid var(--k);padding-left:9px!important}.cal-row .meta{min-width:54px}.cal-kind{color:var(--k);font-family:var(--mono);font-size:11px}
.cal-row button.ghost{background:transparent;border-color:transparent;color:var(--mut);padding:2px 6px}
.cal-day h2 .num{color:var(--mut);font-weight:400;margin-left:6px}.cal-add-day{width:100%;margin-top:10px;border-style:dashed;background:transparent;color:var(--fg2)}
@media(min-width:760px){.cal-cell{min-height:96px;align-items:stretch}.cal-n{width:24px;height:24px;font-size:12px}.cal-dots{display:none}.cal-ev{display:block}}
.gm-why{color:var(--fg2);font-style:italic}
.tabs button{font-size:9.5px}.tabs button i{font-size:15px}

main{position:relative;z-index:0;isolation:isolate}
.top{z-index:40}.banner{z-index:30}.tabs{z-index:50}.modal{z-index:60}.toast{z-index:70}.theme-credit{z-index:45}

/* never let any page grow wider than the screen (a wider page shrinks the mobile viewport and hides the tab bar) */
html,body{overflow-x:hidden;max-width:100vw}main{max-width:100vw}

.kfile{margin:8px 0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.kfile img{max-width:min(100%,420px);border:1px solid var(--hair2);border-radius:var(--rs)}

/* project chips above the Klutzy thread + file cards in agent chat */
.cl-projects{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.cl-projects button{background:var(--s1);border:1px solid var(--hair);border-radius:4px;padding:5px 10px;font-size:12.5px;color:var(--fg);font-family:var(--mono)}.cl-projects button:hover{background:var(--s2)}.cl-projects .dot{margin-left:4px}
.fcards{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.fcard{display:flex;flex-direction:column;gap:2px;border:1px solid var(--hair);border-radius:4px;padding:8px 10px;background:var(--s1);color:var(--fg);text-decoration:none;max-width:100%;font-size:12.5px}.fcard small{color:var(--mut);font-family:var(--mono);font-size:10.5px;word-break:break-all}.fcard .fext{font-family:var(--mono);font-size:10px;color:var(--accent);text-transform:uppercase}.fcard.img{padding:0;overflow:hidden}.fcard.img img{display:block;max-width:min(100%,360px);max-height:320px;object-fit:contain;background:#000}.fcard.img span{padding:4px 8px;font-size:11px;color:var(--mut)}
#ag-mic.on{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff;animation:pulse 1s infinite}
.chat .m.assistant .md p{margin:0 0 6px}.chat .m.assistant .md pre{max-width:100%;overflow:auto}

.cl-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:7px 10px;border:1px solid var(--hair);border-radius:4px;background:var(--s1);font-size:12.5px}.cl-sub small{color:var(--mut);font-family:var(--mono);font-size:11px}.cl-sub-x{margin-left:auto;display:flex;gap:6px}.cl-sub-x button{padding:3px 8px;font-size:11.5px}

/* slack briefing + discord */
.sb-card{border:1px solid var(--hair);border-radius:4px;background:var(--s1);padding:10px 12px;margin:0 0 10px}
.sb-h{display:flex;align-items:center;gap:8px}.sb-h b{font-size:13px}.sb-h small{color:var(--mut);font-family:var(--mono);font-size:10.5px}.sb-h .gm-ib{margin-left:auto}
.sb-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.sb-list li{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:6px;border-radius:4px;cursor:pointer;font-size:13px;line-height:1.4}
.sb-list li:hover{background:var(--s2)}.sb-list li .pill{grid-row:span 2;align-self:start}
.sb-ws{color:var(--mut);font-family:var(--mono);font-size:10.5px}.sb-act{color:var(--fg2)}
.sb-empty{color:var(--mut);font-size:12.5px;margin-top:6px}
.gm-src.dc{font-family:var(--mono);font-size:9.5px;padding:0 4px;border-radius:3px;background:hsl(235 60% 60% / .18);color:hsl(235 70% 72%)}

/* line icons (replace emoji) */
svg.ic{width:1.15em;height:1.15em;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
button.icon svg.ic{width:18px;height:18px;vertical-align:middle}.cl-send svg.ic{width:16px;height:16px;stroke-width:2.4}
.tabs button i.ic svg.ic{width:100%;height:100%;vertical-align:0;stroke-width:1.6}
i.hdot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:.05em}
.tabs button i.crab.kz{width:30px;height:21px;margin:0;opacity:1;cursor:inherit}.tabs button i.crab.kz svg{width:30px;height:23px}.tabs .crab.kz *{animation:none!important}.tabs button:not(.active) i.crab.kz{filter:saturate(.75) brightness(.85)}
/* voice bar: live waveform while recording */
.compose{position:relative}   /* .cl-composer stays sticky (a positioned parent for the voice bar too): relative + bottom:56px pushed it up over the last reply */
.vbar{position:absolute;inset:6px 6px auto 6px;height:44px;display:flex;align-items:center;gap:10px;padding:0 6px 0 12px;background:var(--s2);border:1px solid var(--hair2);border-radius:12px;z-index:3}
.vbar canvas{flex:1;height:30px;min-width:0}.vbar .vtime{font-family:var(--mono);font-size:12px;color:var(--fg2);min-width:34px}
.vbar button{width:32px;height:32px;border-radius:50%;padding:0;display:grid;place-items:center;background:transparent;border:1px solid var(--hair2)}.vbar .vok{background:var(--accent);border-color:var(--accent);color:#fff}
.vdot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s infinite}
.vbar.busy{justify-content:center;color:var(--fg2);font-size:13.5px}.vspin{width:14px;height:14px;border:2px solid var(--hair2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* Work tab: Agents | Docs switch */
.subnav{position:relative;z-index:2;display:flex;gap:2px;max-width:920px;margin:10px auto 0;padding:0 12px}.subnav.hidden{display:none}
.subnav button{flex:1;background:var(--s1);border:1px solid var(--hair);padding:8px;font-weight:500;color:var(--fg2)}.subnav button:first-child{border-radius:var(--r) 0 0 var(--r)}.subnav button:last-child{border-radius:0 var(--r) var(--r) 0}
.subnav button.active{background:var(--s3);color:var(--fg);border-color:var(--hair2)}
@media (min-width:960px){.subnav{padding-left:180px}}
/* Money */
.money .m-head{display:flex;align-items:center;gap:10px;margin:2px 0 10px}.money .m-head h2{margin:0;font-size:18px}.money .m-head .mut{font-size:12px}
.m-add{display:flex;gap:6px;margin-bottom:12px}.m-add input{flex:1}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}@media(min-width:760px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tile{background:var(--s1);border:1px solid var(--hair);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.tile small{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.tile b{font-size:20px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.tile .mut{font-size:11.5px}
.money .pos{color:#5fa3f0}.money .neg{color:#ee8585}
.plbars{width:100%;height:auto;display:block}.plbars .base{stroke:var(--hair2);stroke-width:1}.plbars .ax{fill:var(--mut);font:10px var(--mono)}
.yrs,.cf{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12.5px;color:var(--fg2)}
.m-two{display:grid;gap:12px}@media(min-width:760px){.m-two{grid-template-columns:1fr 1fr}}.m-two .card{margin:0}
.donut{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.donut svg{width:132px;height:132px;flex:none}.donut path{stroke:var(--s1);stroke-width:0}.dn-t{fill:var(--fg);font:600 12px var(--ui)}
.legend{display:flex;flex-direction:column;gap:4px;flex:1;min-width:150px}.legend.inline{flex-direction:row;gap:14px;margin-top:6px}
.lg{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--fg2)}.lg i{width:9px;height:9px;border-radius:2px;flex:none}.lg span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg b{color:var(--fg);font-weight:500;font-variant-numeric:tabular-nums}.lg small{color:var(--mut);min-width:30px;text-align:right}
.tbl{font-size:12.5px;overflow-x:auto}.tbl .th,.tbl .tr{display:grid;grid-template-columns:1.2fr .9fr 1fr 1fr 1fr 1.1fr;gap:6px;padding:7px 0;border-top:1px solid var(--hair);align-items:center;min-width:420px}.tbl .th{border-top:0;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.tbl .tr span{font-variant-numeric:tabular-nums}.tbl small{display:block;color:var(--mut);font-size:10.5px}
.adv{margin-top:10px;border-top:1px solid var(--hair);padding-top:8px}.adv .md{font-size:13.5px}
#viz-tip{position:fixed;z-index:50;display:none;pointer-events:none;background:var(--s3);color:var(--fg);border:1px solid var(--hair2);border-radius:4px;padding:4px 8px;font-size:12px;white-space:nowrap}
/* Medici: Crab opened as the standalone money app */
body.solo .tabs,body.solo #subnav,body.solo #btn-switches,body.solo #paused-banner,body.solo .theme-credit{display:none!important}body.solo main{padding-bottom:28px}
.medici-mark{width:30px;height:33px;flex:none}.medici-mark svg{width:100%;height:100%;display:block}
.mk-note{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}.mk-theme{border-left:2px solid var(--accent);padding:2px 0 2px 9px;display:flex;flex-direction:column;gap:2px;font-size:13px}.mk-theme .pill{font-size:10px}.mk-src a{font-size:11px;color:var(--info)}.mk-watch{font-size:12.5px}
.mk-tbl{font-size:12.5px;overflow-x:auto}.mk-tbl .th,.mk-tbl .tr{display:grid;grid-template-columns:1fr 70px .6fr .6fr .6fr 1fr 2.2fr;gap:6px;padding:7px 0;border-top:1px solid var(--hair);align-items:center;min-width:640px}.mk-tbl .th{border-top:0;color:var(--mut);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.mk-tbl small{display:block;color:var(--mut);font-size:10.5px}.mk-tbl span{font-variant-numeric:tabular-nums}.mk-sp{display:block}
.vbar .vlive{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.vbar .vdot{transition:transform .08s}
.do .do-k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--mut);margin:8px 0 2px}.do-i{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--hair);cursor:pointer}.do-i.first{border:1px solid var(--accent);border-radius:var(--r);padding:10px;background:rgba(255,90,69,.06)}.do-n{font-family:var(--mono);font-size:12px;color:var(--mut);min-width:16px;padding-top:1px}.do-i.first .do-n{color:var(--accent);font-weight:700}.do-b{flex:1;min-width:0}.do-t{font-size:14px;font-weight:500}.do-i.first .do-t{font-size:15.5px;font-weight:600}.do-s{font-size:12px;color:var(--mut);margin-top:2px}.do-x{flex:none}
.day .dy{display:grid;grid-template-columns:92px 1fr auto;gap:8px;padding:6px 0;border-top:1px solid var(--hair);font-size:13px;align-items:baseline}.day .dy-t{font-family:var(--mono);font-size:11.5px;color:var(--fg2)}.day .dy-k{font-size:10.5px;color:var(--mut);font-family:var(--mono)}.day .dy.past{opacity:.38}.day .dy.cur{border-left:2px solid var(--accent);padding-left:8px;background:rgba(255,90,69,.05)}.day .dy.event .dy-l b,.day .dy.deadline .dy-l b{color:var(--info)}
.ex .ex-h{font-size:12px;font-weight:600;margin:14px 0 4px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.ex .ex-h .mut{font-weight:400}
.ex-r{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 0;border-top:1px solid var(--hair);align-items:center}.ex-r.old{opacity:.5}.ex-r.cancel{background:rgba(255,90,69,.05)}.ex-r.cancelled{opacity:.45;text-decoration:line-through}.ex-m small,.ex-a small{display:block;color:var(--mut);font-size:11px}.ex-a{text-align:right;font-variant-numeric:tabular-nums}.ex-b{display:flex;gap:4px}.ex-b button{padding:3px 8px;font-size:12px}.ex-b button.on{border-color:var(--ok);color:var(--ok)}.ex-b button.on.bad{border-color:var(--bad);color:var(--bad)}
.ex-c{display:grid;grid-template-columns:110px 1fr 84px 76px;gap:8px;align-items:center;font-size:12.5px;padding:3px 0}.ex-bar{height:6px;background:var(--s3);border-radius:3px;overflow:hidden}.ex-bar i{display:block;height:100%;background:var(--ok)}.ex-bar i.over{background:var(--bad)}.ex-bud{padding:3px 6px;font-size:12px}.ex-c .ex-add{display:flex;gap:4px;align-items:center}.ex-c .ex-add label{font-size:11px;color:var(--mut)}
details .ex-c{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ex-t{display:flex;gap:8px;align-items:baseline;padding:5px 0;border-top:1px solid var(--hair);font-size:12.5px}.ex-t>span:nth-child(2),.ex-t>span:first-child:not(.mut){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.ex-t b{font-variant-numeric:tabular-nums;white-space:nowrap}.ex-t select{padding:2px 4px;font-size:11px}
.ex-months{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px}.ex-imp{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}.ex-file{border:1px dashed var(--hair2);border-radius:var(--r);padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:6px}.ex-file input{display:none}.ex-file .ic{width:16px;height:16px}.ex-imp>input{flex:1;min-width:160px}
.ex-bank{border:1px solid var(--hair2);border-radius:var(--r);padding:10px 12px;margin:8px 0;display:flex;flex-direction:column;gap:6px;font-size:13px}.ex-bank .s{line-height:1.6}.ex-bank-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ex-bank a{color:var(--info)}
.m-seg{display:flex;gap:2px;background:var(--s2);border:1px solid var(--hair);border-radius:var(--r);padding:2px;margin:4px 0 12px}.m-seg button{flex:1;border:0;background:transparent;color:var(--mut);padding:7px 4px;font-size:13px;border-radius:var(--rs)}.m-seg button.on{background:var(--s3);color:var(--fg);font-weight:600}
.money section[data-mv]{display:none}.money[data-v="overview"] section[data-mv="overview"],.money[data-v="markets"] section[data-mv="markets"],.money[data-v="expenses"] section[data-mv="expenses"],.money[data-v="advisor"] section[data-mv="advisor"],.money[data-v="brazil"] section[data-mv="brazil"]{display:block}
.mk2-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.mk2-sym{font-size:15px;font-weight:600}.mk2-sym .mut{font-family:var(--mono);font-size:11px;font-weight:400}.mk2-px{font-family:var(--mono);font-size:22px;font-weight:600;margin-top:2px}.mk2-px span{font-size:12px;font-weight:400;margin-left:6px}
.mk2-chart{position:relative;margin:10px 0 4px}.fan{width:100%;height:auto;display:block;touch-action:pan-y}.fan .g{stroke:var(--hair);stroke-width:1}.fan .ax{fill:var(--mut);font-family:var(--mono);font-size:10px}.fan .today{stroke:var(--hair2);stroke-dasharray:3 3}.fan .band{fill:var(--info);opacity:.16}.fan .hist{fill:none;stroke:var(--fg);stroke-width:1.6;stroke-linejoin:round}.fan .med{fill:none;stroke:var(--info);stroke-width:2;stroke-dasharray:5 4}.fan .lab{fill:var(--fg2);font-size:10.5px}.fan .xh{stroke:var(--fg2);stroke-width:1}
.mk-tip{display:none;position:absolute;top:6px;background:var(--s3);border:1px solid var(--hair2);border-radius:var(--rs);padding:6px 8px;font-family:var(--mono);font-size:11px;line-height:1.5;pointer-events:none;min-width:120px}
.mk2-sc table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:6px}.mk2-sc th{font-size:10.5px;color:var(--mut);font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-align:right;padding:4px 0}.mk2-sc th:first-child,.mk2-sc td:first-child{text-align:left}.mk2-sc td{padding:8px 0;border-top:1px solid var(--hair);text-align:right;font-size:13px}.mk2-sc td:first-child{color:var(--fg2)}.mk2-sc td small{display:block;font-size:11px}
.mk2-amt{font-size:13px;color:var(--fg2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mk2-amt input{width:110px;padding:4px 8px;font-family:var(--mono)}
.mk2-how{font-size:11.5px;color:var(--mut);margin-top:8px;line-height:1.5}.mk2-rel{display:flex;flex-direction:column;gap:3px;font-size:12px;margin-top:8px;color:var(--fg2)}.mk2-rel small{color:var(--mut)}
.mk2-list{padding-top:6px}.mk2-lh{display:grid;grid-template-columns:1.1fr 80px 2fr;gap:10px;font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;padding:4px 0}
.mk2-row{display:grid;grid-template-columns:1.1fr 80px 2fr;gap:10px;align-items:center;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--hair);border-radius:0;padding:9px 0;color:var(--fg)}.mk2-row.on{background:var(--s2)}.mk2-n small{display:block;color:var(--mut);font-size:11px}.mk2-r small{display:block;font-family:var(--mono);font-size:11px;margin-top:3px;color:var(--fg2)}
.rb{position:relative;display:block;height:8px;background:var(--s3);border-radius:4px}.rb .rb0{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--hair2)}.rb .rbb{position:absolute;top:0;bottom:0;background:var(--info);opacity:.45;border-radius:4px}.rb .rbm{position:absolute;top:-3px;width:2px;height:14px;margin-left:-1px;background:var(--fg)}
.mk2-3{display:grid;grid-template-columns:repeat(3,1fr);font-family:var(--mono);font-size:11px;margin-top:4px;color:var(--fg2)}.mk2-3>:nth-child(2){text-align:center;color:var(--fg)}.mk2-3>:nth-child(3){text-align:right}
.fan .ax{font-size:10px}.fan .lab{font-size:10.5px}
/* Klutzy chat: the input sticks above the tab bar, and the page always has room below the last reply */
@media (max-width:959px){.cl-wrap{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.cl-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%}.cl-tools::-webkit-scrollbar{display:none}.cl-tools button{flex:none}.cl-bar{flex-wrap:nowrap}.cl-right{flex:none}.cl-model{display:none}}
.cl-thread{scroll-padding-bottom:24px}
.cl-thread .kwait{align-self:flex-start;display:flex;align-items:center;gap:10px;background:rgba(21,21,24,.72);border:1px solid var(--hair);color:var(--fg2);font-size:14px;padding:10px 14px}.cl-thread .kwait small{font-family:var(--mono);font-size:11px;color:var(--mut)}.cl-thread .kwait .cl-dots i{background:var(--accent)}
.cl-thread .kerr{align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:rgba(255,90,69,.08);border:1px solid rgba(255,90,69,.45);font-size:14px}.cl-thread .kerr span{flex:1;min-width:160px;color:var(--fg2)}.cl-thread .kerr button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-color:var(--accent);color:var(--fg)}.cl-thread .kerr svg.ic{width:15px;height:15px}
.chat .kwait{align-self:flex-start;display:flex;align-items:center;gap:10px;background:var(--s2);border:1px solid var(--hair);color:var(--fg2);font-size:13px;padding:8px 12px;border-radius:var(--r);margin-right:0}.chat .kwait small{font-family:var(--mono);font-size:11px;color:var(--mut)}.chat .kwait .cl-dots i{background:var(--accent)}.chat .kwait.warn{border-color:rgba(224,165,58,.5);color:var(--warn)}.chat .kwait.warn svg.ic{width:16px;height:16px}
.chat .kerr{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:rgba(255,90,69,.08);border:1px solid rgba(255,90,69,.45);font-size:13px;margin-right:0}.chat .kerr span{flex:1;min-width:150px;color:var(--fg2)}.chat .kerr button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px}.chat .kerr svg.ic{width:14px;height:14px}
.career .cr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-top:1px solid var(--hair);align-items:start}.career .cr.skip,.career .cr.rejected,.career .cr.done{opacity:.5}
.career .cr-t{font-size:14px;line-height:1.45}.career .cr-t .pill{font-size:10px;vertical-align:1px}.career .cr-s{font-size:12.5px;color:var(--fg2);margin-top:3px;line-height:1.45}.career .cr-s.mut{color:var(--mut)}
.career .cr-a{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.career .cr-a select{font-size:12px;padding:3px 6px}.career .cr-a button{font-size:12px;padding:4px 10px}
.career details.card>summary{cursor:pointer;list-style:none}.career .card details>summary{cursor:pointer;margin:8px 0 4px}
@media (max-width:520px){.career .cr{grid-template-columns:1fr}.career .cr-a{flex-direction:row;justify-content:flex-end}}
.career .cr-rank{display:inline-block;min-width:26px;text-align:center;font-family:var(--mono);font-size:11.5px;font-weight:700;color:#fff;background:var(--accent);border-radius:4px;padding:1px 5px;margin-right:2px}
/* Career v2: one compact row per item, details on tap */
.career2 .cr-head{display:flex;align-items:center;gap:8px;margin:0 0 10px}.career2 .cr-head h2{margin:0;font-size:20px}.career2 .cr-head .mut{font-size:12px}
.career2 .cr-card{background:var(--s1);border:1px solid var(--hair);border-radius:var(--r);padding:4px 12px;margin:0 0 12px}
.career2 .cr-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);padding:8px 0 4px}
.career2 details>summary{list-style:none;cursor:pointer}.career2 details>summary::-webkit-details-marker{display:none}
.career2 .cr2{border-top:1px solid var(--hair)}.career2 .cr2:first-child{border-top:0}
.career2 .cr2>summary{display:flex;gap:12px;align-items:flex-start;padding:11px 0}
.career2 .cr-r{flex:none;width:28px;height:28px;border-radius:6px;background:var(--s3);color:var(--fg);display:flex;align-items:center;justify-content:center;font:600 13px var(--mono)}
.career2 .cr2:not(.todo) .cr-r{opacity:.6}.career2 .cr-r svg.ic{width:16px;height:16px}
.career2 .cr-r.cal{flex-direction:column;line-height:1;height:34px}.career2 .cr-r.cal b{font-size:14px}.career2 .cr-r.cal small{font-size:9px;color:var(--mut);text-transform:uppercase}
.career2 .cr-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.career2 .cr-o{font-weight:600;font-size:15px}.career2 .cr-ti{font-size:13px;color:var(--fg2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.career2 .cr-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.career2 .tg{font:500 10.5px var(--mono);padding:1px 6px;border-radius:3px;background:var(--s2);color:var(--fg2);border:1px solid var(--hair)}
.career2 .tg.hot{color:#fff;background:rgba(255,90,69,.85);border-color:transparent}.career2 .tg.warm{color:var(--warn);border-color:rgba(224,165,58,.4)}.career2 .tg.ok{color:var(--ok);border-color:rgba(63,191,111,.4)}.career2 .tg.st{color:var(--info);border-color:rgba(110,168,255,.4)}
.career2 .cr-x{padding:0 0 12px 40px;font-size:13.5px;line-height:1.5;color:var(--fg2)}
.career2 .cr-d{margin:0 0 6px}.career2 .cr-d span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:1px}
.career2 .cr-act{display:flex;gap:8px;align-items:center;margin-top:8px}.career2 .cr-act button{padding:6px 12px;font-size:13px}.career2 .cr-st{font-size:13px;padding:5px 8px;width:auto}
.career2 .cr-todo{border-top:1px solid var(--hair)}.career2 .cr-todo>summary{display:flex;gap:10px;align-items:flex-start;padding:9px 0}
.career2 .cr-chk{flex:none;width:18px;height:18px;border-radius:4px;border:1.5px solid var(--hair2);background:transparent;padding:0;margin-top:1px}.career2 .cr-chk:hover{border-color:var(--ok)}
.career2 .cr-when{flex:none;font:600 11.5px var(--mono);color:var(--accent);min-width:34px;margin-top:2px}.career2 .cr-tt{font-size:14px;line-height:1.4}
.career2 .cr-todo .cr-x{padding-left:62px}
.career2 .cr-more>summary{font-size:12.5px;color:var(--mut);padding:10px 0;border-top:1px solid var(--hair)}
.career2 .cr-sit>summary{padding:10px 0;font-weight:600}.career2 .cr-sit .md{font-size:13px;padding-bottom:10px}
.br .br-top{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 8px}.br .br-top div{display:flex;flex-direction:column}.br .br-top small{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.br .br-top b{font:600 20px var(--mono)}.br .br-top .mut{font-size:11px}
.br .br-focus{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--fg2)}
.br .br-head,.br .br-row{display:grid;grid-template-columns:1.4fr .6fr 1.6fr;gap:8px;align-items:center}.br .br-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);padding:6px 0}
.br .br-row{padding:9px 0;border-top:1px solid var(--hair);font-variant-numeric:tabular-nums}.br .br-row.best{background:rgba(63,191,111,.06)}.br .br-row.us{opacity:.8}
.br .br-n small{display:block;font-size:11px;color:var(--mut);line-height:1.35}.br .br-brl{font:600 14px var(--mono)}.br .br-usd{display:grid;grid-template-columns:repeat(3,1fr);font:12px var(--mono);text-align:right}.br .br-usd b{font-size:13px}
.br .br-plan{border-top:1px solid var(--hair);margin-top:10px;padding-top:10px;font-size:13px;display:flex;flex-direction:column;gap:6px}.br .br-in{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.br .br-in input{width:130px;padding:4px 8px}
@media (max-width:520px){.br .br-head{display:none}.br .br-row{grid-template-columns:1fr auto}.br .br-usd{grid-column:1/-1;text-align:left;gap:10px;display:flex}}
.br .br-usd i,.br .br-brl i{display:none;font-style:normal;font-family:var(--ui);font-size:10px;color:var(--mut);font-weight:400}
@media (max-width:520px){.br .br-usd>*{display:flex;flex-direction:column}.br .br-usd i,.br .br-brl i{display:block}.br .br-brl{text-align:right}}

/* your just-sent agent message, before the agent's transcript has it */
.m.user.pend{opacity:.75}
.m.user.pend .pend-s{display:block;margin-top:4px;font-size:11px;opacity:.8}

/* ✓ on a briefing line (closes all its messages) */
.sb-list li{position:relative;padding-right:40px}
.sb-list li .sb-done{position:absolute;right:4px;top:6px;width:32px;height:32px;padding:0;display:grid;place-items:center}

/* copy one agent message as its original text */
.chat .m{position:relative}
.chat .m .m-copy{position:absolute;top:4px;right:4px;width:28px;height:28px;padding:0;display:grid;place-items:center;opacity:.45;background:transparent;border:0}
.chat .m .m-copy:hover,.chat .m .m-copy:active{opacity:1}
.chat .m.assistant,.chat .m.user{padding-right:34px}
.chat .md pre{position:relative;padding-right:34px}
.chat .md pre .pre-copy{position:absolute;top:4px;right:4px;width:26px;height:26px;padding:0;display:grid;place-items:center;opacity:.55;background:var(--s2);border:0}
/* same copy buttons in the Klutzy chat */
.cl-thread .m{position:relative}
.cl-thread .m .m-copy{position:absolute;top:4px;right:4px;width:28px;height:28px;padding:0;display:grid;place-items:center;opacity:.45;background:transparent;border:0}
.cl-thread .m.klutzy,.cl-thread .m.user{padding-right:34px}
.cl-thread pre{position:relative;padding-right:34px}
.cl-thread pre .pre-copy{position:absolute;top:4px;right:4px;width:26px;height:26px;padding:0;display:grid;place-items:center;opacity:.55;background:var(--s2);border:0}
