.ast-root{display:flex;flex-direction:column;gap:var(--space-3);height:calc(100dvh - 9rem - var(--tab-bar-safe-area));min-height:24rem}.ast-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2)}.ast-icon-btn{background:transparent;border:1px solid transparent;color:var(--text-3);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;font-family:inherit;flex:0 0 auto}.ast-icon-btn:hover{background:var(--surface-2);color:var(--text-1)}.ast-icon-btn-on{color:var(--accent)}.ast-icon-btn:disabled{opacity:.45;cursor:default;background:transparent}.ast-icon-btn svg{width:20px;height:20px}.ast-days{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:0 var(--space-1)}.ast-day-chip{background:var(--surface);color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.8rem;cursor:pointer;min-height:32px}.ast-day-chip[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:rgba(var(--accent-rgb),.12)}.ast-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-1)}.ast-list>:first-child{margin-top:auto}.ast-msg{display:flex;flex-direction:column;gap:2px;max-width:min(46rem,88%)}.ast-msg-user{align-self:flex-end;align-items:flex-end}.ast-msg-assistant{align-self:flex-start}.ast-who{font-size:.7rem;color:var(--text-3);padding:0 var(--space-1)}.ast-timing{font-variant-numeric:tabular-nums;opacity:.85}.ast-bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border);color:var(--text-1)}.ast-msg-user .ast-bubble{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.35)}.ast-msg-assistant .ast-bubble{background:transparent;border-color:transparent;box-shadow:none}.ast-msg-assistant{max-width:min(46rem,100%)}.ast-hint{color:var(--text-3);font-size:.85rem;padding:0 var(--space-1)}.ast-typing:after{content:"";display:inline-block;width:.5em;height:.5em;margin-left:.4em;border-radius:50%;background:var(--accent);animation:ast-pulse 1s ease-in-out infinite}@keyframes ast-pulse{0%,to{opacity:.25}50%{opacity:1}}.ast-error{color:var(--danger-fg);font-size:.9rem}.ast-compose{display:flex;align-items:center;gap:.25rem;padding:.35rem .45rem .35rem .5rem;border-radius:999px;background:#1c1d22;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 28px #00000059;min-height:60px;box-sizing:border-box;flex:0 0 auto}body .ast-root .ast-compose textarea.ast-input,.ast-input{flex:1 1 auto;min-width:0;min-height:0;height:auto;box-sizing:content-box;resize:none;background:transparent;color:var(--text-1);border:0;border-radius:0;box-shadow:none;padding:.55rem .5rem;margin:0;font:inherit;font-size:1.05rem;line-height:1.4;letter-spacing:normal;max-height:7.5rem;field-sizing:content}.ast-input::placeholder{color:#ffffff8c}body .ast-root .ast-compose textarea.ast-input:focus,.ast-input:focus{outline:none;box-shadow:none;border:0;background:transparent}.ast-pill-btn,body .ast-root .ast-compose button.ast-pill-btn{flex:0 0 auto;width:46px;height:46px;min-height:0;min-width:0;box-sizing:border-box;border-radius:50%;background:transparent;color:#ffffffd9;border:0;box-shadow:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:inherit;line-height:normal;padding:0;margin:0}.ast-pill-btn:hover,body .ast-root .ast-compose button.ast-pill-btn:hover{background:#ffffff14}.ast-pill-btn:disabled,body .ast-root .ast-compose button.ast-pill-btn:disabled{opacity:.55;cursor:default;background:transparent}.ast-pill-btn svg{width:24px;height:24px}.ast-note-live{color:#ff8a8a;font-variant-numeric:tabular-nums}.ast-rec-wave{flex:1 1 auto;min-width:0;height:38px;display:block}@media(max-width:400px){.ast-pill-btn,body .ast-root .ast-compose button.ast-pill-btn{width:40px}.ast-compose{gap:.1rem;padding-left:.3rem}body .ast-root .ast-compose textarea.ast-input,.ast-input{padding-left:.25rem;padding-right:.25rem}}.ast-send,body .ast-root .ast-compose button.ast-send{flex:0 0 auto;width:46px;height:46px;min-height:0;min-width:0;box-sizing:border-box;border-radius:50%;border:0;box-shadow:none;background:#2a4fd6;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:inherit;line-height:normal;padding:0;margin:0;transition:background .15s ease}.ast-send:hover,body .ast-root .ast-compose button.ast-send:hover{background:#3560f0}.ast-send:disabled,body .ast-root .ast-compose button.ast-send:disabled{background:#26314f;color:#ffffff8c;cursor:default}.ast-send svg{width:22px;height:22px}.ast-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem 1.5rem}.ast-empty-logo{width:72px;height:72px;object-fit:contain}.ast-empty-greeting{margin:0;font-size:1.75rem;line-height:1.2;font-weight:400;color:#f1f2f4;max-width:18ch}.ast-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;max-width:30rem}.ast-suggestion,body .ast-root .ast-suggestions button.ast-suggestion{background:#ffffff0f;color:#ffffffd9;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.5rem .9rem;margin:0;font:inherit;font-size:.9rem;line-height:1.3;letter-spacing:normal;cursor:pointer;min-height:40px;box-shadow:none}.ast-suggestion:hover,body .ast-root .ast-suggestions button.ast-suggestion:hover{background:#ffffff1a}.ast-suggestion:disabled,body .ast-root .ast-suggestions button.ast-suggestion:disabled{opacity:.5;cursor:default}.ast-msg-assistant .ast-bubble{white-space:normal}.ast-rich p{margin:0 0 .6em}.ast-rich ul,.ast-rich ol{margin:.2em 0 .6em;padding-left:1.3em}.ast-rich li{margin:.2em 0}.ast-rich>:last-child{margin-bottom:0}.ast-rich strong{font-weight:600;color:#f6f7f9}.ast-rich a.ast-link{color:var(--accent);text-decoration:underline dotted;text-underline-offset:2px}.ast-rich code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#ffffff14;padding:0 .3em;border-radius:4px}.ast-trace{max-width:100%}.ast-actions{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1)}.ast-speak{background:transparent;border:0;color:var(--text-3);cursor:pointer;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0}.ast-speak:hover{background:#ffffff14;color:var(--text-1)}.ast-speak svg{width:18px;height:18px}.ast-speak-on{color:var(--accent);animation:ast-pulse 1s ease-in-out infinite}.ast-trace-toggle{background:none;border:none;color:var(--text-3);font-size:.75rem;padding:0 var(--space-1);cursor:pointer;text-decoration:underline dotted}.ast-card{margin:.35rem 0 .25rem;padding:.7rem .85rem;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;max-width:34rem}.ast-card-wait{border-color:#ffc4008c;background:#ffc40014}.ast-card-ok{border-color:#4cd96473}.ast-card-bad{border-color:#ff5a5a80}.ast-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.95rem}.ast-card-status{font-size:.8rem;color:#ffffffb3;white-space:nowrap}.ast-card-summary{margin:.4rem 0 .2rem;font-size:1rem;line-height:1.4}.ast-card-fields{margin:.35rem 0 0;display:grid;grid-template-columns:max-content 1fr;gap:.15rem .75rem;font-size:.82rem;color:#ffffffbf}.ast-card-fields>div{display:contents}.ast-card-fields dt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffffff8c}.ast-card-fields dd{margin:0;overflow-wrap:anywhere}.ast-card-error{margin:.4rem 0 0;color:#ff8a8a;font-size:.9rem}.ast-card-actions{display:flex;gap:.5rem;margin-top:.65rem}.ast-card-approve,.ast-card-reject,body .ast-root .ast-card button.ast-card-approve,body .ast-root .ast-card button.ast-card-reject{min-height:40px;padding:.45rem 1.1rem;border-radius:999px;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid transparent;box-shadow:none}.ast-card-approve,body .ast-root .ast-card button.ast-card-approve{background:#2a4fd6;color:#fff}.ast-card-approve:hover,body .ast-root .ast-card button.ast-card-approve:hover{background:#3560f0}.ast-card-reject,body .ast-root .ast-card button.ast-card-reject{background:transparent;color:#ffffffd9;border-color:#ffffff40}.ast-card-reject:hover,body .ast-root .ast-card button.ast-card-reject:hover{background:#ffffff14}.ast-confirm{border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#1c1d22;color:var(--text-1);padding:1.1rem 1.2rem;margin:auto;width:min(22rem,calc(100vw - 3rem));box-shadow:0 12px 40px #00000080}.ast-confirm::backdrop{background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ast-confirm-text{margin:0 0 1rem;font-size:1rem;line-height:1.45}.ast-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.ast-confirm-cancel,.ast-confirm-ok,body .ast-confirm button.ast-confirm-cancel,body .ast-confirm button.ast-confirm-ok{min-height:40px;padding:.45rem 1.1rem;border-radius:999px;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid transparent;box-shadow:none;margin:0}.ast-confirm-ok,body .ast-confirm button.ast-confirm-ok{background:#2a4fd6;color:#fff}.ast-confirm-ok:hover,body .ast-confirm button.ast-confirm-ok:hover{background:#3560f0}.ast-confirm-cancel,body .ast-confirm button.ast-confirm-cancel{background:transparent;color:#ffffffd9;border-color:#ffffff40}.ast-confirm-cancel:hover,body .ast-confirm button.ast-confirm-cancel:hover{background:#ffffff14}.ast-trace-body{margin:var(--space-1) 0 0;padding:var(--space-2);font-size:.72rem;line-height:1.35;max-height:18rem;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2)}.ast-overlay{border:0;padding:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:linear-gradient(180deg,#000 0% 52%,#06102e 78%,#0d2a7a);color:var(--text-1);overflow:hidden}.ast-overlay::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(min-width:768px){.ast-overlay{width:min(52rem,calc(100vw - 2rem));height:min(48rem,calc(100dvh - 2rem));margin:auto;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-2)}}.ast-overlay-inner{display:flex;flex-direction:column;height:100%;padding:var(--space-2) var(--space-3) var(--space-3);padding-top:max(var(--space-2),env(safe-area-inset-top));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom));box-sizing:border-box}.ast-toolbar-overlay{justify-content:flex-start;align-items:center;gap:var(--space-2)}.ast-toolbar-overlay .ast-overlay-title{flex:0 0 auto}.ast-toolgroup{display:flex;align-items:center;gap:2px;min-width:0}.ast-toolbar-overlay .ast-toolgroup{margin-right:auto}.ast-mode-badge{font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--accent);border:1px solid rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12);border-radius:999px;padding:.12rem .5rem;white-space:nowrap}@media(max-width:379px){.ast-mode-badge{display:none}}.ast-overlay-title{margin:0;font-size:1rem;font-weight:600}.ast-overlay-close{background:transparent;border:0;color:var(--text-3);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-family:inherit;flex:0 0 auto}.ast-overlay-close:hover{background:var(--surface-2);color:var(--text-1)}.ast-overlay-close svg{width:22px;height:22px}.ast-overlay .ast-root{flex:1 1 auto;min-height:0;height:auto;gap:var(--space-2)}.ast-overlay .ast-toolbar-overlay{position:relative;z-index:2;min-height:44px;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-3)) 0;padding:var(--space-2) var(--space-3) var(--space-2);background:linear-gradient(180deg,#000 0% 55%,#0000)}.ast-overlay .ast-list{margin-top:calc(-1 * (44px + 2 * var(--space-2)));padding-top:calc(44px + 2 * var(--space-2));margin-bottom:calc(-1 * (60px + var(--space-2)));padding-bottom:calc(60px + 2 * var(--space-2))}.ast-overlay .ast-days{position:relative;z-index:2}.ast-overlay .ast-days~.ast-list{margin-top:0;padding-top:var(--space-2)}.ast-overlay .ast-compose{position:relative;z-index:2}.ast-launcher{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;min-height:48px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.16);color:var(--text-1);font:inherit;font-weight:600;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-2)}body:has(.catalog-tabbar) .ast-launcher{bottom:calc(var(--tab-bar-safe-area) + 1rem)}.ast-launcher:hover{background:rgba(var(--accent-rgb),.24)}.ast-launcher svg{width:22px;height:22px;color:var(--accent)}@media print{.ast-launcher,.ast-overlay{display:none}}.ast-embed-body{margin:0;background:#000}.ast-embed{position:fixed;inset:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;border-radius:0;border:0;box-shadow:none}
