/* Brand tokens. Light by default; dark when the computer is dark, unless Light is chosen in Settings (data-theme). */
:root{--page:#f7f4ee;--card:#f4f1ea;--input:#fff;--ink:#021710;--inkm:rgba(2,23,16,.65);--card-line:#8d9793;--hair-soft:rgba(2,23,16,.12);--input-line:rgba(2,23,16,.35);--line2:#8d9793;--mineb:#114834;--mine-ink:#f4f1ea;--amber:#ebaa4c;--on-amber:#021710;--focus:#114834;--sel:#e7e2d7;--hover:#eeeae1;--chip-on:#021710;--chip-on-ink:#f7f4ee;--scrim:rgba(2,23,16,.35);--danger:#a8321f;--teal:#114834;--on-teal:#f4f1ea;color-scheme:light;
  --bg:var(--page);--mute:var(--inkm);--line:var(--card-line);--mine:var(--mineb);--glow:#ebaa4c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--page:#021710;--card:#11251e;--input:#20332d;--ink:#f4f1ea;--inkm:#8d9793;--card-line:#20332d;--hair-soft:#20332d;--input-line:#20332d;--line2:#2f4640;--mineb:#20332d;--mine-ink:#f4f1ea;--focus:#ebaa4c;--sel:#20332d;--hover:#17302a;--chip-on:#f4f1ea;--chip-on-ink:#021710;--scrim:rgba(0,0,0,.55);--danger:#ff9b8f;--teal:#f4f1ea;--on-teal:#021710;color-scheme:dark}}
:root[data-theme="dark"]{--page:#021710;--card:#11251e;--input:#20332d;--ink:#f4f1ea;--inkm:#8d9793;--card-line:#20332d;--hair-soft:#20332d;--input-line:#20332d;--line2:#2f4640;--mineb:#20332d;--mine-ink:#f4f1ea;--focus:#ebaa4c;--sel:#20332d;--hover:#17302a;--chip-on:#f4f1ea;--chip-on-ink:#021710;--scrim:rgba(0,0,0,.55);--danger:#ff9b8f;--teal:#f4f1ea;--on-teal:#021710;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;height:100%}
body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
[hidden]{display:none!important}
a{color:var(--teal)}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{opacity:.5;cursor:default}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mute{color:var(--mute)}
.fine{font-size:13.5px;color:var(--mute);max-width:34em}
.plain{padding:40px 22px;text-align:center}

.center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:max(28px,env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom))}
.orb{width:min(40vw,150px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6d79a 0,#ebaa4c 30%,#6f7f45 66%,#114834 100%);animation:breathe 5s ease-in-out infinite}
.orb.small{width:64px}
@keyframes breathe{50%{transform:scale(1.045)}}
@media (prefers-reduced-motion:reduce){.orb{animation:none}}
h1{font-size:clamp(26px,5vw,36px);line-height:1.1;letter-spacing:-.02em;margin:10px 0 0;text-wrap:balance}
.lead{margin:0;max-width:30em}
.steps{text-align:left;margin:8px 0 0;padding-left:1.3em;max-width:30em}
.steps li{margin:4px 0}
.qr{width:220px;height:220px;image-rendering:pixelated;border-radius:12px;margin:6px auto 14px;display:block;background:#fff}
.qr[hidden]{display:none}
.code{font:600 clamp(30px,8vw,46px)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.14em;padding:18px 22px 18px calc(22px + .14em);border-radius:16px;background:var(--card);border:1px solid var(--line);user-select:all}

.primary{background:var(--teal);color:var(--on-teal);border:0;border-radius:12px;padding:11px 20px;font-weight:600}
.ghost{background:none;border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-size:14.5px;color:var(--mute)}
.ghost:hover{color:var(--ink)}

#chat{height:100%;display:flex;flex-direction:column;max-width:860px;margin:0 auto}
#chat header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:max(12px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line)}
.who{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em}
.dot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6d79a 0,#ebaa4c 30%,#6f7f45 66%,#114834 100%)}
.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.switch{display:flex;align-items:center;gap:6px;font-size:14.5px;color:var(--mute);cursor:pointer}
.switch input{accent-color:var(--teal);width:17px;height:17px;margin:0}

#log{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.empty{margin:auto;text-align:center;color:var(--mute);max-width:24em}
.msg{max-width:min(82%,640px);padding:10px 14px;border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.them{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:6px}
.msg.me{align-self:flex-end;background:var(--mine);color:var(--mine-ink);border-bottom-right-radius:6px}
.msg.them:empty::after{content:"…";color:var(--mute)}
.msg.problem{color:var(--danger)}
.day{align-self:center;font-size:13px;color:var(--mute);margin:6px 0 0}

.card{align-self:flex-start;width:min(100%,640px);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:8px}
.card h2{font-size:16px;margin:0;letter-spacing:-.01em}
.card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.card .detail{color:var(--mute);font-size:15px}
.card .caution{font-size:14px;color:var(--danger)}
.card .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.card a.primary{display:inline-block;text-decoration:none}
.card ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.card li{display:flex;gap:8px;align-items:baseline}
.card li::before{content:"○";color:var(--mute)}
.card li.done{color:var(--mute);text-decoration:line-through}
.card li.done::before{content:"●"}
.card iframe{width:100%;height:420px;border:0;border-radius:10px;background:var(--bg);resize:vertical}
.card.settled{opacity:.75}

#chat.reading #log,#chat.reading .status,#chat.reading #say,#chat.reading #voice-note,#chat.reading #desktop-get-chat{display:none}
#news{flex:1;overflow-y:auto;padding:12px 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
#news-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;flex:none}
.tab{flex:none;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:15px;font-weight:600}
.tab[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}
#news-find{display:flex;gap:8px;flex:none}
#news-topic{flex:1;min-width:0;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 14px}
#news-list{display:grid;gap:12px}
.story{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:8px;justify-items:start;max-width:720px}
.story h2{font-size:18px;line-height:1.3;margin:0;letter-spacing:-.01em;overflow-wrap:anywhere}
.story h2 a{color:inherit;text-decoration:none}
.story h2 a:hover{text-decoration:underline}
.story p{margin:0;overflow-wrap:anywhere}
.story .detail{color:var(--mute);font-size:15.5px}
.story .meta{font-size:14px;color:var(--mute)}
.story .meta.many{color:var(--teal);font-weight:600}
.story details{font-size:15px}
.story summary{cursor:pointer;color:var(--mute)}
.story ul{margin:6px 0 0;padding-left:1.2em;display:grid;gap:4px}
.story .tag{margin-left:8px;font-size:13px;color:var(--mute)}

#cal{flex:1;overflow-y:auto;padding:12px 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
#cal-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;flex:none}
#cal-body{display:grid;gap:12px;max-width:720px}
#work{flex:1;overflow-y:auto;padding:12px 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
#work-body{display:grid;gap:10px;max-width:720px}
#work-body .cal-item a{margin-left:auto}
.cal-day{font-size:14px;font-weight:600;color:var(--mute);margin:6px 0 -4px}
.cal-day.today{color:var(--teal)}
.cal-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;display:flex;gap:12px;align-items:center}
.cal-item .when{flex:none;min-width:4.4em;font-variant-numeric:tabular-nums;color:var(--mute);font-size:15px}
.cal-item .what{flex:1;min-width:0;overflow-wrap:anywhere}
.cal-item .what small{display:block;color:var(--mute);font-size:13.5px}
.cal-item .late{color:var(--danger)}
.cal-item input[type=checkbox]{accent-color:var(--teal);width:20px;height:20px;margin:0;flex:none}
.cal-item.off{opacity:.6}
.cal-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cal-form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:8px}
.cal-form h2{font-size:16px;margin:0}
.cal-form .fields{display:flex;gap:8px;flex-wrap:wrap}
.cal-form input,.cal-form select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:7px 10px;min-width:0}
.cal-form input[type=text]{flex:1 1 14em}
.cal-form label{display:flex;gap:6px;align-items:center;font-size:14.5px;color:var(--mute)}
.cal-form .days{display:flex;gap:6px;flex-wrap:wrap}
.cal-form .days label{border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.cal-note{margin:0;font-size:14.5px;color:var(--mute)}
.cal-note.bad{color:var(--danger)}
#jnotes{flex:1;overflow-y:auto;padding:12px 16px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
#jnotes-find{display:flex;flex:none}
#jnotes-query{flex:1;min-width:0;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 14px}
#jnotes-folders{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;flex:none}
#jnotes-folders:empty{display:none}
#jnotes-body{display:grid;gap:10px;max-width:720px}
.jn-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.jn-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:none;border:0;border-radius:0;padding:10px 14px;font:inherit;color:inherit;cursor:pointer}
.jn-title{font-weight:600;overflow-wrap:anywhere}
.jn-head small{color:var(--mute);font-size:13.5px}
.jn-body{padding:0 14px 12px;display:grid;gap:6px;overflow-wrap:anywhere}
.jn-body p,.jn-body h2,.jn-body h3{margin:0}
.jn-h{font-size:18px;margin-top:6px}
h3.jn-h{font-size:16px}
.jn-text{white-space:pre-wrap}
.jn-check.done{color:var(--mute);text-decoration:line-through}
.jn-mute{color:var(--mute);font-size:14.5px}
.jn-pic{margin:4px 0}
.jn-pic img{display:block;max-width:100%;height:auto;border-radius:10px;border:1px solid var(--line);background:#fff}
.jn-pic figcaption{color:var(--mute);font-size:13.5px;margin-top:4px}
.status{min-height:1.4em;margin:0;padding:0 18px;font-size:14px;color:var(--mute)}
#say{display:flex;align-items:flex-end;gap:8px;padding:8px 12px max(12px,env(safe-area-inset-bottom))}
#text{flex:1;resize:none;max-height:9.5em;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:10px 16px}
.round{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);padding:0}
.round.primary{border:0;background:var(--teal);color:var(--on-teal)}
#mic[aria-pressed="true"]{background:var(--danger);border-color:var(--danger);color:#fff;animation:breathe 1.2s ease-in-out infinite}
#voice-note{padding:0 18px 10px;margin:0}
#desktop-get-chat{padding:0 18px 10px;margin:0;font-size:12.5px}
.link-inline{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.link-inline:hover{color:var(--ink)}
.desktop-get[hidden]{display:none}
@media (pointer:coarse){#desktop-get-chat{display:none}}

@media (max-width:520px){.switch span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.msg{max-width:90%}}

/* ── The signed-in app: rail, chats, conversation, panel (deskchat.js). No shadows; amber only for the one main action. ── */
#desk{display:flex;height:100%;overflow:hidden;background:var(--page);font-size:14px;line-height:1.4}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.small{font-size:12px}
kbd{font:500 11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--inkm);border:1px solid var(--card-line);border-radius:4px;padding:1px 5px;background:var(--card);white-space:nowrap}
.amber{background:var(--amber);color:var(--on-amber);border:0;border-radius:999px;font-weight:600;font-size:14px;min-height:36px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.amber:focus-visible{outline-color:var(--focus)}
.chip-btn{min-height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--card-line);background:var(--input);font-size:12px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px}
.chip-btn:hover{background:var(--hover)}
.chip-btn.strong{font-weight:600}
.chip-btn.icon{width:28px;padding:0}
.chip-btn.danger,.danger{color:var(--danger)}
.link-btn{background:none;border:0;color:var(--inkm);font-size:12px;padding:4px 6px;border-radius:6px}
.link-btn:hover{color:var(--ink)}
.icon-btn{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:8px;border:0;background:none;color:var(--inkm);padding:0}
.icon-btn:hover{color:var(--ink)}
.icon-btn.boxed{border:1px solid var(--card-line);background:var(--input)}
.icon-btn:disabled{opacity:.4}

#rail{width:64px;flex:none;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:16px 0;border-right:1px solid var(--hair-soft);background:var(--page)}
.rail-group{display:flex;flex-direction:column;gap:12px;align-items:center}
.rail-btn{width:40px;height:40px;border-radius:10px;border:0;background:none;color:var(--inkm);display:grid;place-items:center;padding:0}
.rail-btn:hover{color:var(--ink)}
.rail-btn[aria-current="page"]{background:var(--sel);color:var(--ink)}
.rail-me{width:36px;height:36px;border-radius:50%;background:var(--input);border:1px solid var(--card-line);font-size:12px;font-weight:600;color:var(--ink);padding:0}

#chats{width:var(--side-chats,340px);flex:none;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--card);border-right:1px solid var(--card-line);position:relative}
.chats-head{padding:14px 14px 10px;display:flex;flex-direction:column;gap:10px}
.chats-top{display:flex;align-items:center;justify-content:space-between}
.chats-title{font-size:20px;font-weight:600;margin:0;letter-spacing:-.01em;line-height:1.2}
.btn-new{height:28px;padding:0 10px;border-radius:999px;background:var(--input);border:1px solid var(--card-line);font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;color:var(--ink)}
.btn-new kbd{border:0;background:none;padding:0;font-size:10px}
.find-box{height:34px;display:flex;align-items:center;gap:8px;padding:0 6px 0 10px;border-radius:8px;background:var(--input);border:1px solid var(--input-line);color:var(--inkm);cursor:text}
.find-box input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:13px;color:var(--ink);outline:none;padding:0}
.find-box input::placeholder{color:var(--inkm)}
.find-box:focus-within{outline:2px solid var(--focus);outline-offset:1px}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--input);border:1px solid var(--input-line);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--chip-on);border-color:var(--chip-on);color:var(--chip-on-ink);font-weight:600}
.needs-row{display:flex;align-items:center;gap:4px;margin:0 14px 8px;padding:7px 10px;border-radius:8px;border:1px solid var(--input-line);background:var(--input);font-size:12px;color:var(--ink);text-align:left}
.needs-row .mute{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-link{margin:0 14px 10px;padding:12px;border:1px solid var(--card-line);border-radius:10px;background:var(--input);display:grid;gap:8px;justify-items:start;font-size:13px}
.chat-link p,.notice p{margin:0}
.link-title{display:flex;align-items:center;gap:4px;font-weight:600}
.chat-list{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;border-top:1px solid var(--hair-soft)}
.row{width:100%;min-height:68px;display:flex;align-items:center;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid var(--hair-soft);background:none;text-align:left;color:var(--ink);font:inherit;border-radius:0}
.row:hover{background:var(--hover)}
.row[aria-current="true"],.row[aria-pressed="true"]{background:var(--sel)}
.row:focus-visible{outline-offset:-2px}
.sel-mark{flex:none;color:var(--ink);display:grid}
.av{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--input);border:1px solid var(--card-line);font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.orb-av,.orb-btn{background:radial-gradient(circle at 35% 30%,#f6d79a 0,#ebaa4c 30%,#6f7f45 66%,#114834 100%);border:0}
.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.row-l1,.row-l2{display:flex;align-items:center;gap:6px;min-width:0}
.row-name{flex:1;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-time{flex:none;font-size:11px;color:var(--inkm)}
.row-last{flex:1;min-width:0;font-size:12px;color:var(--inkm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}
.row-words{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-flag{flex:none;color:var(--inkm);display:grid}
.pill{flex:none;min-width:17px;height:17px;padding:0 6px;border-radius:999px;background:var(--chip-on);color:var(--chip-on-ink);font-size:10px;font-weight:700;display:grid;place-items:center}
.pill.quiet{background:var(--inkm)}
.pill:empty{min-width:10px;width:10px;height:10px;padding:0}
.tick{display:inline-grid;flex:none;color:var(--inkm)}
.tick.t3{color:var(--ink)}
.list-note{padding:16px 14px;color:var(--inkm);font-size:13px}
.row-link{width:100%;padding:12px 14px;border:0;background:none;text-align:left;color:var(--inkm);font-size:13px}
.row-link:hover{color:var(--ink)}
.bulk{flex:none;border-top:1px solid var(--card-line);padding:10px 14px;background:var(--card)}
.bulk-row{display:flex;align-items:center;gap:4px;font-size:13px}
.bulk-row b{margin-right:auto;white-space:nowrap}
.bulk .chip-btn{padding:0 7px;min-height:26px;white-space:nowrap}
.bulk .chip-btn.icon{width:26px;padding:0}
.bulk-hint{margin:6px 0 0;font-size:11px;color:var(--inkm)}

#pane{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;background:var(--page)}
#pane>#chat{width:100%;flex:1;min-height:0;height:auto}
#conv{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}
.conv-head{height:56px;flex:none;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--hair-soft);background:var(--card)}
.conv-who{flex:1;min-width:0;display:flex;align-items:center;gap:12px;background:none;border:0;padding:4px 6px;margin-left:-6px;border-radius:8px;text-align:left;color:var(--ink);font:inherit}
.conv-who:hover{background:var(--hover)}
.conv-who .av{width:36px;height:36px;font-size:13px}
.conv-names{display:flex;flex-direction:column;min-width:0}
.conv-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-sub{font-size:11px;color:var(--inkm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-actions{display:flex;gap:8px;flex:none}
.back{display:none}
.conv-find{display:flex;align-items:center;gap:10px;padding:8px 24px;border-bottom:1px solid var(--hair-soft);background:var(--card)}
.conv-find input{flex:1;max-width:420px;height:32px;border-radius:8px;border:1px solid var(--input-line);background:var(--input);padding:0 10px;font:inherit;font-size:13px;color:var(--ink)}
.conv-find output{font-size:12px}
.conv-scroll{flex:1;min-height:0;overflow-y:auto;padding:20px 24px 10px;overscroll-behavior:contain}
.conv-scroll:focus{outline:none}
.track{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding-top:40px}
.conv-note{align-self:center;color:var(--inkm);font-size:13px;margin:12px 0}
.conv-note.typing{align-self:flex-start;margin:0}
.notice{border:1px solid var(--card-line);border-radius:12px;background:var(--card);padding:14px 16px;display:grid;gap:8px;justify-items:start;font-size:13px}
.day-line{align-self:center;margin:6px 0}
.day-line span{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid var(--card-line);background:var(--card);font-size:11px;color:var(--inkm)}
.pinned-bar{display:flex;align-items:center;gap:8px;border:1px solid var(--card-line);border-radius:8px;background:var(--card);padding:8px 12px;font-size:12px;color:var(--ink);text-align:left;overflow:hidden;white-space:nowrap}

.m-row{display:flex;flex-direction:column;align-items:flex-start;position:relative;border-radius:14px}
.m-row.mine{align-items:flex-end}
.m-row.call{align-items:center}
.m-row.flash .bubble,.m-row.hit-now .bubble{outline:2px solid var(--focus);outline-offset:2px}
.m-row.hit .bubble{border-color:var(--focus)}
.m-who{font-size:12px;font-weight:600;color:var(--inkm);margin:4px 0 4px 8px}
.bubble{max-width:min(480px,85%);border-radius:14px;border-bottom-left-radius:4px;padding:10px 14px;font-size:14px;line-height:1.42;background:var(--card);border:1px solid var(--card-line);color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}
.mine .bubble{background:var(--mineb);border-color:var(--mineb);color:var(--mine-ink);border-bottom-left-radius:14px;border-bottom-right-radius:4px}
.bubble a{color:inherit;text-decoration:underline}
.bubble.gone{font-style:italic}
.bubble.gone .mute{display:inline-flex;align-items:center;gap:4px}
/* "Locked message" / "You deleted this message" on your own bubble: --mute is dark ink in light mode (1.5:1 on --mineb).
   The bubble's own ink at .85: 7.2:1 on #114834 (light), 9.0:1 on #20332d (dark). */
.mine .bubble.gone .mute{color:var(--mine-ink);opacity:.85}
.bubble.has-photo{padding:6px 6px 8px}
.bubble.has-photo .meta{margin-right:6px}
.meta{float:right;margin:6px 0 0 12px;font-size:11px;line-height:1;color:var(--inkm);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.mine .meta{color:var(--mine-ink);opacity:.8}
.mine .tick,.mine .tick.t3{color:var(--mine-ink)}
.mine .tick.t1,.mine .tick.t2{opacity:.75}
.m-text{display:inline}
.fwd{font-size:11px;color:var(--inkm);display:flex;align-items:center;gap:4px;margin-bottom:4px}
.mine .fwd{color:var(--mine-ink);opacity:.8}
.quote{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:0 0 8px;padding:6px 10px;border:0;border-left:3px solid var(--inkm);border-radius:6px;background:var(--hover);color:var(--ink);font:inherit;font-size:12px;text-align:left}
.mine .quote{background:rgba(244,241,234,.12);color:var(--mine-ink);border-left-color:var(--mine-ink)}
.quote span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.photo{display:block;padding:0;border:0;background:var(--input);border-radius:10px;overflow:hidden;min-width:200px;min-height:150px;max-width:340px}
.photo img{display:block;max-width:340px;max-height:360px;width:100%;height:auto;object-fit:cover}
.photo-wait{display:grid;place-items:center;width:200px;height:150px;color:var(--inkm)}
.big-photo{display:block;max-width:100%;max-height:70vh;margin:0 auto 12px;border-radius:8px}
.voice{display:flex;align-items:center;gap:10px;min-width:220px}
.play{width:32px;height:32px;border-radius:50%;border:1px solid var(--card-line);background:var(--input);color:var(--ink);display:grid;place-items:center;padding:0;flex:none}
.wave{display:flex;align-items:center;gap:2px;height:24px;flex:1}
.wave i{display:block;width:3px;border-radius:2px;background:currentColor;opacity:.45}
.voice.on .wave i{opacity:.9}
.file-card{display:flex;align-items:center;gap:12px;min-width:260px;padding:10px 12px;margin-bottom:4px;border-radius:10px;border:1px solid var(--card-line);background:var(--input);color:var(--ink);white-space:normal}
.file-ic{width:36px;height:40px;flex:none;border-radius:6px;border:1px solid var(--card-line);display:grid;place-items:center;font-size:9px;background:var(--card)}
.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.file-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.call-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--card-line);background:var(--card);font-size:13px;color:var(--ink)}
.reacts{display:flex;gap:4px;margin:-6px 8px 0;position:relative}
.react{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;border:1px solid var(--card-line);background:var(--input);font-size:11px;color:var(--ink)}
.translation{max-width:min(480px,85%);margin-top:4px;padding:8px 12px;border-radius:10px;border:1px dashed var(--card-line);font-size:13px;display:grid;gap:2px;white-space:pre-wrap}

.m-tools{position:absolute;bottom:100%;left:0;margin-bottom:6px;display:none;align-items:center;gap:4px;height:34px;padding:0 6px;background:var(--input);border:1px solid var(--line2);border-radius:8px;z-index:6;white-space:nowrap}
.m-tools.right{left:auto;right:0}
.m-row:hover>.m-tools,.m-row:focus-within>.m-tools{display:flex}
.tb-group{display:flex;align-items:center;gap:2px}
.tb-div{width:1px;height:16px;background:var(--line2);margin:0 3px}
.tb-icon{width:26px;height:26px;border-radius:5px;border:0;background:none;color:var(--inkm);display:grid;place-items:center;padding:0}
.tb-icon:hover,.tb-icon[aria-pressed="true"]{color:var(--ink);background:var(--card)}
.tb-chip{font-size:11px;font-weight:500;padding:3px 8px;border-radius:5px;background:var(--card);border:1px solid var(--line2);color:var(--ink)}
.tb-text{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 8px;border-radius:5px;border:0;background:none;color:var(--ink)}
.tb-chip:hover,.tb-text:hover{background:var(--hover)}

.catch{border:1px solid var(--card-line);border-radius:12px;background:var(--card);padding:14px 18px;display:flex;flex-direction:column;gap:10px;margin-bottom:6px;white-space:normal}
.catch p{margin:0;font-size:13px}
.catch-head{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.dot-ink{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink);margin-right:8px;vertical-align:middle}
.catch-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13.5px}
.catch-list b{font-weight:600;color:var(--inkm)}
.catch-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--hair-soft);padding-top:10px}

.composer-wrap{flex:none;padding:10px 24px 14px;border-top:1px solid var(--hair-soft);background:var(--page)}
.composer{max-width:760px;margin:0 auto;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 8px;border-radius:24px;background:var(--input);border:1px solid var(--input-line)}
.composer:focus-within{outline:2px solid var(--focus);outline-offset:1px}
#conv-text{flex:1;min-width:0;resize:none;border:0;background:none;font:inherit;font-size:14px;line-height:1.4;color:var(--ink);padding:9px 4px;max-height:180px;outline:none}
#conv-text::placeholder{color:var(--inkm)}
#conv-text:disabled{cursor:not-allowed}
.talk-hint{align-self:center}
.send-btn{width:36px;padding:0}
.orb-btn{width:36px;height:36px;border-radius:50%;flex:none;padding:0}
.conv-status{max-width:760px;margin:4px auto 0;min-height:1.2em;font-size:12px;color:var(--inkm)}
.reply-bar{max-width:760px;margin:0 auto 8px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-left:3px solid var(--inkm);border-radius:8px;background:var(--card);font-size:12px}
.reply-bar div{flex:1;min-width:0;display:flex;flex-direction:column}
.reply-bar span{color:var(--inkm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.drop{position:absolute;top:66px;left:24px;right:24px;bottom:96px;z-index:15;border:2px dashed var(--line2);border-radius:14px;background:var(--page);opacity:.94;display:grid;place-items:center;pointer-events:none}
.drop-box{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--inkm);font-size:13px;padding:16px}
.drop-box b{font-size:18px;color:var(--ink)}
.drop-icon{width:64px;height:64px;border-radius:12px;border:1px solid var(--card-line);background:var(--input);display:grid;place-items:center;color:var(--ink)}
.tray{max-width:760px;margin:0 auto 10px;border:1px solid var(--card-line);border-radius:12px;background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.tray-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;flex-wrap:wrap}
.tray-files{display:flex;gap:8px;flex-wrap:wrap}
.tray-tile{position:relative;width:116px;height:84px;border-radius:8px;border:1px solid var(--card-line);background:var(--mineb);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.tray-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tray-ic{position:absolute;inset:0 0 28px;display:grid;place-items:center;color:var(--mine-ink)}
.tray-cap{position:relative;background:var(--input);padding:3px 8px;display:flex;flex-direction:column;font-size:11px;line-height:1.3}
.tray-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tray-x{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:1px solid var(--card-line);background:var(--input);display:grid;place-items:center;padding:0;color:var(--ink)}
.tray-add{width:84px;height:84px;border:1px dashed var(--line2);border-radius:8px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--inkm);font-size:18px}
.tray-form{display:flex;gap:10px}
#tray-caption{flex:1;min-width:0;height:40px;border-radius:8px;border:1px solid var(--input-line);background:var(--input);padding:0 12px;font:inherit;font-size:14px;color:var(--ink)}

.panel{width:360px;flex:none;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--card-line);background:var(--card)}
.panel-head{height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--hair-soft)}
.panel-head h2{font-size:15px;margin:0;font-weight:600}
.panel-body{flex:1;min-height:0;overflow-y:auto}
.panel-top{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 18px 18px;border-bottom:1px solid var(--hair-soft);text-align:center}
.panel-top h3{margin:6px 0 0;font-size:17px}
.panel-top p{margin:0}
.av.big{width:72px;height:72px;font-size:24px}
.panel-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.panel-actions .chip-btn,.panel-actions .amber{height:38px;border-radius:999px;padding:0 16px;font-size:13px}
.panel-sec{padding:14px 18px;border-bottom:1px solid var(--hair-soft)}
.panel-sec h4{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--inkm);display:flex;justify-content:space-between}
.panel-sec .count{letter-spacing:0}
.panel-sec p{margin:0}
.seg{display:flex;gap:6px}
.seg-btn{flex:1;height:32px;border-radius:6px;border:1px solid var(--card-line);background:var(--input);font-size:12px;color:var(--ink)}
.seg-btn[aria-pressed="true"]{background:var(--chip-on);border-color:var(--chip-on);color:var(--chip-on-ink);font-weight:600}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.strip-tile{height:72px;border-radius:6px;border:1px solid var(--card-line);background:var(--input) center/cover no-repeat;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:6px;font-size:10px;color:var(--ink);overflow:hidden;text-align:left}
.strip-tag{font-weight:700}
.strip-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strip-tile.pic .strip-tag,.strip-tile.pic .strip-name{background:rgba(2,23,16,.72);color:#f4f1ea;padding:1px 4px;border-radius:3px}
.panel-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 0;border:0;background:none;font-size:14px;color:var(--ink);text-align:left}
.panel-row.danger{color:var(--danger)}
.panel-row .grow,.grow{flex:1;min-width:0}
.members{display:grid;gap:6px;font-size:13px}

.scrim{position:fixed;inset:0;z-index:50;background:var(--scrim);display:flex;align-items:flex-start;justify-content:center;padding:84px 16px 16px}
.cmdk{width:min(680px,100%);max-height:calc(100vh - 110px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--card-line);border-radius:12px;overflow:hidden}
.cmdk-in{display:flex;align-items:center;gap:12px;padding:0 20px;height:58px;flex:none;border-bottom:1px solid var(--hair-soft);color:var(--inkm)}
#cmdk-q{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:18px;color:var(--ink);outline:none}
#cmdk-q::-webkit-search-cancel-button,.find-box input::-webkit-search-cancel-button{display:none}
.cmdk-body{flex:1;min-height:120px;overflow-y:auto;padding:12px 20px}
.cmdk-sec{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--inkm);margin:14px 0 6px}
.cmdk-empty{font-size:13px;margin:8px 0}
.opt{width:100%;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;border:0;background:none;text-align:left;color:var(--ink);font:inherit;font-size:13px}
.opt.active{background:var(--sel)}
.opt .av{width:32px;height:32px;font-size:12px}
.file-av{color:var(--ink)}
.opt-two{display:flex;flex-direction:column;min-width:0}
.opt-title{font-weight:600}
.opt-sub{font-size:12px;color:var(--inkm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ask-row{border:1px solid var(--card-line)}
mark{background:var(--sel);color:var(--ink);border-radius:3px;padding:0 3px;font-weight:600}
.answer{border:1px solid var(--card-line);border-radius:10px;padding:14px 16px;background:var(--input);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.answer-head{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--inkm);margin:0;display:flex;gap:6px;align-items:center}
.answer-text{margin:0;font-size:14px;line-height:1.5}
.answer .amber{width:auto}
.answer .amber.active{outline:2px solid var(--focus);outline-offset:2px;background:var(--amber)}
.cmdk-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.opt.tile{height:80px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;border:1px solid var(--card-line);background:var(--input) center/cover no-repeat}
.opt.tile.pic span{background:rgba(2,23,16,.72);color:#f4f1ea;padding:0 4px;border-radius:3px}
.tile-name{font-weight:600}
.cmdk-foot{flex:none;display:flex;gap:16px;align-items:center;padding:10px 20px;border-top:1px solid var(--hair-soft);font-size:12px;color:var(--inkm);flex-wrap:wrap}
.cmdk-foot kbd{margin-right:3px}
.cmdk-note{margin-left:auto}
.dialog{width:min(460px,100%);max-height:calc(100vh - 110px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--card-line);border-radius:12px;overflow:hidden}
.dialog.wide{width:min(900px,100%)}
.dialog-body{padding:16px 18px;overflow-y:auto;display:grid;gap:12px;justify-items:start;font-size:14px}
.dialog-body p{margin:0}
.dialog-body .qr{margin:4px 0}
.dialog-body .code{font-size:28px;padding:10px 16px}
.pick-q{width:100%;height:36px;border-radius:8px;border:1px solid var(--input-line);background:var(--input);padding:0 12px;font:inherit;font-size:14px;color:var(--ink)}
.pick-list{width:100%;display:grid;gap:2px}
.pick-row{width:100%;display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;border:0;background:none;text-align:left;color:var(--ink);font:inherit;font-size:14px}
.pick-row:hover{background:var(--hover)}
.pick-row .av{width:32px;height:32px;font-size:12px}
.theme-set{border:1px solid var(--card-line);border-radius:10px;padding:10px 14px;margin:0;width:100%;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.theme-set legend{font-weight:600;padding:0 4px}
.theme-set p{width:100%}
.radio{display:flex;align-items:center;gap:6px;cursor:pointer}
.radio input{accent-color:var(--focus);margin:0}
.set-sec{width:100%;display:grid;gap:8px;justify-items:start}
.set-sec h3{margin:0;font-size:14px}
.keys{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px}
.keys dt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--inkm)}
.keys dd{margin:0}
.menu{position:fixed;z-index:60;min-width:220px;background:var(--card);border:1px solid var(--card-line);border-radius:10px;padding:6px}
.menu-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 10px;border:0;background:none;border-radius:6px;font-size:13px;color:var(--ink);text-align:left}
.menu-item:hover,.menu-item:focus-visible{background:var(--sel)}
.menu-item kbd{border:0;background:none;padding:0}
.menu-sep{height:1px;background:var(--hair-soft);margin:4px 6px}
/* Calls on the computer (deskcall.js): the call in a box at the bottom right, larger on demand; a ringing call at the top right. */
.dc-call{position:fixed;right:16px;bottom:16px;z-index:60;width:min(360px,calc(100vw - 32px));height:min(540px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--card);border:1px solid var(--card-line);border-radius:14px;overflow:hidden;color:var(--ink)}
.dc-call.video{width:min(560px,calc(100vw - 32px));height:min(480px,calc(100vh - 32px))}
.dc-call.big{width:min(960px,calc(100vw - 32px));height:min(720px,calc(100vh - 32px))}
.dc-call[hidden],.dc-ring[hidden]{display:none}
.dc-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--hair-soft)}
.dc-who{flex:1;min-width:0;display:flex;flex-direction:column}
.dc-who b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-line{font-size:12px;color:var(--inkm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-stage{flex:1;min-height:0;position:relative;background:#060b0a;display:flex;align-items:center;justify-content:center}
.dc-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.dc-frame.dc-gone{visibility:hidden}
.dc-note{margin:0;padding:16px;font-size:13px;line-height:1.5;color:#e9f0ec;text-align:center;max-width:26em}
.dc-ring .dc-note{color:var(--inkm);padding:0;text-align:left}
.dc-ring{position:fixed;top:16px;right:16px;z-index:65;width:min(340px,calc(100vw - 32px));display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center;padding:16px;background:var(--card);border:1px solid var(--card-line);border-radius:14px;color:var(--ink)}
.dc-ring .av.big{width:52px;height:52px;font-size:18px}
.dc-ring-text{display:flex;flex-direction:column;min-width:0}
.dc-ring-text b{font-size:16px}
.dc-ring-btns{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.dc-ring .dc-note{grid-column:1/-1}
@media (prefers-reduced-motion:no-preference){.dc-ring:not([hidden]) .av{animation:dc-pulse 1.6s ease-in-out infinite}@keyframes dc-pulse{50%{outline:3px solid var(--amber);outline-offset:2px}}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--page);padding:10px 16px;border-radius:10px;font-size:13px;max-width:min(90vw,520px);text-align:center}

@media (max-width:1180px){.panel{position:absolute;top:0;right:0;bottom:0;z-index:20}}
/* The list column's divider (app.js JangoSide): drag to resize, double-click to reset; hidden with the rail button or Ctrl/⌘ + \. */
.side-grip{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:5;touch-action:none}
.side-grip::after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent;transition:background .12s}
.side-grip:hover::after,.side-grip:focus-visible::after,#desk.side-dragging .side-grip::after{background:var(--focus)}
.side-grip:focus-visible{outline:none}
#desk.side-dragging{cursor:col-resize;user-select:none}
#desk.side-dragging iframe{pointer-events:none}
#rail-side[aria-pressed="true"]{color:var(--ink)}
@media (min-width:761px){#desk.side-collapsed #chats,#desk.side-collapsed .ml-list{display:none}}
@media (max-width:760px){#rail-side,.side-grip{display:none}}
@media (max-width:760px){
  #chats{width:auto;flex:1}
  #desk.open #chats{display:none}
  #desk:not(.open) #pane{display:none}
  .back{display:grid}
  .conv-head{padding:0 8px;gap:6px}
  .conv-scroll{padding:12px}
  .composer-wrap{padding:8px 10px max(10px,env(safe-area-inset-bottom))}
  .talk-hint{display:none}
  .panel{width:100%}
  .scrim{padding:16px}
  .cmdk-note{margin-left:0}
}
@media (prefers-reduced-motion:no-preference){.m-row.flash .bubble{transition:outline-color .6s}}
/* Colour looks for the web page (docs/palette.md; values from app/Jango/Core/PaletteSoft.swift and ThemeChoiceLogic.swift). deskset.js sets html[data-palette]; none set = the look above. */
:root[data-palette="a"]:not([data-theme="dark"]){--page:#f6f5f0;--card:#eeede6;--input:#ffffff;--ink:#1f2824;--inkm:#5a645f;--card-line:#858e86;--hair-soft:#dad9d0;--input-line:#858e86;--line2:#858e86;--mineb:#dce7dd;--mine-ink:#1f2824;--amber:#ebaa4c;--on-amber:#1f2824;--focus:#3d6b55;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1f2824;--chip-on-ink:#f6f5f0;--danger:#a8402f;--teal:#3d6b55;--on-teal:#f6f5f0;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="a"]:not([data-theme="light"]){--page:#141815;--card:#1b211e;--input:#252c29;--ink:#eceae3;--inkm:#98a29c;--card-line:#2b322f;--hair-soft:#2b322f;--input-line:#2b322f;--line2:#2b322f;--mineb:#2e473b;--mine-ink:#eceae3;--amber:#ebaa4c;--on-amber:#1f2824;--focus:#ebaa4c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#eceae3;--chip-on-ink:#141815;--danger:#ee8b78;--teal:#8ec2a8;--on-teal:#141815;color-scheme:dark}}
:root[data-palette="a"][data-theme="dark"]{--page:#141815;--card:#1b211e;--input:#252c29;--ink:#eceae3;--inkm:#98a29c;--card-line:#2b322f;--hair-soft:#2b322f;--input-line:#2b322f;--line2:#2b322f;--mineb:#2e473b;--mine-ink:#eceae3;--amber:#ebaa4c;--on-amber:#1f2824;--focus:#ebaa4c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#eceae3;--chip-on-ink:#141815;--danger:#ee8b78;--teal:#8ec2a8;--on-teal:#141815;color-scheme:dark}
:root[data-palette="b"]:not([data-theme="dark"]){--page:#f4f4f2;--card:#ecece9;--input:#ffffff;--ink:#1b1e1d;--inkm:#5b615e;--card-line:#848886;--hair-soft:#d9d9d5;--input-line:#848886;--line2:#848886;--mineb:#e1e5e2;--mine-ink:#1b1e1d;--amber:#ebaa4c;--on-amber:#1b1e1d;--focus:#3f6e58;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1b1e1d;--chip-on-ink:#f4f4f2;--danger:#a8402f;--teal:#3f6e58;--on-teal:#f4f4f2;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="b"]:not([data-theme="light"]){--page:#101211;--card:#181b1a;--input:#222625;--ink:#ededea;--inkm:#9ba09d;--card-line:#2a2e2d;--hair-soft:#2a2e2d;--input-line:#2a2e2d;--line2:#2a2e2d;--mineb:#2b312f;--mine-ink:#ededea;--amber:#ebaa4c;--on-amber:#1b1e1d;--focus:#ebaa4c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#ededea;--chip-on-ink:#101211;--danger:#ee8b78;--teal:#86b89e;--on-teal:#101211;color-scheme:dark}}
:root[data-palette="b"][data-theme="dark"]{--page:#101211;--card:#181b1a;--input:#222625;--ink:#ededea;--inkm:#9ba09d;--card-line:#2a2e2d;--hair-soft:#2a2e2d;--input-line:#2a2e2d;--line2:#2a2e2d;--mineb:#2b312f;--mine-ink:#ededea;--amber:#ebaa4c;--on-amber:#1b1e1d;--focus:#ebaa4c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#ededea;--chip-on-ink:#101211;--danger:#ee8b78;--teal:#86b89e;--on-teal:#101211;color-scheme:dark}
:root[data-palette="c"]:not([data-theme="dark"]){--page:#f8f5ee;--card:#f1ede2;--input:#ffffff;--ink:#25241c;--inkm:#66634f;--card-line:#8c8770;--hair-soft:#e1dccb;--input-line:#8c8770;--line2:#8c8770;--mineb:#dee0c8;--mine-ink:#25241c;--amber:#ebaa4c;--on-amber:#25241c;--focus:#55652e;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#25241c;--chip-on-ink:#f8f5ee;--danger:#a8402f;--teal:#55652e;--on-teal:#f8f5ee;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="c"]:not([data-theme="light"]){--page:#181712;--card:#211f18;--input:#2b2920;--ink:#efede1;--inkm:#a5a38f;--card-line:#302e24;--hair-soft:#302e24;--input-line:#302e24;--line2:#302e24;--mineb:#3a4330;--mine-ink:#efede1;--amber:#ebaa4c;--on-amber:#25241c;--focus:#ebaa4c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#efede1;--chip-on-ink:#181712;--danger:#ee8b78;--teal:#bccb8b;--on-teal:#181712;color-scheme:dark}}
:root[data-palette="c"][data-theme="dark"]{--page:#181712;--card:#211f18;--input:#2b2920;--ink:#efede1;--inkm:#a5a38f;--card-line:#302e24;--hair-soft:#302e24;--input-line:#302e24;--line2:#302e24;--mineb:#3a4330;--mine-ink:#efede1;--amber:#ebaa4c;--on-amber:#25241c;--focus:#ebaa4c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#efede1;--chip-on-ink:#181712;--danger:#ee8b78;--teal:#bccb8b;--on-teal:#181712;color-scheme:dark}
:root[data-palette="warm"]:not([data-theme="dark"]){--page:#f0ece2;--card:#fcfbf9;--input:#ffffff;--ink:#1f1210;--inkm:#6a5a55;--card-line:#8a7c70;--hair-soft:#e3dccd;--input-line:#8a7c70;--line2:#8a7c70;--mineb:#eb9138;--mine-ink:#170a08;--amber:#eb9138;--on-amber:#1f1210;--focus:#bc3a2c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1f1210;--chip-on-ink:#f0ece2;--danger:#9e2a2b;--teal:#bc3a2c;--on-teal:#f0ece2;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="warm"]:not([data-theme="light"]){--page:#1a1210;--card:#2a1e1a;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#8f4219;--mine-ink:#f7eee6;--amber:#f08a4b;--on-amber:#1f1210;--focus:#f08a4b;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#ff9a7a;--on-teal:#1a1210;color-scheme:dark}}
:root[data-palette="warm"][data-theme="dark"]{--page:#1a1210;--card:#2a1e1a;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#8f4219;--mine-ink:#f7eee6;--amber:#f08a4b;--on-amber:#1f1210;--focus:#f08a4b;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#ff9a7a;--on-teal:#1a1210;color-scheme:dark}
:root[data-palette="laurel"]:not([data-theme="dark"]){--page:#f0ece2;--card:#e9ece4;--input:#ffffff;--ink:#1f1210;--inkm:#6a5a55;--card-line:#8a7c70;--hair-soft:#e3dccd;--input-line:#8a7c70;--line2:#8a7c70;--mineb:#465a4c;--mine-ink:#ffffff;--amber:#4a6050;--on-amber:#ffffff;--focus:#4a6050;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1f1210;--chip-on-ink:#f0ece2;--danger:#9e2a2b;--teal:#4a6050;--on-teal:#f0ece2;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="laurel"]:not([data-theme="light"]){--page:#1a1210;--card:#1b211d;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#2c3930;--mine-ink:#e8efe9;--amber:#7d9a85;--on-amber:#1f1210;--focus:#7d9a85;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#7d9a85;--on-teal:#1a1210;color-scheme:dark}}
:root[data-palette="laurel"][data-theme="dark"]{--page:#1a1210;--card:#1b211d;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#2c3930;--mine-ink:#e8efe9;--amber:#7d9a85;--on-amber:#1f1210;--focus:#7d9a85;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#7d9a85;--on-teal:#1a1210;color-scheme:dark}
:root[data-palette="cedar"]:not([data-theme="dark"]){--page:#f0ece2;--card:#eae8e0;--input:#ffffff;--ink:#1f1210;--inkm:#6a5a55;--card-line:#8a7c70;--hair-soft:#e3dccd;--input-line:#8a7c70;--line2:#8a7c70;--mineb:#5e4d3e;--mine-ink:#ffffff;--amber:#6e5844;--on-amber:#ffffff;--focus:#6e5844;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1f1210;--chip-on-ink:#f0ece2;--danger:#9e2a2b;--teal:#6e5844;--on-teal:#f0ece2;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="cedar"]:not([data-theme="light"]){--page:#1a1210;--card:#1f2420;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#3d332a;--mine-ink:#f2ede8;--amber:#aa8e75;--on-amber:#1f1210;--focus:#aa8e75;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#aa8e75;--on-teal:#1a1210;color-scheme:dark}}
:root[data-palette="cedar"][data-theme="dark"]{--page:#1a1210;--card:#1f2420;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#3d332a;--mine-ink:#f2ede8;--amber:#aa8e75;--on-amber:#1f1210;--focus:#aa8e75;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#aa8e75;--on-teal:#1a1210;color-scheme:dark}
:root[data-palette="slate"]:not([data-theme="dark"]){--page:#f0ece2;--card:#e6e9ec;--input:#ffffff;--ink:#1f1210;--inkm:#6a5a55;--card-line:#8a7c70;--hair-soft:#e3dccd;--input-line:#8a7c70;--line2:#8a7c70;--mineb:#3c4f62;--mine-ink:#ffffff;--amber:#43586c;--on-amber:#ffffff;--focus:#43586c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1f1210;--chip-on-ink:#f0ece2;--danger:#9e2a2b;--teal:#43586c;--on-teal:#f0ece2;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="slate"]:not([data-theme="light"]){--page:#1a1210;--card:#1a2022;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#263340;--mine-ink:#ecf1f6;--amber:#7c96ae;--on-amber:#1f1210;--focus:#7c96ae;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#7c96ae;--on-teal:#1a1210;color-scheme:dark}}
:root[data-palette="slate"][data-theme="dark"]{--page:#1a1210;--card:#1a2022;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#263340;--mine-ink:#ecf1f6;--amber:#7c96ae;--on-amber:#1f1210;--focus:#7c96ae;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#7c96ae;--on-teal:#1a1210;color-scheme:dark}
:root[data-palette="fig"]:not([data-theme="dark"]){--page:#f0ece2;--card:#ebe6e9;--input:#ffffff;--ink:#1f1210;--inkm:#6a5a55;--card-line:#8a7c70;--hair-soft:#e3dccd;--input-line:#8a7c70;--line2:#8a7c70;--mineb:#5b4855;--mine-ink:#ffffff;--amber:#614e5b;--on-amber:#ffffff;--focus:#614e5b;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#1f1210;--chip-on-ink:#f0ece2;--danger:#9e2a2b;--teal:#614e5b;--on-teal:#f0ece2;color-scheme:light}
@media (prefers-color-scheme:dark){:root[data-palette="fig"]:not([data-theme="light"]){--page:#1a1210;--card:#1f1a1e;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#372b33;--mine-ink:#f3edf1;--amber:#a38d9c;--on-amber:#1f1210;--focus:#a38d9c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#a38d9c;--on-teal:#1a1210;color-scheme:dark}}
:root[data-palette="fig"][data-theme="dark"]{--page:#1a1210;--card:#1f1a1e;--input:#33251f;--ink:#f7eee6;--inkm:#bca89f;--card-line:#3a2b26;--hair-soft:#3a2b26;--input-line:#3a2b26;--line2:#3a2b26;--mineb:#372b33;--mine-ink:#f3edf1;--amber:#a38d9c;--on-amber:#1f1210;--focus:#a38d9c;--sel:color-mix(in srgb,var(--ink) 10%,var(--page));--hover:color-mix(in srgb,var(--ink) 6%,var(--page));--chip-on:#f7eee6;--chip-on-ink:#1a1210;--danger:#ff8f86;--teal:#a38d9c;--on-teal:#1a1210;color-scheme:dark}
/* Settings extras (deskset.js): colour looks, privacy checkup, storage, tutorials. */
.set-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--card-line);border-radius:10px;background:var(--input);color:var(--ink);text-align:left}
.set-link:hover{background:var(--hover)}
.set-link small{color:var(--mute);font-size:12.5px}
.look-set{border:1px solid var(--card-line);border-radius:10px;padding:10px 14px;margin:0;width:100%;display:grid;gap:6px}
.look-set legend{font-weight:600;padding:0 4px}
.look-set .radio small{color:var(--mute);font-size:12.5px}
.sw{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid var(--card-line);vertical-align:-2px}
.rows{list-style:none;margin:0;padding:0;width:100%;display:grid;gap:8px}
.rows li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;padding:10px 12px;border:1px solid var(--card-line);border-radius:10px;background:var(--input)}
.rows .tag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--card-line);white-space:nowrap}
.rows .tag.good{color:var(--teal)}
.rows .tag.review{color:var(--danger)}
.rows .tag.phone{color:var(--mute)}
.rows li p{grid-column:2;margin:0}
.rows li b{font-weight:600}
.rows .row-act{grid-column:2;justify-self:start}
.tut-steps{margin:0;padding-left:1.3em;display:grid;gap:6px}
.tut-say{width:100%;margin:0;padding:10px 12px;border-radius:10px;background:var(--sel);font-style:italic}
.row-bar{display:flex;gap:8px;flex-wrap:wrap}

/* The talk lane (W7): explained answers, how-to steps, quick answers, and scrolling back through the conversation. */
.msg.rich{white-space:normal;display:grid;gap:8px;max-width:min(92%,680px)}
.msg.rich p,.msg.rich ul,.msg.rich ol,.msg.rich h3{margin:0}
.msg.rich .ex-h{font-size:16px;line-height:1.3;letter-spacing:-.01em;margin-top:4px}
.msg.rich .ex-h:first-child{margin-top:0}
.msg.rich .ex-ul,.msg.rich .ex-ol{padding-left:1.25em;display:grid;gap:5px}
.msg.rich .ex-ul.ex-needs,.msg.rich .ex-ol.ex-do{padding-left:0;list-style:none}
.msg.rich .ex-needs li,.msg.rich .ex-do li{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.msg.rich .ex-do{counter-reset:step}
.msg.rich .ex-do li{counter-increment:step;padding:8px 10px;border:1px solid var(--hair-soft);border-radius:12px}
.msg.rich .ex-do li.now{border-color:var(--teal);background:var(--input)}
.msg.rich .ex-do li>span{flex:1;min-width:10em}
.msg.rich li.got>span{color:var(--mute);text-decoration:line-through}
.msg.rich .ex-prog{font-size:14px;font-weight:600;color:var(--mute)}
.ex-tick{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--line);background:none;padding:0;display:grid;place-items:center;font-size:14px;line-height:1}
.ex-do .ex-tick::before{content:counter(step)}
.ex-needs .ex-tick{border-radius:6px}
.ex-tick[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}
.ex-do .ex-tick[aria-pressed="true"]::before{content:"\2713"}
.ex-needs .ex-tick[aria-pressed="true"]::before{content:"\2713"}
.ex-timer{flex:none}
.ex-save{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.yn-chips{align-self:flex-start;display:flex;gap:8px;flex-wrap:wrap}
.yn-chip{min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:600}
.yn-chip:hover{border-color:var(--teal)}
.older{align-self:center;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--mute)}
.older-jump{display:flex;align-items:center;gap:6px}
.older-jump input{font:inherit;font-size:14px;color:var(--ink);background:var(--input);border:1px solid var(--input-line);border-radius:8px;padding:4px 8px}
.msg.dropped{opacity:.8;display:grid;gap:6px;border:1px dashed var(--line)}
.msg.dropped .words{text-decoration:line-through;color:var(--mute)}
/* Get Hey Jango for your computer (deskinstall.js, lane n-desktop-install) */
.desktop-strip{display:flex;align-items:center;gap:8px;margin:0 14px 8px;padding:8px 10px;border-radius:8px;border:1px solid var(--input-line);background:var(--input);font-size:13px;color:var(--ink)}
.desktop-strip-text{flex:1;min-width:0;font-weight:600}
.desktop-strip-x{flex:none;width:28px;height:28px;font-size:18px;line-height:1;border:0;background:none;color:var(--mute);cursor:pointer}
.desktop-steps{margin:8px 0;padding-left:22px;display:grid;gap:8px;font-size:14px;line-height:1.45}
.desktop-card{display:grid;gap:8px;justify-items:start;font-size:14px}
.desktop-card p{margin:0}
.desktop-card .chip-btn{text-decoration:none}
@media (pointer:coarse){.desktop-strip,.desktop-sec{display:none}}
