.development-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.development-card{padding:20px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);min-width:0;overflow-wrap:anywhere}.development-card h3{margin:0 0 12px}.development-card p{line-height:1.6}.development-card:not(.development-form):not(.development-stack):not(.task-card)>*+*{margin-top:12px}.development-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.development-status{display:inline-block;padding:4px 8px;border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-sm)}.development-status[data-status=done]{color:var(--accent-green)}.development-status[data-status=failed],.development-status[data-status=blocked],.development-error{color:var(--accent-red)}.development-status[data-status=running],.development-status[data-status=pending]{color:var(--accent-blue)}.development-acceptance-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding-left:1.25rem}.development-acceptance-list li{display:flex;flex-direction:column;gap:.125rem}.development-acceptance-text{font-weight:600}.development-acceptance-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.development-acceptance-head h3,.development-acceptance-head h4{margin:0}.development-muted{color:var(--text-secondary);font-size:var(--font-sm)}.development-raw{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:480px;overflow:auto;font-size:var(--font-sm);line-height:1.6}.development-requirement{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.development-form{display:flex;flex-direction:column;gap:16px}.development-form label{display:flex;flex-direction:column;gap:8px}.development-form label.development-check{flex-direction:row;align-items:center;gap:var(--space-2)}.development-form input,.development-form textarea,.development-form select,.development-select{box-sizing:border-box;max-width:100%;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius);font:inherit}.development-form input:not([type=checkbox]),.development-form select,.development-select{height:var(--control-height);padding:0 10px}.development-form textarea{padding:8px 10px;resize:vertical}.development-form fieldset{border:0;padding:0;margin:0;min-width:0}.development-form input[type=checkbox]{width:18px;height:18px;flex-shrink:0;align-self:center;accent-color:var(--accent-blue)}.development-events{margin:0;padding-left:28px}.development-events>li{padding:0 0 16px 8px}.development-events summary{cursor:pointer;overflow-wrap:anywhere}.development-plan{margin:12px 0;padding-left:24px}.development-plan li{padding:4px 0}.development-card dl{display:grid;grid-template-columns:minmax(60px,auto) 1fr;gap:8px 16px}.development-card dd{margin:0;min-width:0;overflow-wrap:anywhere}@media (max-width: 640px){.development-form input,.development-form textarea,.development-form select{font-size:16px}.development-card{padding:14px}.development-card dl{display:block}.development-card dd{margin:4px 0 12px}}.team-run{display:flex;flex-direction:column;gap:12px}.team-run-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.team-run-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:var(--font-sm)}.team-run-meta dt{color:var(--text-secondary)}.team-run-meta dd{margin:0;overflow-wrap:anywhere}.team-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.team-stage{position:relative;display:flex;gap:10px;align-items:flex-start}.team-stage:before{content:"";position:absolute;left:-21px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color)}.team-stage[data-status=done]:before{border-color:var(--accent-green)}.team-stage[data-status=running]:before,.team-stage.current:before{border-color:var(--accent-blue);background:var(--accent-blue)}.team-stage[data-status=failed]:before{border-color:var(--accent-red);background:var(--accent-red)}.team-stage-order{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--font-sm);color:var(--text-secondary);min-width:24px}.team-stage-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.team-stage-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.team-stage-who,.team-stage-desc,.team-stage-meta{font-size:var(--font-sm);color:var(--text-secondary)}.team-stage-meta{color:var(--text-muted)}.team-stage-summary{font-size:var(--font-sm);white-space:pre-wrap;overflow-wrap:anywhere}.team-stage-summary-block{margin-top:4px}.team-stage-summary-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font-size:var(--font-sm);color:var(--accent-blue);cursor:pointer}.team-stage-summary.is-open{margin-top:4px;max-height:320px;overflow-y:auto;padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary)}.task-card{display:flex;flex-direction:column}.task-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.task-card-title{margin:0 0 10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card-title .btn{padding:0;min-height:0;background:none;border:0;color:var(--text-primary);font-weight:700;font-size:var(--font-base);text-align:left;display:block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card-title .btn:hover{color:var(--accent-blue)}.task-card-requirement{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-secondary);font-size:var(--font-sm);margin:0 0 12px}.task-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px;border-top:1px solid var(--border-color)}.task-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary);white-space:nowrap}.task-chip--company{background:#3b82f624;color:var(--accent-blue)}.task-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.task-detail-head h3{margin:0}.task-hero{border-left:3px solid var(--border-color)}.task-hero[data-status=running],.task-hero[data-status=pending]{border-left-color:var(--accent-blue)}.task-hero[data-status=done]{border-left-color:var(--accent-green)}.task-hero[data-status=failed],.task-hero[data-status=blocked]{border-left-color:var(--accent-red)}.task-hero-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.task-hero-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.task-hero-title h3{margin:0;font-size:17px}.development-status--lg{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid currentColor;border-radius:var(--radius-pill);font-weight:600}.task-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}@keyframes task-status-pulse{0%,to{opacity:1}50%{opacity:.3}}.development-status[data-status=running] .task-status-dot,.development-status[data-status=pending] .task-status-dot{animation:task-status-pulse 1.6s ease-in-out infinite}.task-hero-meta{display:flex;flex-wrap:wrap;gap:8px 28px;padding:10px 14px;background:var(--bg-secondary);border-radius:8px;margin-bottom:10px}.task-meta-item{display:flex;align-items:center;gap:8px;font-size:var(--font-sm);min-width:0}.task-meta-label{color:var(--text-secondary);flex-shrink:0}.task-meta-code{font-size:var(--font-xs);overflow-wrap:anywhere}.task-meta-copy{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:6px;padding:1px 8px;font-size:var(--font-xs);cursor:pointer}.task-meta-copy:hover{color:var(--text-primary);border-color:var(--border-accent)}.task-requirement-body.is-collapsed{max-height:260px;overflow:hidden}.schedule-card{color:var(--text-primary);text-align:left;cursor:pointer}.schedule-card-title{font-size:var(--font-base)}.schedule-card-plan{margin:0 0 10px;font-family:var(--font-mono);font-size:var(--font-sm);overflow-wrap:anywhere}.schedule-state[data-enabled=true]{color:var(--accent-green)}.schedule-state[data-enabled=false]{color:var(--text-secondary)}.asset-badge--count{background:#3b82f624;color:var(--accent-blue);box-shadow:inset 0 0 0 1px var(--accent-green)}.asset-badge--lead{box-shadow:inset 0 0 0 1px var(--accent-blue)}:root{--page-header-height: 56px;--app-header-height: 48px;--sidebar-width: 64px;--drawer-width: 320px;--modal-sm: 420px;--modal-md: 520px;--modal-lg: 720px;--page-pad: 24px;--page-pad-mobile: 16px;--bg-primary: #0a0e1a;--bg-secondary: #0f1525;--bg-tertiary: #151b2e;--bg-hover: #1a2138;--bg-card: #111827;--accent-blue: #3b82f6;--accent-cyan: #06b6d4;--accent-green: #10b981;--accent-purple: #8b5cf6;--accent-orange: #f59e0b;--accent-red: #ef4444;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #1e293b;--border-accent: #334155;--glow-blue: 0 0 20px rgba(59, 130, 246, .3);--glow-cyan: 0 0 20px rgba(6, 182, 212, .3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 2px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--font-2xs: 10px;--font-xs: 11px;--font-sm: 12px;--font-md: 13px;--font-base: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 24px;--font-input-mobile: 16px;--touch-target: 44px;--touch-target-sm: 40px;--control-height: 30px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .5);--shadow-drawer: -5px 0 20px rgba(0, 0, 0, .5);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--app-viewport-top: 0px;--app-viewport-height: 100vh;--app-viewport-height: 100dvh;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--z-base: 1;--z-sticky: 10;--z-overlay: 90;--z-drawer: 95;--z-header: 100;--z-modal: 9999}*{margin:0;padding:0;box-sizing:border-box}button{font-family:var(--font-sans);cursor:pointer;min-height:var(--control-height);border-radius:var(--radius)}button:disabled{cursor:not-allowed}input,select,textarea{font-family:var(--font-sans);border-radius:var(--radius)}html{height:100%;width:100%;overflow:hidden}body{position:fixed;top:var(--app-viewport-top);left:0;width:100%;overflow:hidden;overscroll-behavior:none;height:var(--app-viewport-height)}#root{height:100%;width:100%}body{font-family:var(--font-sans);font-size:var(--font-base);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(ellipse at 20% 50%,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.05) 0%,transparent 50%)}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:20px;cursor:pointer;padding:4px}.app-container{display:flex;flex-direction:column;height:100%;height:var(--app-viewport-height);width:100%;overflow:hidden}.app-header{height:var(--app-header-height);height:calc(var(--app-header-height) + var(--safe-area-top));padding-top:var(--safe-area-top);display:flex;align-items:center;justify-content:space-between;padding-left:16px;padding-right:16px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:var(--z-header);box-sizing:border-box}.header-right{display:flex;align-items:center;gap:16px}.app-header-left{display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow:hidden}.app-header-page-title,.app-header-actions{display:none}.user-info{font-size:var(--font-sm);color:var(--text-secondary);display:flex;align-items:center;gap:8px;position:relative}.user-avatar{flex:0 0 auto;line-height:1}.user-role{padding:2px 6px;background:#3b82f61a;color:var(--accent-blue);border-radius:4px;font-size:var(--font-2xs)}.ui-overlay{display:block;position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.ui-overlay.visible{opacity:1;pointer-events:auto}.ui-overlay.right{z-index:95}.app-body{display:flex;flex:1;overflow:hidden;position:relative}.sidebar{width:176px;flex-shrink:0;background:var(--bg-tertiary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:stretch;padding-top:16px;gap:6px}.sidebar-icon{width:auto;height:40px;margin:0 12px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:0 10px;box-sizing:border-box;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-size:20px;transition:all .2s;position:relative}.sidebar-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-icon.active{color:var(--accent-blue);background:#3b82f61f;box-shadow:inset 0 0 0 1px #3b82f640}.sidebar-icon__label{display:inline;font-size:var(--font-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-icon.active .sidebar-icon__label{color:var(--accent-blue)}.main-workspace{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--bg-primary)}.context-drawer{position:absolute;right:-100%;top:0;bottom:0;z-index:100;width:320px;background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;transition:right .3s ease,visibility .3s;overflow:hidden;box-shadow:none}.context-drawer:not(.closed){right:0;box-shadow:-5px 0 20px #00000080}.context-drawer.closed{right:-100%;visibility:hidden}.status-bar__brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:var(--font-lg);letter-spacing:2px;color:var(--accent-blue);text-shadow:0 0 10px rgba(59,130,246,.5)}.status-bar__brand .logo{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);color:#fff;font-weight:900}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.panel-section__header{display:flex;align-items:center;gap:8px;font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:10px}.panel-section__header .icon{font-size:var(--font-base)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.page-header{padding:0 24px;height:var(--page-header-height);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-width:0}.page-header-title{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;overflow:hidden}.page-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.page-header-actions button{height:var(--control-height);display:flex;align-items:center;justify-content:center;white-space:nowrap}.project-selector-btn{padding:0 12px;border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);outline:none;cursor:pointer;font-size:var(--font-md);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;transition:all .2s}.project-selector-btn:hover{background:var(--bg-card);border-color:var(--accent-blue)}.page-header h2{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);line-height:1}h3{font-size:var(--font-base);font-weight:600;color:var(--text-primary);line-height:1.3}.page-header .subtitle{font-size:var(--font-sm);color:var(--text-muted);font-family:var(--font-mono);line-height:1}.chat-messages{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:12px}.message{display:flex;flex-direction:column;max-width:100%;min-width:0;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;align-items:flex-end;max-width:70%}.message.assistant{align-self:flex-start;align-items:flex-start}.message-bubble{padding:12px 16px;border-radius:var(--radius-lg);font-size:var(--font-base);line-height:1.6;white-space:pre-wrap;word-break:break-word;max-width:100%;overflow-x:auto}.message.user .message-bubble{background:linear-gradient(135deg,var(--accent-blue),#2563eb);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-bubble{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.gen-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-blue);display:inline-block;animation:gen-bounce 1.2s infinite ease-in-out}@keyframes gen-bounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}.gen-dot-blink{animation:blink 1s infinite}.message-meta{font-size:var(--font-2xs);color:var(--text-muted);margin-top:4px;font-family:var(--font-mono);padding:0 4px}.message.revoked .message-bubble{opacity:.45;filter:grayscale(.5)}.revoked-badge{color:var(--accent-red, #f87171);font-weight:600}.message-revoke-btn{margin-left:8px;padding:0 6px;font-size:var(--font-2xs);color:var(--text-muted);background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.message:hover .message-revoke-btn{opacity:1}.message-revoke-btn:hover{color:var(--accent-red, #f87171);border-color:var(--accent-red, #f87171)}.message.collapsed{align-self:stretch}.collapsed-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px dashed var(--border-color);border-radius:var(--radius);background:#ffffff05;cursor:pointer;font-size:.85em;color:var(--text-muted);width:100%;text-align:left}.collapsed-arrow{display:inline-block;font-size:.7em;transition:transform .15s}.collapsed-arrow.open{transform:rotate(90deg)}.collapsed-label{flex:1}.collapsed-hint{color:var(--accent-blue);font-size:.85em}.message.collapsed .message-bubble{margin-top:6px;max-height:320px;overflow-y:auto}.message-bubble code{font-family:var(--font-mono);background:#0000004d;padding:2px 6px;border-radius:4px;font-size:var(--font-md)}.message-bubble pre{background:#0d1117;border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 16px;margin:8px 0;overflow-x:auto;font-family:var(--font-mono);font-size:var(--font-md);line-height:1.5}.message-bubble pre code{background:none;padding:0}.chat-input-area{padding:16px 24px;padding-bottom:calc(16px + var(--safe-area-bottom));border-top:1px solid var(--border-color);background:var(--bg-secondary);position:sticky;bottom:0;z-index:10}.chat-input-wrapper{display:flex;gap:12px;align-items:flex-end}.chat-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chat-action-btn{background:none;border:none;cursor:pointer;padding:0 8px;font-size:1.2em;color:var(--text-secondary);transition:color .2s;height:44px;display:flex;align-items:center;justify-content:center}.chat-action-btn:hover:not(:disabled){color:var(--text-primary)}.chat-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-action-btn.recording{color:var(--accent-red)}.chat-input{flex:1;resize:none;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px 16px;color:var(--text-primary);font-size:var(--font-base);font-family:var(--font-sans);outline:none;transition:border-color .2s,box-shadow .2s;min-height:44px;max-height:320px}.chat-input:focus{border-color:var(--accent-blue);box-shadow:var(--glow-blue)}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{width:44px;height:44px;border:none;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent-blue),var(--accent-cyan));color:#fff;font-size:var(--font-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--glow-blue)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.memory-list{padding:10px 16px}.memory-fragment{padding:10px 12px;margin-bottom:8px;background:var(--bg-tertiary);border-radius:var(--radius);border:1px solid transparent;transition:border-color .2s;cursor:default}.memory-fragment:hover{border-color:var(--border-accent)}.memory-fragment__summary{font-size:var(--font-sm);font-weight:500;color:var(--text-primary);margin-bottom:4px}.memory-fragment__content{font-size:var(--font-xs);color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.memory-fragment__tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.memory-tag{padding:2px 8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:10px;font-size:var(--font-2xs);color:var(--accent-blue);font-family:var(--font-mono)}.memory-tag.high-importance{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--accent-orange)}.tag-cloud{padding:10px 16px;border-top:1px solid var(--border-color)}@media (max-width: 768px){input,textarea,select{font-size:var(--font-input-mobile)!important}.btn,.page-header-actions button,.chat-action-btn{min-height:var(--control-height)}input,select{padding-top:4px;padding-bottom:4px}.app-header{padding-left:10px;padding-right:10px;background:var(--bg-primary);border-bottom:none}.brand-text{display:none}.user-name,.user-role{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}.user-avatar{font-size:var(--font-lg)}.header-right{gap:8px;flex:0 0 auto}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;margin-left:-6px;font-size:22px}.sidebar{position:absolute;left:-100%;top:0;bottom:0;width:220px;z-index:100;background:var(--bg-secondary);border-right:1px solid var(--border-color);box-shadow:5px 0 15px #00000080;transition:left .3s ease}.sidebar.mobile-open{left:0}.ui-overlay{display:block;position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.ui-overlay.visible{opacity:1;pointer-events:auto}.ui-overlay.right{z-index:95}.sidebar-icon{width:auto;height:auto;min-height:44px;font-size:20px;flex-direction:row;justify-content:flex-start;gap:12px;padding:0 16px;border-radius:0;box-sizing:border-box}.sidebar-icon__glyph{font-size:20px;line-height:1;flex:0 0 auto}.sidebar-icon__label{display:inline;font-size:var(--font-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-icon.active .sidebar-icon__label{color:var(--accent-blue)}.chat-messages{padding:12px}.chat-input-area{padding:10px;padding-bottom:calc(10px + var(--safe-area-bottom))}:root{--page-header-height: 0px;--page-pad: 16px}.page-header{display:none}.page-header.page-header--inline-actions{display:flex;align-items:center;height:auto;min-height:44px;padding:6px 12px;gap:8px}.page-header--inline-actions .page-header-title{display:none}.page-header--inline-actions .page-header-actions{flex:1 1 auto;max-width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.page-header--inline-actions .page-header-actions::-webkit-scrollbar{display:none}.app-header-actions{display:flex;align-items:center;flex:0 0 auto;max-width:60%;overflow:hidden}.app-header-actions-content{display:flex;align-items:center;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0}.app-header-actions-content::-webkit-scrollbar{display:none}.project-selector-btn{max-width:140px;font-size:var(--font-xs);padding:0 8px}.chat-input{font-size:var(--font-md);padding:8px 12px;min-height:38px}.message{max-width:100%}.message.user{max-width:85%}.message-bubble{padding:10px 12px;font-size:var(--font-md)}.chat-input-wrapper{gap:6px}.chat-action-btn{padding:0 4px}.chat-actions-row{flex-wrap:nowrap;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.chat-actions-row::-webkit-scrollbar{display:none}.chat-actions-row .chat-action-btn{flex:0 0 auto;white-space:nowrap}.chat-send-btn{width:38px;height:38px;font-size:var(--font-lg)}.context-drawer{width:50%!important;max-width:320px;min-width:190px}.sidebar,.context-drawer{padding-bottom:var(--safe-area-bottom)}.app-header-left{cursor:pointer;-webkit-tap-highlight-color:transparent}.app-header-page-title{display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow:hidden}.app-header-page-title-content{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-stats{flex-wrap:wrap}.memory-stat{flex:1 1 45%!important;min-width:0}}.tag-cloud__items{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-cloud__item{padding:3px 10px;background:var(--bg-tertiary);border-radius:12px;font-size:var(--font-xs);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:var(--font-mono)}.tag-cloud__item:hover{background:var(--accent-blue);color:#fff}.memory-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-color)}.memory-stat{text-align:center;padding:8px 4px;background:var(--bg-tertiary);border-radius:var(--radius)}.memory-stat__value{font-size:var(--font-xl);font-weight:700;color:var(--accent-blue);font-family:var(--font-mono)}.memory-stat__label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,textarea,select,button{font-family:var(--font-sans)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;min-height:var(--control-height);font-size:var(--font-sm);font-weight:500;line-height:1;white-space:nowrap;border-radius:var(--radius);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-accent)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.btn-primary:hover:not(:disabled){background:#2f6fe0;border-color:#2f6fe0}.btn-danger{color:var(--accent-red);border-color:#ef444466}.btn-danger:hover:not(:disabled){background:#ef44441f;border-color:var(--accent-red)}.btn-danger-solid{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:transparent;color:var(--text-primary)}.field{width:100%;padding:8px 12px;font-size:var(--font-base);color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}input.field,select.field{height:var(--control-height);padding:0 12px}.field:focus{border-color:var(--accent-blue);box-shadow:var(--glow-blue);outline:none}.field::placeholder{color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:var(--space-4)}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.card-head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);flex-shrink:0}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:600;line-height:1.4;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);padding-top:calc(var(--space-4) + var(--safe-area-top));padding-bottom:calc(var(--space-4) + var(--safe-area-bottom));box-sizing:border-box}.modal-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden}.modal-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);font-size:var(--font-lg);color:var(--text-primary);font-weight:700;flex-shrink:0}.modal-body{padding:var(--space-5);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-close{padding:0 8px}@media (max-width: 768px){.modal-overlay{align-items:center;padding:var(--space-4);padding-top:calc(var(--space-4) + var(--safe-area-top));padding-bottom:calc(var(--space-4) + var(--safe-area-bottom))}.modal-panel{width:min(92%,var(--modal-md))!important;border-radius:var(--radius-lg);max-height:85%}.modal-title{padding:var(--space-3) var(--space-4);font-size:var(--font-base)}.modal-body{padding:var(--space-4)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1024px){.app-container{grid-template-columns:240px 1fr 280px}}@media (max-width: 768px){.app-container{grid-template-columns:1fr;grid-template-rows:48px auto 1fr auto}}.auth-container{display:flex;align-items:center;justify-content:center;height:100%;height:var(--app-viewport-height);width:100%;background:var(--bg-primary);font-family:var(--font-sans);padding:20px;padding-top:calc(20px + var(--safe-area-top));padding-bottom:calc(20px + var(--safe-area-bottom));box-sizing:border-box}.auth-box{background:var(--bg-secondary);padding:40px;border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:var(--shadow-lg)}@media (max-width: 768px){.auth-container{align-items:flex-start;padding-top:15vh}.auth-box{padding:30px 20px}}.markdown-body{line-height:1.6;word-break:break-word;color:var(--text-primary)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:14px 0 8px;font-weight:700;line-height:1.3;color:var(--text-primary)}.markdown-body h1{font-size:1.5em;border-bottom:1px solid var(--border-color);padding-bottom:6px}.markdown-body h2{font-size:1.3em}.markdown-body h3{font-size:1.15em}.markdown-body h4{font-size:1.05em}.markdown-body p{margin:8px 0}.markdown-body ul,.markdown-body ol{margin:8px 0;padding-left:22px}.markdown-body li{margin:4px 0}.markdown-body strong{font-weight:700;color:var(--text-primary)}.markdown-body code{font-family:var(--font-mono);background:#ffffff14;padding:2px 5px;border-radius:4px;font-size:.9em}.markdown-body pre{background:#0d1117;border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 16px;margin:10px 0;overflow-x:auto}.markdown-body pre code{background:none;padding:0}.markdown-body blockquote{margin:10px 0;padding:6px 14px;border-left:3px solid var(--accent-blue);background:#3b82f614;color:var(--text-secondary);border-radius:0 4px 4px 0}.markdown-body a{color:var(--accent-cyan);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body table{border-collapse:collapse;margin:10px 0;width:100%;font-size:.95em}.markdown-body th,.markdown-body td{border:1px solid var(--border-color);padding:6px 12px;text-align:left}.markdown-body th{background:var(--bg-tertiary);font-weight:700}.markdown-body hr{border:none;border-top:1px solid var(--border-color);margin:14px 0}.markdown-body img{max-width:100%;border-radius:var(--radius)}.card-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media (max-width: 1024px){.card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.card-grid-4{grid-template-columns:repeat(1,minmax(0,1fr))}}.fm-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.fm-path-group{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.fm-path-group>button{flex-shrink:0;white-space:nowrap}.fm-path-text{display:flex;align-items:center;color:var(--text-muted);font-size:var(--font-md);min-width:0;flex:1 1 auto}.fm-path-sep{flex-shrink:0}.fm-path-body{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}.fm-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto;justify-content:flex-end}.fe-header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.fe-btn{flex:0 0 auto;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;font-size:var(--font-md);display:flex;align-items:center;gap:6px;white-space:nowrap}.fe-btn:disabled{opacity:.6;cursor:not-allowed}.fe-save-btn{background:var(--accent-blue);color:#fff;margin-left:auto}.fe-path{flex:1 1 auto;min-width:0}.fe-path-text{display:block;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}@media (max-width: 768px){.fm-toolbar{flex-direction:column;align-items:stretch}.fm-path-group{width:100%}.fm-actions{width:100%;justify-content:flex-start}.fe-path{order:1;flex:1 1 100%}.fe-back-btn{order:2;flex:1 1 auto;margin-left:0}.fe-save-btn{order:3;flex:1 1 auto;margin-left:0}}.ui-spinner{display:inline-block;flex-shrink:0;border:2px solid rgba(148,163,184,.35);border-top-color:var(--accent-blue);border-radius:50%;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tabs.is-scroll-start{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24px);mask-image:linear-gradient(to right,transparent 0,#000 24px)}.ui-tabs.is-scroll-end{-webkit-mask-image:linear-gradient(to left,transparent 0,#000 24px);mask-image:linear-gradient(to left,transparent 0,#000 24px)}.ui-tabs.is-scroll-start.is-scroll-end{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}.ui-tabs.is-compact{border-bottom:none}.ui-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;white-space:nowrap}.ui-tab:hover:not(:disabled){color:var(--text-primary)}.ui-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.ui-tab:disabled{opacity:.5;cursor:not-allowed}.ui-tab-count{background:var(--bg-hover);border-radius:var(--radius-pill);padding:0 6px;font-size:var(--font-2xs);line-height:1.7;min-width:18px;text-align:center}.ui-field{display:flex;flex-direction:column;gap:4px;min-width:0}.ui-field-label{display:flex;gap:4px;font-size:var(--font-sm);font-weight:600;color:var(--text-secondary)}.ui-field-required{color:var(--accent-red)}.ui-field-hint{font-size:var(--font-xs);color:var(--text-muted)}.ui-field-hint.is-error{color:var(--accent-red)}.field.is-invalid{border-color:var(--accent-red)}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-secondary)}.ui-empty-icon{font-size:32px;line-height:1}.ui-empty-title{font-size:var(--font-lg);font-weight:700;color:var(--text-primary)}.ui-empty-desc{font-size:var(--font-sm);color:var(--text-muted);max-width:460px;line-height:1.6}.ui-empty.is-compact{gap:var(--space-1);padding:var(--space-3) var(--space-2)}.ui-empty.is-compact .ui-empty-icon{font-size:22px}.ui-empty.is-compact .ui-empty-title{font-size:var(--font-base);font-weight:600}.field-inline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.field-inline .field{width:auto;flex:1 1 140px;min-width:0}.ui-table-wrap{overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.ui-table th{padding:8px 10px;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-weight:600;white-space:nowrap}.ui-table td{padding:10px;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle}.ui-table tr.is-clickable{cursor:pointer}.ui-table tr.is-clickable:hover td{background:var(--bg-hover)}.ui-table-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:var(--font-sm)}.modal-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-5);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom));border-top:1px solid var(--border-color)}.modal-footer-inner{display:contents}.modal-footer-note{margin-right:auto;font-size:var(--font-xs);color:var(--text-muted)}.modal-footer .btn{min-width:72px}.asset-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.asset-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);min-width:0}.asset-card-head{display:flex;gap:var(--space-3);min-width:0}.asset-card.is-selectable{cursor:pointer;transition:border-color .15s ease,background .15s ease}.asset-card.is-selectable:hover{border-color:var(--border-accent);background:var(--bg-hover)}.asset-card.is-selected{border-color:var(--accent-blue);box-shadow:var(--glow-blue)}.asset-card-avatar{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.asset-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.asset-card-title{font-size:var(--font-base);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-card-subtitle{font-size:var(--font-sm);color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.asset-card-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;margin-top:2px}.asset-card-badges .chip{width:100%;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-badge{background:var(--bg-hover);color:var(--text-secondary)}.asset-card-footer{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.chat-layout{display:flex;flex:1;min-height:0;overflow:hidden}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-summon-banner{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 24px;border-bottom:1px solid var(--border-color);background:linear-gradient(90deg,rgba(56,114,255,.12),transparent);font-size:var(--font-md)}.chat-summon-avatar{font-size:1.4em;line-height:1}.chat-summon-text{display:flex;align-items:baseline;gap:8px;min-width:0}.chat-summon-text strong{color:var(--text-primary)}.chat-summon-role{color:var(--text-muted);font-size:var(--font-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-summon-badge{font-size:var(--font-2xs);padding:1px 8px;border-radius:var(--radius-lg);background:#8b5cf629;border:1px solid rgba(139,92,246,.45);color:var(--accent-purple, #8b5cf6)}.chat-summon-clear{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:var(--font-sm);cursor:pointer}.chat-summon-clear:hover{color:var(--accent-red)}.chat-input-shell{position:relative;display:flex;flex-direction:column}.chat-drop-hint{position:absolute;top:-80px;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--accent);background:#3872ff14;border:2px dashed var(--accent);pointer-events:none}.chat-input-area{display:flex;flex-direction:column;gap:10px}.chat-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chat-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius);font-size:var(--font-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);max-width:100%}.chat-chip--draft{background:#8b5cf61f;border-color:#8b5cf673;color:var(--accent-purple, #8b5cf6)}.chat-chip--team{background:#3872ff1f;border-color:#3872ff73;color:var(--accent-blue)}.chat-chip--expert{background:#10b9811a;border-color:#10b98166;color:var(--accent-green, #10b981)}.chat-chip--skill{background:#ffffff0a}.chat-chip--error{border-color:var(--accent-red)}.chat-chip-badge{font-size:var(--font-2xs);padding:0 6px;border-radius:var(--radius-lg);background:#ffffff14}.chat-chip-x{background:none;border:none;padding:0 2px;line-height:1;color:inherit;cursor:pointer;opacity:.7}.chat-chip-x:hover{opacity:1;color:var(--accent-red)}.chat-team-members{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;border-radius:var(--radius);background:#3872ff0f;border:1px dashed var(--border-color)}.chat-team-member{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--text-secondary)}.chat-team-member.lead{color:var(--accent-blue);font-weight:600}.chat-team-member-role{font-size:var(--font-2xs);color:var(--text-muted)}.chat-action-btn--pill{height:auto;padding:2px 10px;gap:6px;font-size:var(--font-md);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.chat-action-btn-icon{font-size:var(--font-lg);line-height:1}.chat-action-btn--pill.is-active{border-color:var(--accent-blue);background:#3872ff1f;color:var(--accent-blue)}.ability-picker{position:absolute;left:16px;right:16px;bottom:calc(100% + 8px);z-index:40;display:flex;flex-direction:column;max-height:46vh;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000073;overflow:hidden}.ability-picker-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 0}.ability-picker-close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:0 6px}.ability-picker-search{margin:8px;flex:0 0 auto}.ability-picker-list{flex:1;overflow-y:auto;padding:0 8px 8px;display:flex;flex-direction:column;gap:4px}.ability-picker-foot{padding:6px 12px;border-top:1px solid var(--border-color);font-size:var(--font-2xs);color:var(--text-muted)}.ability-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer;flex:0 0 auto}.ability-item:hover{background:var(--bg-tertiary)}.ability-item.picked{border-color:var(--accent-blue);background:#3872ff1a}.ability-item-avatar{flex:0 0 auto;font-size:1.2em;line-height:1.2}.ability-item-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ability-item-name{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:600;font-size:var(--font-md)}.ability-item-desc{font-size:var(--font-sm);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ability-item-tags{display:flex;flex-wrap:wrap;gap:4px}.ability-tag{font-size:var(--font-2xs);padding:0 6px;border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-muted)}.ability-meta{font-size:var(--font-2xs);font-weight:400;color:var(--text-muted)}.ability-badge{font-size:var(--font-2xs);font-weight:400;padding:0 6px;border-radius:var(--radius-lg);background:#8b5cf629;color:var(--accent-purple, #8b5cf6)}.ability-item-state{flex:0 0 auto;font-size:var(--font-2xs);color:var(--accent-blue);align-self:center}.chat-badge-row{display:flex;justify-content:flex-end;margin-bottom:8px}.chat-tool-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.chat-think{border-left:3px solid var(--text-muted);background:#ffffff08;border-radius:var(--radius);padding:6px 12px;margin:4px 0 10px}.chat-think-head,.chat-tool-head{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:2px 0;cursor:pointer;color:var(--text-secondary);font-size:var(--font-md);font-weight:600;text-align:left}.chat-think-arrow,.chat-tool-arrow{display:inline-block;font-size:.75em;color:var(--text-muted);transition:transform .15s}.chat-think-arrow.open,.chat-tool-arrow.open{transform:rotate(90deg)}.chat-think-body{margin-top:8px;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);font-size:var(--font-sm)}.chat-tool{border:1px solid var(--border-color);border-radius:var(--radius);background:#ffffff05;overflow:hidden;font-size:var(--font-sm)}.chat-tool-head{padding:6px 10px;background:#10b9810f}.chat-tool-name{color:var(--accent-green, #10b981)}.chat-tool-index{margin-left:auto;color:var(--text-muted);font-size:var(--font-2xs)}.chat-tool-body{padding:8px 10px;border-top:1px solid var(--border-color)}.chat-tool-block+.chat-tool-block{margin-top:8px}.chat-tool-label{color:var(--text-muted);font-size:var(--font-sm);margin-bottom:4px}.chat-tool-pre{margin:0;padding:6px 8px;background:#00000040;border-radius:var(--radius);font-size:var(--font-sm);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto;font-family:var(--font-mono);color:var(--text-secondary)}.chat-task{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid var(--border-color);border-left:3px solid var(--accent-blue);border-radius:var(--radius);background:#3872ff0d}.chat-task-row{display:flex;align-items:center;gap:10px;min-width:0}.chat-task-title{font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-task-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chat-task-reason{font-size:var(--font-sm);color:var(--accent-red);word-break:break-word}.chat-status{flex:0 0 auto;font-size:var(--font-2xs);padding:1px 8px;border-radius:var(--radius-lg);border:1px solid var(--border-color);color:var(--text-muted)}.chat-status--info{color:var(--accent-blue);border-color:var(--accent-blue)}.chat-status--ok{color:var(--accent-green, #10b981);border-color:var(--accent-green, #10b981)}.chat-status--warn{color:var(--accent-orange, #f59e0b);border-color:var(--accent-orange, #f59e0b)}.chat-status--danger{color:var(--accent-red);border-color:var(--accent-red)}.chat-artifact{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px dashed var(--border-color);border-radius:var(--radius);background:#ffffff05;font-size:var(--font-sm)}.chat-artifact-row{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary)}.chat-artifact-kind{font-size:var(--font-2xs);font-weight:400;color:var(--text-muted)}.chat-artifact-link{color:var(--accent-blue);word-break:break-all}.chat-artifact-detail{color:var(--text-muted);font-size:var(--font-2xs);font-family:var(--font-mono)}.chat-error{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px;padding:10px 12px;border:1px solid var(--accent-red);border-left:3px solid var(--accent-red);border-radius:var(--radius);background:#ef44440f}.chat-error-row{display:flex;align-items:center;gap:8px;color:var(--accent-red)}.chat-error-body{font-size:var(--font-sm);color:var(--text-secondary)}.chat-error-detail{margin:0;padding:6px 8px;background:#00000040;border-radius:var(--radius);font-size:var(--font-sm);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;font-family:var(--font-mono);color:var(--text-secondary)}.chat-error-actions{display:flex;gap:10px}.chat-error-link{font-size:var(--font-sm);color:var(--accent-blue)}.chat-attachments{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.chat-attachment{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius);background:#ffffff1a;font-size:var(--font-sm)}.chat-attachment a{color:inherit;text-decoration:none}.message-time{margin-left:8px;color:var(--text-muted)}.chat-scenes{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;max-width:720px}.chat-scene-hint{grid-column:1 / -1;font-size:var(--font-sm);color:var(--text-muted)}.chat-scene-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-secondary);text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}.chat-scene-card:hover:not(:disabled){border-color:var(--accent-blue);transform:translateY(-2px)}.chat-scene-card:disabled{opacity:.5;cursor:not-allowed}.chat-scene-domain{font-size:var(--font-2xs);color:var(--text-muted)}.chat-scene-name{font-weight:700;color:var(--text-primary)}.chat-scene-desc{font-size:var(--font-sm)}.chat-load-more{display:flex;justify-content:center;padding-bottom:6px}@media (max-width: 900px){.chat-summon-banner{padding:6px 12px}.ability-picker{left:8px;right:8px;max-height:52vh}.chat-scenes{grid-template-columns:1fr}}.home-stack{display:flex;flex-direction:column;gap:var(--space-4)}.home-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.home-stat-icon{font-size:20px;line-height:1;margin-bottom:var(--space-1)}.home-stat-value{font-size:var(--font-2xl);font-weight:700;line-height:1.1;color:var(--text-primary);font-variant-numeric:tabular-nums}.home-stat-label{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary)}.home-stat-hint{font-size:var(--font-xs);color:var(--text-muted);line-height:1.5}.home-shortcuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2)}.home-shortcut{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);min-height:var(--touch-target);text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary)}.home-shortcut:hover{background:var(--bg-hover);border-color:var(--border-accent)}.home-shortcut-icon{font-size:22px;line-height:1;flex-shrink:0}.home-shortcut-text{display:flex;flex-direction:column;gap:1px;min-width:0}.home-shortcut-title{font-size:var(--font-base);font-weight:600}.home-shortcut-desc{font-size:var(--font-xs);color:var(--text-muted)}.home-projects,.home-tasks{display:flex;flex-direction:column;gap:var(--space-2)}.home-project,.home-task{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3);min-height:var(--touch-target);text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary)}.home-project:hover,.home-task:hover{background:var(--bg-hover);border-color:var(--border-accent)}.home-project-name,.home-task-title{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-project-meta,.home-task-meta{font-size:var(--font-xs);color:var(--text-muted);flex-shrink:0}.home-task-meta{width:100%}.home-more{display:flex;justify-content:center;margin-top:var(--space-3)}.home-inline-error{font-size:var(--font-sm);color:var(--accent-red)}@media (max-width: 768px){.home-stack .card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.home-shortcuts{grid-template-columns:1fr}.home-task-meta{width:auto}}
