:root{--radius:.625rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:var(--radius);--radius-lg:calc(var(--radius) + 4px);--radius-xl:calc(var(--radius) + 8px);--radius-2xl:calc(var(--radius) + 12px);--radius-3xl:calc(var(--radius) + 16px);--font:"Inter", ui-sans-serif, system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--ease:cubic-bezier(.16, 1, .3, 1);--dur:.25s;--dur-fast:.15s;--dur-slow:.4s;--background:oklch(98.5% 0 0);--foreground:oklch(16% 0 0);--card:oklch(100% 0 0);--muted:oklch(96% 0 0);--muted-fg:oklch(48% 0 0);--border:oklch(90% 0 0);--input:oklch(90% 0 0);--ring:oklch(55% 0 0);--primary:oklch(52% .19 250);--primary-fg:oklch(99% 0 0);--ok:oklch(55% .14 160);--danger:oklch(55% .2 25);--shadow:0 18px 40px oklch(16% 0 0/.08)}.dark{--background:oklch(16% 0 0);--foreground:oklch(98% 0 0);--card:oklch(20.5% 0 0);--muted:oklch(26% 0 0);--muted-fg:oklch(72% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.14);--ring:oklch(62% 0 0);--primary:oklch(68% .16 250);--primary-fg:oklch(16% 0 0);--ok:oklch(78% .12 160);--danger:oklch(72% .16 25);--shadow:0 24px 48px oklch(0% 0 0/.4)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--background);color:var(--foreground);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{background:0 0;border:0;outline:0;width:100%}textarea{resize:vertical;min-height:88px;padding:12px 0}:focus{outline:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.app{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}@media (width>=900px){.app{grid-template-rows:1fr;grid-template-columns:232px 1fr;max-width:72rem;min-height:100dvh;margin:0 auto}}.topbar{border-bottom:1px solid var(--border);background:var(--background);align-items:center;gap:12px;padding:16px 20px;display:flex}.rail{z-index:20;background:var(--background);position:fixed;bottom:0;left:0;right:0}.rail .brand,.rail-foot{display:none}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.logo{border-radius:var(--radius-md);background:var(--primary);width:28px;height:28px;color:var(--primary-fg);flex:0 0 28px;place-items:center;display:grid}.logo svg{width:16px;height:16px}.screen{flex-direction:column;gap:24px;min-height:0;padding:24px 20px 112px;display:flex;overflow:auto}@media (width>=900px){.screen{max-width:42rem;padding:40px 48px 48px}.screen.wide{max-width:56rem}}.hero{place-items:center;min-height:100dvh;padding:32px 20px;display:grid}.hero-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);width:min(100%,440px);animation:rise var(--dur-slow) var(--ease) both;flex-direction:column;gap:24px;padding:32px;display:flex}.hero h1{letter-spacing:-.04em;margin:0;font-size:30px;font-weight:600;line-height:1.12}@media (width>=600px){.hero h1{font-size:36px}}.lead{color:var(--muted-fg);max-width:36ch;margin:0;font-size:16px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:600}.kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-fg);margin:0 0 6px;font-size:12px;font-weight:500}.muted{color:var(--muted-fg)}.small{color:var(--muted-fg);font-size:12px}.mono{font-family:var(--mono);word-break:break-all;font-size:12px}.grow{flex:1;min-width:0}.row{align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.gap-8{gap:32px}.btn{border-radius:var(--radius-lg);letter-spacing:-.01em;min-height:44px;transition:transform var(--dur-fast) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), opacity var(--dur) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:550;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn-block{width:100%}.btn-primary{background:var(--primary);color:var(--primary-fg)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-secondary{background:var(--muted);color:var(--foreground)}.btn-ghost{color:var(--muted-fg);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-danger{color:var(--danger);border-color:color-mix(in oklch, var(--danger) 30%, var(--border));background:0 0}.btn-sm{width:auto;min-height:44px;padding:0 12px;font-size:13px}.field{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:44px;transition:border-color var(--dur) var(--ease);align-items:center;gap:8px;padding:0 14px;display:flex}.field:focus-within{border-color:var(--primary)}.label{color:var(--muted-fg);margin:0 0 8px;font-size:12px;font-weight:500;display:block}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px}.card+.card{margin-top:0}.balance{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);gap:16px;padding:24px;display:grid}.balance .figure{letter-spacing:-.04em;font-size:36px;font-weight:600;line-height:1}.balance .figure span{color:var(--muted-fg);margin-left:6px;font-size:16px;font-weight:500}.spark{align-items:flex-end;gap:6px;height:48px;display:flex}.spark i{background:var(--primary);opacity:.35;transform-origin:bottom;min-height:4px;animation:bar-in var(--dur-slow) var(--ease) both;border-radius:3px 3px 0 0;flex:1;display:block}.spark i.on{opacity:1}.thread{flex-direction:column;flex:1;gap:12px;min-height:180px;display:flex}.bubble{max-width:78%;animation:rise var(--dur) var(--ease) both;padding:12px 16px;font-size:14px;line-height:1.45}.bubble.user{background:var(--primary);color:var(--primary-fg);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);margin-left:auto}.bubble.bot{background:var(--muted);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm)}.prompt{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);min-height:44px;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);padding:14px 16px;font-size:14px}.prompt:hover{border-color:var(--primary)}.said{background:var(--muted);border-radius:var(--radius-md);margin:16px 0;padding:12px 14px}.said span{color:var(--muted-fg);margin-bottom:4px;font-size:12px;display:block}.kv{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding:12px 0;font-size:14px;display:flex}.kv b{font-weight:600}.pill{background:var(--muted);color:var(--muted-fg);text-transform:capitalize;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:550}.pill.ok{color:var(--ok);background:color-mix(in oklch, var(--ok) 14%, transparent)}.pill.warn{color:var(--danger);background:color-mix(in oklch, var(--danger) 14%, transparent)}.pill.info{color:var(--primary);background:color-mix(in oklch, var(--primary) 14%, transparent)}.dock{background:linear-gradient(transparent, var(--background) 28%);padding-top:8px;position:sticky;bottom:0}.composer{align-items:flex-end;gap:8px;display:flex}.composer .field{border-radius:var(--radius-xl);flex:1;min-height:48px}.icon-btn{border-radius:var(--radius-lg);background:var(--muted);width:44px;height:44px;color:var(--foreground);transition:background-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease);border:0;flex:0 0 44px;place-items:center;display:grid}.icon-btn.primary{background:var(--primary);color:var(--primary-fg)}.icon-btn.live{background:var(--primary);color:var(--primary-fg);animation:pulse 1.6s var(--ease) infinite}a.btn{color:inherit;text-decoration:none}.tabs{border-top:1px solid var(--border);background:var(--background);padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid}.tabs button{color:var(--muted-fg);border-radius:var(--radius-md);min-height:44px;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.tabs button.on{color:var(--foreground);background:var(--muted)}.tabs svg{width:18px;height:18px}@media (width>=900px){.topbar{display:none}.rail{border-right:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;min-height:100dvh;padding:28px 16px;display:flex;position:sticky;inset:0 auto auto}.rail .brand,.rail-foot{display:flex}.rail .brand{padding:4px 12px 24px}.tabs{background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.tabs button{flex-direction:row;justify-content:flex-start;gap:10px;padding:0 12px;font-size:14px}.rail-foot{flex-direction:column;align-items:stretch;gap:8px;margin-top:auto;padding:12px}}.list{flex-direction:column;gap:8px;display:flex}.item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;width:100%;min-height:64px;animation:rise var(--dur) var(--ease) both;align-items:center;gap:12px;padding:14px 16px;display:flex}.avatar{border-radius:var(--radius-md);background:var(--muted);flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:grid}.amt-bar{background:var(--muted);border-radius:99px;height:4px;margin-top:8px;overflow:hidden}.amt-bar>span{background:var(--primary);border-radius:inherit;transform-origin:0;height:100%;animation:grow-x var(--dur-slow) var(--ease) both;display:block}.empty{text-align:center;color:var(--muted-fg);border:1px dashed var(--border);border-radius:var(--radius-xl);background:var(--card);padding:48px 20px}.empty strong{color:var(--foreground);margin-bottom:6px;font-weight:600;display:block}.skel{background:var(--muted);border-radius:var(--radius-md);position:relative;overflow:hidden}.skel:after{content:"";animation:shimmer 1.2s var(--ease) infinite;background:linear-gradient(90deg,#0000,oklch(100% 0 0/.18),#0000);position:absolute;inset:0}.dark .skel:after{background:linear-gradient(90deg,#0000,oklch(100% 0 0/.06),#0000)}.toast{z-index:40;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card);max-width:min(420px,100% - 32px);box-shadow:var(--shadow);animation:rise var(--dur) var(--ease) both;padding:12px 16px;font-size:14px;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}.toast.error{border-color:color-mix(in oklch, var(--danger) 40%, var(--border))}@media (width>=900px){.toast{bottom:32px;left:auto;right:32px;transform:none}}.banner{border-radius:var(--radius-lg);background:var(--muted);color:var(--muted-fg);padding:12px 14px;font-size:14px}.banner.error{color:var(--danger);background:color-mix(in oklch, var(--danger) 12%, transparent)}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.steps{gap:8px;margin:12px 0 4px;display:flex}.steps span{background:var(--muted);border-radius:99px;flex:1;height:4px}.steps span.on{background:var(--primary)}.steps span.hot{background:var(--ok)}.steps span.bad{background:var(--danger)}.chip{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-fg);padding:4px 8px;font-size:12px;font-weight:500}.chip.nim{font-variant-numeric:tabular-nums;color:var(--foreground);white-space:nowrap}.chip.nim b{font-weight:600}.rail-bal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);gap:4px;padding:12px;display:grid}.rail-bal .figure{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.rail-bal .figure span{color:var(--muted-fg);margin-left:4px;font-size:12px;font-weight:500}.public{background:var(--background);place-items:center;min-height:100dvh;padding:24px;display:grid}.public section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);flex-direction:column;gap:16px;width:min(100%,440px);padding:32px;display:flex}.public section.invoice-sheet{width:min(100%,560px)}.public h1{letter-spacing:-.04em;margin:0;font-size:36px;font-weight:600}.public .invoice-sheet h1{font-size:30px}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width>=900px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px}.stat .figure{letter-spacing:-.03em;font-size:24px;font-weight:600;line-height:1.1}.stat .figure span{color:var(--muted-fg);font-size:12px;font-weight:500}.stat.warn .figure{color:var(--danger)}.timer-face{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:600;line-height:1}.line-grid{grid-template-columns:1fr 72px 88px 44px;align-items:end;gap:8px;display:grid}.line-grid .span-2{grid-column:span 2}@media (width<=599px){.line-grid{grid-template-columns:1fr 1fr}.line-grid .icon-btn{justify-self:start}}.inv-table{border-collapse:collapse;width:100%;font-size:14px}.inv-table th{text-align:left;color:var(--muted-fg);border-bottom:1px solid var(--border);padding:8px 0;font-size:12px;font-weight:500}.inv-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 0}.inv-table .num{text-align:right;font-variant-numeric:tabular-nums}.stamp{border:2px solid var(--ok);color:var(--ok);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:44px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex;transform:rotate(-8deg)}a.item{color:inherit;text-decoration:none}.fold{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);overflow:hidden}.fold-head{letter-spacing:-.02em;text-align:left;width:100%;min-height:52px;color:var(--foreground);transition:background-color var(--dur) var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.fold-head:hover{background:var(--muted)}.fold-count{color:var(--muted-fg);background:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500}.fold-chevron{color:var(--muted-fg);transition:transform var(--dur) var(--ease)}.fold-chevron.open{transform:rotate(180deg)}.fold-body{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:16px;display:flex}.attach-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);align-items:center;gap:10px;padding:8px 12px;display:flex}.attach-preview img{object-fit:cover;border-radius:var(--radius-sm);width:44px;height:44px}.thumb{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:56px;height:56px}.dots{gap:6px;display:flex}.dots i{background:var(--muted-fg);width:6px;height:6px;animation:blink 1.2s var(--ease) infinite;border-radius:99px}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bar-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, var(--primary) 40%, transparent)}50%{box-shadow:0 0 0 8px #0000}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
