:root{--ink:#111;--ink-2:#6b6b6f;--ink-3:#9a9a9f;--line:#00000014;--surface:#fff;--soft:#f1f1f2;--soft-2:#e8e8ea;--frost:#ffffffb8;--accent:#111;--danger:#c62828;--ok:#2e7d32;--warn:#a15c00;--ok-soft:#e7f3e8;--warn-soft:#fbf0e0;--info:#1f5fbf;--info-soft:#e6eefa;--shadow:0 6px 24px #00000014, 0 1px 2px #0000000f;--pad:clamp(14px, 4.2vw, 22px);--gap:clamp(8px, 2.4vw, 12px);--btn:clamp(46px, 13.5vw, 58px);--radius-card:clamp(18px, 5vw, 24px);--fs-xs:clamp(11px, 3vw, 12.5px);--fs-sm:clamp(13px, 3.6vw, 15px);--fs-md:clamp(15.5px, 4.3vw, 17.5px);--fs-lg:clamp(17px, 4.8vw, 19px);--fs-xl:clamp(24px, 7.2vw, 31px);--vvh:100dvh;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--surface);height:100%;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--fs-md);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}.app{height:var(--vvh);background:var(--surface);flex-direction:column;display:flex;position:fixed;inset:0 0 auto;overflow:hidden}.app:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(120deg,#4d5157 0%,#a9a9ab 38%,#dcd9d8 66%,#efecea 100%);height:62%;transition:opacity .4s;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 30%,#0000 100%);mask-image:linear-gradient(#000 30%,#0000 100%)}.app.has-messages:before{opacity:.35}.app>*{z-index:1;position:relative}.header{grid-template-columns:var(--btn) minmax(0, 1fr) var(--btn);align-items:center;gap:var(--gap);padding:calc(env(safe-area-inset-top) + clamp(8px, 2.5vw, 14px)) var(--pad) clamp(6px, 2vw, 10px);display:grid}.round{width:var(--btn);height:var(--btn);background:var(--frost);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);box-shadow:var(--shadow);border-radius:50%;place-items:center;transition:transform .12s;display:grid}.round:active{transform:scale(.94)}.round svg{width:44%;height:44%}.title{text-align:center;min-width:0;line-height:1.15}.title-main{font-weight:650;font-size:var(--fs-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.title-sub{font-size:var(--fs-xs);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.dot{background:var(--ink-3);border-radius:50%;width:7px;height:7px}.dot.on{background:#34c759}.banner{margin:0 var(--pad) var(--gap);background:var(--frost);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:var(--fs-xs);color:var(--ink-2);text-align:center;border-radius:12px;padding:8px 12px}.main{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding:0 var(--pad);flex:auto;overflow:hidden auto}.empty{text-align:center;min-height:100%;padding:var(--pad) 0 calc(var(--pad) * 2);flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,3vw,16px);display:flex}.empty h1{font-size:var(--fs-xl);letter-spacing:-.01em;margin:0;font-weight:700}.empty p{max-width:30ch;color:var(--ink-2);font-size:var(--fs-md);margin:0;line-height:1.4}.pill-btn{background:var(--frost);height:clamp(42px,12vw,50px);box-shadow:var(--shadow);font-weight:600;font-size:var(--fs-md);border-radius:999px;padding:0 clamp(20px,6vw,28px)}.pill-btn.dark{background:var(--accent);color:#fff;box-shadow:none}.pill-btn.light{background:var(--soft);box-shadow:none}.pill-btn:disabled{opacity:.45}.thread{padding:var(--gap) 0 var(--pad);flex-direction:column;gap:clamp(10px,3vw,14px);display:flex}.msg{max-width:86%;line-height:1.42;font-size:var(--fs-md);overflow-wrap:anywhere;white-space:pre-wrap}.msg.client{background:var(--soft);border-radius:22px 22px 6px;align-self:flex-end;padding:clamp(9px,2.6vw,11px) clamp(13px,3.8vw,16px)}.msg.assistant,.msg.developer{align-self:flex-start}.msg.developer{background:#fff8e8;border-radius:22px 22px 22px 6px;padding:clamp(9px,2.6vw,11px) clamp(13px,3.8vw,16px)}.who{font-size:var(--fs-xs);color:var(--ink-2);white-space:normal;margin-bottom:3px;font-weight:600;display:block}.media{background:var(--soft);border-radius:18px;max-width:min(78%,320px);overflow:hidden}.media.client{align-self:flex-end}.media.developer,.media.assistant{align-self:flex-start}.media img,.media video{object-fit:contain;background:#000;width:100%;height:auto;max-height:60vh;display:block}.media audio{width:min(280px,70vw);margin:8px;display:block}.status{text-align:center;max-width:92%;font-size:var(--fs-xs);color:var(--ink-2);background:var(--soft);border-radius:999px;align-self:center;padding:6px 12px}.status a{color:var(--ink);font-weight:600}.status.good{color:var(--ok)}.status.wait{color:var(--warn)}.typing{color:var(--ink-2);font-size:var(--fs-sm);align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.typing i{background:var(--ink-3);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr);align-self:stretch;gap:10px;padding:clamp(14px,4vw,18px);display:grid}.card h3{font-size:var(--fs-lg);margin:0;font-weight:650}.card dl{font-size:var(--fs-sm);grid-template-columns:minmax(0,1fr);gap:6px;margin:0;display:grid}.card dt{color:var(--ink-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.card dd{overflow-wrap:anywhere;margin:0 0 4px}.card ul{margin:0;padding-left:1.1em}.badge{font-size:var(--fs-xs);background:var(--soft);border-radius:999px;justify-self:start;padding:5px 10px;font-weight:600}.badge.auto{color:var(--ok);background:#e8f5e9}.badge.needs-you{color:var(--warn);background:#fff3e0}.card .actions{flex-wrap:wrap;gap:10px;display:flex}.card .actions .pill-btn{flex:1 1 0;min-width:0}.card .done{font-size:var(--fs-sm);color:var(--ink-2)}.bottom{padding-bottom:calc(env(safe-area-inset-bottom) + clamp(8px, 2.5vw, 14px));background:linear-gradient(#fff0 0%,#fff 28%);flex:none}.suggestions{gap:var(--gap);scrollbar-width:none;padding:4px var(--pad) var(--gap);scroll-snap-type:x proximity;display:flex;overflow:auto hidden}.suggestions::-webkit-scrollbar{display:none}.suggestion{scroll-snap-align:start;text-align:left;background:var(--soft);border-radius:var(--radius-card);flex:none;max-width:70vw;padding:clamp(11px,3.2vw,14px) clamp(15px,4.4vw,20px)}.suggestion b{font-size:var(--fs-md);font-weight:650;display:block}.suggestion span{color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.attachments{padding:0 var(--pad) 8px;gap:8px;display:flex;overflow-x:auto}.att{background:var(--soft-2) center / cover no-repeat;width:clamp(56px,16vw,68px);height:clamp(56px,16vw,68px);font-size:var(--fs-xs);color:var(--ink-2);border-radius:14px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.att .bar{background:var(--accent);height:4px;transition:width .2s linear;position:absolute;bottom:0;left:0}.att .x{color:#fff;text-align:center;background:#0009;border-radius:50%;width:20px;height:20px;font-size:13px;line-height:20px;position:absolute;top:3px;right:3px}.att.err{outline:2px solid var(--danger)}.composer{grid-template-columns:var(--btn) var(--btn) minmax(0, 1fr);align-items:end;gap:var(--gap);padding:0 var(--pad);display:grid}.composer .round{background:var(--soft);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.input-pill{min-width:0;min-height:var(--btn);background:var(--soft);border-radius:calc(var(--btn) / 2);align-items:flex-end;gap:6px;padding:5px 5px 5px clamp(14px,4.4vw,20px);display:flex}.input-pill textarea{resize:none;min-width:0;font-size:max(16px, var(--fs-md));max-height:30vh;padding:calc((var(--btn) - 10px - 1.35em) / 2) 0;background:0 0;border:0;outline:0;flex:auto;line-height:1.35}.input-pill textarea::placeholder{color:var(--ink-3)}.send{width:calc(var(--btn) - 10px);height:calc(var(--btn) - 10px);background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.send svg{width:46%;height:46%}.send:disabled{opacity:.4}.recording{min-height:calc(var(--btn) - 10px);font-variant-numeric:tabular-nums;flex:auto;align-items:center;gap:10px;display:flex}.recording .rec{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1.2s infinite blink}.recording button{color:var(--ink-2);font-size:var(--fs-sm);margin-left:auto;padding:6px 8px}.hint{padding:6px var(--pad) 0;font-size:var(--fs-xs);color:var(--danger);text-align:center}.scrim{z-index:20;background:#00000052;animation:.18s fade;position:fixed;inset:0}.drawer{background:var(--surface);z-index:21;width:min(86vw,380px);padding:calc(env(safe-area-inset-top) + var(--pad)) 0 calc(env(safe-area-inset-bottom) + var(--pad));box-shadow:var(--shadow);flex-direction:column;animation:.22s slide;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.drawer h2{margin:0 var(--pad) var(--gap);font-size:var(--fs-lg)}.drawer .list{flex:auto;overflow:hidden auto}.row{text-align:left;width:100%;padding:12px var(--pad);border-bottom:1px solid var(--line);display:block}.row.active{background:var(--soft)}.row b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.row small{color:var(--ink-2);font-size:var(--fs-xs)}.sheet{z-index:21;background:var(--surface);padding:var(--pad) var(--pad) calc(env(safe-area-inset-bottom) + var(--pad));border-radius:24px 24px 0 0;max-height:80vh;animation:.22s rise;position:fixed;bottom:0;left:0;right:0;overflow:hidden auto}.sheet h2{margin:0 0 var(--gap);font-size:var(--fs-lg)}.sheet p,.sheet li{color:var(--ink-2);line-height:1.45}.sheet .example{text-align:left;background:var(--soft);border-radius:16px;width:100%;margin-bottom:8px;padding:12px 14px;display:block}.held{margin:0 var(--pad) var(--gap);font-size:var(--fs-sm);background:#fff3e0;border-radius:14px;padding:12px}.held p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.held .actions{gap:8px;display:flex}.login{text-align:center;width:min(100%,420px);padding:var(--pad);gap:14px;margin:auto;display:grid}.login h1{font-size:var(--fs-xl);margin:0}.login p{color:var(--ink-2);margin:0}.login input{width:100%;min-width:0;height:var(--btn);border-radius:calc(var(--btn) / 2);background:var(--soft);border:0;padding:0 18px;font-size:16px}.err{color:var(--danger);font-size:var(--fs-sm)}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translate(-100%)}}@keyframes rise{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.row-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-top:4px;display:flex}.badge{font-size:var(--fs-xs);color:var(--ink-2);background:var(--soft);border-radius:999px;flex:none;padding:5px 9px;font-weight:600;line-height:1}.badge.g-yours{color:var(--surface);background:var(--accent)}.badge.g-progress{color:var(--info);background:var(--info-soft)}.badge.g-waiting{color:var(--warn);background:var(--warn-soft)}.badge.g-done{color:var(--ok);background:var(--ok-soft)}.drawer .danger{color:var(--danger)}.with-choices{flex-direction:column;gap:clamp(8px,2.4vw,10px);min-width:0;display:flex}.choices{flex-wrap:wrap;gap:8px;display:flex}.choices .pill-btn{overflow-wrap:anywhere;max-width:100%;height:auto;min-height:clamp(38px,11vw,44px);padding:8px clamp(14px,4.4vw,18px)}
