:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fbf7f0;--bg-2:#f4eee4;--fg:#2c2a26;--muted:#7c7568;--card:#fff;--border:#ebe3d6;--border-soft:#f2ece1;--accent:#6f9e79;--accent-soft:#e8f1e8;--accent-fg:#fff;--blossom:#d98b98;--blossom-soft:#fbeef0;--aiko-1:#a8cbaa;--aiko-2:#7fae8b;--aiko-petal:#fdfaf4;--aiko-core:#f3d38a;--ok:#4f8a5b;--ng:#b4564f;--warn:#b07f3a;--radius:22px;--radius-sm:14px;--indent:42px;--shadow:0 1px 2px #3c301e0f, 0 8px 24px #3c301e0f;--shadow-soft:0 1px 2px #3c301e0d}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16150f;--bg-2:#1e1c15;--fg:#eee9df;--muted:#9d968a;--card:#232019;--border:#322e25;--border-soft:#2a271f;--accent:#8fbe98;--accent-soft:#23301f;--accent-fg:#14180f;--blossom:#e5a3ae;--blossom-soft:#2f2226;--aiko-1:#7fae8b;--aiko-2:#5b8a6a;--aiko-petal:#f6f1e6;--aiko-core:#e8c47c;--ok:#8fbe98;--ng:#e08a83;--warn:#d6a860;--shadow:0 1px 2px #0000004d, 0 10px 28px #00000047;--shadow-soft:0 1px 2px #00000040}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:1rem;line-height:1.7}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;color:inherit;background:0 0;border:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app{background:var(--bg);grid-template-columns:1fr;height:100dvh;display:grid}@media (width>=768px){.app.has-session{grid-template-columns:320px 1fr}.app.has-session .sidebar,.app.has-session .chat-pane{display:flex}}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);min-width:0;min-height:0;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.app.has-session .sidebar{display:none}.chat-pane{min-width:0;min-height:0;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.app:not(.has-session) .chat-pane{display:none}.avatar{box-shadow:var(--shadow-soft);border-radius:50%;flex:none;display:inline-flex;overflow:hidden}.avatar svg{display:block}.avatar.thinking{animation:2.4s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.82;transform:scale(1.07)}}.presence{align-items:center;gap:12px;min-width:0;display:flex}.presence .who{min-width:0}.presence .name{letter-spacing:.02em;font-weight:650;line-height:1.3}.presence .status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.4;overflow:hidden}.presence .status.busy{color:var(--accent)}.side-head,.chat-head{background:color-mix(in srgb, var(--bg-2) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(12px);backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid var(--border-soft);z-index:5;align-items:center;gap:10px;min-height:64px;padding:12px 16px;display:flex;position:sticky;top:0}.chat-head{background:color-mix(in srgb, var(--bg) 88%, transparent)}.side-head{width:100%;max-width:720px;margin-inline:auto}.head-spacer{flex:1}.chat-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:30vw;font-size:.78rem;overflow:hidden}@media (width<=767px){.chat-title{display:none}}.icon-btn{width:40px;height:40px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:background .16s,color .16s;display:inline-flex}.icon-btn:hover{background:var(--border-soft);color:var(--fg)}.icon-btn svg{width:20px;height:20px}.new-btn{background:var(--accent);height:40px;color:var(--accent-fg);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:.85rem;font-weight:600;transition:transform .14s,filter .16s;display:inline-flex}.new-btn:hover{filter:brightness(1.06)}.new-btn:active{transform:scale(.96)}.new-btn svg{width:16px;height:16px}.session-list{padding:10px 12px calc(20px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:8px;width:100%;max-width:720px;margin-inline:auto;display:flex;overflow-y:auto}.session-row{text-align:left;border-radius:var(--radius-sm);background:var(--card);width:100%;box-shadow:var(--shadow-soft);border:1px solid #0000;align-items:flex-start;gap:12px;padding:14px;transition:transform .14s,border-color .16s;display:flex}.session-row:active{transform:scale(.985)}.session-row[aria-current=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 60%, var(--card))}.session-row .body{flex:1;min-width:0}.session-row .row-top{align-items:center;gap:8px;display:flex}.session-row .title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.session-row .preview{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.pill{border-radius:999px;flex:none;padding:2px 9px;font-size:.7rem;font-weight:600;line-height:1.6}.pill.busy{background:var(--accent-soft);color:var(--accent)}.pill.alert{background:var(--blossom-soft);color:var(--blossom)}.thread{scroll-behavior:smooth;flex-direction:column;flex:1;gap:14px;width:100%;max-width:720px;margin-inline:auto;padding:20px 16px 8px;display:flex;overflow-y:auto}.say{align-items:flex-start;gap:10px;min-width:0;max-width:100%;animation:.28s ease-out rise;display:flex}.say>.bubble{min-width:0}.say.grouped{margin-top:-8px}.say .spacer{flex:0 0 32px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bubble{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-width:min(78%,560px);padding:11px 16px;animation:.28s ease-out rise}.bubble.assistant{background:var(--card);box-shadow:var(--shadow-soft);border-bottom-left-radius:8px;max-width:100%}.say.grouped .bubble.assistant{border-bottom-left-radius:var(--radius);border-top-left-radius:8px}.bubble.user{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-soft);border-bottom-right-radius:8px;align-self:flex-end}.bubble.user.grouped{border-top-right-radius:8px;margin-top:-8px}.bubble p{margin:0 0 .7em}.bubble p:last-child{margin-bottom:0}.bubble pre{border-radius:var(--radius-sm);background:var(--bg-2);max-width:100%;margin:.6em 0;padding:12px 14px;font-size:.86em;line-height:1.6;overflow-x:auto}.bubble.user pre{background:#00000029}.bubble code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.bubble :not(pre)>code{background:var(--bg-2);border-radius:6px;padding:1px 5px}.bubble.user :not(pre)>code{background:#00000029}.caret{vertical-align:-.18em;background:var(--accent);width:2px;height:1.05em;margin-left:2px;animation:1.05s steps(2,start) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.typing{color:var(--muted);align-items:center;gap:10px;font-size:.8rem;animation:.28s ease-out rise;display:flex}.typing .dots{gap:4px;display:inline-flex}.typing .dots i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.15s ease-in-out infinite bounce}.typing .dots i:nth-child(2){animation-delay:.16s}.typing .dots i:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,70%,to{opacity:.45;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}.thinking{margin-left:var(--indent);max-width:calc(100% - var(--indent));color:var(--muted);background:var(--bg-2);border-radius:var(--radius-sm);border:1px solid var(--border-soft);padding:8px 14px;font-size:.84rem}.thinking summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.thinking summary::-webkit-details-marker{display:none}.thinking summary:before{content:"⌄ ";transition:transform .16s;display:inline-block}.thinking[open] summary:before{transform:rotate(180deg)}.thinking .body{white-space:pre-wrap;border-top:1px solid var(--border-soft);margin-top:8px;padding-top:8px}.chip{margin-left:var(--indent);color:var(--muted);background:var(--bg-2);border:1px solid var(--border-soft);min-width:0;max-width:calc(100% - var(--indent));border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:5px 14px;font-size:.8rem;display:flex}.chip .label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.chip.blocked{color:var(--ng);background:var(--blossom-soft);border-color:#0000}.chip svg{flex:none;width:14px;height:14px}.approval{margin-left:var(--indent);max-width:min(100% - var(--indent), 520px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-self:flex-start;padding:14px 16px;animation:.28s ease-out rise}.approval.high{border-color:color-mix(in srgb, var(--blossom) 55%, transparent)}.approval .head{align-items:center;gap:8px;font-size:.9rem;font-weight:650;display:flex}.approval .head svg{width:18px;height:18px;color:var(--blossom)}.approval .ask{color:var(--muted);margin-top:2px;font-size:.82rem}.approval .summary{background:var(--bg-2);border-radius:var(--radius-sm);overflow-wrap:anywhere;margin-top:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.55}.approval .actions{gap:8px;margin-top:12px;display:flex}.approval .actions button{background:var(--bg-2);height:42px;color:var(--fg);border-radius:999px;flex:1;font-size:.9rem;font-weight:600;transition:transform .14s,filter .16s}.approval .actions button:active{transform:scale(.97)}.approval .actions .allow{background:var(--accent);color:var(--accent-fg)}.approval .actions button:disabled{opacity:.5}.approval .resolved{color:var(--muted);margin-top:12px;font-size:.84rem}.approval .resolved.allowed{color:var(--ok)}.approval .resolved.denied{color:var(--ng)}.composer{padding:10px 14px calc(10px + env(safe-area-inset-bottom));align-items:flex-end;gap:8px;width:100%;max-width:720px;margin-inline:auto;display:flex}.composer .field{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:24px;flex:1;align-items:flex-end;padding:4px 6px 4px 16px;transition:border-color .16s;display:flex}.composer .field:focus-within{border-color:var(--accent)}.composer textarea{min-width:0;color:inherit;font:inherit;resize:none;background:0 0;border:none;outline:none;flex:1;max-height:40vh;padding:9px 0;line-height:1.6}.composer textarea::placeholder{color:var(--muted)}.send-btn{background:var(--accent);width:38px;height:38px;color:var(--accent-fg);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:transform .14s,opacity .16s;display:inline-flex}.send-btn:disabled{opacity:.35}.send-btn:not(:disabled):active{transform:scale(.92)}.send-btn.stop{background:var(--ng)}.send-btn svg{width:18px;height:18px}.welcome{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:32px 24px;animation:.4s ease-out rise;display:flex}.welcome .avatar{margin-bottom:10px}.welcome h2{margin:0;font-size:1.12rem;font-weight:650}.welcome p{color:var(--muted);margin:0;font-size:.9rem}.starters{flex-wrap:wrap;justify-content:center;gap:8px;max-width:420px;margin-top:20px;display:flex}.starters button{background:var(--card);border:1px solid var(--border);color:var(--fg);box-shadow:var(--shadow-soft);border-radius:999px;padding:9px 16px;font-size:.85rem;transition:transform .14s,border-color .16s}.starters button:hover{border-color:var(--accent)}.starters button:active{transform:scale(.96)}.empty{color:var(--muted);text-align:center;padding:40px 24px;font-size:.9rem;line-height:1.8}.banner{border-radius:var(--radius-sm);background:var(--blossom-soft);color:var(--fg);margin:10px 12px;padding:12px 14px;font-size:.84rem;line-height:1.6}.banner code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--fg);padding:10px 14px;font-size:.86rem}.err{border-radius:var(--radius-sm);background:var(--blossom-soft);color:var(--ng);overflow-wrap:anywhere;align-self:flex-start;max-width:100%;padding:10px 14px;font-size:.86rem}.hint-text{color:var(--muted);margin-top:4px;font-size:.8rem;line-height:1.6}.conn{background:var(--blossom-soft);color:var(--blossom);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.sheet-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#1e180e6b;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@media (width>=768px){.sheet-backdrop{align-items:center}}.sheet{background:var(--bg);width:100%;max-width:520px;max-height:88dvh;box-shadow:var(--shadow);border-radius:26px 26px 0 0;flex-direction:column;animation:.24s ease-out slide-up;display:flex}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}}@media (width>=768px){.sheet{border-radius:26px}}.sheet-head{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:14px 16px;display:flex}.sheet-head .side-title{flex:1;font-weight:650}.sheet-body{padding:16px 18px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex;overflow-y:auto}.sheet-body h3{color:var(--muted);letter-spacing:.06em;margin:14px 0 2px;font-size:.78rem;font-weight:650}.sheet-body h3:first-child{margin-top:0}.sheet-body button,.link-btn{border-radius:var(--radius-sm);background:var(--accent);height:46px;color:var(--accent-fg);justify-content:center;align-items:center;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.sheet-body button.secondary,.link-btn{background:var(--card);color:var(--fg);border:1px solid var(--border)}.sheet-body button.danger{color:var(--ng)}.sheet-body button:disabled{opacity:.5}.sheet-head .icon-btn{margin-left:auto}.diag{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;gap:6px 12px;margin:0;padding:12px 14px;font-size:.86rem;display:grid}.diag dt{color:var(--muted)}.diag dd{text-align:right;margin:0;font-weight:600}.diag dd.ok{color:var(--ok)}.diag dd.ng{color:var(--ng)}.gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:440px;min-height:100dvh;margin-inline:auto;padding:32px 24px;display:flex}.gate .avatar{margin-bottom:4px}.gate h1{margin:0;font-size:1.3rem;font-weight:650}.gate p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.7}.gate code{background:var(--bg-2);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.gate input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);width:100%;height:48px;color:inherit;font:inherit;outline:none;margin-top:8px;padding:0 16px}.gate input:focus{border-color:var(--accent)}.gate>button{border-radius:var(--radius-sm);background:var(--accent);width:100%;height:48px;color:var(--accent-fg);font-weight:600}.gate>button:disabled{opacity:.4}
