/* Saathi web app. Claude's calm, editorial layout, in white and green. */
:root{
  --bg:#FFFFFF; --bg2:#F5F9F7; --ink:#14201A; --mut:#5F6F66; --line:#E2EAE5;
  --green:#0F8A5F; --green-ink:#0A6A49; --on-green:#FFFFFF; --tint:#E8F5EE; --tint2:#D4EDE1;
  --warn:#8A5A00; --warn-bg:#FFF5E0; --bad:#B3261E; --bad-bg:#FDECEA;
  --shadow:0 1px 2px rgba(20,32,26,.05),0 6px 24px rgba(20,32,26,.08);
  --shadow-sm:0 1px 2px rgba(20,32,26,.06),0 1px 1px rgba(20,32,26,.04);
  --shadow-lg:0 2px 4px rgba(20,32,26,.06),0 16px 48px rgba(20,32,26,.16);
  --ease:cubic-bezier(.2,.8,.2,1);--scale:1;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari",sans-serif;
  --serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Noto Serif","Noto Serif Devanagari",serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0D1411; --bg2:#131C17; --ink:#E7EFEA; --mut:#93A39A; --line:#24322B;
  --green:#2FB983; --green-ink:#5FD3A5; --on-green:#052318; --tint:#16302A; --tint2:#1D3F34;
  --warn:#E5B85C; --warn-bg:#2B2312; --bad:#F2938D; --bad-bg:#33191A;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.35); --shadow-sm:0 1px 2px rgba(0,0,0,.45); --shadow-lg:0 2px 4px rgba(0,0,0,.4),0 16px 48px rgba(0,0,0,.6); color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0D1411; --bg2:#131C17; --ink:#E7EFEA; --mut:#93A39A; --line:#24322B;
  --green:#2FB983; --green-ink:#5FD3A5; --on-green:#052318; --tint:#16302A; --tint2:#1D3F34;
  --warn:#E5B85C; --warn-bg:#2B2312; --bad:#F2938D; --bad-bg:#33191A;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.35); --shadow-sm:0 1px 2px rgba(0,0,0,.45); --shadow-lg:0 2px 4px rgba(0,0,0,.4),0 16px 48px rgba(0,0,0,.6); color-scheme:dark;}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);-webkit-text-size-adjust:100%;overflow:hidden}
button,textarea,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}
.sp{flex:1}

.app{height:100dvh;display:flex;flex-direction:column;max-width:100%}
.top{display:flex;align-items:center;gap:10px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));padding-top:max(10px,env(safe-area-inset-top));background:var(--bg);border-bottom:1px solid var(--line);flex:none}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.word{font:600 21px/1 var(--serif);letter-spacing:-.01em}
.word-hi{font:500 15px/1 var(--serif);color:var(--green-ink)}
.pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--bg2);border-radius:999px;padding:6px 12px;font-size:14px;font-variant-numeric:tabular-nums}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;border-radius:12px;color:var(--ink)}
.icon-btn:hover{background:var(--bg2)}
.icon-btn.round{border-radius:50%;flex:none;color:var(--mut)}

.human{display:flex;gap:10px;align-items:center;padding:10px 16px;background:var(--tint);color:var(--green-ink);font-size:14px;border-bottom:1px solid var(--tint2)}
.human svg{flex:none}

.chat{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}
.thread{max-width:740px;margin:0 auto;padding:22px 16px 30px;display:flex;flex-direction:column;gap:22px}
@media (prefers-reduced-motion:reduce){.chat{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* welcome */
.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:8vh 0 4vh}
.hero h1{font:600 clamp(28px,6vw,38px)/1.15 var(--serif);margin:10px 0 0;letter-spacing:-.02em;text-wrap:balance}
.hero p{margin:0;color:var(--mut);max-width:30em;font-size:17px;text-wrap:pretty}
.hero-note{display:inline-flex;align-items:center;gap:7px;font-size:14px!important;color:var(--green-ink)!important;background:var(--tint);padding:7px 13px;border-radius:999px;margin-top:8px!important}

/* messages */
.msg{display:flex;flex-direction:column;gap:10px;min-width:0}
.msg.me{align-items:flex-end}
.bubble-me{max-width:min(86%,520px);background:var(--tint);color:var(--ink);padding:10px 15px;border-radius:20px 20px 5px 20px;white-space:pre-wrap;overflow-wrap:anywhere}
.bubble-me img{display:block;max-width:100%;max-height:220px;border-radius:12px;margin:2px 0}
.bubble-me .file{display:flex;align-items:center;gap:8px;font-size:15px}
.bot{display:flex;gap:12px;align-items:flex-start;min-width:0}
.bot .av{flex:none;margin-top:4px}
.bot .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.txt{font:17px/1.68 var(--serif);overflow-wrap:anywhere;text-wrap:pretty}
.txt p{margin:0 0 .7em}.txt p:last-child{margin:0}
.txt strong{font-weight:650}
.txt.human-msg{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:11px 14px}
.from{font:600 12px/1 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--green-ink);margin-bottom:6px;display:block}

