/* Peppermint Brains. Brand from peppermintrobotics.com: turquoise #0fbbd8, light turquoise #86cedd and #e6f4f8, grey #646464 and #505050,
   black buttons, dark #292929, Satoshi type (Indian Type Foundry, ITF Free Font License, credited in fonts/CREDITS.txt). Day and night themes. */
@font-face{font-family:"Satoshi";src:url("/static/fonts/Satoshi-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Satoshi";src:url("/static/fonts/Satoshi-Medium.woff2") format("woff2");font-weight:500 600;font-display:swap}
@font-face{font-family:"Satoshi";src:url("/static/fonts/Satoshi-Bold.woff2") format("woff2");font-weight:700 800;font-display:swap}
:root,[data-theme=light]{color-scheme:light;--bg:#ffffff;--bg2:#f3f7f7;--side:#f6f9fa;--card:#ffffff;--card2:#f6f8f9;--line:#e3e8ea;--line2:#cdd5d8;--tx:#111111;--tx2:#3b3b3b;--mu:#646464;
 --teal:#0fbbd8;--teal2:#0a9fb8;--tealtx:#0a7f94;--onteal:#ffffff;--pink:#0b6dff;--warn:#a35f00;--bad:#c0362c;--ubub:#e6f4f8;--ububline:#c6e6ee;--code:#f6f8f9;
 --shadow:0 1px 2px rgba(17,17,17,.05),0 8px 24px rgba(17,17,17,.06);--ring:rgba(15,187,216,.30);--pri:#111111;--onpri:#ffffff;--brandbg:#f2f5ff}
[data-theme=dark]{color-scheme:dark;--bg:#141516;--bg2:#1b1d1f;--side:#101112;--card:#1b1d1f;--card2:#222527;--line:#2c3033;--line2:#3b4044;--tx:#f2f5f7;--tx2:#cdd3d7;--mu:#9aa1a7;
 --teal:#0fbbd8;--teal2:#3fcbe3;--tealtx:#4fd3ea;--onteal:#05252c;--pink:#7fb0ff;--warn:#f2b84b;--bad:#ff7a6e;--ubub:#123038;--ububline:#1d4752;--code:#101112;
 --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);--ring:rgba(15,187,216,.35);--pri:#0fbbd8;--onpri:#05252c;--brandbg:#101112}
:root{--font:"Satoshi",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--r:12px;--r2:14px}
html,body{font-family:var(--font);letter-spacing:.005em}
img{image-rendering:auto!important}
.px{font-family:var(--font)!important;letter-spacing:0!important;font-weight:700!important;line-height:1.35!important}
h1,h2,h3{font-weight:700;letter-spacing:-.015em}
button{font-weight:500;border-radius:10px}
button.pri{background:var(--pri);color:var(--onpri)} button.pri:hover{filter:none;opacity:.88}
.send{background:var(--pri);color:var(--onpri)} .send.stop{background:var(--tx);color:var(--bg)}
.badge{font-weight:500}
.card{box-shadow:none}
/* login */
.login{background:var(--brandbg);position:relative}
[data-theme=dark] .login{background:radial-gradient(900px 500px at 50% -10%,rgba(15,187,216,.10),transparent 60%),var(--bg)}
.pmlogo{width:min(320px,74vw)} .pmlogo img{width:100%;height:auto;display:block}
[data-theme=light] .pmlogo .night,[data-theme=dark] .pmlogo .day{display:none}
.loginbox{border-radius:16px} .loginbox h1{font-size:22px;color:var(--tx);margin-bottom:2px;font-weight:700}
.logintoggle{position:absolute;top:calc(14px + var(--st));right:calc(14px + var(--sr))}
/* shell */
.side{background:var(--side)}
.brandrow{padding:6px 6px 14px} .brandrow img{width:26px;height:26px;border-radius:0}
.pmname{flex:1;font-size:16px;font-weight:500;color:var(--tx);white-space:nowrap;letter-spacing:-.01em} .pmname b{font-weight:700;color:var(--tealtx)}
.newchat{background:var(--pri);color:var(--onpri);border-color:transparent;font-weight:600} .newchat:hover{opacity:.9;border-color:transparent}
.ci.on{box-shadow:inset 3px 0 0 var(--teal)} .nav.on{box-shadow:inset 3px 0 0 var(--teal)}
.av{background:color-mix(in srgb,var(--teal) 16%,var(--card));color:var(--tealtx)}
.pill.ready{color:var(--tealtx)}
.top{background:color-mix(in srgb,var(--bg) 92%,transparent)}
.themetoggle{color:var(--tx2)}
/* chat */
.msg.u .bub{border-radius:16px 16px 4px 16px}
.msg.a .jar{border-radius:50%;border:1px solid var(--line);background:#fff;padding:3px}
.hero img{border-radius:22px;box-shadow:0 8px 30px rgba(15,187,216,.18);animation:none;background:#fff}
.hero h1{font-family:var(--font);font-weight:700;font-size:28px;letter-spacing:-.02em;color:var(--tx)} .hero h1 b{color:var(--tealtx);font-weight:700}
.sugg button{border-radius:12px}
.cbox{border-radius:18px} .tool summary .nm{color:var(--tealtx)}
.streaming .md>:last-child::after{background:var(--teal)}
.banner,.aboutlogo{width:100%;max-width:360px;height:auto;border:0;border-radius:0;box-shadow:none;margin:6px 0 10px}
[data-theme=dark] .aboutlogo{filter:brightness(0) invert(1) opacity(.9)}
.recovery{border-color:var(--teal);color:var(--tealtx)}
.toast{border-left-color:var(--teal)}
.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-type{color:#7fb0ff} .hljs-string,.hljs-attr,.hljs-template-tag{color:#4fd3ea}
[data-theme=light] .hljs-keyword,[data-theme=light] .hljs-selector-tag,[data-theme=light] .hljs-built_in,[data-theme=light] .hljs-type{color:#0b55c7} [data-theme=light] .hljs-string,[data-theme=light] .hljs-attr{color:#0a7f94}
/* tools nav */
.labhd{font-size:12px!important;font-weight:600;color:var(--mu)!important;letter-spacing:0!important;padding:4px 8px 6px!important;text-transform:none}
.labt img{border-radius:50%}
.containbar{background:color-mix(in srgb,var(--bad) 10%,var(--bg))}
.brainchip{background:var(--bg2);border-color:var(--line)} .brainchip img{width:20px!important;height:20px!important;border-radius:6px}
.brainpick .bp img{width:32px!important;height:32px!important;border-radius:8px}
/* decision helper (was the Oracle Jar) */
.oracle{max-width:560px;margin:0 auto}
.otitle{font-size:26px!important;color:var(--tx)!important;text-shadow:none!important;letter-spacing:-.02em!important;margin:10px 0 4px!important;font-weight:700}
.osub{margin:0 0 16px}
.obubble{width:100%;background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:none} .obubble:after{display:none}
.obubble:focus-within{border-color:var(--teal2);box-shadow:0 0 0 3px var(--ring)}
.obubble textarea{color:var(--tx);font-weight:500;font-size:17px;text-align:left} .obubble textarea::placeholder{color:var(--mu)}
.ojar{width:150px;height:150px;margin:18px auto 14px;border-radius:50%;border:2px solid var(--line);background:var(--card2);display:flex;align-items:center;justify-content:center}
.ojar img,.ojar .bubbles{display:none!important}
.owin{position:static;inset:auto;width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:visible}
.die{position:static;transform:none!important;clip-path:none;width:120px;height:120px;aspect-ratio:auto;border-radius:50%;padding:10px;background:var(--teal)!important;align-items:center;transition:opacity .3s,filter .3s}
.die span{font:700 15px/1.2 var(--font)!important;color:#fff;text-shadow:none;word-break:normal}
.die[data-tone=yes]{background:#0a7f94!important} .die[data-tone=no]{background:var(--bad)!important} .die[data-tone=maybe]{background:var(--warn)!important}
.die.sink{opacity:.35;filter:none;transform:none!important} .die.rise{animation:pmfade .5s ease} @keyframes pmfade{from{opacity:.35}to{opacity:1}}
.ojar.shaking{animation:pmpulse .75s ease} @keyframes pmpulse{50%{transform:scale(.96)}}
button.shake{font:600 16px var(--font);letter-spacing:0;color:var(--onpri);background:var(--pri);border:0;border-radius:12px;box-shadow:none;padding:14px 22px;width:100%}
button.shake:active{transform:scale(.98);box-shadow:none}
.ocard h2.px,.ocard h2{font-size:20px;color:var(--tealtx)} .ocard.tone-no h2{color:var(--bad)} .ocard.tone-maybe h2{color:var(--warn)}
.odot{border-radius:50%} .odot.tone-no{background:var(--bad)}
/* research board (was the murder board) */
.btitle{font-size:16px!important;font-weight:700!important;color:var(--tx)!important;font-family:var(--font)!important}
button.pinkbtn{background:var(--pri);color:var(--onpri)}
.bwrap{background:var(--bg2)}
.bplane{border:1px solid var(--line);border-radius:12px;box-shadow:none;
 background:radial-gradient(circle,color-mix(in srgb,var(--mu) 28%,transparent) 1px,transparent 1.5px) 0 0/22px 22px,var(--bg2)}
.bstrings path.str{stroke:var(--teal);stroke-width:2;filter:none} .bstrings path.str.hl{stroke:var(--tealtx);stroke-width:3.5}
.bstrings text{font:500 11px var(--font);fill:var(--tx2);stroke:var(--bg2);stroke-width:4px}
.bc,.bc.k-note,.bc.k-text,.bc.k-file,.bc.k-link,.bc.k-entity,.bc.e-person,.bc.e-date,.bc.e-event,.bc.e-place,.bc.e-money,.bc.e-clue,.bc.e-org,.bc.e-object{
 background:var(--card);background-image:none;color:var(--tx);border:1px solid var(--line);border-left:4px solid var(--teal);border-bottom:1px solid var(--line);
 border-radius:10px;padding:10px 12px;box-shadow:0 1px 2px rgba(0,0,0,.06);font-family:var(--font);transform:none!important}
.bc.k-note{border-left-color:#86cedd} .bc.k-link{border-left-color:var(--pink)} .bc.k-file{border-left-color:var(--mu)} .bc.e-person{border-left-color:#0a7f94} .bc.e-place{border-left-color:#1c1c57}
.bc.e-date,.bc.e-event{border-left-color:var(--warn)} .bc.e-money{border-left-color:#2f9e44}
.bc .bch,.bc.k-link .bch,.bc.e-place .bch{font:600 11px var(--font);letter-spacing:.02em;color:var(--mu)}
.bc .bcb,.bc.k-link .bcb,.bc.e-place .bcb{color:var(--tx2)}
.bc.drag{box-shadow:0 10px 24px rgba(0,0,0,.18)} .bc.sel{outline:2px solid var(--teal)} .bc.hl{box-shadow:0 0 0 3px var(--ring)}
.bpin{display:none}
.bc .bread{font:600 10px var(--font)} .bc .bread.ok{background:#0a7f94} .bc .bread.no{background:var(--mu)}
.bempty{background:var(--card);color:var(--tx);border:1px dashed var(--line2)} .bempty h2{font-size:17px;color:var(--tx)}
.bask .send{background:var(--pri);color:var(--onpri)} .bans .px{color:var(--tealtx)}
/* assistants page (was the brain shelf) */
.shelfhero{display:none}
.card.brain img{width:48px!important;height:48px!important;border-radius:12px} .card.brain .bn{font-size:16px;color:var(--tx);font-weight:700;margin-bottom:2px}
.card.brain.custombrain{border-style:dashed;border-color:var(--line2)} .custombrain .ghostjar{opacity:.5;filter:grayscale(1)}
.jarpick .jp img{width:32px!important;height:32px!important;border-radius:8px}
.switchboard{background:var(--card);border:1px solid var(--line);box-shadow:none;color:var(--tx)}
.switchboard h2.px,.switchboard h2{font-size:17px;color:var(--tx)} .switchboard .muted{color:var(--mu)}
.lamp{width:10px;height:10px;background:var(--line2);box-shadow:none} .lamp.on{background:var(--teal);box-shadow:0 0 0 3px var(--ring)} .lamp.warn{background:var(--warn);box-shadow:none} .lamp.bad{background:var(--bad);box-shadow:none}
.lampt{font-size:13px!important;color:var(--tx2)!important;font-weight:600}
.gbox{background:var(--card2);border:1px solid var(--line);border-radius:12px} .glabel{font-size:12px!important;font-weight:600;color:var(--mu)!important}
.gtrack{stroke:var(--line)} .gfill{stroke:var(--teal)} .gfill.hot{stroke:var(--bad)} .gneedle{stroke:var(--tx2)} .ghub{fill:var(--tx2)} .gval{color:var(--tx)}
.toggle{background:var(--card2);color:var(--tx);border:1px solid var(--line)} .toggle .knob{background:var(--line2)} .toggle .knob:after{background:#fff} .toggle.on .knob{background:var(--teal)} .toggle.on .knob:after{background:#fff}
.sysline{background:var(--bg2);color:var(--tx2);border:1px solid var(--line);font-family:var(--font)!important}
.lever{display:none} .slot.on{border-color:var(--teal)}
.contain{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))} .contain h2.px,.contain h2{font-size:17px;color:var(--tx)}
.bigred{min-height:48px;border-radius:12px;border:1px solid transparent;background:var(--bad);box-shadow:none;font-weight:600}
.bigred .px{font-size:15px!important;letter-spacing:0!important}
.bigred:active{transform:scale(.98);box-shadow:none} .bigred.on{background:var(--pri);color:var(--onpri);border-color:transparent;box-shadow:none}
/* memories (was specimens) */
.spec{background:var(--card);align-items:stretch} .spec img{display:none}
.spec .label{background:transparent;color:var(--tx);box-shadow:none;padding:2px 4px;border-left:3px solid var(--teal);border-radius:0}
.spec .sn{font:600 12px var(--font)!important;color:var(--mu)}
.specempty img{width:40px!important;height:40px!important;border-radius:10px}
/* scheduled jobs and activity */
.nightcost{background:var(--card)}
.items li.job img{width:28px!important;height:28px!important;border-radius:8px}
.page{background:var(--card);border-left:3px solid var(--teal)}
.nbdate{font-size:15px!important;color:var(--tx)!important;font-weight:700}
.badge.k-oracle{color:#0b6dff} .badge.k-board{color:#0a7f94} .badge.k-nightshift{color:#1c1c57} [data-theme=dark] .badge.k-nightshift{color:#9fb3ff}
.card h2.px,.chead h2.px{font-size:17px}
.tourimg{background:var(--brandbg)} .tourimg img{image-rendering:auto} .tourdots i{border-radius:50%} .tourdots i.on{background:var(--teal)}
.days button.on,button.on{border-color:var(--teal);color:var(--tealtx)}
dialog{border-radius:16px}
@media (max-width:820px){.hero h1{font-size:24px}.otitle{font-size:22px!important}}
