:root{--paper: #ffffff;--paper-tint: #f2f7f4;--rule: #d6e4dc;--rule-strong: #a9c2b4;--ink: #1a2b23;--ink-soft: #52625a;--accent: #1d6a43;--accent-dark: #14502f;--accent-deep: #0f3d24;--accent-wash: #e6f2eb;--biro: #2742c4;--serial: #c8202b;--copy-yellow: #fff1a8;--copy-yellow-rule: #e9d77a;--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--hand: "Caveat", "Segoe Print", cursive;--step--1: .875rem;--step-0: 1.0625rem;--step-1: 1.25rem;--step-2: 1.5625rem;--step-3: 2rem;--step-4: 2.75rem;--step-5: 3.75rem;--gutter: 16px;--measure: 34rem;--radius: 6px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--step-0);line-height:1.55;font-variant-numeric:tabular-nums}h1,h2,h3{margin:0;line-height:1.12;text-wrap:balance}p{margin:0}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:var(--accent-dark)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:100%;max-width:72rem;margin:0 auto;padding:0 var(--gutter)}@media (min-width: 720px){:root{--gutter: 32px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:1.5px solid transparent;border-radius:var(--radius);font:600 var(--step-0) / 1 var(--font);text-decoration:none;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);color:#fff}.btn-quiet{background:var(--paper);border-color:var(--rule-strong);color:var(--ink)}.btn-quiet:hover{border-color:var(--ink);color:var(--ink)}.btn-small{min-height:36px;padding:0 14px;font-size:var(--step--1)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.text-button{padding:8px 4px;border:0;background:none;color:var(--ink);font:500 var(--step-0) var(--font);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.text-button:hover{color:var(--accent)}.logo{display:inline-flex;align-items:center;gap:9px;color:var(--accent);text-decoration:none}.logo:hover{color:var(--accent-dark)}.logo-word{color:var(--accent);font-size:1.3rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap}.logo-word b{font-weight:800}.site-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;padding-bottom:20px}.site-bar nav{display:flex;align-items:center;gap:12px}.bar-link{padding:10px 6px;color:var(--ink);font-weight:500;text-decoration:none}.bar-link:hover{color:var(--accent);text-decoration:underline}.hero{display:grid;gap:48px;align-items:center;padding-top:32px;padding-bottom:72px}@media (min-width: 900px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;padding-top:56px;padding-bottom:112px}}.hero h1{max-width:13ch;font-size:clamp(2.5rem,7vw,var(--step-5));font-weight:800;font-stretch:108%;letter-spacing:-.025em;line-height:1.02}.hero-lede{max-width:var(--measure);margin-top:24px;color:var(--ink-soft);font-size:var(--step-1);line-height:1.5}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:32px}.hero-note{margin-top:20px;color:var(--ink-soft);font-size:var(--step--1)}.receipt{position:relative;max-width:26rem;margin:0 auto;padding:30px 24px 24px 52px;background-color:var(--copy-yellow);background-image:linear-gradient(90deg,transparent 38px,rgba(200,32,43,.45) 38px,rgba(200,32,43,.45) 39.5px,transparent 39.5px),repeating-linear-gradient(180deg,transparent 0 39px,var(--copy-yellow-rule) 39px 40px);background-position:0 0,0 22px;color:var(--ink);transform:rotate(-1.25deg);box-shadow:0 1px #262a5c14,0 22px 44px -28px #262a5c8c;-webkit-mask:radial-gradient(circle 5px at 9px 0,transparent 98%,#000) -9px 0 / 18px 100% repeat-x;mask:radial-gradient(circle 5px at 9px 0,transparent 98%,#000) -9px 0 / 18px 100% repeat-x}.receipt-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.receipt-title{font-size:var(--step-1);font-weight:800;font-stretch:70%;letter-spacing:.06em;text-transform:uppercase}.receipt-no{color:var(--serial);font-weight:700;font-stretch:85%;letter-spacing:.04em}.receipt-date{margin-top:4px;font-size:var(--step--1);color:var(--ink-soft)}.hand{font-family:var(--hand);color:var(--biro);font-size:1.55rem;font-weight:500;line-height:1}.receipt-lines{width:100%;margin-top:12px;border-collapse:collapse}.receipt-lines td{height:40px;padding:0 0 6px;vertical-align:bottom}.receipt-lines .amount{text-align:right;white-space:nowrap}.receipt-lines .out{color:var(--serial)}.receipt-lines tfoot td{font-size:var(--step--1);font-weight:600;color:var(--ink)}.receipt-lines tfoot .hand{font-size:1.6rem;font-weight:700}.receipt-lines .left-row td{border-top:1.5px solid var(--ink)}.write-in{display:inline-block;clip-path:inset(-.4em -.4em -.4em -.4em)}@media (prefers-reduced-motion: no-preference){.write-in{animation:write-in .52s cubic-bezier(.3,.7,.4,1) both;animation-delay:calc(var(--i, 0) * .38s + .25s)}}@keyframes write-in{0%{clip-path:inset(-.4em 100% -.4em -.4em)}to{clip-path:inset(-.4em -.4em -.4em -.4em)}}.section{padding-top:72px;padding-bottom:72px;border-top:1px solid var(--rule)}.section-head{max-width:var(--measure)}.section-head h2{font-size:clamp(1.75rem,4vw,var(--step-4));font-weight:800;font-stretch:104%;letter-spacing:-.02em}.section-head p{margin-top:14px;color:var(--ink-soft)}.say-table{width:100%;max-width:52rem;margin-top:36px;border-collapse:collapse}.say-table th{padding:0 16px 10px 0;color:var(--ink-soft);font-size:var(--step--1);font-weight:600;text-align:left}.say-table td{padding:18px 16px 18px 0;border-top:1px solid var(--rule);vertical-align:top}.say-said{display:inline-block;max-width:22rem;padding:10px 14px;border-radius:14px 14px 14px 4px;background:var(--paper-tint);border:1px solid var(--rule)}.say-entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.say-entry .hand{font-size:1.7rem}.say-entry .out{color:var(--serial)}.say-category{color:var(--ink-soft);font-size:var(--step--1)}@media (max-width: 640px){.say-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.say-table tr{display:block;padding:16px 0;border-top:1px solid var(--rule)}.say-table td{display:block;padding:0;border:0}.say-table td+td{margin-top:10px}}.book-list{display:grid;gap:0 48px;max-width:60rem;margin:36px 0 0}@media (min-width: 760px){.book-list{grid-template-columns:1fr 1fr}}.book-list div{padding:20px 0;border-top:1px solid var(--rule)}.book-list dt{font-weight:700;font-size:var(--step-1)}.book-list dd{margin:6px 0 0;color:var(--ink-soft);max-width:30rem}.steps{display:grid;gap:28px;max-width:60rem;margin:36px 0 0;padding:0;list-style:none;counter-reset:step}@media (min-width: 760px){.steps{grid-template-columns:repeat(3,1fr);gap:40px}}.steps li{counter-increment:step}.steps li:before{content:"No. " counter(step);display:block;margin-bottom:10px;color:var(--serial);font-weight:700;font-stretch:85%;letter-spacing:.04em}.steps h3{font-size:var(--step-1);font-weight:700}.steps p{margin-top:8px;color:var(--ink-soft)}.faq{max-width:46rem;margin-top:28px}.faq details{border-top:1px solid var(--rule)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-weight:600;font-size:var(--step-1);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;color:var(--accent);font-weight:400;font-size:var(--step-2);line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{max-width:var(--measure);padding:0 0 20px;color:var(--ink-soft)}.closing{padding-top:72px;padding-bottom:96px;border-top:1px solid var(--rule)}.closing h2{max-width:18ch;font-size:clamp(1.75rem,4vw,var(--step-4));font-weight:800;font-stretch:104%;letter-spacing:-.02em;line-height:1.1}.closing .btn{margin-top:28px}.demo-section{display:grid;gap:40px;align-items:center}@media (min-width: 900px){.demo-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}.demo-points{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.demo-points li{position:relative;padding-left:28px}.demo-points li:before{content:"";position:absolute;left:2px;top:.38em;width:13px;height:7px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}.demo{display:grid;justify-items:center;gap:16px}.demo-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px}.segmented{display:inline-flex;padding:3px;border:1.5px solid var(--rule-strong);border-radius:999px;background:var(--paper)}.segmented button{padding:7px 14px;border:0;border-radius:999px;background:none;color:var(--ink-soft);font:600 var(--step--1) var(--font);cursor:pointer;transition:background-color .2s ease,color .2s ease}.segmented button[aria-pressed=true]{background:var(--accent);color:#fff}.soon{font-weight:500;opacity:.8}.text-button:disabled{opacity:.4;cursor:default;text-decoration:none}.phone{display:flex;flex-direction:column;width:min(100%,330px);height:560px;border:10px solid #14211a;border-radius:38px;background:#14211a;overflow:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;box-shadow:0 34px 60px -32px #0f3d2499}.phone-top{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;color:#fff;transition:background-color .3s ease}.phone-top strong{display:block;font-size:.95rem}.phone-top small{display:block;font-size:.75rem;opacity:.85}.phone-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--accent)}.phone-log{display:flex;flex:1;flex-direction:column;gap:6px;margin:0;padding:12px 10px;overflow-y:auto;list-style:none;scroll-behavior:smooth;scrollbar-width:none;transition:background-color .3s ease}.phone-log::-webkit-scrollbar{display:none}.pmsg{max-width:82%;padding:7px 10px 5px;border-radius:12px;color:#111b21;font-size:.9rem;line-height:1.35;box-shadow:0 1px #00000014;overflow-wrap:anywhere}.pmsg-me{align-self:flex-end;border-bottom-right-radius:4px}.pmsg-bot{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}.pmsg-time{display:block;margin-top:2px;font-size:.68rem;text-align:right;opacity:.6}.pmsg-typing{padding:11px 13px}.phone-compose{padding:8px 10px 12px;transition:background-color .3s ease}.phone-compose span{display:block;padding:9px 14px;border-radius:999px;background:#fff;color:#8696a0;font-size:.9rem}.phone-telegram .phone-top{background:#517da2}.phone-telegram .phone-log,.phone-telegram .phone-compose{background:#d4e2c3}.phone-telegram .pmsg-me{background:#e1fec6}.phone-whatsapp .phone-top{background:#008069}.phone-whatsapp .phone-log,.phone-whatsapp .phone-compose{background:#efeae2}.phone-whatsapp .pmsg-me{background:#d9fdd3}.demo-note{color:var(--ink-soft);font-size:var(--step--1)}.foot{background:var(--accent-deep);color:#d5e8dc}.foot a{color:#fff;text-decoration:none}.foot a:hover{text-decoration:underline}.foot :focus-visible{outline-color:#fff}.foot-grid{display:grid;gap:36px;padding-top:56px;padding-bottom:40px}@media (min-width: 760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr;gap:48px}}.foot-logo{display:inline-flex;align-items:center;gap:10px;color:#fff}.foot-logo .logo-word{color:#fff;font-size:1.5rem}.foot-brand p{max-width:22rem;margin-top:14px}.foot-col h2{margin-bottom:14px;color:#9fc5b0;font-size:var(--step--1);font-weight:600}.foot-col ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.foot-social{display:inline-flex;align-items:center;gap:8px}.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;padding-bottom:28px;border-top:1px solid rgba(255,255,255,.14);font-size:var(--step--1)}.foot-base strong{color:#fff;font-weight:700}.btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.btn:active:not(:disabled){transform:translateY(1px)}.bar-link,.app-bar nav a{transition:color .15s ease,box-shadow .2s ease}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}.hero-copy>*{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.route-in{animation:fade-in .25s ease-out both}.auth-sheet{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}.faq details[open] p{animation:rise .3s ease-out both}.faq summary:after{transition:transform .2s ease}.faq details[open] summary:after{transform:rotate(180deg)}.pmsg,.bubble{animation:pop .28s cubic-bezier(.2,.8,.3,1.15) both}.code-slip{animation:rise .35s ease-out both}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.auth{min-height:100vh;background:repeating-linear-gradient(180deg,var(--paper) 0 39px,var(--rule) 39px 40px)}.auth-bar{padding-top:20px;padding-bottom:20px}.auth-main{max-width:calc(26rem + 2 * var(--gutter));padding-top:40px;padding-bottom:64px;margin-left:0}@media (min-width: 720px){.auth-main{margin-left:max(0px,calc((100vw - 72rem)/2))}}.auth-sheet{padding:32px 24px;background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius)}@media (min-width: 520px){.auth-sheet{padding:40px 36px}}.auth-sheet h1{font-size:var(--step-3);font-weight:800;font-stretch:104%;letter-spacing:-.02em}.auth-lede{margin-top:8px;color:var(--ink-soft)}.form{display:grid;gap:20px;margin-top:28px}.field{display:grid;gap:6px}.field label{font-weight:600;font-size:var(--step--1)}.field-hint{color:var(--ink-soft);font-size:var(--step--1)}.input{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);color:var(--ink);font:400 var(--step-0) var(--font)}.input:hover{border-color:var(--ink-soft)}.input:focus-visible{outline:3px solid rgba(29,106,67,.3);outline-offset:0;border-color:var(--accent)}.form .btn{width:100%}.auth-switch{margin-top:24px;color:var(--ink-soft)}.alert{padding:12px 14px;border-left:3px solid var(--serial);background:#fdf0f0;color:#8f1720;font-size:var(--step--1)}.notice{color:var(--ink-soft);font-size:var(--step--1)}.muted{color:var(--ink-soft)}.app{min-height:100vh;background:var(--paper)}.app-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--rule)}.app-bar nav{display:flex;gap:4px;order:3;width:100%;overflow-x:auto}@media (min-width: 640px){.app-bar nav{order:0;width:auto}}.app-bar nav a{padding:8px 12px;color:var(--ink-soft);font-weight:600;text-decoration:none;white-space:nowrap}.app-bar nav a:hover{color:var(--ink)}.app-bar nav a.active{color:var(--ink);box-shadow:inset 0 -2.5px 0 var(--accent)}.app-bar .text-button{margin-left:auto;font-size:var(--step--1)}.page{padding-top:32px;padding-bottom:80px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}.page-head h1{font-size:clamp(1.75rem,4vw,var(--step-3));font-weight:800;font-stretch:104%;letter-spacing:-.02em}.page-lede{max-width:var(--measure);margin-top:8px;color:var(--ink-soft)}.period-switcher{display:inline-flex;flex-wrap:wrap;border:1.5px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.period-switcher button{min-height:38px;padding:0 14px;border:0;border-right:1px solid var(--rule);background:var(--paper);color:var(--ink-soft);font:600 var(--step--1) var(--font);cursor:pointer}.period-switcher button:last-child{border-right:0}.period-switcher button:hover{color:var(--ink)}.period-switcher button[aria-pressed=true]{background:var(--ink);color:#fff}.period-switcher button:focus-visible{outline-offset:-3px}.status-line{margin-top:16px}.tally{display:grid;margin:28px 0 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}@media (min-width: 700px){.tally{grid-template-columns:repeat(3,1fr)}}.tally div{padding:18px 0 20px}.tally div+div{border-top:1px solid var(--rule)}@media (min-width: 700px){.tally div{padding:20px 24px 24px}.tally div:first-child{padding-left:0}.tally div+div{border-top:0;border-left:1px solid var(--rule)}}.tally dt{color:var(--ink-soft);font-size:var(--step--1);font-weight:600}.tally dd{margin:6px 0 0;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700;font-stretch:112%;letter-spacing:-.02em;line-height:1.1;overflow-wrap:anywhere}.tally .in dd{color:var(--accent)}.tally .out dd{color:var(--serial)}.board{display:grid;gap:40px;margin-top:40px}@media (min-width: 900px){.board{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.board-wide{grid-column:1 / -1}}.panel h2{padding-bottom:10px;margin-bottom:16px;border-bottom:1px solid var(--rule);font-size:var(--step-1);font-weight:700}.spend{display:grid;gap:20px;align-items:center}@media (min-width: 520px){.spend{grid-template-columns:170px minmax(0,1fr);gap:28px}}.spend-chart{position:relative;height:170px}.spend-list{margin:0;padding:0;list-style:none}.spend-list li{display:grid;grid-template-columns:12px minmax(0,1fr) auto 3.5ch;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule)}.swatch{width:12px;height:12px;border-radius:3px}.spend-name{overflow-wrap:anywhere}.spend-amount{font-weight:600}.spend-share{color:var(--ink-soft);font-size:var(--step--1);text-align:right}.statement{margin:0}.statement div{display:flex;align-items:baseline;gap:10px;padding:9px 0}.statement .leader{flex:1;min-width:12px;border-bottom:1.5px dotted var(--rule-strong);transform:translateY(-4px)}.statement dd{margin:0;font-weight:600;white-space:nowrap}.statement .subtotal{border-top:1px solid var(--rule)}.statement .net dt,.statement .net dd{font-weight:800}.statement .net dd{padding-bottom:2px;border-bottom:4px double var(--ink)}.ledger-scroll{overflow-x:auto}.ledger{width:100%;min-width:34rem;border-collapse:collapse;font-size:var(--step--1)}.ledger th{padding:0 12px 10px 0;color:var(--ink-soft);font-weight:600;text-align:left;white-space:nowrap}.ledger td{padding:12px 12px 12px 0;border-top:1px solid var(--rule);vertical-align:top}.ledger .num{padding-right:0;text-align:right;white-space:nowrap;font-weight:600}.ledger .in{color:var(--accent)}.ledger .out{color:var(--serial)}.empty{max-width:var(--measure);padding:32px 0 8px}.empty h2{font-size:var(--step-2);font-weight:800;letter-spacing:-.01em}.empty p{margin-top:10px;color:var(--ink-soft)}.empty .btn{margin-top:20px}.connect{display:grid;gap:48px;margin-top:32px}@media (min-width: 900px){.connect{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px}}.link-steps{display:grid;gap:28px;margin:0;padding:0;list-style:none;counter-reset:step}.link-steps>li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);column-gap:14px;counter-increment:step}.link-steps>li:before{content:counter(step);grid-row:1 / span 4;display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1.5px solid var(--ink);border-radius:50%;font-weight:700}.link-steps>li>*{grid-column:2}.link-steps h2{font-size:var(--step-1);font-weight:700;line-height:2.25rem}.link-steps p{color:var(--ink-soft)}.link-steps .btn{justify-self:start;margin-top:12px}.link-steps .alert{margin-top:12px}.code-slip{justify-self:start;margin-top:14px;padding:16px 20px;background:var(--copy-yellow);border-radius:var(--radius)}.code-slip p{font-size:var(--step--1);color:var(--ink-soft)}.code-value{margin:2px 0 12px;color:var(--serial);font-size:var(--step-3);font-weight:800;font-stretch:85%;letter-spacing:.12em;overflow-wrap:anywhere}.code-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.side-block+.side-block{margin-top:40px}.side-block h2{padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--rule);font-size:var(--step-1);font-weight:700}.side-block>p{color:var(--ink-soft)}.linked{margin:0;padding:0;list-style:none}.linked li{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--rule)}.linked span{overflow-wrap:anywhere}.linked small{color:var(--ink-soft);font-size:var(--step--1)}.chat-elsewhere{display:flex;flex-wrap:wrap;gap:10px}.chat{display:flex;flex-direction:column;height:max(420px,calc(100dvh - 230px));max-width:48rem;margin-top:24px;border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden}.chat-log{flex:1;overflow-y:auto;padding:20px 16px;background:var(--paper-tint)}.chat-start{max-width:30rem}.chat-start p{color:var(--ink-soft)}.chat-start ul{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}.chat-start button{padding:8px 12px;border:1px solid var(--rule-strong);border-radius:999px;background:var(--paper);color:var(--ink);font:500 var(--step--1) var(--font);cursor:pointer}.chat-start button:hover{border-color:var(--accent);color:var(--accent)}.bubble{width:fit-content;max-width:min(36rem,85%);margin-top:12px;padding:10px 14px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-user{margin-left:auto;background:var(--accent);color:#fff;border-radius:14px 14px 4px}.bubble-bot{background:var(--paper);border:1px solid var(--rule);border-radius:14px 14px 14px 4px}.bubble-who{display:block;margin-bottom:2px;font-size:.75rem;font-weight:700;opacity:.8}.typing{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft)}.typing i{width:6px;height:6px;border-radius:50%;background:currentColor}@media (prefers-reduced-motion: no-preference){.typing i{animation:blink 1.2s infinite both}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-compose{display:flex;gap:10px;padding:12px;border-top:1px solid var(--rule);background:var(--paper)}.chat-compose .input{flex:1;min-width:0}
