:root{--bg: #efe6d7;--surface: #fbf6ee;--surface-2: #f2e9da;--text: #262220;--muted: #8a8074;--line: #e7dcc9;--line-strong: #dcccb2;--accent: #dbad7e;--accent-deep: #c68a4e;--accent-ink: #2a2018;--accent-2: #6fa368;--warn: #e0913c;--danger: #d9694a;--radius: 18px;--shadow: 0 10px 30px rgba(60, 45, 25, .12);--shadow-sm: 0 2px 8px rgba(60, 45, 25, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:460px;margin:0 auto;background:var(--surface);position:relative}@media (min-width: 540px){body{padding:24px}.app{height:min(900px,calc(100vh - 48px));height:min(900px,calc(100dvh - 48px));border-radius:28px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}}.topbar{padding:14px 16px calc(14px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:11px;background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;box-shadow:var(--shadow-sm)}.brand-mark img{display:block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.brand:hover .brand-mark img{transform:rotate(-8deg) scale(1.06)}.topbar h1{font-size:18px;margin:0;letter-spacing:-.2px;font-weight:750;line-height:1.15}.topbar .sub{color:var(--muted);font-size:12px;margin-top:2px;display:flex;align-items:center;gap:9px}.topbar .status{display:inline-flex;align-items:center;gap:5px}.topbar .status .dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:background .2s,box-shadow .2s}.topbar .status.on{color:var(--text)}.topbar .status.on .dot{background:var(--accent-2);box-shadow:0 0 0 3px #6fa3682e}.iconbtn.gear{flex:0 0 auto;color:var(--muted);border:1px solid var(--line-strong);background:var(--surface);width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,border-color .2s,transform .25s}.iconbtn.gear:hover{color:var(--text);border-color:var(--accent);transform:rotate(35deg)}.iconbtn.gear:active{transform:rotate(35deg) scale(.93)}.page{max-width:40em;margin:0 auto;padding:40px 22px calc(48px + env(safe-area-inset-bottom));background:var(--surface);min-height:100vh;min-height:100dvh}.page-head{text-align:center;margin-bottom:34px}.page-head.sm{margin-bottom:26px}.brand-mark.lg{width:68px;height:68px;border-radius:20px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:var(--shadow)}.page h1{font-size:27px;margin:0;letter-spacing:-.5px;font-weight:780}.page-tag{color:var(--muted);font-size:14.5px;margin:6px 0 0}.page section{margin-bottom:26px}.page h2{font-size:12px;font-weight:700;color:var(--muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:.9px}.page p{margin:0 0 10px;line-height:1.6;font-size:14.5px}.page a{color:var(--accent-deep)}.page code{font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;word-break:break-all}.page-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.page-list li{position:relative;padding-left:18px;font-size:14px;line-height:1.55;color:var(--text)}.page-list li:before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.page-cta{text-align:center;margin:34px 0 8px}.page-cta .gate-btn{display:inline-flex;text-decoration:none;width:auto;padding:13px 28px}.page-foot{display:flex;gap:10px;justify-content:center;align-items:center;color:var(--muted);font-size:12.5px;padding-top:22px;border-top:1px solid var(--line);margin-top:30px}.gate-links{display:flex;gap:9px;justify-content:center;font-size:12px;margin-top:14px}.gate-links a{color:var(--muted)}.gate-links a:hover{color:var(--accent-deep)}.gate-links span{color:var(--line-strong)}.app.boot{background:var(--surface)}.gate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 26px calc(28px + env(safe-area-inset-bottom));animation:rise .4s cubic-bezier(.22,1,.36,1) both}.gate-mark{width:78px;height:78px;border-radius:23px;background:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow);margin-bottom:15px}.gate-mark img{width:60px;height:60px}.gate h1{font-size:28px;margin:0;letter-spacing:-.6px;font-weight:780}.gate-tag{color:var(--muted);font-size:14.5px;margin:6px 0 0;max-width:19em}.gate-tag em{color:var(--accent-deep);font-style:normal;font-weight:700}.gate-btn{margin-top:30px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--text);color:var(--surface);border:none;font-weight:650;font-size:15px;padding:13px 22px;border-radius:999px;cursor:pointer;width:100%;max-width:20em;box-shadow:var(--shadow-sm);transition:transform .1s,opacity .2s}.gate-btn:active{transform:scale(.97)}.gate-btn:disabled{opacity:.6;cursor:default}.gate-fine{color:var(--muted);font-size:11.5px;margin:12px 0 0;max-width:22em}.gate-err{margin-top:18px;background:var(--surface-2);border:1px solid var(--danger);color:var(--danger);border-radius:10px;padding:9px 12px;font-size:12.5px}.seg{display:inline-flex;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;background:var(--surface)}.seg button{border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:650;padding:7px 13px;cursor:pointer;transition:background .15s,color .15s}.seg button.on{background:var(--accent);color:var(--accent-ink)}.voice-play{flex:0 0 auto;width:34px;height:34px;margin-right:10px;display:grid;place-items:center;font-size:12px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:50%;cursor:pointer}.voice-play.on{background:var(--accent);border-color:var(--accent)}.voice-play:disabled{opacity:.4;cursor:default}.btn.sm{padding:7px 12px;font-size:12.5px}.btn.chosen{border-color:var(--accent-2);color:var(--accent-2);font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px;margin-bottom:11px;box-shadow:var(--shadow-sm);animation:rise .32s cubic-bezier(.22,1,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card h3{margin:0 0 4px;font-size:15px;font-weight:700}.card .meta{color:var(--muted);font-size:12px}.card .notes{color:var(--muted);font-size:13px;margin-top:6px}.chat-wrap{display:flex;flex-direction:column;height:100%}.chat{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;padding:12px 14px 14px}.chat:before{content:"";margin-top:auto}.bubble{max-width:82%;padding:10px 13px;border-radius:16px;white-space:pre-wrap;animation:pop .28s cubic-bezier(.22,1,.36,1) both;line-height:1.45}@keyframes pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px}.bubble.assistant{align-self:flex-start;background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:5px}.bubble strong{color:inherit;font-weight:700}.bubble .dots{letter-spacing:2px;opacity:.6}.bubble.proactive{border-left:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow-sm)}.bubble.proactive strong{color:var(--accent-deep)}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}.chip{background:var(--surface);border:1px solid var(--line-strong);color:var(--muted);padding:7px 12px;border-radius:999px;font-size:12px;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .1s}.chip:hover{color:var(--text);border-color:var(--accent);background:var(--surface-2)}.chip:active{transform:scale(.96)}.composer{display:flex;gap:8px;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.composer input{flex:1 1 0;min-width:0;background:var(--surface);border:1px solid var(--line-strong);color:var(--text);border-radius:999px;padding:11px 15px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.composer input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #dbad7e38}.composer input::placeholder{color:var(--muted)}.composer button{background:var(--text);color:var(--surface);border:none;border-radius:999px;padding:0 18px;height:42px;font-weight:700;cursor:pointer;transition:transform .1s,background .2s}.composer .sendbtn{flex:0 0 auto;width:42px;padding:0;display:grid;place-items:center}.composer button:hover{background:#3a332d}.composer button:active{transform:scale(.96)}.composer .iconbtn{flex:0 0 auto;width:42px;height:42px;padding:0;line-height:1;display:grid;place-items:center;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:background .18s,border-color .18s,transform .1s}.composer .iconbtn:active{transform:scale(.94)}@media (max-width: 360px){.composer{gap:6px;padding-left:10px;padding-right:10px}.composer input{padding-left:12px;padding-right:12px}}.composer .iconbtn.on{background:var(--accent);border-color:var(--accent)}.composer .iconbtn.mic.recording{background:var(--danger);color:#fff;border-color:var(--danger);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #d9694a73}50%{box-shadow:0 0 0 7px #d9694a00}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#26201a61;display:flex;align-items:flex-end;justify-content:center;animation:fade .18s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:520px;max-height:86vh;overflow-y:auto;background:var(--bg);border:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:var(--shadow);padding:18px 16px calc(28px + env(safe-area-inset-bottom));animation:rise .26s cubic-bezier(.22,1,.36,1) both}@media (min-width: 640px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px}}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.sheet-head h2{margin:0;font-size:20px;font-weight:780;letter-spacing:-.3px}.sheet .x{background:none;border:none;color:var(--muted);font-size:24px;cursor:pointer;line-height:1;padding:0 4px;transition:color .2s}.sheet .x:hover{color:var(--text)}.sheet .x:disabled{opacity:.4;cursor:default}.set-section{margin-top:22px}.set-section h3{margin:0 0 9px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.9px}.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:8px}.set-row-main{flex:1;min-width:0}.set-label{font-size:14px;font-weight:650;display:flex;align-items:center;gap:6px}.set-desc{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4}.set-note{font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:10px}.set-note.good{color:var(--accent-2)}.set-note.bad{color:var(--danger)}.toggle{flex:0 0 auto;width:46px;height:27px;border-radius:999px;cursor:pointer;background:var(--line-strong);border:none;padding:3px;position:relative;transition:background .22s cubic-bezier(.22,1,.36,1)}.toggle .knob{display:block;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #3c2d194d;transition:transform .22s cubic-bezier(.22,1,.36,1)}.toggle.on{background:var(--accent-2)}.toggle.on .knob{transform:translate(19px)}.toggle:disabled{opacity:.45;cursor:default}.btn{flex:0 0 auto;background:var(--text);color:var(--surface);border:1px solid var(--text);font-weight:650;font-size:13px;padding:9px 16px;border-radius:999px;cursor:pointer;transition:background .18s,transform .1s,opacity .2s}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:none;color:var(--text);border-color:var(--line-strong)}.btn.ghost:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2)}.btn.wide{width:100%}.pill{flex:0 0 auto;font-size:12px;font-weight:650;padding:6px 13px;border-radius:999px;border:1px solid var(--line-strong);color:var(--muted)}.pill.on{color:var(--accent-2);border-color:var(--accent-2)}.acct-id{display:flex;align-items:center;gap:11px;min-width:0}.acct-id img{border-radius:50%;flex:0 0 auto}.acct-initial{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:0 0 auto}.acct-id .set-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.conn{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.conn.off{opacity:.55}.conn.broken{border-color:var(--danger)}.conn-tag.bad{color:var(--danger);border-color:var(--danger)}.conn-error{font-size:11px;color:var(--danger);margin-top:4px;line-height:1.4}.conn-tag{font-size:9px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:1px 6px}.conn-url{font-size:11px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.conn-tools{font-size:11px;color:var(--accent-deep);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:12px;padding:16px;text-align:center;margin-bottom:10px}.conn-empty-title{font-size:14px;font-weight:650}.conn-empty-body{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}.conn-form{display:flex;flex-direction:column;gap:14px;margin:12px 0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px 14px}.fld{display:flex;flex-direction:column;gap:5px}.fld-label{font-size:12.5px;font-weight:650}.fld-hint{font-size:11px;color:var(--muted);line-height:1.4}.conn-form input{background:var(--bg);border:1px solid var(--line-strong);color:var(--text);border-radius:10px;padding:10px 12px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.conn-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #dbad7e38}.conn-form input::placeholder{color:var(--muted)}.conn-test{font-size:12px;line-height:1.45;border-radius:10px;padding:10px 12px;border:1px solid var(--line-strong);background:var(--bg);word-break:break-word}.run-list{display:flex;flex-direction:column;gap:6px}.run{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:10px;padding:10px 12px}.run.nudged{border-left-color:var(--accent-2)}.run.error{border-left-color:var(--danger)}.run.skipped{opacity:.7}.run-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.run-status{font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;color:var(--muted)}.run.nudged .run-status{color:var(--accent-2)}.run.error .run-status{color:var(--danger)}.run-when{font-size:11px;color:var(--muted)}.run-nudge{font-size:13px;font-weight:600;margin-top:3px}.run-detail{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.4}.run-why{font-size:11px;color:var(--muted);margin-top:3px;opacity:.8}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset{display:flex;align-items:center;gap:9px;text-align:left;background:var(--bg);border:1px solid var(--line-strong);color:var(--text);border-radius:11px;padding:10px 11px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .18s,background .18s,transform .1s}.preset:hover{border-color:var(--accent);background:var(--surface-2)}.preset:active{transform:scale(.97)}.preset-icon{width:30px;height:30px;border-radius:9px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);font-size:16px}.preset.custom{color:var(--muted);border-style:dashed}.preset-chosen{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line-strong);border-radius:11px;padding:10px 11px}.fld-hint a{color:var(--accent-deep)}.conn-connect{display:flex;flex-direction:column;gap:6px}.conn-manual>summary{font-size:12px;color:var(--muted);cursor:pointer;list-style:none;padding:4px 0;-webkit-user-select:none;user-select:none}.conn-manual>summary::-webkit-details-marker{display:none}.conn-manual>summary:before{content:"▸ "}.conn-manual[open]>summary:before{content:"▾ "}.conn-manual>summary:hover{color:var(--text)}.conn-manual .fld{margin-top:8px}.conn-test.good{border-color:var(--accent-2);color:var(--accent-2)}.conn-test.bad{border-color:var(--danger);color:var(--danger)}.conn-test strong{font-weight:700}.conn-form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.chip:disabled{opacity:.5;cursor:default}.nudge-setup{border-style:dashed}.nudge-setup .btn{margin-top:12px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.danger-zone{border:1px solid var(--danger);border-radius:12px;padding:14px;margin-top:10px;background:var(--surface)}.danger-zone .set-desc{margin:6px 0 12px}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost.danger{background:none;color:var(--danger);border-color:var(--line-strong)}.btn.ghost.danger:hover:not(:disabled){border-color:var(--danger);background:var(--surface-2)}.composer .iconbtn.ear.on{background:var(--accent-2);border-color:var(--accent-2)}.composer .iconbtn.ear.hearing{animation:pulse 1.2s ease-in-out infinite}.voice-bar{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:10px;padding:5px 14px;border-top:1px solid var(--line);background:var(--surface-2);min-height:34px}.voice-bar-text{text-align:center}.voice-mute{flex:0 0 auto;width:28px;height:28px;padding:0;display:grid;place-items:center;background:transparent;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s,transform .1s}.voice-mute:active{transform:scale(.92)}.voice-mute[aria-pressed=true]{color:var(--danger);border-color:var(--danger)}.voice-mute svg{width:15px;height:15px}.voice-bar.hearing{color:var(--accent-2);font-weight:600}.voice-bar.bad{color:var(--danger)}