/* links: only official ones are tappable */
.link{display:inline;overflow-wrap:anywhere;font-family:var(--sans);font-size:.92em}
a.link.ok{color:var(--green-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.badge{display:inline-flex;align-items:center;gap:4px;font:600 11px/1 var(--sans);padding:3px 7px;border-radius:999px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.badge.ok{background:var(--tint);color:var(--green-ink)}
.badge.bad{background:var(--bad-bg);color:var(--bad)}
.link.bad{color:var(--bad);text-decoration:line-through;text-decoration-thickness:1px}
.link.pay{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:var(--green);color:var(--on-green);padding:11px 18px;border-radius:12px;font-weight:600;margin:4px 0}

/* buttons and lists */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:10px 16px;border-radius:999px;min-height:44px;font-size:15px;transition:background .12s,border-color .12s}
.chip:hover{background:var(--tint);border-color:var(--tint2)}
.chip.chosen{background:var(--green);border-color:var(--green);color:var(--on-green)}
.chips.done .chip:not(.chosen){opacity:.45}
.chips.done .chip{pointer-events:none}
.list{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg)}
.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 14px;min-height:56px}
.row:last-child{border-bottom:0}
.row:hover{background:var(--bg2)}
.row .t{font-weight:600;font-size:15.5px}
.row .d{color:var(--mut);font-size:13.5px;line-height:1.35;margin-top:1px}
.row .x{flex:1;min-width:0}
.row svg{flex:none;color:var(--mut)}
.list.done .row{pointer-events:none;opacity:.5}
.list.done .row.chosen{opacity:1;background:var(--tint)}

/* copy-ready sheet */
.sheet{border:1px solid var(--tint2);background:var(--bg);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.sheet-h{display:flex;align-items:center;gap:10px;padding:13px 16px;background:var(--tint);border-bottom:1px solid var(--tint2)}
.sheet-h b{font:600 16px/1.25 var(--serif);min-width:0}
.sheet-h .sp{flex:1}
.sheet-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}
.sheet-row .k{flex:1;min-width:0}
.sheet-row .l{font-size:12.5px;color:var(--mut);letter-spacing:.02em}
.sheet-row .v{font:600 16.5px/1.35 var(--sans);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.copy{flex:none;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:7px 12px;font-size:13.5px;min-height:36px}
.copy:hover{background:var(--tint)}
.copy.ok{background:var(--green);color:var(--on-green);border-color:var(--green)}
.sheet-miss{padding:11px 16px;background:var(--warn-bg);color:var(--warn);font-size:14px}
.sheet-note{padding:11px 16px;color:var(--mut);font-size:13.5px}
.sheet-all{white-space:nowrap;flex:none;border:0;background:var(--green);color:var(--on-green);border-radius:10px;padding:8px 14px;font-weight:600;font-size:14px}

/* typing + errors */
.typing{display:flex;gap:5px;padding:8px 2px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--green);opacity:.35;animation:bl 1.1s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}
@keyframes bl{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.err{background:var(--bad-bg);color:var(--bad);border-radius:12px;padding:11px 14px;font-size:15px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.link-btn{border:0;background:transparent;color:var(--green-ink);text-decoration:underline;text-underline-offset:3px;padding:6px 2px;font-size:14px}

/* composer */
.dock{flex:none;background:linear-gradient(to top,var(--bg) 70%,transparent);padding:6px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.composer-wrap{max-width:740px;margin:0 auto}
.composer{display:flex;align-items:flex-end;gap:4px;border:1px solid var(--line);background:var(--bg);border-radius:26px;padding:6px 6px 6px 6px;box-shadow:var(--shadow);transition:border-color .12s,box-shadow .12s}
.composer:focus-within{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent),var(--shadow)}
.composer textarea{flex:1;min-width:0;border:0;background:transparent;resize:none;outline:none;padding:9px 6px;max-height:160px;line-height:1.4;font-size:16px}
.send{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--green);color:var(--on-green);display:grid;place-items:center;transition:opacity .12s}
.send:disabled{opacity:.28;cursor:default}
.send.rec-stop{background:var(--bad)}
.trust{margin:8px 6px 0;text-align:center;font-size:12.5px;color:var(--mut);line-height:1.35}
.attach-wrap{position:relative}
.pop{position:absolute;bottom:48px;left:0;background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;min-width:210px;z-index:5}
.pop button{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;font-size:15px}
.pop button:hover{background:var(--tint)}
.rec{display:flex;align-items:center;gap:10px;background:var(--bad-bg);color:var(--bad);border-radius:14px;padding:9px 14px;margin-bottom:8px;font-size:14px}
.rec .rec-msg{flex:1;min-width:0}
.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--bad);animation:bl 1s infinite}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(10,20,15,.45);z-index:20}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--bg);border-left:1px solid var(--line);z-index:21;display:flex;flex-direction:column;box-shadow:var(--shadow);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.drawer-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 18px;border-bottom:1px solid var(--line);font:600 19px var(--serif)}
.drawer-list{flex:1;overflow-y:auto;padding:8px}
.d-item{display:flex;flex-direction:column;width:100%;text-align:left;border:0;background:transparent;padding:11px 12px;border-radius:12px;min-height:52px}
.d-item:hover{background:var(--tint)}
.d-item b{font-weight:600;font-size:15.5px}
.d-item span{color:var(--mut);font-size:13.5px}
.d-item.danger b{color:var(--bad)}
.drawer-foot{padding:12px 16px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.wa{display:block;text-align:center;background:var(--green);color:var(--on-green);text-decoration:none;font-weight:600;padding:12px;border-radius:12px}
.ghost{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px;font-size:15px}
.iosnote{margin:0;color:var(--mut);font-size:13px}
.foot-row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.foot-row a.link-btn{color:var(--green-ink)}

@media (min-width:820px){
  .thread{padding-top:32px}
  .txt{font-size:18px}
}


/* ---------- polish pass ---------- */
*{-webkit-tap-highlight-color:transparent}
::selection{background:color-mix(in srgb,var(--green) 28%,transparent)}
html{scrollbar-color:var(--line) transparent}
button{transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease),box-shadow .15s var(--ease),opacity .15s}
button:active:not(:disabled){transform:scale(.97)}
.icon-btn:active{background:var(--tint)}

