html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--color-bg-base);color:var(--color-fg-default)}.app{display:flex;flex-direction:column;height:100%;min-height:0}.loading-page,.login-page{height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-base)}.login-card{width:min(400px,92vw);padding:28px;background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:12px;display:flex;flex-direction:column;gap:14px}.login-card h1{font-size:20px;color:var(--color-accent)}.login-hint{font-size:13px;color:var(--color-fg-muted)}.login-card input{padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-base);color:var(--color-fg-default);font-size:14px}.login-card button{padding:10px 14px;border-radius:8px;border:none;background:var(--color-success);color:var(--color-fg-on-accent);font-size:14px;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--color-danger);font-size:13px}.login-credit{margin:0;font-size:11px;color:var(--color-border-muted);text-align:center}.status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.status-brand{display:flex;flex-direction:column;gap:2px;margin-right:4px;flex-shrink:0}.status-brand-name{font-size:16px;font-weight:700;color:var(--color-accent);line-height:1.1}.status-brand-tagline{font-size:11px;color:var(--color-fg-muted);line-height:1.1}.status-items{display:flex;flex-wrap:wrap;gap:8px;flex:1}.status-pill{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--color-bg-muted);border:1px solid var(--color-border-default)}.status-pill.ok{border-color:var(--color-success);color:var(--color-success-emphasis)}.status-pill.job-running{color:var(--color-accent-soft);border-color:var(--color-accent-emphasis);background:#388bfd1f}.status-pill.queue-pending{color:var(--color-warning);border-color:var(--color-warning-deep);background:#d299221a}.status-pill.warn{border-color:var(--color-warning-deep);color:var(--color-warning)}.status-pill.muted{color:var(--color-fg-muted)}.status-actions{display:flex;flex-wrap:wrap;gap:8px}.status-actions button{background:var(--color-bg-muted);color:var(--color-fg-default);border:1px solid var(--color-border-default);border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;white-space:nowrap}.status-actions button:hover{background:var(--color-border-default)}.status-actions .btn-muted{color:var(--color-fg-muted)}.console-body{flex:1;display:flex;min-height:0;overflow:hidden}.quick-sidebar{width:200px;flex-shrink:0;padding:12px;background:var(--color-bg-subtle);border-right:1px solid var(--color-border-default);overflow-y:auto}.quick-sidebar h2{font-size:13px;margin-bottom:6px;color:var(--color-fg-default)}.sidebar-hint{font-size:11px;color:var(--color-fg-muted);margin-bottom:10px;line-height:1.4}.quick-sidebar ul{list-style:none;display:flex;flex-direction:column;gap:6px}.quick-sidebar button{width:100%;text-align:left;padding:8px 10px;font-size:12px;background:var(--color-bg-muted);color:var(--color-fg-default);border:1px solid var(--color-border-default);border-radius:6px;cursor:pointer}.quick-sidebar button:hover{background:var(--color-border-default);border-color:var(--color-accent)}.console-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.terminal-panel{flex:1;display:flex;flex-direction:column;min-height:0}.terminal-panel-header{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:12px;color:var(--color-fg-muted);background:var(--color-bg-muted);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.terminal-panel-hint{font-size:11px;color:var(--color-fg-subtle)}.terminal-container{flex:1;min-height:0;width:100%;overflow:hidden;background:var(--color-bg-base);cursor:default}.terminal-container .xterm .xterm-cursor{display:none!important}.terminal-container .xterm{width:100%;height:100%;padding:0}.debug-panel{display:flex;flex-wrap:wrap;gap:10px;padding:6px 10px;font-size:11px;color:var(--color-fg-muted);font-family:JetBrains Mono,Menlo,Consolas,monospace;background:var(--color-bg-muted);border-bottom:1px solid var(--color-border-default)}.terminal-container .xterm-viewport{width:100%!important;overflow-y:auto}@media(max-width:768px){.quick-sidebar{display:none}}.chat-app{--chat-footer-height: 100px}.chat-app,.expert-app{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;overflow:hidden}.chat-main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-content-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;position:relative}.chat-footer{flex-shrink:0;border-top:1px solid var(--color-border-default);background:var(--color-bg-subtle);padding:10px 14px;z-index:2}.message-list{padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}.message-list-region{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.chat-empty{margin:auto;text-align:center;color:var(--color-fg-muted);font-size:14px;max-width:420px;line-height:1.6}.chat-empty-hint{margin-top:8px;font-size:13px;color:var(--color-fg-subtle)}.expert-intro{padding:12px 16px 0;flex-shrink:0}.expert-intro-title{margin:0 0 6px;font-size:16px;color:var(--color-fg-default)}.expert-intro-desc,.expert-intro-engine{margin:0 0 6px;font-size:13px;color:var(--color-fg-muted)}.expert-intro-engine{font-size:12px;color:var(--color-fg-subtle)}.message-row{display:flex;min-width:0;max-width:100%}.message-row.assistant{justify-content:flex-start}.message-bubble{max-width:min(720px,88%);min-width:0;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.message-bubble.user{background:var(--color-success);color:var(--color-fg-on-accent);border-bottom-right-radius:4px}.message-bubble.assistant{background:var(--color-bg-muted);border:1px solid var(--color-border-default);border-bottom-left-radius:4px}.user-text{white-space:pre-wrap;margin:0}.markdown-body{color:var(--color-fg-default);max-width:100%;overflow-wrap:anywhere;word-break:break-word}.markdown-body ul,.markdown-body ol{margin:.35em 0 .65em;padding-left:1.35em;list-style-position:outside}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin:.2em 0;display:list-item;padding-left:.1em}.markdown-body li>ul,.markdown-body li>ol{margin:.2em 0 .3em}.markdown-body li>p{margin:0;display:inline}.markdown-body li>p+p{display:block;margin-top:.35em}.markdown-body blockquote{margin:.5em 0;padding:.35em 0 .35em .75em;border-left:3px solid var(--color-border-muted);color:var(--color-fg-secondary)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:.65em 0 .35em;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child,.markdown-body h4:first-child{margin-top:0}.markdown-body hr{margin:.65em 0;border:none;border-top:1px solid var(--color-border-default)}.markdown-body p{margin:0 0 .6em}.markdown-body p:last-child{margin-bottom:0}.markdown-body pre{background:var(--color-bg-base);border:1px solid var(--color-border-default);border-radius:8px;padding:10px;overflow-x:auto;font-size:13px}.markdown-body code{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:.92em}.markdown-body :not(pre)>code{background:var(--color-bg-base);padding:2px 6px;border-radius:4px}.markdown-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.markdown-body th,.markdown-body td{border:1px solid var(--color-border-default);padding:6px 10px}.markdown-body th{background:var(--color-bg-subtle)}.typing-cursor{animation:blink 1s step-end infinite;color:var(--color-accent)}.processing-indicator{align-self:flex-start;color:var(--color-fg-muted);font-size:13px;padding:4px 8px}.assistant-placeholder{font-size:13px;color:var(--color-fg-muted);margin-bottom:8px}.assistant-final-reply{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-default);max-width:100%;min-width:0;overflow-x:auto}.tool-progress-card{margin-bottom:4px}.tool-progress-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.tool-progress-title{font-size:13px;font-weight:600;color:var(--color-accent)}.tool-progress-pulse{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:execution-pulse 1.4s ease-in-out infinite}.activity-timeline--collapsed{margin-top:4px}.activity-summary-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-muted);font-size:12px;cursor:pointer}.activity-summary-btn:hover{color:var(--color-fg-default);border-color:var(--color-border-muted)}.activity-summary-expand{margin-left:auto;color:var(--color-accent);font-size:11px}.activity-timeline-list{list-style:none;margin:0;padding:0}.activity-item{display:flex;gap:10px;position:relative;padding-bottom:10px}.activity-item:last-child{padding-bottom:0}.activity-item:not(:last-child):before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:2px;background:var(--color-border-default)}.activity-item-marker{width:12px;height:12px;margin-top:4px;border-radius:50%;flex-shrink:0;border:2px solid var(--color-border-muted);background:var(--color-bg-base)}.activity-item--pending .activity-item-marker{border-color:var(--color-border-muted);background:var(--color-border-muted)}.activity-item--running .activity-item-marker{border-color:var(--color-accent);background:var(--color-accent)}.activity-item--done .activity-item-marker{border-color:var(--color-success-emphasis);background:var(--color-success-emphasis)}.activity-item--error .activity-item-marker{border-color:var(--color-danger);background:var(--color-danger)}.activity-item-body{flex:1;min-width:0}.activity-item-row{display:flex;align-items:center;gap:6px}.activity-item-index{font-size:11px;color:var(--color-fg-subtle);min-width:1.2em}.activity-item-label{font-size:13px;color:var(--color-fg-default)}.activity-item--done .activity-item-label:before{content:"✓ ";color:var(--color-success-emphasis)}.activity-item--error .activity-item-label:before{content:"✗ ";color:var(--color-danger)}.activity-spinner{width:12px;height:12px;border:2px solid var(--color-border-default);border-top-color:var(--color-accent);border-radius:50%;animation:activity-spin .8s linear infinite}@keyframes activity-spin{to{transform:rotate(360deg)}}.activity-item-detail{font-size:12px;color:var(--color-fg-muted);margin-top:3px;line-height:1.4;word-break:break-word}.activity-item-error{font-size:12px;color:var(--color-danger);margin-top:3px}.activity-item-meta{font-size:10px;color:var(--color-fg-subtle);margin-top:3px;font-family:ui-monospace,monospace}.activity-expand-btn{margin-top:8px;padding:4px 8px;font-size:11px;border:none;background:none;color:var(--color-accent);cursor:pointer}.activity-expand-btn:hover{text-decoration:underline}.activity-stop-row{margin-top:10px;padding-top:8px;border-top:1px dashed var(--color-border-default);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.activity-stop-btn{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid var(--color-danger);background:transparent;color:var(--color-danger);cursor:pointer}.activity-stop-btn:hover:not(:disabled){background:#f851491f}.activity-stop-btn:disabled{opacity:.6;cursor:not-allowed}.activity-stop-hint{font-size:11px;color:var(--color-warning);margin-top:6px;line-height:1.4}.live-status-panel{margin-bottom:10px;padding:10px 12px;border-radius:8px;background:var(--color-bg-base);border:1px solid var(--color-border-default)}.live-status-grid{display:flex;flex-wrap:wrap;gap:10px 16px}.live-status-cell{display:flex;flex-direction:column;gap:2px;min-width:100px}.live-status-cell--wide{flex:1 1 100%}.live-status-k{font-size:10px;color:var(--color-fg-subtle);text-transform:uppercase;letter-spacing:.04em}.live-status-v{font-size:12px;color:var(--color-fg-default)}.live-status-recent{margin-top:8px;font-size:12px;color:var(--color-fg-muted);line-height:1.45}.live-status-recent .live-status-k{display:inline;margin-right:6px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--color-fg-subtle)}.live-status-files{margin-top:6px;font-size:12px;color:var(--color-success-emphasis)}.live-status-stale{margin-top:8px;font-size:12px;color:var(--color-warning);padding:6px 8px;border-radius:6px;background:#d299221a;border:1px dashed var(--color-warning-deep)}.live-status-hint{margin-top:6px;font-size:11px;color:var(--color-fg-subtle);line-height:1.4}.live-feed-details{margin-bottom:10px;font-size:12px}.live-feed-details summary{cursor:pointer;color:var(--color-accent);margin-bottom:6px}.live-feed-list{list-style:none;margin:0;padding:0}.live-feed-list--scroll{display:flex;flex-direction:column;gap:0}.live-activity-log-wrap{margin-bottom:10px}.live-activity-log-header{margin-bottom:6px}.live-activity-log-title{font-size:12px;font-weight:600;color:var(--color-accent)}.live-activity-log{max-height:min(280px,40vh);min-height:100px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-base);padding:8px 10px}.long-running-task-panel{display:flex;flex-direction:column;gap:10px;min-height:0}.activity-timeline-scroll{max-height:min(320px,45vh);min-height:80px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;border:1px solid var(--color-bg-muted);border-radius:8px;padding:8px 10px;background:var(--color-bg-base)}.scroll-bottom-anchor{height:1px;width:100%;flex-shrink:0;pointer-events:none}.scroll-jump-btn{position:sticky;bottom:8px;left:50%;transform:translate(-50%);z-index:3;margin-top:8px;padding:6px 14px;font-size:12px;border-radius:999px;border:1px solid var(--color-border-default);background:var(--color-bg-base);color:var(--color-fg-default);cursor:pointer;box-shadow:0 4px 12px var(--color-shadow)}.scroll-jump-btn:hover{background:var(--color-bg-muted);border-color:var(--color-accent);color:var(--color-accent)}.scroll-jump-btn--messages{position:fixed;bottom:calc(var(--chat-footer-height, 88px) + 12px);left:50%;transform:translate(-50%);margin-top:0}.scroll-jump-btn--inline{position:relative;bottom:auto;left:auto;transform:none;align-self:center}.scroll-follow-panel{min-height:0}.live-feed-item{padding:4px 0;border-bottom:1px solid var(--color-bg-muted);color:var(--color-fg-muted);font-size:11px;line-height:1.4}.live-feed-time{display:inline-block;min-width:5.5em;margin-right:8px;color:var(--color-fg-subtle);font-family:ui-monospace,monospace}.job-panel{flex-shrink:0;padding:12px 16px 0;border-bottom:1px solid var(--color-bg-muted)}.job-panel-heading{font-size:13px;font-weight:600;color:var(--color-fg-muted);margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em}.job-panel-section{margin-bottom:12px}.job-panel-history{margin-bottom:12px;font-size:12px;color:var(--color-fg-muted)}.job-panel-history summary{cursor:pointer;color:var(--color-accent);margin-bottom:8px}.job-card{margin-bottom:12px;padding:14px 16px;border-radius:10px;border:1px solid var(--color-border-default);background:linear-gradient(180deg,var(--color-bg-subtle) 0%,var(--color-bg-base) 100%)}.job-card--active{border-color:var(--color-accent-muted);box-shadow:0 0 0 1px #388bfd26}.job-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.job-card-titles{min-width:0;flex:1}.job-card-title{margin:0;font-size:15px;font-weight:600;color:var(--color-fg-default);line-height:1.35;word-break:break-word}.job-card-subtitle{margin:4px 0 0;font-size:12px;color:var(--color-fg-muted)}.job-card-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.job-status-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid transparent}.job-status--running{color:var(--color-accent);background:#388bfd1f;border-color:var(--color-accent-subtle)}.job-status--waiting{color:var(--color-warning);background:#d299221f;border-color:var(--color-warning-deep)44}.job-status--done{color:var(--color-success-emphasis);background:#3fb9501f;border-color:var(--color-success-subtle)}.job-status--stopped{color:var(--color-fg-muted);background:#8b949e1f;border-color:var(--color-border-muted)44}.job-status--failed{color:var(--color-danger);background:#f851491f;border-color:var(--color-danger-subtle)}.job-status--stuck{color:var(--color-warning);background:#d2992226;border-color:var(--color-warning-deep-muted)}.job-card-pulse{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:tool-progress-pulse 1.4s ease-in-out infinite}.job-card-stats{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--color-fg-muted);margin-bottom:10px}.job-card-stale{color:var(--color-warning)}.job-card-wait{font-size:12px;color:var(--color-fg-muted);margin:0 0 8px}.job-card-files{margin-top:10px}.job-card-files-label,.message-generated-files-label{display:block;font-size:11px;color:var(--color-fg-subtle);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.job-card-files-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.job-file-chip{font-size:12px;padding:4px 10px;border-radius:6px;background:var(--color-bg-muted);border:1px solid var(--color-border-default);color:var(--color-success-emphasis)}.job-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-bg-muted)}.job-expert-link{font-size:12px;color:var(--color-accent);text-decoration:none}.job-expert-link:hover{text-decoration:underline}.job-card-done-hint{margin:10px 0 0;font-size:12px;color:var(--color-success-emphasis)}.job-feed{margin-bottom:8px}.composer-hint--job{color:var(--color-accent);background:#388bfd14;padding:6px 10px;border-radius:6px;border:1px solid var(--color-accent-emphasis)33}.composer-hint--queue{color:var(--color-warning);background:#d2992214;padding:6px 10px;border-radius:6px;border:1px solid var(--color-warning-deep)33}.composer-job-conflict{margin-bottom:10px;padding:12px 14px;border-radius:8px;background:#388bfd14;border:1px solid var(--color-accent-subtle)}.composer-job-conflict-title{margin:0 0 8px;font-size:13px;color:var(--color-accent-soft);line-height:1.45}.composer-job-conflict-quote{margin:0 0 10px;padding:8px 10px;font-size:12px;color:var(--color-fg-muted);border-left:3px solid var(--color-accent-emphasis);background:var(--color-bg-base);border-radius:0 6px 6px 0}.composer-job-conflict-actions{display:flex;flex-wrap:wrap;gap:8px}.composer-conflict-stop-btn{padding:10px 14px;font-size:13px;border-radius:8px;border:1px solid var(--color-danger-muted);background:#f851491f;color:var(--color-danger);cursor:pointer}.composer-conflict-stop-btn:hover:not(:disabled){background:#f8514933}.composer-conflict-stop-btn:disabled{opacity:.6;cursor:not-allowed}.composer-long-job-notice{margin:0 0 8px;padding:10px 12px;font-size:13px;font-weight:500;color:var(--color-accent);background:#388bfd1f;border:1px solid var(--color-accent-faint);border-radius:8px;line-height:1.45}.long-job-created-notice{margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--color-accent-soft);background:#388bfd26;border:1px solid var(--color-accent-muted);border-radius:8px;line-height:1.45}.long-job-continue-hint{margin:0 0 12px;padding:10px 12px;font-size:13px;color:var(--color-warning-emphasis);background:#d299221f;border:1px solid rgba(210,153,34,.35);border-radius:8px;line-height:1.45}.long-job-card{scroll-margin-top:12px}.long-job-timeout-hints{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.long-job-timeout-hint{margin:0;padding:8px 10px;font-size:12px;line-height:1.45;border-radius:6px}.long-job-timeout-hint--info{color:var(--color-fg-muted);background:var(--color-bg-subtle);border:1px solid var(--color-border-default)}.long-job-timeout-hint--warning{color:var(--color-warning);background:#d299221a;border:1px dashed var(--color-warning-deep)}.long-job-timeout-hint--critical{color:var(--color-danger);background:#f851491f;border:1px solid var(--color-danger-muted);font-weight:600}.long-job-stuck-panel{margin:10px 0;padding:12px 14px;border-radius:8px;background:#d2992214;border:1px solid var(--color-warning-deep)}.long-job-stuck-title{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--color-warning)}.long-job-stuck-desc{margin:0 0 10px;font-size:12px;color:var(--color-fg-muted);line-height:1.45}.long-job-stuck-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.long-job-stuck-btn{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid var(--color-accent-emphasis);background:#388bfd1f;color:var(--color-accent);cursor:pointer}.long-job-stuck-btn:hover{background:#388bfd33}.task-split-card{max-width:520px;margin:0 auto;padding:20px 22px;border-radius:12px;background:var(--color-bg-subtle);border:1px solid var(--color-accent-faint);box-shadow:0 8px 32px #00000073}.task-split-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.task-split-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;color:var(--color-accent);background:#388bfd26;border:1px solid var(--color-accent-subtle)}.task-split-category{font-size:12px;color:var(--color-fg-muted)}.task-split-card h3{margin:0 0 8px;font-size:16px;color:var(--color-fg-default)}.task-split-lead{margin:0 0 10px;font-size:13px;color:var(--color-fg-muted)}.task-split-quote{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--color-accent-emphasis);background:var(--color-bg-base);border-radius:0 6px 6px 0;font-size:13px;color:var(--color-fg-secondary);line-height:1.45}.task-split-steps{margin:0 0 14px;padding-left:22px;font-size:13px;color:var(--color-fg-default);line-height:1.6}.task-split-tech{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:var(--color-bg-base);border:1px solid var(--color-border-default)}.task-split-tech-label{display:block;font-size:11px;font-weight:600;color:var(--color-fg-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.task-split-tech-body{margin:0;font-family:inherit;font-size:12px;line-height:1.5;color:var(--color-fg-secondary);white-space:pre-wrap}.task-split-hint{margin:0 0 16px;font-size:12px;color:var(--color-fg-subtle)}.task-split-actions{display:flex;flex-direction:column;gap:8px}.task-split-btn{padding:10px 14px;font-size:13px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-default);cursor:pointer;text-align:center}.task-split-btn:hover{background:var(--color-border-default)}.task-split-btn--primary{border-color:var(--color-accent-emphasis);background:#388bfd2e;color:var(--color-accent-soft);font-weight:600}.task-split-btn--primary:hover{background:#388bfd47}.task-split-btn--ghost{background:transparent;color:var(--color-fg-muted);border-color:transparent}.job-step-confirm-card{max-width:520px;margin:0 auto;padding:20px 22px;border-radius:12px;background:var(--color-bg-subtle);border:1px solid var(--color-warning-soft);box-shadow:0 8px 32px #00000073}.job-step-confirm-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.job-step-confirm-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;color:var(--color-warning-emphasis);background:#d2992226;border:1px solid var(--color-warning-subtle)}.job-step-confirm-status{font-size:12px;color:var(--color-fg-muted)}.job-step-confirm-card h3{margin:0 0 10px;font-size:16px;color:var(--color-fg-default)}.job-step-confirm-done{margin:0 0 10px;font-size:13px;color:var(--color-fg-muted)}.job-step-confirm-lead{margin:0 0 16px;font-size:13px;color:var(--color-fg-muted);line-height:1.5}.job-step-confirm-gateway-warn,.job-step-confirm-wait-hint{margin:0 0 12px;padding:10px 12px;font-size:13px;border-radius:8px;line-height:1.45}.job-step-confirm-gateway-warn{color:var(--color-danger);background:#f851491a;border:1px solid rgba(248,81,73,.35)}.job-step-confirm-wait-hint{color:var(--color-warning-emphasis);background:#d299221a;border:1px solid rgba(210,153,34,.3)}.chat-toast{position:fixed;bottom:120px;left:50%;transform:translate(-50%);z-index:200;max-width:480px;padding:12px 16px;font-size:13px;color:var(--color-fg-default);background:var(--color-bg-muted);border:1px solid var(--color-danger-muted);border-radius:8px;box-shadow:0 8px 24px #0006}.job-step-item--starting{border-color:var(--color-accent-muted);color:var(--color-accent-soft);background:#388bfd0f}.job-step-confirm-actions{display:flex;flex-direction:column;gap:8px}.overshoot-card{max-width:560px;margin:0 auto;padding:20px 22px;border-radius:12px;background:var(--color-bg-subtle);border:1px solid var(--color-danger-faint);box-shadow:0 8px 32px #00000073}.job-step-confirm-badge--warn{color:var(--color-danger);background:#f851491f;border-color:var(--color-danger-subtle)}.overshoot-card-lead{margin:0 0 12px;font-size:14px;color:var(--color-fg-secondary);line-height:1.5}.overshoot-card-message{margin:0 0 12px;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.45;color:var(--color-red-soft);background:#f8514914;border:1px solid var(--color-danger-pale)}.overshoot-card-reasons{margin:0 0 14px;padding-left:20px;font-size:13px;color:var(--color-fg-muted)}.overshoot-card-reasons li{margin-bottom:4px}.overshoot-card-actions{align-items:stretch}.overshoot-expert-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.job-steps-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.job-step-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:12px;background:var(--color-bg-base);border:1px solid var(--color-bg-muted);color:var(--color-fg-muted)}.job-step-item--running{border-color:var(--color-accent-muted);color:var(--color-fg-default);background:#388bfd14}.job-step-item--completed{border-color:var(--color-success-subtle);color:var(--color-success-emphasis)}.job-step-item--failed{border-color:var(--color-danger-subtle);color:var(--color-danger)}.job-step-item--waiting_confirm{border-color:var(--color-warning-soft);color:var(--color-warning-emphasis);background:#d2992214}.job-step-item--overshot{border-color:var(--color-danger-muted);color:var(--color-red-soft);background:#f8514914}.job-step-item--partially_completed{border-color:var(--color-warning-muted);color:var(--color-yellow);background:#d299221a}.development-job-steps{margin-bottom:12px}.development-job-overshoot-banner{margin:0 0 10px;padding:10px 12px;border-radius:8px;font-size:13px;line-height:1.45;color:var(--color-orange);background:#d299221f;border:1px solid rgba(210,153,34,.45)}.development-job-steps-list .job-step-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;flex:1}.job-step-index{font-size:12px;color:var(--color-fg-muted);font-weight:600}.job-step-notes{flex-basis:100%;font-size:11px;color:var(--color-fg-muted);line-height:1.4;padding-left:1.25rem}.job-step-item--pending{opacity:.55}.job-step-waiting{margin-left:auto;font-size:11px;color:var(--color-warning-emphasis)}.job-step-marker{flex-shrink:0;width:1.4em;text-align:center;font-weight:600}.job-step-title{flex:1;min-width:0}.job-step-running{font-size:11px;color:var(--color-accent)}.message-generated-files{margin-bottom:12px;padding:10px 12px;border-radius:8px;background:var(--color-bg-base);border:1px solid var(--color-border-default)}.activity-item-elapsed{margin-left:auto;font-size:11px;color:var(--color-accent);font-variant-numeric:tabular-nums}.activity-restart-btn{padding:6px 12px;font-size:12px;border-radius:6px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-default);cursor:pointer}.activity-restart-btn:hover:not(:disabled){background:var(--color-border-default)}.activity-restart-btn:disabled{opacity:.6;cursor:not-allowed}.execution-timeline{align-self:stretch;margin-top:4px;padding:12px 14px;border-radius:12px;border:1px solid var(--color-border-default);background:var(--color-bg-subtle)}.execution-timeline-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.execution-timeline-title{font-size:13px;font-weight:600;color:var(--color-fg-default)}.execution-timeline-badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--color-border-default)}.execution-timeline-badge.running{color:var(--color-accent);border-color:var(--color-accent-emphasis);background:#388bfd1f}.execution-timeline-badge.done{color:var(--color-success-emphasis);border-color:var(--color-success);background:#2386361f}.execution-timeline-toggle{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-muted);cursor:pointer}.execution-timeline-toggle:hover{color:var(--color-fg-default);background:var(--color-border-default)}.execution-timeline-hint,.execution-timeline-empty{font-size:12px;color:var(--color-fg-muted);margin-bottom:8px}.execution-timeline-list{list-style:none;display:flex;flex-direction:column;gap:0;margin:0;padding:0}.execution-step{display:flex;gap:10px;position:relative;padding-bottom:12px}.execution-step:last-child{padding-bottom:0}.execution-step:not(:last-child):before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--color-border-default)}.execution-step-marker{width:12px;height:12px;margin-top:3px;border-radius:50%;flex-shrink:0;border:2px solid var(--color-border-muted);background:var(--color-bg-base)}.execution-step--running .execution-step-marker{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 0 0 3px #58a6ff33;animation:execution-pulse 1.4s ease-in-out infinite}.execution-step--waiting .execution-step-marker{border-color:var(--color-warning);background:var(--color-warning)}.execution-step--done .execution-step-marker{border-color:var(--color-success-emphasis);background:var(--color-success-emphasis)}.execution-step--error .execution-step-marker{border-color:var(--color-danger);background:var(--color-danger)}.execution-step--complete .execution-step-marker{border-color:var(--color-success-emphasis);background:var(--color-success)}@keyframes execution-pulse{0%,to{opacity:1}50%{opacity:.55}}.execution-step-body{flex:1;min-width:0}.execution-step-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.execution-step-label{font-size:13px;color:var(--color-fg-default);font-weight:500}.execution-step-status{font-size:11px;color:var(--color-fg-muted)}.execution-step-status--running{color:var(--color-accent)}.execution-step-status--waiting{color:var(--color-warning)}.execution-step-status--error{color:var(--color-danger)}.execution-step-detail{font-size:12px;color:var(--color-fg-muted);margin-top:4px;line-height:1.45;word-break:break-word}.execution-step-verbose{font-size:11px;margin-top:6px;padding:8px;border-radius:6px;background:var(--color-bg-base);border:1px solid var(--color-border-default);color:var(--color-fg-muted);overflow-x:auto;white-space:pre-wrap;max-height:120px}.execution-step-meta{font-size:10px;color:var(--color-fg-subtle);margin-top:4px;font-family:ui-monospace,monospace}.message-attachments,.attachment-preview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.attachment-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--color-bg-base);border:1px solid var(--color-border-default);max-width:280px}.attachment-card-inline{background:#00000026}.message-bubble.user .attachment-card-inline{background:#0003;border-color:#fff3}.attachment-card-icon{font-size:18px;flex-shrink:0}.attachment-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-card-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-card-meta{font-size:11px;color:var(--color-fg-muted)}.attachment-card--error{border-color:var(--color-danger);background:#f8514914}.attachment-card-status{font-size:11px;color:var(--color-success-emphasis)}.attachment-card-status--error{color:var(--color-danger)}.attachment-card-remove{background:none;border:none;color:var(--color-fg-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.attachment-card-remove:disabled{opacity:.4;cursor:not-allowed}.chat-composer.drag-over{outline:2px dashed var(--color-accent);outline-offset:-4px;border-radius:8px}.composer-hint{color:var(--color-accent);font-size:12px;margin:0 0 6px}.attachment-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 8px;border-radius:999px;background:var(--color-bg-base);border:1px solid var(--color-border-default)}.chip-remove{background:none;border:none;color:var(--color-fg-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.composer-input{flex:1;min-height:40px;max-height:160px;resize:none;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-default);background:var(--color-bg-base);color:var(--color-fg-default);font-size:14px;font-family:inherit;line-height:1.4}.composer-input:focus{outline:none;border-color:var(--color-accent)}.btn-send{padding:10px 18px;border:none;border-radius:10px;background:var(--color-success);color:var(--color-fg-on-accent);font-size:14px;cursor:pointer;white-space:nowrap}.btn-icon{padding:8px 10px;border-radius:10px;border:1px solid var(--color-border-default);background:var(--color-bg-subtle);color:var(--color-fg-default);cursor:pointer;font-size:16px}.composer-attach-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:84px;min-height:44px;padding:0 14px;color:var(--color-success);background:var(--color-bg-base);border:2px solid var(--color-success);box-shadow:0 1px 3px var(--color-shadow);font-weight:700}.composer-attach-btn:hover:not(:disabled){color:var(--color-fg-on-accent);background:var(--color-success);border-color:var(--color-success)}.composer-attach-btn:disabled{opacity:.5;filter:grayscale(.2)}.composer-attach-icon{font-size:18px;line-height:1}.composer-attach-label{font-size:13px;font-weight:700;line-height:1;letter-spacing:.02em}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.hidden-input{display:none}.composer-error,.chat-error{color:var(--color-danger);font-size:13px;margin:0}.chat-hint{color:var(--color-fg-muted);font-size:13px;margin:0 0 8px}.approval-overlay{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:12px 16px 8px;background:linear-gradient(transparent,var(--color-bg-base) 24px);pointer-events:none}.approval-overlay>*{pointer-events:auto}.approval-card{margin-bottom:10px;padding:14px;border-radius:10px;border:1px solid var(--color-warning-deep);background:var(--color-warning-bg);box-shadow:0 -4px 24px #00000059}.approval-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.approval-kind{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-warning)}.approval-event{font-size:10px;color:var(--color-fg-muted);font-family:ui-monospace,monospace}.approval-card h3{font-size:14px;margin-bottom:8px;color:var(--color-warning)}.approval-desc{font-size:13px;margin-bottom:8px}.approval-risk{font-size:12px;color:var(--color-danger);margin-bottom:10px;line-height:1.45}.approval-meta{font-size:12px;color:var(--color-fg-muted);margin-bottom:8px}.approval-command{font-size:12px;padding:8px;background:var(--color-bg-base);border-radius:6px;overflow-x:auto;margin-bottom:10px;max-height:160px;white-space:pre-wrap;word-break:break-word}.approval-input-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--color-fg-muted);margin-bottom:10px}.approval-input{padding:8px 10px;border-radius:6px;border:1px solid var(--color-border-default);background:var(--color-bg-base);color:var(--color-fg-default);font-size:13px}.approval-choices{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.approval-choice{padding:6px 10px;border-radius:6px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-default);font-size:12px;cursor:pointer}.approval-choice.selected{border-color:var(--color-warning);background:var(--color-warning-bg-selected);color:var(--color-warning)}.approval-waiting{font-size:12px;color:var(--color-warning);margin-bottom:10px;padding:8px 10px;border-radius:6px;background:#d299221f;border:1px dashed var(--color-warning-deep)}.approval-actions{display:flex;gap:8px;justify-content:flex-end}.approval-actions button:disabled{opacity:.55;cursor:not-allowed}.btn-approve{padding:8px 14px;border:none;border-radius:8px;background:var(--color-success);color:var(--color-fg-on-accent);cursor:pointer}.btn-deny{padding:8px 14px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-muted);color:var(--color-fg-default);cursor:pointer}.btn-link{display:inline-flex;align-items:center;padding:6px 12px;font-size:12px;color:var(--color-accent);text-decoration:none;border:1px solid var(--color-border-default);border-radius:6px}.btn-link:hover{background:var(--color-bg-muted)}.chat-app .debug-panel,.expert-app .debug-panel{border-top:1px solid var(--color-border-default);padding:8px 12px 16px;font-size:11px}.chat-app .debug-panel details,.expert-app .debug-panel details{margin-bottom:6px}.chat-app .debug-panel ul,.expert-app .debug-panel ul{list-style:none;margin-top:4px}.expert-status{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border-default);background:var(--color-bg-subtle)}.expert-app .terminal-panel{flex:1;min-height:0}.expert-app .terminal-container{height:100%}.expert-app .terminal-container .xterm .xterm-cursor{display:block!important}.job-progress-fab{position:fixed;left:50%;transform:translate(-50%);z-index:4;bottom:calc(var(--chat-footer-height, 100px) + var(--keyboard-offset, 0px) + var(--safe-bottom, 0px) + 12px);display:inline-flex;flex-direction:row;align-items:center;gap:10px;max-width:min(380px,calc(100vw - 32px));padding:9px 14px 9px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-border-default));background:color-mix(in srgb,var(--color-accent) 7%,var(--color-bg-base));color:var(--color-fg-default);cursor:pointer;box-shadow:0 1px 2px var(--color-shadow),0 6px 20px color-mix(in srgb,var(--color-accent) 12%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.job-progress-fab:hover{border-color:var(--color-accent-muted);background:color-mix(in srgb,var(--color-accent) 11%,var(--color-bg-base));box-shadow:0 2px 4px var(--color-shadow),0 8px 24px color-mix(in srgb,var(--color-accent) 18%,transparent);transform:translate(-50%) translateY(-1px)}.job-progress-fab:active{transform:translate(-50%) translateY(0)}.job-progress-fab-pulse{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent);animation:execution-pulse 1.4s ease-in-out infinite}.job-progress-fab-body{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;flex:1}.job-progress-fab-label{font-size:13px;font-weight:600;color:var(--color-accent-emphasis);line-height:1.3}.job-progress-fab-hint{font-size:11px;color:var(--color-fg-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.job-progress-fab-icon{flex-shrink:0;width:16px;height:16px;color:var(--color-accent);opacity:.75;transition:opacity .15s ease,transform .15s ease}.job-progress-fab:hover .job-progress-fab-icon{opacity:1;transform:translateY(-1px)}.chat-main:has(.job-progress-fab) .scroll-jump-btn--messages{bottom:calc(var(--chat-footer-height, 100px) + var(--keyboard-offset, 0px) + var(--safe-bottom, 0px) + 68px)}.live-activity-log--flat{max-height:none;overflow:visible;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-base);padding:8px 10px}.job-progress-anchor{scroll-margin-top:8px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-subtle);color:var(--color-fg-default);font-size:16px;line-height:1;cursor:pointer}.theme-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.status-menu-theme{width:100%;height:40px}.login-page{position:relative}.login-page-toolbar{position:absolute;top:16px;right:16px;z-index:2}.session-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;border:none;background:var(--color-overlay);cursor:pointer}.session-drawer{position:fixed;top:0;right:0;z-index:130;width:min(360px,92vw);height:100%;display:flex;flex-direction:column;background:var(--color-bg-subtle);border-left:1px solid var(--color-border-default);box-shadow:-8px 0 24px var(--color-shadow)}.session-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border-default)}.session-drawer-header h2{font-size:16px;font-weight:600;color:var(--color-fg-default)}.session-drawer-close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-fg-muted);font-size:22px;line-height:1;cursor:pointer}.session-drawer-close:hover{background:var(--color-bg-muted);color:var(--color-fg-default)}.session-drawer-actions{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-default)}.session-drawer-new,.session-drawer-refresh{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-default);font-size:13px;cursor:pointer}.session-drawer-new:hover,.session-drawer-refresh:hover:not(:disabled){background:var(--color-border-default)}.session-drawer-refresh:disabled{opacity:.6;cursor:not-allowed}.session-drawer-error,.session-drawer-hint{padding:10px 16px;font-size:13px;color:var(--color-fg-muted)}.session-drawer-error{color:var(--color-danger)}.session-drawer-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1}.session-drawer-row{display:flex;align-items:stretch;gap:6px;margin-bottom:6px}.session-drawer-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border-radius:10px;border:1px solid var(--color-border-default);background:var(--color-bg-base);color:var(--color-fg-default);text-align:left;cursor:pointer}.session-drawer-delete{flex-shrink:0;align-self:center;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-default);background:var(--color-bg-muted);color:var(--color-fg-muted);font-size:12px;cursor:pointer}.session-drawer-delete:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-subtle)}.session-drawer-delete:disabled{opacity:.5;cursor:not-allowed}.session-drawer-item:hover{border-color:var(--color-accent)}.session-drawer-item.active{border-color:var(--color-accent);background:var(--color-accent-subtle)}.session-drawer-item:disabled{opacity:.65;cursor:wait}.session-drawer-item-title{font-size:14px;font-weight:600;line-height:1.35}.session-drawer-item-meta{font-size:12px;color:var(--color-fg-muted)}.session-drawer-item-preview{font-size:12px;color:var(--color-fg-subtle);line-height:1.4}:root{color-scheme:dark;--bg: #0d1117;--bg-subtle: #161b22;--bg-muted: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #3fb950;--accent-blue: #58a6ff;--accent-blue-deep: #388bfd;--danger: #f85149;--warning: #d29922;--radius: 12px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);line-height:1.55;min-height:100vh}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1080px,calc(100vw - 32px));margin:0 auto}.page{min-height:100vh}.site-header,.app-header{border-bottom:1px solid var(--border);background:#0d1117eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:56px}.logo{font-weight:700;font-size:18px;color:var(--accent-blue);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.btn-sm{min-height:36px;padding:0 12px;font-size:13px}.btn-block{width:100%}.btn-primary{background:linear-gradient(180deg,#2ea043,#238636);color:#fff;border-color:#3fb95055}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{background:#388bfd1f;color:var(--accent-blue);border-color:#388bfd55}.btn-secondary:hover{background:#388bfd33}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-disabled{opacity:.65;cursor:not-allowed}.hero{padding:56px 0 40px;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(56,139,253,.18),transparent),radial-gradient(ellipse 60% 40% at 80% 20%,rgba(63,185,80,.08),transparent)}.hero-inner{text-align:center}.eyebrow{color:var(--accent-blue);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.hero h1{font-size:clamp(28px,6vw,42px);line-height:1.15;margin-bottom:12px}.hero-sub{font-size:18px;color:var(--text-muted);margin-bottom:16px}.hero-desc{max-width:720px;margin:0 auto 28px;color:var(--text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.section{padding:48px 0}.section-muted{background:var(--bg-subtle);border-block:1px solid var(--border)}.section-title{font-size:24px;margin-bottom:20px}.section-note{color:var(--text-muted);margin-bottom:20px}.sub-title{font-size:16px;margin-bottom:10px}.sub-title.accent{color:var(--accent-blue)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h3{font-size:16px;margin-bottom:8px;color:var(--accent-blue-soft, #79c0ff)}.card p{color:var(--text-muted);font-size:14px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.bullet-list{padding-left:18px;color:var(--text-muted)}.bullet-list li+li{margin-top:6px}.tag-row{display:flex;flex-wrap:wrap;gap:10px}.tag{padding:8px 12px;border-radius:999px;background:#388bfd1a;border:1px solid #388bfd44;color:var(--accent-blue);font-size:13px}.steps{list-style:none;display:grid;gap:12px}.steps li{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-muted);border:1px solid var(--border);border-radius:10px}.step-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#3fb95026;color:var(--accent);font-weight:700;font-size:13px;flex-shrink:0}.plan-card .plan-price{font-size:20px;font-weight:700;color:var(--accent);margin:8px 0}.plan-buy{margin-top:14px;width:100%}.privacy-text,.faq-item p{color:var(--text-muted)}.faq-list{display:grid;gap:10px}.faq-item{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg-muted)}.faq-item summary{cursor:pointer;font-weight:600}.faq-item p{margin-top:8px;font-size:14px}.site-footer{border-top:1px solid var(--border);padding:24px 0 40px}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:13px}.icp-footer{margin:0;font-size:12px}.icp-footer a{color:var(--text-muted);text-decoration:none}.icp-footer a:hover{color:var(--accent-blue);text-decoration:underline}.auth-page{display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(420px,100%);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.auth-card h1{font-size:22px;margin:12px 0 20px}.back-link{font-size:13px;color:var(--text-muted)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;font-size:13px;color:var(--text-muted)}.auth-form input,.admin-form input,.admin-form select{min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:16px}.form-error{color:var(--danger);font-size:13px}.auth-hint{margin-top:16px;font-size:13px;color:var(--text-muted)}.inline-buy .btn{min-height:auto;padding:0;border:none;background:none;color:var(--accent-blue);display:inline}.auth-subhint{margin-top:8px;font-size:12px;color:var(--text-muted)}.app-main,.admin-main{padding:32px 0 48px}.app-lead{color:var(--text-muted);margin:8px 0 24px}.status-card{border-radius:var(--radius);border:1px solid var(--border);padding:20px;background:var(--bg-subtle)}.status-card.success{border-color:#3fb95055}.status-card.error{border-color:#f8514955}.status-card.loading{color:var(--text-muted)}.connect-dl{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;margin:16px 0;font-size:14px}.connect-dl dt{color:var(--text-muted)}.connect-dl code{word-break:break-all;font-size:12px;color:var(--accent-blue)}.token-mask{color:var(--accent)}.error-code{font-family:monospace;color:var(--warning);margin:8px 0}.hint-ok{font-size:13px;color:var(--text-muted)}.app-header-actions{display:flex;align-items:center;gap:10px}.user-badge{font-size:13px;color:var(--text-muted)}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.admin-tab{min-height:40px;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-muted);cursor:pointer}.admin-tab.active{border-color:var(--accent-blue-deep);color:var(--accent-blue);background:#388bfd1f}.admin-section{margin-top:8px}.admin-section h2{font-size:18px;margin-bottom:12px}.admin-form{display:grid;gap:10px;margin-bottom:20px}.admin-form.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form .span-2{grid-column:span 2}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}.admin-table th{color:var(--text-muted);font-weight:600}.admin-table .actions{display:flex;flex-wrap:wrap;gap:6px}.admin-table button{min-height:32px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;font-size:12px}.mono.small{font-family:ui-monospace,monospace;font-size:11px;word-break:break-all}.admin-flash{padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.admin-flash.ok{background:#3fb9501f;border:1px solid #3fb95055;color:var(--accent)}.admin-flash.err{background:#f851491f;border:1px solid #f8514955;color:var(--danger)}.status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-pill.online{background:#3fb95026;color:var(--accent)}.status-pill.offline{background:#8b949e33;color:var(--text-muted)}.status-pill.disabled{background:#f851491f;color:var(--danger)}.status-pill.deleted{background:#50505040;color:#888}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.admin-secret-help{font-size:13px;color:var(--text-muted);margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.admin-secret-help p{margin:4px 0}.admin-search input{width:100%;min-height:40px;margin-bottom:12px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.admin-empty{color:var(--text-muted);font-size:14px;padding:16px 0}.admin-table-wide .url-cell{max-width:360px;word-break:break-all;white-space:normal}.secret-mask{font-family:monospace;color:var(--text-muted)}.btn-danger{border-color:#f8514966!important;color:var(--danger)!important}.btn-warn{border-color:#d2992266!important;color:var(--warning)!important}.btn-copy{min-height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-muted);color:var(--accent-blue);cursor:pointer;font-size:12px}.code-block{margin:12px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.code-block-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-muted);font-size:12px;color:var(--text-muted)}.code-block pre{margin:0;padding:12px;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.health-checklist{list-style:none;padding:0;margin:8px 0}.health-checklist li{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.health-checklist li.pass .health-label{color:var(--accent)}.health-checklist li.fail .health-label{color:var(--danger)}.health-detail{color:var(--text-muted);flex:1;word-break:break-all}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto}.admin-modal{width:min(920px,100%);background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px;max-height:90vh;overflow-y:auto}.admin-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-hint{font-size:13px;color:var(--text-muted)}.admin-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-edit-panel{margin:12px 0;padding:12px;border:1px dashed var(--border);border-radius:8px}.admin-panel{margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:8px}.log-detail{margin-top:8px;font-size:11px;max-height:200px;overflow:auto;white-space:pre-wrap}.small.muted{font-size:11px;color:var(--text-muted)}.filters-row{margin-bottom:12px}.hint-inline{font-size:12px;color:var(--text-muted)}@media(max-width:767px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.footer-inner{flex-direction:column;gap:8px}.admin-form.grid-2{grid-template-columns:1fr}.admin-form .span-2{grid-column:span 1}.connect-dl{grid-template-columns:1fr}}html:has(.framer-page),html:has(.fr-login-page){color-scheme:light;background-color:#f7f9fc}html:has(.framer-page) body,html:has(.fr-login-page) body,html:has(.framer-page) #root,html:has(.fr-login-page) #root{background-color:#f7f9fc;color:#111827;min-height:100%}.framer-page,.fr-login-page{--fr-blue: #007aff;--fr-blue-dark: #0066dd;--fr-blue-soft: #e8f3ff;--fr-blue-glow: rgba(0, 122, 255, .18);--fr-teal: #14b8a6;--fr-green-dot: #22c55e;--fr-bg: #ffffff;--fr-bg-soft: #f7f8fa;--fr-bg-panel: #f4f6f8;--fr-text: #111827;--fr-text-2: #4b5563;--fr-text-3: #6b7280;--fr-border: #e5e7eb;--fr-border-light: #eef0f3;--fr-shadow: 0 1px 3px rgba(0, 0, 0, .04);--fr-shadow-md: 0 4px 20px rgba(0, 0, 0, .06);--fr-shadow-lg: 0 12px 48px rgba(0, 122, 255, .12);--fr-radius: 16px;--fr-radius-sm: 12px;--fr-radius-pill: 999px;--fr-max: 1140px;--fr-section-y: 88px;font-family:Inter,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--fr-text);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}.framer-page{background:var(--fr-bg);overflow-x:hidden;max-width:100%;min-height:100vh;min-height:100dvh}.fr-login-page{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#eef4ff,#f7f9fc 28%,#f7f9fc);display:flex;align-items:center;padding:40px 0;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.fr-container{width:min(var(--fr-max),calc(100vw - 48px));margin:0 auto}.fr-container--narrow{width:min(780px,calc(100vw - 48px))}.fr-icon-box{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--fr-blue-soft);color:var(--fr-blue);margin-bottom:16px}.fr-icon-box--lg{width:44px;height:44px;border-radius:12px;margin-bottom:20px}.fr-nav{position:sticky;top:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--fr-border-light)}.fr-nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:72px}.fr-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;justify-self:start}.fr-logo-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#007aff,#06d);color:#fff;font-weight:700;font-size:16px}.fr-logo-text{font-size:18px;font-weight:700;letter-spacing:-.02em}.fr-nav-links{display:flex;align-items:center;gap:36px;justify-self:center}.fr-nav-links a{color:var(--fr-text-2);text-decoration:none;font-size:15px;transition:color .15s}.fr-nav-links a:hover{color:var(--fr-text)}.fr-nav-actions{display:flex;align-items:center;gap:10px;justify-self:end}.fr-nav-toggle{display:none}.framer-page .fr-btn,.fr-login-page .fr-btn,.framer-page .btn,.fr-login-page .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--fr-radius-pill);font-size:15px;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap;line-height:1.2}.framer-page .fr-btn--sm,.fr-login-page .fr-btn--sm{padding:9px 20px;font-size:14px}.framer-page .fr-btn--block,.fr-login-page .fr-btn--block{width:100%}.framer-page .fr-btn--blue,.fr-login-page .fr-btn--blue,.framer-page .btn.btn-primary,.fr-login-page .btn.btn-primary{background:linear-gradient(180deg,#007aff,#06d);color:#fff;border-color:transparent;box-shadow:0 2px 8px #007aff40}.framer-page .fr-btn--blue:hover,.fr-login-page .fr-btn--blue:hover,.framer-page .btn.btn-primary:hover,.fr-login-page .btn.btn-primary:hover{background:linear-gradient(180deg,#006ee6,#005fcc)}.framer-page .fr-btn--outline,.fr-login-page .fr-btn--outline,.framer-page .btn.btn-secondary,.fr-login-page .btn.btn-secondary{background:#fff;color:var(--fr-text);border-color:var(--fr-border)}.framer-page .fr-btn--outline:hover,.fr-login-page .fr-btn--outline:hover,.framer-page .btn.btn-secondary:hover,.fr-login-page .btn.btn-secondary:hover{border-color:#d1d5db;background:#fafafa}.framer-page .btn.btn-ghost,.fr-login-page .btn.btn-ghost{background:transparent;color:var(--fr-text-2);border:none;padding:0;font-size:inherit;box-shadow:none}.fr-hero{padding:56px 0 88px}.fr-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.fr-hero-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:7px 16px;border-radius:var(--fr-radius-pill);background:#fff;border:1px solid var(--fr-border);font-size:13px;color:var(--fr-text-2)}.fr-hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--fr-green-dot);flex-shrink:0}.fr-hero-badge-sep{margin:0 4px;color:#d1d5db}.fr-hero-title{margin:0 0 20px;font-size:clamp(34px,4.2vw,48px);font-weight:700;line-height:1.18;letter-spacing:-.03em}.fr-hero-sub{margin:0 0 28px;font-size:16px;line-height:1.7;color:var(--fr-text-2);max-width:500px}.fr-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.fr-hero-note{display:flex;align-items:flex-start;gap:10px;max-width:480px;padding:14px 16px;border-radius:var(--fr-radius-sm);background:var(--fr-blue-soft);border:1px solid #d6eaff}.fr-hero-note-icon{flex-shrink:0;margin-top:2px;color:var(--fr-blue)}.fr-hero-note p{margin:0;font-size:13px;line-height:1.55;color:var(--fr-text-2)}.fr-workbench-wrap{padding:24px;border-radius:calc(var(--fr-radius) + 8px);background:radial-gradient(ellipse at center,rgba(0,122,255,.08) 0%,transparent 70%)}.fr-workbench{border:1px solid var(--fr-border);border-radius:var(--fr-radius);background:#fff;box-shadow:var(--fr-shadow-lg);overflow:hidden}.fr-workbench-head{padding:14px 20px;font-size:14px;font-weight:600;border-bottom:1px solid var(--fr-border-light);background:var(--fr-bg-soft)}.fr-workbench-body{padding:18px;display:flex;flex-direction:column;gap:14px}.fr-workbench-block{padding:14px 16px;border-radius:var(--fr-radius-sm);background:var(--fr-bg-panel)}.fr-workbench-block--out{background:#fff;border:1px solid var(--fr-border-light)}.fr-tag{display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:6px;background:#e8eaed;font-size:12px;font-weight:500;color:var(--fr-text-2)}.fr-tag--out{background:var(--fr-blue-soft);color:var(--fr-blue)}.fr-workbench-row{display:flex;gap:10px;align-items:flex-start}.fr-workbench-doc-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#fff;border:1px solid var(--fr-border);color:var(--fr-blue);flex-shrink:0}.fr-workbench-input{margin:0 0 4px;font-size:14px;font-weight:600}.fr-workbench-goal{margin:0;font-size:13px;color:var(--fr-text-3)}.fr-output-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.fr-output-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fr-text)}.fr-output-check{color:var(--fr-blue);flex-shrink:0}.fr-security-check{color:var(--fr-teal);flex-shrink:0}.fr-section{padding:var(--fr-section-y) 0}.fr-section--gray{background:var(--fr-bg-soft)}.fr-section--pricing{background:var(--fr-bg-soft);padding-top:64px}.fr-section--cta{padding:64px 0 88px}.fr-section-head{text-align:center;max-width:640px;margin:0 auto 44px}.fr-section-head h2{margin:0 0 12px;font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.02em}.fr-section-head p{margin:0;font-size:15px;line-height:1.65;color:var(--fr-text-2)}.fr-card{padding:24px;border-radius:var(--fr-radius);background:#fff;border:1px solid var(--fr-border);box-shadow:var(--fr-shadow)}.fr-card h3{margin:0 0 8px;font-size:17px;font-weight:600}.fr-card p{margin:0;font-size:14px;line-height:1.6;color:var(--fr-text-2)}.fr-card-desc{margin-top:8px!important}.fr-deliver-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fr-deliver-flow{display:flex;align-items:center;gap:6px;margin:0 0 8px!important;font-size:13px!important;font-weight:500;color:var(--fr-blue)!important}.fr-usecase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.fr-card--usecase{min-height:180px}.fr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}.fr-step{padding:22px;border-radius:var(--fr-radius);background:#fff;border:1px solid var(--fr-border);box-shadow:var(--fr-shadow)}.fr-step-num{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:28px;padding:0 8px;margin-bottom:14px;border-radius:8px;background:var(--fr-blue-soft);font-size:13px;font-weight:600;color:var(--fr-blue)}.fr-step h3{margin:0 0 8px;font-size:16px;font-weight:600}.fr-step p{margin:0;font-size:14px;line-height:1.55;color:var(--fr-text-2)}.fr-pricing-panel{padding:48px 40px 40px;border-radius:calc(var(--fr-radius) + 4px);background:#fff;border:1px solid var(--fr-border-light)}.fr-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px;align-items:stretch}.fr-price-card{position:relative;display:flex;flex-direction:column;padding:28px 24px 24px;border-radius:var(--fr-radius);background:#fff;border:1px solid var(--fr-border);text-align:center}.fr-price-card.is-featured{border-color:#007aff59;box-shadow:0 8px 32px var(--fr-blue-glow);transform:scale(1.02)}.fr-price-badge{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:var(--fr-radius-pill);background:var(--fr-blue);color:#fff;font-size:11px;font-weight:600}.fr-price-card h3{margin:0 0 10px;font-size:17px;font-weight:600}.fr-price-amount{margin:0 0 10px;font-size:15px;color:var(--fr-text-2)}.fr-price-amount span{font-size:34px;font-weight:700;color:var(--fr-text)}.fr-price-amount em{font-style:normal;font-size:14px;color:var(--fr-text-3)}.fr-price-desc{margin:0 0 20px;flex:1;font-size:14px;line-height:1.55;color:var(--fr-text-2)}.fr-disclaimer{display:flex;align-items:center;justify-content:center;gap:10px;max-width:720px;margin:0 auto;padding:14px 20px;border-radius:var(--fr-radius-pill);background:#fff;border:1px solid var(--fr-border)}.fr-disclaimer-icon{flex-shrink:0;color:var(--fr-blue)}.fr-disclaimer p{margin:0;font-size:13px;line-height:1.5;color:var(--fr-text-2);text-align:left}.fr-security-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;padding:40px;border-radius:var(--fr-radius);background:#fff;border:1px solid var(--fr-border);box-shadow:var(--fr-shadow)}.fr-security-copy h2{margin:0 0 14px;font-size:clamp(24px,2.5vw,28px);font-weight:700;letter-spacing:-.02em}.fr-security-copy p{margin:0;font-size:15px;line-height:1.65;color:var(--fr-text-2)}.fr-security-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.fr-security-list li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--fr-radius-sm);background:var(--fr-bg-soft);border:1px solid var(--fr-border-light);font-size:14px;line-height:1.5;color:var(--fr-text-2)}.fr-faq-list{display:flex;flex-direction:column;gap:12px}.fr-faq-item{padding:20px 22px;border-radius:var(--fr-radius-sm);background:#fff;border:1px solid var(--fr-border);box-shadow:var(--fr-shadow)}.fr-faq-item h3{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--fr-text)}.fr-faq-item p{margin:0;font-size:14px;line-height:1.6;color:var(--fr-text-2)}.fr-cta{text-align:center;padding:56px 32px;border-radius:28px;background:linear-gradient(180deg,#eef6ff,#f8fbff,#fff);border:1px solid #dbeafe;box-shadow:0 12px 40px #007aff1a}.fr-cta h2{margin:0 0 28px;font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em}.fr-cta .fr-hero-actions{justify-content:center;margin-bottom:0}.fr-footer{padding:40px 0 28px;border-top:1px solid var(--fr-border-light);background:#fff}.fr-footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.fr-footer-name{margin:0;font-size:17px;font-weight:700}.fr-footer-tag{margin:4px 0 0;font-size:13px;color:var(--fr-text-3)}.fr-footer-nav{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.fr-footer-nav a,.fr-footer-buy{color:var(--fr-text-2);text-decoration:none;font-size:14px}.fr-footer-nav a:hover{color:var(--fr-text)}.fr-footer-legal{text-align:center}.fr-footer-legal .icp-footer{margin:0;font-size:12px;color:var(--fr-text-3)}.fr-footer-legal .icp-footer a{color:inherit;text-decoration:none}.fr-login-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.fr-login-aside h1{margin:24px 0 12px;font-size:32px;font-weight:700;letter-spacing:-.02em}.fr-login-aside p{margin:0;font-size:16px;line-height:1.6;color:var(--fr-text-2)}.fr-login-tag{margin-top:8px!important;font-size:14px!important;color:var(--fr-text-3)!important}.fr-login-back{display:inline-block;margin-top:32px;color:var(--fr-text-2);text-decoration:none;font-size:14px}.fr-login-back:hover{color:var(--fr-text)}.fr-login-card{padding:40px;border-radius:var(--fr-radius);background:#fff;border:1px solid var(--fr-border);box-shadow:var(--fr-shadow-md)}.fr-login-page .auth-form label{display:block;margin-bottom:16px;font-size:14px;font-weight:500}.fr-login-page .auth-form input{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--fr-border);border-radius:var(--fr-radius-sm);font-size:15px}.fr-login-page .form-error{margin:0 0 12px;color:#dc2626;font-size:14px}.fr-login-page .auth-hint,.fr-login-page .auth-subhint{margin:16px 0 0;font-size:14px;color:var(--fr-text-3);text-align:center}.fr-login-page .inline-buy{margin-left:4px}.fr-login-page .icp-footer{margin-top:24px;text-align:center;font-size:13px;color:var(--fr-text-3)}.fr-login-page .icp-footer a{color:inherit;text-decoration:none}.fr-only-mobile{display:none!important}@media(max-width:1023px){.fr-hero-grid,.fr-login-layout{grid-template-columns:1fr;gap:40px}.fr-deliver-grid,.fr-usecase-grid,.fr-steps{grid-template-columns:repeat(2,1fr)}.fr-price-grid{grid-template-columns:1fr;max-width:400px;margin-inline:auto}.fr-price-card.is-featured{transform:none}.fr-pricing-panel{padding:36px 28px 32px}.fr-security-panel{grid-template-columns:1fr;gap:28px}}@media(max-width:767px){.fr-only-desktop{display:none!important}.fr-only-mobile{display:block!important}.fr-hero-badge.fr-only-mobile{display:inline-flex!important}.framer-page{background:linear-gradient(180deg,#eef4ff,#f4f8fc 6%,#f7f9fc 14%,#f7f9fc);padding-bottom:env(safe-area-inset-bottom,0px)}.fr-main{background:transparent}.fr-nav{background:#ffffffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,231,235,.45)}.fr-hero{padding:36px 0 40px;background:linear-gradient(180deg,#eef4ff99,#f7f9fc59 55%,#fff0)}.fr-section:not(.fr-section--gray):not(.fr-section--pricing):not(.fr-section--cta){background:#fff}.fr-section--gray,.fr-section--pricing{background:#f7f9fc}.fr-section--cta{padding:48px 0 40px;background:linear-gradient(180deg,#f7f9fc,#f0f6ff 55%,#f0f6ff)}.fr-cta{box-shadow:0 8px 28px #007aff12}.fr-footer{background:#f8fafc;border-top:1px solid rgba(226,232,240,.75);padding-top:32px;padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))}.fr-container,.fr-nav .fr-container{width:min(var(--fr-max),calc(100vw - 32px))}.fr-nav-inner{grid-template-columns:auto 1fr;height:58px;gap:10px}.fr-nav-links{display:none}.fr-nav-actions{justify-self:end;flex-shrink:0;gap:8px}.fr-brand{gap:8px}.fr-logo-mark{width:36px;height:36px;font-size:15px;border-radius:9px}.fr-logo-text{font-size:22px}.fr-nav-login-btn{height:38px!important;padding:0 16px!important;font-size:15px!important;line-height:38px!important}.fr-nav-buy-btn{height:40px!important;padding:0 18px!important;font-size:15px!important;box-shadow:0 1px 4px #007aff38!important}.fr-hero-grid{gap:28px}.fr-hero-badge{font-size:13px;padding:7px 12px;gap:6px;margin-bottom:18px;align-self:flex-start;max-width:fit-content}.fr-hero-title{font-size:38px;line-height:1.12;letter-spacing:-.04em;margin-bottom:18px}.fr-hero-sub{font-size:16px;line-height:1.7;margin-bottom:22px;color:#475467;max-width:none}.fr-hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:0}.fr-hero-actions .fr-btn,.fr-hero-actions .btn{width:100%;justify-content:center}.fr-btn--hero{height:48px;padding:0 20px;font-size:16px;box-shadow:none}.fr-hero-actions .fr-btn--blue,.fr-hero-actions .btn.btn-primary{box-shadow:0 1px 4px #007aff33}.fr-hero-note{max-width:none;margin-top:16px;padding:12px 14px;border-radius:14px;background:#eff6ff;border-color:#dbeafe;gap:8px}.fr-hero-note p{font-size:14px;line-height:1.55}.fr-hero-note-icon{width:16px;height:16px;margin-top:1px}.fr-workbench-wrap{padding:14px;border-radius:24px;background:radial-gradient(ellipse at center,rgba(0,122,255,.05) 0%,transparent 70%);box-shadow:0 16px 40px #0f172a14}.fr-workbench{border-radius:20px;box-shadow:none}.fr-workbench-head{font-size:16px;padding:11px 16px}.fr-workbench-body{padding:16px;gap:10px}.fr-workbench-block{padding:14px;border-radius:16px}.fr-workbench-doc-icon{width:28px;height:28px}.fr-workbench-input{font-size:15px;margin-bottom:2px}.fr-workbench-goal{display:none}.fr-workbench-wrap,.fr-workbench{max-width:100%;box-sizing:border-box}.fr-output-list{gap:8px}.fr-output-list li{font-size:15px;line-height:1.6}.fr-section{padding:56px 0}.fr-section--pricing{padding-top:48px}.fr-section-head{margin-bottom:28px}.fr-section-head h2{font-size:30px;line-height:1.2;margin-bottom:12px}.fr-section-head p{font-size:16px;line-height:1.65}.fr-deliver-grid,.fr-usecase-grid,.fr-steps,.fr-price-grid{grid-template-columns:1fr;gap:14px}.fr-card{padding:20px;border-radius:20px}.fr-card h3{font-size:18px}.fr-card p,.fr-card-desc{font-size:15px}.fr-icon-box{width:34px;height:34px;margin-bottom:10px}.fr-deliver-flow{flex-wrap:wrap}.fr-card--usecase{min-height:auto}.fr-step{padding:20px;border-radius:20px}.fr-step:nth-child(3){border-color:#007aff33;background:linear-gradient(180deg,#fafcff,#fff)}.fr-pricing-panel{padding:28px 20px 24px;border-radius:var(--fr-radius)}.fr-price-card{padding:22px 20px 20px;border-radius:20px}.fr-price-amount span{font-size:36px}.fr-price-card .fr-btn,.fr-price-card .btn{width:100%;height:48px}.fr-disclaimer{flex-direction:row;align-items:flex-start;padding:12px 14px;border-radius:14px}.fr-disclaimer p{font-size:13px}.fr-security-panel{padding:22px 18px;gap:20px;border-radius:20px}.fr-security-copy h2{font-size:28px}.fr-security-list li{padding:12px 14px;font-size:14px;border-radius:14px}.fr-faq-list{gap:12px}.fr-faq-item{padding:18px;border-radius:16px}.fr-faq-item h3{font-size:16px}.fr-faq-item p{font-size:15px}.fr-cta{padding:28px 20px;border-radius:20px;box-shadow:0 8px 28px #007aff12}.fr-cta h2{font-size:28px;line-height:1.2;margin-bottom:20px}.fr-cta .fr-btn--hero,.fr-cta .fr-btn,.fr-cta .btn{height:48px;font-size:16px}.fr-footer-row{flex-direction:column;align-items:flex-start;text-align:left;gap:16px;margin-bottom:20px}.fr-footer-nav{justify-content:flex-start;flex-wrap:wrap;gap:12px 20px;font-size:14px}.fr-footer-legal{text-align:left}.fr-footer-legal .icp-footer{font-size:13px;word-break:break-word}.fr-login-page{background:linear-gradient(180deg,#eef4ff,#f7f9fc 22%,#f7f9fc);padding:20px 0 calc(28px + env(safe-area-inset-bottom,0px));align-items:flex-start}.fr-login-layout{gap:24px}.fr-login-aside{text-align:center}.fr-login-aside .fr-brand{justify-content:center}.fr-login-aside h1{font-size:24px;margin-top:12px}.fr-login-aside p{font-size:15px}.fr-login-back{margin-top:16px}.fr-login-card{padding:22px 20px;width:100%;box-sizing:border-box;border-radius:20px}.fr-login-page .auth-form input{box-sizing:border-box;height:46px;padding:0 14px}.fr-login-page .auth-form .fr-btn,.fr-login-page .auth-form button{height:48px;font-size:16px;box-shadow:0 1px 4px #007aff33}.fr-login-page .auth-hint,.fr-login-page .auth-subhint{font-size:13px;line-height:1.6}}@media(max-width:480px){.fr-container,.fr-nav .fr-container{width:min(var(--fr-max),calc(100vw - 24px))}.fr-nav-inner{height:56px;gap:8px}.fr-nav-login-btn{padding:0 14px!important;font-size:14px!important}.fr-nav-buy-btn{padding:0 16px!important;font-size:14px!important}.fr-hero{padding-top:32px;padding-bottom:40px}.fr-hero-title{font-size:34px}.fr-hero-sub{font-size:15px;margin-bottom:20px}.fr-hero-grid{gap:24px}.fr-section{padding:48px 0}.fr-section-head h2{font-size:28px}.fr-section-head p{font-size:15px}.fr-cta h2{font-size:26px}.fr-cta{padding:28px 18px}.fr-card,.fr-step{padding:18px}.fr-price-amount span{font-size:34px}.fr-pricing-panel{padding:24px 16px 20px}.fr-security-panel{padding:18px 16px}.fr-security-copy h2{font-size:26px}.fr-login-card{padding:22px 18px}}.chat-app{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--bg)}.chat-header{flex-shrink:0;border-bottom:1px solid var(--border);background:#0d1117f2;padding:8px 16px}.chat-header-left,.chat-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chat-header .header-inner,.status-bar-desktop{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.chat-brand{font-weight:700;font-size:17px;color:var(--accent-blue)}.chat-server-name{font-size:13px;color:var(--text-muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conn-state{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.status-dot.ok{background:var(--accent)}.status-dot.warn{background:var(--warning)}.status-dot.error{background:var(--danger)}.chat-banner{padding:10px 16px;font-size:14px;text-align:center}.chat-banner.error{background:#f851491f;color:var(--danger);border-bottom:1px solid rgba(248,81,73,.3)}.chat-main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.chat-content-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.chat-content-inner{min-height:min-content;padding-bottom:16px}.chat-footer{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-subtle);padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.message-list{padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{margin:48px auto;text-align:center;color:var(--text-muted);font-size:14px;max-width:420px;line-height:1.6}.chat-empty-hint{margin-top:8px;font-size:13px;opacity:.85}.message-row{display:flex;min-width:0}.message-row.user{justify-content:flex-end}.message-row.assistant,.message-row.system{justify-content:flex-start}.message-bubble{max-width:min(720px,88%);padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.message-bubble.user{background:#238636;color:#fff;border-bottom-right-radius:4px}.message-bubble.assistant{background:var(--bg-muted);border:1px solid var(--border);border-bottom-left-radius:4px}.message-bubble.system{background:#d299221f;border:1px solid rgba(210,153,34,.35);color:var(--warning);font-size:13px;max-width:100%}.user-text,.assistant-content{white-space:pre-wrap;margin:0}.assistant-placeholder{color:var(--text-muted);font-style:italic;margin:0}.typing-cursor{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.message-attachments{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.attachment-card-inline{display:flex;gap:8px;font-size:12px;padding:6px 8px;border-radius:8px;background:#00000026}.attachment-card-name{font-weight:600}.attachment-card-meta{color:var(--text-muted)}.msg-stop-btn{margin-top:8px}.chat-composer{display:flex;flex-direction:column;gap:8px}.composer-row{display:flex;align-items:flex-end;gap:8px}.composer-input{flex:1;min-height:44px;max-height:160px;resize:none;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:16px;font-family:inherit;line-height:1.4}.composer-input:focus{outline:none;border-color:var(--accent)}.btn-send{min-height:44px;padding:10px 18px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.btn-send:disabled{opacity:.5;cursor:not-allowed}.composer-attach-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:0 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg-muted);cursor:pointer}.hidden-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.composer-error,.composer-hint{font-size:13px;margin:0}.composer-error{color:var(--danger)}.composer-hint{color:var(--text-muted)}.attachment-bar{display:flex;flex-wrap:wrap;gap:6px}.attachment-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border)}.chip-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1}.approval-overlay{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:12px 16px;background:linear-gradient(transparent,var(--bg) 20%);pointer-events:none}.approval-overlay .approval-card{pointer-events:auto}.approval-card{border:1px solid var(--warning);border-radius:var(--radius);padding:14px 16px;background:var(--bg-subtle);box-shadow:var(--shadow)}.approval-header{display:flex;gap:8px;margin-bottom:8px}.approval-kind{font-size:12px;font-weight:700;color:var(--warning)}.approval-card h3{font-size:16px;margin-bottom:8px}.approval-desc,.approval-risk{font-size:14px;margin-bottom:8px}.approval-risk{color:var(--text-muted);font-size:13px}.approval-command{font-size:12px;padding:8px;border-radius:8px;background:var(--bg);border:1px solid var(--border);overflow-x:auto;margin-bottom:12px}.approval-actions{display:flex;gap:10px;justify-content:flex-end}.btn-approve,.btn-deny{min-height:44px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent}.btn-approve{background:var(--accent);color:#fff}.btn-deny{background:transparent;border-color:var(--border);color:var(--text)}.job-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:6px 10px;border-radius:8px;background:#58a6ff14;border:1px solid rgba(88,166,255,.25)}.job-card-label{font-size:13px;color:var(--accent-blue)}.btn-danger{background:var(--danger);color:#fff;border:none}.status-bar-mobile{display:none}:root{--keyboard-offset: 0px;--safe-bottom: env(safe-area-inset-bottom, 0px)}html.chat-route,html.chat-route body,html.chat-route #root{height:100%;overflow:hidden}@media(max-width:767px){.status-bar-desktop{display:none}.status-bar-mobile{display:flex;flex-direction:column;gap:8px;width:100%}.status-bar-mobile-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px}.status-brand-compact{display:flex;align-items:center;gap:8px;min-width:0}.status-bar-mobile-summary{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-bubble{max-width:92%}.composer-row{flex-wrap:nowrap}.composer-input{font-size:16px}.composer-attach-label{display:none}.chat-footer{padding-bottom:calc(12px + var(--safe-bottom))}}@media(max-width:420px){.chat-header{padding:8px 10px}.message-list{padding:12px 10px}.chat-footer{padding:8px 10px calc(10px + var(--safe-bottom))}}
