:root{color-scheme:light;--bg: #eef2f6;--bg-elevated: #ffffff;--ink: #15202b;--ink-muted: #5a6a7a;--line: #d5dde6;--accent: #0f6e56;--accent-ink: #ffffff;--warn: #9a5b00;--danger: #a11d2e;--badge: #c0392b;--status-idle: #6b7c8f;--status-run: #0b6bcb;--status-wait: #9a5b00;--status-err: #a11d2e;--radius: 12px;--header-h: 3.25rem;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--font: "IBM Plex Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--shadow: 0 8px 28px rgba(21, 32, 43, .12)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#d9e8ef 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#e4efe8 0%,transparent 50%),var(--bg);overflow:hidden}button,textarea,input{font:inherit}.app-shell{height:100vh;height:100dvh;max-height:100dvh;display:flex;flex-direction:row;max-width:100vw;overflow:hidden;padding-left:var(--safe-left);padding-right:var(--safe-right)}.main-column{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:visible}.desktop-sidebar{display:none;flex:0 0 300px;flex-direction:column;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 92%,#dfe8f0);padding:calc(.75rem + var(--safe-top)) .75rem .75rem;overflow:auto}@media(min-width:900px){.desktop-sidebar{display:flex}}.header{position:relative;z-index:30;display:flex;align-items:center;gap:.5rem;flex-shrink:0;min-height:calc(var(--header-h) + var(--safe-top));padding:calc(.4rem + var(--safe-top)) .75rem .4rem;background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-menu-wrap{position:relative;z-index:31}.header-menu{position:absolute;right:0;top:calc(100% + .35rem);z-index:40;background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:.5rem;min-width:210px;max-width:min(90vw,280px);max-height:min(70dvh,24rem);overflow-y:auto;box-shadow:var(--shadow)}.icon-btn{position:relative;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-elevated);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex-shrink:0}.icon-btn:focus-visible,.btn:focus-visible,.link-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge{position:absolute;top:-.25rem;right:-.25rem;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--badge);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center;line-height:1}.header-main{min-width:0;flex:1}.header-title{margin:0;font-size:1.05rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-sub{margin:.1rem 0 0;font-size:.78rem;color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:.35rem .4rem;align-items:center}.status-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--status-idle);flex-shrink:0}.status-dot.run{background:var(--status-run)}.status-dot.wait{background:var(--status-wait)}.status-dot.err{background:var(--status-err)}.project-links{position:relative;z-index:1;display:flex;gap:.4rem;flex-shrink:0;padding:.45rem .75rem;overflow-x:auto;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 70%,transparent);scrollbar-width:thin}.link-chip{flex:0 0 auto;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:999px;padding:.35rem .75rem;text-decoration:none;font-size:.82rem;white-space:nowrap}.chat-area{position:relative;z-index:0;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:auto}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.msg{max-width:min(42rem,100%);padding:.7rem .85rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elevated)}.msg.user{align-self:flex-end;background:#e7f3ee;border-color:#c5ddd2}.msg.assistant{align-self:stretch}.msg-meta{font-size:.72rem;color:var(--ink-muted);margin-bottom:.35rem}.msg-body{font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}.msg-body pre{margin:.5rem 0;padding:.65rem;border-radius:8px;background:#13202c;color:#e8eef5;overflow-x:auto;max-width:100%;font-family:var(--mono);font-size:.82rem}.msg-body code{font-family:var(--mono);font-size:.86em}.msg-body :not(pre)>code{background:#e8eef4;padding:.05rem .3rem;border-radius:4px}.code-wrap{position:relative}.copy-btn{position:absolute;top:.35rem;right:.35rem;border:0;border-radius:6px;padding:.25rem .45rem;background:#ffffff1f;color:#fff;cursor:pointer;font-size:.72rem}.interactive-card{border:1px solid #d8c39a;background:#fff8ea;border-radius:var(--radius);padding:.75rem;display:grid;gap:.55rem}.interactive-card.resolved{opacity:.72;background:#f4f6f8;border-color:var(--line)}.btn{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:10px;min-height:2.5rem;padding:.45rem .8rem;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.btn-row{display:flex;flex-wrap:wrap;gap:.4rem}.composer{flex-shrink:0;border-top:1px solid var(--line);background:var(--bg-elevated);padding:.55rem .75rem calc(.55rem + var(--safe-bottom));display:grid;gap:.4rem;z-index:5}.banners{flex-shrink:0;max-height:30vh;overflow-y:auto}.composer-hint{font-size:.78rem;color:var(--ink-muted)}.composer-hint-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.activity-toggle{min-height:2rem;padding:.15rem .65rem;font-size:.78rem;flex-shrink:0}.activity-toggle.live{border-color:var(--status-run);color:var(--status-run)}.activity-sheet{flex-shrink:0;max-height:42vh;max-height:42dvh;overflow:auto;border-top:1px solid var(--line);background:var(--bg-elevated);padding:.65rem .75rem .75rem;display:grid;gap:.55rem}.activity-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.activity-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.activity-item{border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;background:#f8fafc;display:grid;gap:.2rem}.activity-item.in_progress{border-color:color-mix(in srgb,var(--status-run) 45%,var(--line))}.activity-item.failed{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.activity-detail{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:.75rem;color:var(--ink-muted)}.composer-row{display:flex;gap:.45rem;align-items:stretch;min-height:30vh;min-height:30dvh}.composer textarea{flex:1;min-height:30vh;min-height:30dvh;height:30dvh;max-height:45dvh;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;background:#f8fafc;line-height:1.4}.composer-actions{display:flex;flex-direction:column;justify-content:flex-end;gap:.45rem;flex-shrink:0}.composer-actions>.btn{min-height:2.75rem}.attach-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.attach-chip{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:10px;padding:.25rem .4rem .25rem .35rem;background:#f8fafc;max-width:100%}.attach-chip img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:6px;background:#e7eef3;flex-shrink:0}.attach-chip span{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}.user-text{white-space:pre-wrap}.msg-image{display:block;max-width:min(100%,16rem);max-height:16rem;margin-top:.45rem;border-radius:8px}.jump-btn{position:absolute;left:50%;bottom:.75rem;transform:translate(-50%);z-index:2;box-shadow:var(--shadow)}.drawer-overlay{position:fixed;inset:0;background:#0f172073;z-index:40}.drawer{position:fixed;top:0;left:0;bottom:0;width:min(88vw,320px);background:var(--bg-elevated);z-index:50;display:flex;flex-direction:column;box-shadow:var(--shadow);padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--line)}.drawer-list{overflow:auto;padding:.5rem;display:grid;gap:.4rem}.project-row{text-align:left;border:1px solid var(--line);border-radius:12px;padding:.7rem .75rem;background:#f7fafc;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:start}.project-row-main{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;display:grid;gap:.2rem;min-width:0;color:inherit;font:inherit}.project-edit{min-height:2rem;padding:.2rem .55rem;font-size:.8rem}.project-row.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:#eaf6f1}.project-row-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.project-name{font-weight:650}.inline-badge{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--badge);color:#fff;font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}.decision-flag{color:var(--warn);font-size:.75rem;font-weight:600}.login{min-height:100dvh;display:grid;place-items:center;padding:1.25rem}.login-card{width:min(24rem,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow);display:grid;gap:.75rem}.login-card h1{margin:0;font-size:1.6rem;letter-spacing:.04em}.login-card input{width:100%;min-height:2.75rem;border-radius:10px;border:1px solid var(--line);padding:.55rem .75rem}.error-banner{margin:.5rem .75rem 0;padding:.55rem .7rem;border-radius:10px;background:#fdecee;color:var(--danger);border:1px solid #f3c5cb;font-size:.85rem}.modal-root{position:fixed;inset:0;z-index:70}.modal-overlay{position:absolute;inset:0;background:#0f172073}.modal{position:relative;z-index:1;width:min(32rem,calc(100% - 1.5rem));max-height:min(90dvh,42rem);overflow:auto;margin:6vh auto 0;background:var(--bg-elevated);border-radius:16px;padding:1rem;display:grid;gap:.7rem;box-shadow:var(--shadow)}.modal h2{margin:0;font-size:1.05rem}.field{display:grid;gap:.25rem;font-size:.82rem;color:var(--ink-muted)}.field input{width:100%;min-height:2.5rem;border-radius:10px;border:1px solid var(--line);padding:.45rem .7rem;color:var(--ink);background:#fff}.field input:disabled{background:#f4f6f8;color:var(--ink-muted)}.link-edit{display:grid;gap:.35rem}.modal .error-banner{margin:0}.notice{margin:.25rem .75rem;padding:.5rem .65rem;border-radius:10px;background:#eef4fa;border:1px solid #cfdceb;font-size:.82rem}.empty{margin:auto;text-align:center;color:var(--ink-muted);padding:2rem 1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