/* text size setting */
.txt{font-size:calc(17px*var(--scale))}
.bubble-me,.chip,.row .t,.sheet-row .v,.composer textarea,.d-item b{font-size:calc(16px*var(--scale))}
@media (min-width:820px){.txt{font-size:calc(18px*var(--scale))}}

/* messages arrive, they don't pop */
.msg{animation:in .34s var(--ease) both}
.msg:nth-last-child(2){animation-delay:.03s}
@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.chip{box-shadow:var(--shadow-sm)}
.chip:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--green)}
.chip.chosen{box-shadow:none;transform:none}
.row .x{transition:transform .15s var(--ease)}
.row svg{transition:transform .15s var(--ease),color .15s}
.row:hover svg{transform:translateX(3px);color:var(--green)}
.list{box-shadow:var(--shadow-sm)}
.sheet-row .v{overflow-wrap:anywhere;word-break:break-word}
.sheet-row{transition:background-color .15s}.sheet-row:hover{background:var(--bg2)}
.copy{min-width:64px}
.send:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 14px color-mix(in srgb,var(--green) 40%,transparent)}
.send.busy{pointer-events:none}
.send.busy svg{display:none}
.send.busy::after{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--on-green) 35%,transparent);border-top-color:var(--on-green);animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pill{cursor:pointer}.pill:hover{border-color:var(--green);background:var(--tint)}
.brand{border-radius:10px;transition:opacity .15s}.brand:hover{opacity:.8}
.typing i{animation:bounce 1.2s infinite var(--ease)}
@keyframes bounce{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
.typing-note{color:var(--mut);font-size:14px;animation:in .3s var(--ease) both}

/* drawer + popover + sheet: slide, fade, never blink */
.scrim{opacity:0;transition:opacity .22s var(--ease);display:block;visibility:hidden}
.scrim.on{opacity:1;visibility:visible}
.drawer{display:flex;transform:translateX(102%);visibility:hidden;transition:transform .28s var(--ease),visibility 0s .28s;box-shadow:none}
.drawer.on{transform:none;visibility:visible;transition:transform .28s var(--ease);box-shadow:var(--shadow-lg)}
.pop{transform-origin:bottom left;animation:pop .16s var(--ease) both}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:none}}
.d-item{transition:background-color .15s,transform .12s}.d-item:hover{background:var(--tint)}

/* settings sheet */
.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:end center;padding:0;background:rgba(10,20,15,.5);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility 0s .2s}
.modal.on{opacity:1;visibility:visible;transition:opacity .2s var(--ease)}
.panel{width:min(560px,100%);max-height:min(88dvh,760px);overflow-y:auto;background:var(--bg);border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg);padding:18px 18px calc(22px + env(safe-area-inset-bottom));transform:translateY(24px);transition:transform .28s var(--ease);display:flex;flex-direction:column;gap:18px;overscroll-behavior:contain}
.modal.on .panel{transform:none}
@media (min-width:640px){.modal{place-items:center}.panel{border-radius:22px}}
.panel h2{font:600 22px/1.2 var(--serif);margin:0}
.panel h3{font:600 12.5px/1 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin:0 0 9px}
.panel-head{display:flex;align-items:center;gap:10px}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px}
.seg button{border:0;background:transparent;padding:9px 6px;border-radius:9px;min-height:40px;font-size:14.5px}
.seg button:hover{background:var(--tint)}
.seg button[aria-pressed="true"]{background:var(--bg);box-shadow:var(--shadow-sm);font-weight:600;color:var(--green-ink)}
.field{display:flex;gap:8px}
.field input{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px 12px;font:14px var(--mono);outline:none;transition:border-color .15s,box-shadow .15s}
.field input:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 22%,transparent)}
.btn{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 14px;min-height:44px;font-size:15px}
.btn:hover{background:var(--tint);border-color:var(--green)}
.btn.pri{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:600}
.btn.pri:hover{filter:brightness(1.06)}
.code{font:14px/1.6 var(--mono);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:11px 12px;overflow-wrap:anywhere;user-select:all}
.hint{color:var(--mut);font-size:13.5px;line-height:1.45;margin:8px 0 0}
.facts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:14.5px}
.facts li{display:flex;gap:9px;align-items:flex-start}.facts svg{flex:none;margin-top:3px;color:var(--green)}
.hold{position:relative;overflow:hidden;border:1px solid var(--bad);color:var(--bad);background:var(--bad-bg);border-radius:12px;min-height:46px;font-size:15px;font-weight:600;user-select:none;touch-action:none}
.hold::before{content:"";position:absolute;inset:0;background:var(--bad);opacity:.22;transform:scaleX(0);transform-origin:left}
.hold.holding::before{transform:scaleX(1);transition:transform 1.1s linear}
.hold span{position:relative}
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%,12px);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:999px;font-size:14px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s var(--ease);z-index:40;max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.trustrow{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin-top:12px;color:var(--mut);font-size:13.5px}
.trustrow span{display:inline-flex;gap:6px;align-items:center}.trustrow svg{color:var(--green)}
@media (max-width:359px){.word-hi{display:none}.top{gap:6px}.pill{padding:6px 9px}}
@media (prefers-reduced-motion:reduce){.msg,.pop,.typing i{animation:none!important}.drawer,.modal,.panel,.scrim{transition:none!important}}

/* locker card */
.vault{border-color:var(--green)}
.vault .lk{font-size:18px}
.vault .ttl{height:3px;background:var(--tint2)}
.vault .ttl i{display:block;height:100%;background:var(--green);transform-origin:left;transform:scaleX(1)}
.vault.hidden{border-style:dashed;background:var(--tint)}
.vault .l::first-letter{text-transform:uppercase}

/* ===== Saathi v3 skin: mint and deep green, Bricolage headings ===== */
@font-face{font-family:"Bricolage";src:url(/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --display:"Bricolage","Instrument Sans",ui-sans-serif,system-ui,sans-serif;
  --sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari",sans-serif;
  --serif:"Bricolage",ui-serif,Georgia,"Noto Serif","Noto Serif Devanagari",serif;
  --mint:#9DE8C0; --mint2:#C9F4DD;
  --bg:#FBFCFA; --bg2:#F1F6F2; --ink:#0B2A1D; --mut:#4B6156; --line:#DCE6DF;
  --tint:#DDF3E6; --tint2:#B9E9CF; --green-ink:#0A6A49;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--mint:#2FB983;--mint2:#1D3F34}}
:root[data-theme="dark"]{--mint:#2FB983;--mint2:#1D3F34}
body{font-family:var(--sans)}
.top{background:color-mix(in srgb,var(--bg) 88%,transparent);position:relative;z-index:2}
.word{font:800 22px/1 var(--display);letter-spacing:-.03em}
.word-hi{font:700 15px/1 var(--display)}
.txt{font:17px/1.65 var(--serif);font-variation-settings:"opsz" 14}
.txt strong{font-weight:700}
.bubble-me{background:var(--ink);color:#EAF7EF;border-radius:20px 20px 5px 20px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bubble-me{background:var(--mint);color:#052318}}
:root[data-theme="dark"] .bubble-me{background:var(--mint);color:#052318}
.chip{border-width:1.5px;font-weight:600;background:var(--bg)}
.chip:hover{background:var(--mint2);border-color:var(--green)}
.chip.chosen{background:var(--ink);border-color:var(--ink);color:var(--mint)}
.send{background:var(--ink);color:var(--mint)}

/* welcome */
.hero{align-items:stretch;text-align:left;padding:5vh 0 3vh;gap:8px}
.hero h1{font:800 clamp(34px,8vw,52px)/1.02 var(--display);letter-spacing:-.04em;margin:0 0 4px}
.hero>p{max-width:none;font-size:17px}
.hero-note,.trustrow{display:none}

/* icon tiles */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:600px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tiles.quick{margin-top:14px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;padding:14px;border:1.5px solid var(--line);border-radius:18px;background:var(--bg);box-shadow:var(--shadow-sm);transition:transform .16s var(--ease),border-color .16s,background .16s,box-shadow .16s;min-width:0}
.tile:hover{transform:translateY(-2px);border-color:var(--green);box-shadow:var(--shadow)}
.tile:active{transform:scale(.98)}
.tile .tic{width:42px;height:42px;border-radius:14px;background:var(--mint);color:#0B2A1D;display:grid;place-items:center;flex:none}
.tile .tic svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tile .tt{display:flex;flex-direction:column;gap:2px;min-width:0}
.tile b{font:700 16px/1.2 var(--display);letter-spacing:-.01em}
.tile small{font-size:13px;line-height:1.35;color:var(--mut)}
.tiles.list{border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.tiles.list.done .tile{pointer-events:none;opacity:.45}
.tiles.list.done .tile.chosen{opacity:1;background:var(--mint2);border-color:var(--green)}
.tiles.list .tile{flex-direction:row;align-items:center;gap:10px;padding:11px 12px;border-radius:16px}
.tiles.list .tile .tic{width:36px;height:36px;border-radius:12px}
.tiles.list .tile b{font-size:15px}
.tiles.list .tile small{display:none}
@media (min-width:600px){.tiles.list .tile small{display:block}}

/* side menu */
.drawer{width:min(340px,90vw);border-left:0;border-radius:24px 0 0 24px;background:var(--bg);overflow:hidden}
.drawer-head{background:var(--mint);color:#0B2A1D;border-bottom:0;padding:16px 12px 16px 20px;font:800 22px var(--display);letter-spacing:-.03em}
.drawer-head .icon-btn{color:#0B2A1D;background:rgba(11,42,29,.10)}
.drawer-head .icon-btn:hover{background:rgba(11,42,29,.18)}
.drawer-list{padding:12px;display:flex;flex-direction:column;gap:2px}
.d-item{flex-direction:row;align-items:center;gap:13px;padding:9px 10px;min-height:56px;border-radius:14px;transition:background .14s,transform .14s var(--ease)}
.d-item:hover{background:var(--mint2)}
.d-item:active{transform:scale(.98)}
.d-item .dic{width:38px;height:38px;border-radius:12px;background:var(--tint);color:var(--ink);display:grid;place-items:center;flex:none;transition:background .14s}
.d-item:hover .dic{background:var(--mint)}
.d-item .dic svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.d-item .dtx{display:flex;flex-direction:column;min-width:0;gap:1px}
.d-item b{font:650 15.5px/1.25 var(--sans)}
.d-item .dtx span{font-size:13px}
.d-item.danger{margin-top:10px;border-top:1px solid var(--line);border-radius:0 0 14px 14px;padding-top:14px}
.d-item.danger .dic{background:var(--bad-bg);color:var(--bad)}
.d-item.danger:hover{background:var(--bad-bg)}
.drawer-foot{border-top:0;background:var(--bg2);padding:14px 16px calc(16px + env(safe-area-inset-bottom))}
.wa{background:var(--ink);color:var(--mint);border-radius:14px;padding:13px;font-weight:650}
.ghost{border-radius:14px;font-weight:600;border-width:1.5px}
.foot-row{padding-top:2px}
.foot-row .link-btn{font-size:14px;font-weight:600}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wa{background:var(--mint);color:#052318}:root:not([data-theme="light"]) .drawer-head{color:#052318}:root:not([data-theme="light"]) .d-item .dic{color:var(--ink)}}
:root[data-theme="dark"] .wa{background:var(--mint);color:#052318}
:root[data-theme="dark"] .drawer-head{color:#052318}
.d-item{color:var(--ink)}.d-item.danger b{color:var(--bad)}

/* ===== Claude style: warm paper, serif voice, hairlines, almost no colour except a quiet green ===== */
:root{
  --bg:#FAF9F5; --bg2:#F3F1EA; --ink:#1F1E1D; --mut:#6B6A66; --line:#E6E3D9;
  --green:#2F7D5B; --green-ink:#25664A; --on-green:#FFFFFF; --tint:#EFEDE4; --tint2:#E6E3D9;
  --mint:#EFEDE4; --mint2:#F3F1EA;
  --shadow:none; --shadow-sm:none; --shadow-lg:0 8px 40px rgba(31,30,29,.14);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#262624; --bg2:#30302E; --ink:#F0EEE6; --mut:#A6A39A; --line:#3D3D3A; --green:#5BB58D; --green-ink:#7CCBA5; --on-green:#10261B; --tint:#30302E; --tint2:#3D3D3A; --mint:#30302E; --mint2:#30302E}}
:root[data-theme="dark"]{--bg:#262624; --bg2:#30302E; --ink:#F0EEE6; --mut:#A6A39A; --line:#3D3D3A; --green:#5BB58D; --green-ink:#7CCBA5; --on-green:#10261B; --tint:#30302E; --tint2:#3D3D3A; --mint:#30302E; --mint2:#30302E}
body{font-family:var(--sans)}
.top{background:var(--bg);border-bottom:0}
.word{font:500 22px/1 var(--serif);letter-spacing:-.01em}
.word-hi{font:500 15px/1 var(--serif);color:var(--mut)}
.pill{background:transparent;border-color:var(--line)}
.icon-btn:hover{background:var(--bg2)}

/* conversation */
.txt{font:400 17.5px/1.7 var(--serif);font-variation-settings:"opsz" 16}
.txt strong{font-weight:600}
.bubble-me,:root[data-theme="dark"] .bubble-me{background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:18px;font-family:var(--sans)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bubble-me{background:var(--bg2);color:var(--ink)}}
.chip{background:transparent;border:1px solid var(--line);font-weight:500;border-radius:10px;box-shadow:none}
.chip:hover{background:var(--bg2);border-color:var(--mut);transform:none;box-shadow:none}
.chip.chosen{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.send{background:var(--ink);color:var(--bg)}
.send:disabled{background:var(--line);color:var(--mut)}
.composer{border-radius:20px;border:1px solid var(--line);background:var(--bg);box-shadow:0 2px 14px rgba(31,30,29,.06)}
.composer:focus-within{border-color:var(--mut)}

/* welcome: a quiet greeting, then a plain list */
.hero{align-items:flex-start;text-align:left;padding:9vh 0 3vh}
.hero h1{font:400 clamp(32px,7vw,44px)/1.12 var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 60}
.hero>p{color:var(--mut);font-family:var(--sans)}
.tiles,.tiles.quick{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:transparent;margin-top:14px;width:100%}
.tile,.tiles.list .tile{flex-direction:row;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;padding:13px 14px;width:100%}
.tile:last-child{border-bottom:0}
.tile:hover{transform:none;background:var(--bg2);box-shadow:none;border-color:var(--line)}
.tile .tic,.tiles.list .tile .tic{width:auto;height:auto;background:none;border-radius:0;color:var(--mut)}
.tile .tic svg{width:20px;height:20px;stroke-width:1.6}
.tile b,.tiles.list .tile b{font:500 16px/1.3 var(--sans);letter-spacing:0}
.tile small,.tiles.list .tile small{display:block;font-size:13.5px}
.tile .tt{flex:1}
.tiles.list.done .tile.chosen{background:var(--bg2);border-color:var(--line)}
.list{border-radius:14px;background:transparent}
.row:hover{background:var(--bg2)}

/* side menu: plain */
.drawer{border-radius:0;border-left:1px solid var(--line);background:var(--bg)}
.drawer-head{background:var(--bg);color:var(--ink);font:500 21px var(--serif);letter-spacing:-.01em;border-bottom:1px solid var(--line);padding:14px 12px 14px 18px}
.drawer-head .icon-btn,.drawer-head .icon-btn:hover{color:var(--ink);background:transparent}
.drawer-head .icon-btn:hover{background:var(--bg2)}
.d-item:hover,.d-item:hover .dic{background:var(--bg2)}
.d-item .dic{background:none;color:var(--mut);width:28px;height:28px}
.d-item b{font:500 15.5px/1.25 var(--sans)}
.d-item.danger{border-top:1px solid var(--line);border-radius:0;margin-top:12px}
.d-item.danger .dic{background:none}
.drawer-foot{background:var(--bg);border-top:1px solid var(--line)}
.wa,:root[data-theme="dark"] .wa{background:var(--ink);color:var(--bg);border-radius:10px;font-weight:500}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wa{background:var(--ink);color:var(--bg)}:root:not([data-theme="light"]) .drawer-head{color:var(--ink)}}
:root[data-theme="dark"] .drawer-head{color:var(--ink)}
.ghost{border-radius:10px;border-width:1px;font-weight:500}
.d-item .dtx{color:var(--ink)}.d-item .dtx span{color:var(--mut)}

/* ===== motion + custom cards ===== */
:root{--out:cubic-bezier(.16,1,.3,1)}
.top{border-bottom:1px solid transparent;transition:border-color .25s}
.app.scrolled .top{border-bottom-color:var(--line)}
.msg{animation:in .5s var(--out) both}
@keyframes in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.txt p{animation:in .55s var(--out) both}
.txt p:nth-child(2){animation-delay:.07s}.txt p:nth-child(3){animation-delay:.14s}.txt p:nth-child(4){animation-delay:.21s}.txt p:nth-child(n+5){animation-delay:.28s}
.hero h1{animation:in .7s var(--out) both}
.hero>p{animation:in .7s var(--out) .08s both}
.tile{animation:in .55s var(--out) both}
.tiles>.tile:nth-child(1){animation-delay:.10s}.tiles>.tile:nth-child(2){animation-delay:.15s}.tiles>.tile:nth-child(3){animation-delay:.20s}.tiles>.tile:nth-child(4){animation-delay:.25s}.tiles>.tile:nth-child(5){animation-delay:.30s}.tiles>.tile:nth-child(6){animation-delay:.35s}.tiles>.tile:nth-child(7){animation-delay:.40s}.tiles>.tile:nth-child(8){animation-delay:.45s}.tiles>.tile:nth-child(9){animation-delay:.50s}.tiles>.tile:nth-child(10){animation-delay:.55s}
.chip{animation:in .45s var(--out) both}
.chips .chip:nth-child(2){animation-delay:.05s}.chips .chip:nth-child(3){animation-delay:.10s}.chips .chip:nth-child(4){animation-delay:.15s}
.row{animation:in .45s var(--out) both}
.chip.chosen,.row.chosen,.tile.chosen{animation:choose .38s var(--out)}
@keyframes choose{0%{transform:scale(.96)}60%{transform:scale(1.015)}100%{transform:scale(1)}}
.send:not(:disabled){animation:sendin .3s var(--out)}
@keyframes sendin{from{transform:scale(.78);opacity:.4}to{transform:none;opacity:1}}
.composer{transition:border-color .2s,box-shadow .25s var(--out)}
.composer:focus-within{box-shadow:0 4px 24px rgba(31,30,29,.10);border-color:var(--mut)}
.bubble-me{animation:mein .42s var(--out) both;transform-origin:bottom right}
@keyframes mein{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}
.msg.me{animation:none}
.drawer{transition:transform .42s var(--out),visibility 0s .42s}
.drawer.on{transition:transform .42s var(--out)}
.scrim{transition:opacity .32s var(--out)}
.drawer.on .d-item{animation:in .5s var(--out) both}
.drawer.on .d-item:nth-child(1){animation-delay:.10s}.drawer.on .d-item:nth-child(2){animation-delay:.14s}.drawer.on .d-item:nth-child(3){animation-delay:.18s}.drawer.on .d-item:nth-child(4){animation-delay:.22s}.drawer.on .d-item:nth-child(5){animation-delay:.26s}.drawer.on .d-item:nth-child(6){animation-delay:.30s}.drawer.on .d-item:nth-child(7){animation-delay:.34s}.drawer.on .d-item:nth-child(8){animation-delay:.38s}
.typing{padding:10px 2px}
.typing i{width:6px;height:6px;background:var(--mut);animation:bounce 1.3s infinite var(--out)}

/* custom cards: sheet + locker */
.sheet{border:1px solid var(--line);background:var(--bg);border-radius:16px;box-shadow:0 1px 0 rgba(31,30,29,.02),0 10px 34px rgba(31,30,29,.06);overflow:hidden;animation:in .6s var(--out) both}
.sheet-h{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:var(--bg2);border-bottom:1px solid var(--line)}
.sh-ic{width:36px;height:36px;border-radius:11px;background:var(--bg);border:1px solid var(--line);color:var(--green-ink);display:grid;place-items:center;flex:none}
.sh-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sheet-h .sh-t b{font:500 17px/1.2 var(--serif);letter-spacing:-.005em}
.sh-t small{font-size:12.5px;color:var(--mut)}
.sheet-all{background:var(--ink);color:var(--bg);border-radius:10px;padding:9px 14px;font-weight:500;font-size:14px}
.sheet-all:hover{opacity:.88}
.sheet-row{padding:12px 14px 12px 16px;gap:12px;animation:rowin .5s var(--out) both;animation-delay:calc(var(--i,0)*70ms + 140ms)}
@keyframes rowin{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.sheet-row:last-of-type{border-bottom:0}
.sheet-row .l{font-size:12.5px;color:var(--mut);letter-spacing:.01em;margin-bottom:1px}
.sheet-row .v{font:500 17.5px/1.35 var(--sans);letter-spacing:.015em;font-variant-numeric:tabular-nums;color:var(--ink)}
.copy{border-radius:10px;border:1px solid var(--line);background:transparent;padding:8px 13px;min-width:78px;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.copy:hover{background:var(--bg2);border-color:var(--mut)}
.copy.ok,.sheet-all.ok{background:var(--green);border-color:var(--green);color:var(--on-green);animation:choose .38s var(--out)}
.copy.ok::before,.sheet-all.ok::before{content:"";width:14px;height:14px;margin-right:6px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.sheet-miss{background:var(--warn-bg);color:var(--warn);padding:11px 16px;font-size:14px}
.sheet-miss b{font-weight:600}
.sheet-note{display:flex;gap:9px;align-items:flex-start;padding:12px 16px;color:var(--mut);font-size:13px;line-height:1.45;border-top:1px solid var(--line)}
.sheet-note svg{flex:none;margin-top:2px;color:var(--green-ink)}
.vault{border-color:color-mix(in srgb,var(--green) 55%,var(--line));transition:opacity .22s var(--out),transform .22s var(--out),background-color .3s}
.vault.relocking{opacity:0;transform:scale(.985)}
.vault .lk{color:var(--green-ink)}
.vault .lk svg{overflow:visible}
.vault .shackle{transform-box:fill-box;transform-origin:0% 100%;transition:transform .55s var(--out)}
.vault .lk.open .shackle{transform:rotate(-28deg) translateY(-1.5px)}
.vault .ttl{height:2px;background:var(--line)}
.vault .ttl i{background:var(--green)}
.reveal-v{animation:unblur .8s var(--out) .18s both}
@keyframes unblur{from{filter:blur(9px);opacity:.15}to{filter:none;opacity:1}}
.vault.hidden{border-style:dashed;background:var(--bg2);animation:in .4s var(--out) both}
.vault.hidden .lk{color:var(--mut)}
.lockedmsg{border-top:0;align-items:center}
.lockedmsg .sh-ic{width:30px;height:30px;border-radius:9px}
.lockedmsg .sh-ic svg{width:16px;height:16px}
@media (prefers-reduced-motion:reduce){.reveal-v,.sheet-row,.sheet,.tile,.chip,.row,.txt p,.hero h1,.hero>p{animation:none!important}}

/* ===== popups: settings sheet, toast, attach menu ===== */
.modal{background:rgba(31,30,29,.38);transition:opacity .3s var(--out),visibility 0s .3s}
.modal.on{transition:opacity .3s var(--out)}
.panel{position:relative;width:min(520px,100%);background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -12px 60px rgba(31,30,29,.18);padding:26px 22px calc(24px + env(safe-area-inset-bottom));transform:translateY(40px) scale(.985);opacity:0;transition:transform .5s var(--out),opacity .3s var(--out)}
.modal.on .panel{transform:none;opacity:1}
.panel::before{content:"";position:absolute;top:9px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:var(--line)}
@media (min-width:640px){.panel{border-bottom:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px rgba(31,30,29,.22);padding-top:22px}.panel::before{display:none}}
.panel h2{font:500 24px/1.2 var(--serif);letter-spacing:-.01em}
.panel-head{margin-bottom:6px}
.panel section{padding:18px 0;border-top:1px solid var(--line);animation:in .5s var(--out) both}
.panel section:first-of-type{border-top:0}
.panel-head~section:nth-of-type(2){animation-delay:.05s}.panel-head~section:nth-of-type(3){animation-delay:.10s}.panel-head~section:nth-of-type(4){animation-delay:.15s}.panel-head~section:nth-of-type(5){animation-delay:.20s}
.panel h3{font:500 12.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 12px}
.seg{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:3px}
.seg button{border-radius:9px;font-weight:500;color:var(--mut);min-height:38px}
.seg button:hover{background:transparent;color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--bg);color:var(--ink);box-shadow:0 1px 2px rgba(31,30,29,.10),0 0 0 1px var(--line)}
.btn{border-radius:10px;border:1px solid var(--line);background:transparent;font-weight:500;min-height:44px}
.btn:hover{background:var(--bg2);border-color:var(--mut)}
.btn.pri{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.btn.pri:hover{background:var(--ink);opacity:.88;filter:none}
.field input{border-radius:10px;border-color:var(--line);background:var(--bg)}
.field input:focus{border-color:var(--mut);box-shadow:0 0 0 3px color-mix(in srgb,var(--mut) 18%,transparent)}
.code{border-radius:10px;background:var(--bg2);letter-spacing:.04em}
.facts svg{color:var(--green)}
.hint{font-size:13px}
.hold{border-radius:10px;border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:transparent;font-weight:500}
.hold::before{opacity:.16}
.toast{display:flex;align-items:center;gap:9px;background:var(--ink);color:var(--bg);border-radius:12px;padding:11px 16px 11px 13px;font-size:14.5px;font-weight:500;box-shadow:0 12px 40px rgba(31,30,29,.28);transition:opacity .35s var(--out),transform .45s var(--out)}
.toast svg{color:var(--green);flex:none;background:var(--bg);border-radius:50%;padding:2px;box-sizing:content-box;width:14px;height:14px;stroke-width:3}
.toast.on{transform:translate(-50%,0)}
.pop{border-radius:14px;border:1px solid var(--line);box-shadow:0 14px 44px rgba(31,30,29,.16);padding:6px}
.pop button{border-radius:9px;font-weight:500;padding:12px}
.pop button:hover{background:var(--bg2)}
@media (prefers-reduced-motion:reduce){.panel section{animation:none!important}}

/* ===== Black and white ===== */
:root{--green:#1F1E1D;--green-ink:#1F1E1D;--on-green:#FAF9F5;--logofilter:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--green:#F0EEE6;--green-ink:#F0EEE6;--on-green:#262624;--logofilter:invert(1)}}
:root[data-theme="dark"]{--green:#F0EEE6;--green-ink:#F0EEE6;--on-green:#262624;--logofilter:invert(1)}
.brand img{filter:var(--logofilter)}
a.link.ok,.link-btn{color:var(--ink);text-decoration-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.badge.ok{background:var(--bg2);color:var(--ink)}
.facts svg,.toast svg{color:var(--ink)}
.vault,.vault .lk,.sh-ic{color:var(--ink)}
.vault{border-color:var(--ink)}
.sheet-row .v{color:var(--ink)}

/* layout: reading column, no avatars */
.thread{max-width:720px;gap:26px;padding:26px 18px 40px}
.bot{display:block}
.bot .body{gap:14px}
.chat{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.chat::-webkit-scrollbar{width:8px}.chat::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.top{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
.pill{gap:7px;padding:7px 14px 7px 11px;border-radius:999px;font-weight:500;background:transparent;border:1px solid var(--line);color:var(--ink)}
.pill:hover{background:var(--bg2);border-color:var(--mut)}
.pill.has-pack{border-color:var(--ink)}
.pill svg{flex:none;color:var(--mut)}
.pill .dot{display:none}

/* jump to latest */
.jump{position:fixed;left:50%;bottom:calc(118px + env(safe-area-inset-bottom));margin-left:-20px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);display:grid;place-items:center;box-shadow:0 8px 26px rgba(31,30,29,.16);z-index:6;animation:sendin .3s var(--out)}
.jump:hover{background:var(--bg2)}


/* wallet sheet */
.wal-hero{padding:14px 0 6px!important;border:0!important}
.wal-l{font:500 12.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.wal-n{font:400 58px/1.05 var(--serif);letter-spacing:-.03em;margin:10px 0 8px;font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 96}
.wal-s{font-size:14.5px;color:var(--mut)}
.wal-acts{display:flex;gap:10px;padding:14px 0 22px}
.wal-acts .btn{flex:1}
.wal-left{list-style:none;margin:0 0 4px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;font-size:15px;color:var(--mut)}
.wal-left b{font:500 26px/1 var(--serif);color:var(--ink);margin-right:2px}
.wal-r{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:15px}
.wal-r .dots{flex:1;border-bottom:1.5px dotted var(--line);transform:translateY(-4px)}
.wal-r b{font-weight:600;font-variant-numeric:tabular-nums}
.wal-prices .link-btn{margin-top:8px}

/* ===== Chat v6: clear turns, real conversation, calm scroll ===== */
.app{height:100%}
.chat{scroll-behavior:auto;overflow-anchor:auto}
.thread{max-width:720px;gap:8px;padding:20px 16px 28px}
.msg{animation:msgin .32s var(--out,cubic-bezier(.2,.7,.2,1)) both}
@keyframes msgin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* what you send: a solid bubble on the right */
.msg.me{margin-top:18px;align-items:flex-end}
body .msg.me .bubble-me{background:var(--ink);color:var(--bg);border:0;border-radius:20px 20px 6px 20px;padding:11px 16px;max-width:min(82%,480px);font:400 16px/1.45 var(--sans);box-shadow:none}
body .msg.me .bubble-me a{color:inherit}
/* what Saathi says: plain text on the page, with the mark beside the first line of each turn */
.msg.botrow{flex-direction:row;align-items:flex-start;gap:12px}
.msg.botrow.first{margin-top:18px}
.msg.botrow .av{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--bg2);display:grid;place-items:center;margin-top:2px}
.msg.botrow .av img{width:19px;height:19px;filter:var(--logofilter)}
.msg.botrow:not(.first) .av{visibility:hidden}
.msg.botrow .bot{flex:1;min-width:0}
.bot .body{gap:12px}
.bot .txt{font:400 17px/1.62 var(--serif);color:var(--ink)}
.bot .txt p{margin:0 0 .7em}.bot .txt p:last-child{margin-bottom:0}
.bot .txt .lead{font:400 30px/1.12 var(--serif);letter-spacing:-.02em;margin:0 0 .35em}
.bot .txt.human-msg{font-family:var(--sans);font-size:16px}
/* the list of things Saathi can do: only when asked for */
.tiles,.tiles.quick{margin-top:6px}
/* example questions: obviously suggestions, they disappear once you type */
.suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;transition:opacity .25s,transform .25s}
.suggest.gone{opacity:0;transform:translateY(6px);pointer-events:none}
.sg{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:9px 15px;font:500 14.5px/1.3 var(--sans);text-align:left;transition:background .15s,border-color .15s,transform .15s}
.sg:hover{background:var(--bg2);border-color:var(--mut)}
.sg:active{transform:scale(.98)}
.chip{border-radius:999px}
/* typing */
.typing{display:inline-flex;gap:5px;padding:10px 0}
/* composer */
.composer{border-radius:26px}
.composer textarea{font:400 16px/1.45 var(--sans)}
.dock{padding-top:8px}
.trust{margin-top:8px}
.brand img{filter:var(--logofilter)}
.drawer-head img{filter:var(--logofilter)}

/* info pack */
.pack .pk-h{padding:12px 16px 4px;font:600 12px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--mut)}
.pack .pk-h.enc{display:flex;align-items:center;gap:8px;margin-top:6px;padding:12px 16px;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--fg)}
.pack .pk-h.enc .lk{display:grid;place-items:center}.pack .pk-h.enc svg{width:16px;height:16px}
.pack .pk-txt{padding:4px 16px 10px;font-size:15px;line-height:1.5;white-space:pre-wrap}
.pack .pk-v{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
.pack .pk-dots{color:var(--mut)}.pack .pk-dots.none{font-family:var(--sans);letter-spacing:0;font-weight:500;font-size:14px}
.pack .pk-dots.on{color:var(--fg);letter-spacing:.02em;animation:pkin .25s ease}
.pack .pk-row .copy+.copy{margin-left:0}
@keyframes pkin{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
@media (prefers-reduced-motion:reduce){.pack .pk-dots.on{animation:none}}
.pack .pk-v{white-space:nowrap;font-size:15px;letter-spacing:.02em}.pack .pk-row .copy{padding-inline:12px}.pack .pk-row{gap:8px}
.pack .pk-row .copy{font-size:13px;padding-inline:10px;min-height:34px}.pack .pk-row .k{min-width:0}
.pack .pk-row .copy{min-width:0;padding:6px 11px}
.pack .pk-txt,.pack .pk-txt *{font:400 14.5px/1.55 var(--sans)!important}
.pack .pk-txt{color:var(--ink)}.pack .pk-txt b,.pack .pk-txt strong{font-weight:600!important}
