:root{--color-bg: #0f0f0f;--color-bg-elevated: #1a1a1a;--color-bg-hover: #222222;--color-border: #2a2a2a;--color-border-subtle: #1f1f1f;--color-text-primary: #e5e5e5;--color-text-secondary: #888888;--color-text-muted: #555555;--color-accent: #5c7cfa;--color-accent-hover: #748ffc;--color-state-created: #555555;--color-state-starting: #f59f00;--color-state-ready: #20c997;--color-state-running: #339af0;--color-state-verifying: #9775fa;--color-state-done: #51cf66;--color-state-failed: #ff6b6b;--color-state-cancelled: #868e96;--color-surface: var(--color-bg);--color-surface-elevated: var(--color-bg-elevated);--color-text-tertiary: var(--color-text-muted);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, Monaco, Consolas, monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--container-max: 1200px;--sidebar-width: 280px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.3;color:var(--color-text-primary)}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}.mono{font-family:var(--font-mono);font-size:.9em}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);font-weight:500;transition:background-color .15s,border-color .15s}.btn:hover{background-color:var(--color-bg-hover);border-color:var(--color-border)}.btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.card{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);padding:var(--space-md)}.card:hover{border-color:var(--color-border);background-color:var(--color-bg-hover)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.page-title{font-size:1.25rem;font-weight:500}.timestamp{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.landing-page{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);min-height:100vh}.landing-content{max-width:480px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.landing-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.landing-logo{color:var(--color-text-primary)}.landing-title{font-size:2.5rem;font-weight:600;letter-spacing:-.02em}.landing-tagline{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.landing-description{color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--space-xl)}.landing-features{width:100%;display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl);text-align:left}.landing-feature{display:flex;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg-elevated);border:1px solid var(--color-border)}.landing-feature-icon{color:var(--color-accent);font-size:.75rem;flex-shrink:0;margin-top:2px}.landing-feature-text{display:flex;flex-direction:column;gap:var(--space-xs)}.landing-feature-title{color:var(--color-text-primary);font-weight:500}.landing-feature-desc{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.landing-cta{padding:var(--space-sm) var(--space-lg);font-size:1rem;margin-bottom:var(--space-lg)}.landing-github-icon{width:18px;height:18px}.landing-footer-note{color:var(--color-text-muted);font-size:.85rem}.status-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:capitalize;color:var(--pill-color);background-color:color-mix(in srgb,var(--pill-color) 15%,transparent);border:1px solid color-mix(in srgb,var(--pill-color) 30%,transparent)}.status-pill-dot{width:6px;height:6px;background-color:var(--pill-color);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.session-card{display:block;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);padding:var(--space-md);color:var(--color-text-primary);text-decoration:none;transition:background-color .15s,border-color .15s}.session-card:hover{background-color:var(--color-bg-hover);border-color:var(--color-text-muted)}.session-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.session-card-repo{font-weight:500;color:var(--color-text-primary)}.session-card-prompt{color:var(--color-text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:var(--space-md)}.session-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.8rem}.session-card-id{color:var(--color-text-muted)}.session-card-time{color:var(--color-text-secondary)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background-color:transparent;border:1px solid transparent;color:var(--color-text-primary);cursor:pointer;transition:background-color .15s,border-color .15s}.user-menu-trigger:hover{background-color:var(--color-bg-elevated);border-color:var(--color-border)}.user-menu-avatar{width:24px;height:24px;border-radius:50%}.user-menu-name{font-size:.9rem;color:var(--color-text-secondary)}.user-menu-chevron{width:12px;height:12px;color:var(--color-text-muted)}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:0 4px 12px #0006;z-index:100}.user-menu-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md)}.user-menu-header-avatar{width:32px;height:32px;border-radius:50%}.user-menu-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-menu-header-name{font-size:.9rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-header-login{font-size:.8rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background-color:var(--color-border);margin:0}.user-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--color-text-secondary);font-size:.9rem;text-align:left;cursor:pointer;transition:background-color .15s,color .15s}.user-menu-item:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.user-menu-item-icon{width:16px;height:16px;flex-shrink:0}.user-menu-item-external{width:12px;height:12px;margin-left:auto;color:var(--color-text-muted)}.user-menu-item-danger{color:var(--color-state-failed)}.user-menu-item-danger:hover{background-color:#ff6b6b1a;color:var(--color-state-failed)}.rook-spinner{display:inline-flex;align-items:center;justify-content:center}.rook-spinner--hop{animation:rook-hop .6s ease-in-out infinite}@keyframes rook-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.rook-spinner--slide{animation:rook-slide 1.2s ease-in-out infinite}@keyframes rook-slide{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}.rook-spinner--think{animation:rook-think 1s ease-in-out infinite}@keyframes rook-think{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.rook-spinner--pulse{animation:rook-pulse 1.5s ease-in-out infinite}@keyframes rook-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.rook-spinner--march{animation:rook-march .4s ease-in-out infinite}@keyframes rook-march{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-2deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-2px) rotate(2deg)}}.rook-spinner--castle{animation:rook-castle 1.5s ease-out infinite}@keyframes rook-castle{0%{transform:translateY(8px);opacity:.3}30%{transform:translateY(-2px);opacity:1}50%{transform:translateY(0);opacity:1}to{transform:translateY(0);opacity:1}}.rook-spinner--inline{width:14px;height:14px}.rook-spinner--page{width:48px;height:48px;color:var(--color-accent)}.rook-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.rook-loading-text{font-family:var(--font-mono);font-size:.9rem;color:var(--color-text-secondary);animation:rook-text-pulse 2s ease-in-out infinite}@keyframes rook-text-pulse{0%,to{opacity:.7}50%{opacity:1}}.rook-spinner--with-trail{position:relative}.rook-spinner--with-trail:before,.rook-spinner--with-trail:after{content:"";position:absolute;width:4px;height:4px;background:currentColor;border-radius:1px;opacity:.2;top:50%;transform:translateY(-50%)}.rook-spinner--with-trail:before{left:-8px}.rook-spinner--with-trail:after{right:-8px}.auth-button-loading{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.auth-button-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-text-secondary);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-button-login{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);font-weight:500;font-size:.9rem;cursor:pointer;transition:background-color .15s,border-color .15s}.auth-button-login:hover{background-color:var(--color-bg-hover)}.auth-button-github-icon{width:16px;height:16px}.session-list-page{flex:1;padding:0 var(--space-lg);max-width:var(--container-max);margin:0 auto;width:100%}.session-list-loading,.session-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.session-list-empty-hint{color:var(--color-text-muted);font-size:.9rem;margin-top:var(--space-sm)}.session-list-notice{padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);margin-bottom:var(--space-lg);color:var(--color-text-secondary);font-size:.85rem}.session-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-md)}.page-header-actions{display:flex;align-items:center;gap:var(--space-md)}.btn:disabled{opacity:.5;cursor:not-allowed}.session-list-auth-prompt{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--color-text-secondary);text-align:center}.session-list-github-icon{width:16px;height:16px}.home-loading{flex:1;display:flex;align-items:center;justify-content:center;min-height:100vh}.tool-call-card{background-color:var(--color-bg-elevated);border-left:2px solid var(--color-border);padding:var(--space-sm) var(--space-md)}.tool-call-card--running,.tool-call-card--pending{border-left-color:var(--color-state-running)}.tool-call-card--success{border-left-color:var(--color-state-done)}.tool-call-card--error{border-left-color:var(--color-state-failed)}.tool-call-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.tool-call-icon{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);width:20px;text-align:center}.tool-call-name{font-weight:500;color:var(--color-text-primary);font-size:.85rem}.tool-call-status{display:flex;align-items:center;margin-left:auto}.tool-call-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-state-running);border-radius:50%;animation:spin .8s linear infinite}.tool-call-status-icon{font-family:var(--font-mono);font-size:.7rem;font-weight:500;padding:1px 4px}.tool-call-status-icon--success{color:var(--color-state-done)}.tool-call-status-icon--error{color:var(--color-state-failed)}.tool-call-duration{font-size:.7rem;color:var(--color-text-muted);margin-left:var(--space-sm)}.tool-call-section{margin-top:var(--space-xs)}.tool-call-toggle{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;color:var(--color-text-secondary);cursor:pointer;transition:color .15s}.tool-call-toggle:hover{color:var(--color-text-primary)}.tool-call-toggle-icon{font-family:var(--font-mono);font-size:.75rem;width:12px;text-align:center;color:var(--color-text-muted)}.tool-call-toggle-label{font-family:var(--font-mono);font-size:.75rem}.tool-call-content{max-height:80px;overflow:hidden;transition:max-height .2s ease-out}.tool-call-content--expanded{max-height:400px;overflow:auto}.tool-call-code{font-size:.75rem;line-height:1.4;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-all;margin:0;padding:var(--space-xs) var(--space-sm);background-color:var(--color-bg)}.tool-call-code--error{color:var(--color-state-failed)}.tool-call-ellipsis{color:var(--color-text-muted)}.streaming-message{max-height:400px;overflow-y:auto;padding:var(--space-sm) 0}.streaming-message-content{color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.streaming-code-block{margin:var(--space-sm) 0;background-color:var(--color-bg);border:1px solid var(--color-border);overflow:hidden}.streaming-code-lang{display:block;font-size:.7rem;color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-elevated)}.streaming-code{margin:0;padding:var(--space-sm);font-size:.8rem;line-height:1.4;overflow-x:auto}.streaming-inline-code{background-color:var(--color-bg);padding:1px 4px;font-size:.85em;color:var(--color-accent)}.timeline{display:flex;flex-direction:column;gap:1px;background-color:var(--color-border-subtle);max-height:600px;overflow-y:auto}.timeline-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}.timeline-empty-text{color:var(--color-text-muted);font-style:italic}.timeline-event{display:flex;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg)}.timeline-event-gutter{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);min-width:60px}.timeline-event-icon{font-size:.9rem;color:var(--color-text-muted)}.timeline-event-time{font-size:.7rem;color:var(--color-text-muted)}.timeline-event-content{flex:1;min-width:0}.timeline-event-kind{display:inline-block;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.timeline-event-text{color:var(--color-text-primary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.timeline-event-tool_call .timeline-event-icon,.timeline-event-tool_call .timeline-event-kind{color:var(--color-accent)}.timeline-event-message .timeline-event-icon{color:var(--color-state-ready)}.timeline-event-status_change .timeline-event-icon{color:var(--color-state-starting)}.timeline-event-error .timeline-event-icon,.timeline-event-error .timeline-event-text{color:var(--color-state-failed)}.timeline-event-streaming{background-color:var(--color-bg-elevated)}.streaming-icon{animation:pulse 1s ease-in-out infinite}.streaming-cursor{display:inline-block;width:2px;height:1em;background-color:var(--color-text-primary);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.timeline-tool-call{display:flex;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg)}.timeline-tool-call-content{flex:1;min-width:0}.timeline-tool-call-group{display:flex;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-bg)}.timeline-tool-call-group-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.timeline-tool-call-group-header{font-size:.75rem;color:var(--color-text-muted);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-xs)}.timeline-event-thinking{background-color:var(--color-bg-elevated)}.thinking-icon{animation:pulse 1.5s ease-in-out infinite}.timeline-thinking-text{color:var(--color-text-secondary);font-style:italic}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.artifact-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md);padding:var(--space-md)}.artifact-gallery-empty{padding:var(--space-lg);text-align:center}.artifact-gallery-empty-text{color:var(--color-text-muted);font-size:.9rem}.artifact-thumbnail{position:relative;aspect-ratio:16 / 9;border:1px solid var(--color-border);background-color:var(--color-bg-elevated);cursor:pointer;overflow:hidden;transition:border-color .15s ease}.artifact-thumbnail:hover{border-color:var(--color-text-secondary)}.artifact-thumbnail:focus{outline:2px solid var(--color-accent);outline-offset:2px}.artifact-thumbnail-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s ease}.artifact-thumbnail-image--loaded{opacity:1}.artifact-thumbnail-loading,.artifact-thumbnail-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs)}.artifact-loading-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-text-secondary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.artifact-error-icon{font-size:1.2rem;color:var(--color-state-failed)}.artifact-error-text{font-size:.75rem;color:var(--color-text-muted)}.artifact-thumbnail-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-sm);background:linear-gradient(transparent,#000000b3);display:flex;flex-direction:column;gap:2px}.artifact-thumbnail-name{font-size:.75rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artifact-thumbnail-viewport{font-size:.65rem;color:#ffffffb3}.artifact-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:1000}.artifact-modal{background-color:var(--color-bg-primary);border:1px solid var(--color-border);max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.artifact-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.artifact-modal-title{font-size:.9rem;font-weight:500;color:var(--color-text-primary);margin:0}.artifact-modal-close{padding:var(--space-xs) var(--space-sm);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1rem}.artifact-modal-close:hover{color:var(--color-text-primary)}.artifact-modal-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.artifact-modal-image{max-width:100%;max-height:100%;object-fit:contain}.artifact-modal-footer{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border)}.artifact-modal-meta{font-size:.75rem;color:var(--color-text-muted)}.test-results{display:flex;flex-direction:column}.test-results-empty{padding:var(--space-lg);text-align:center}.test-results-empty-text{color:var(--color-text-muted);font-size:.9rem}.test-results-summary{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-elevated)}.test-results-summary-text{font-size:.85rem;color:var(--color-text-secondary)}.test-results-list{display:flex;flex-direction:column}.test-result-card{border-bottom:1px solid var(--color-border);background-color:var(--color-bg-primary)}.test-result-card:last-child{border-bottom:none}.test-result-card--passed{border-left:3px solid var(--color-state-done)}.test-result-card--failed{border-left:3px solid var(--color-state-failed)}.test-result-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);gap:var(--space-md)}.test-result-status{display:flex;align-items:center;gap:var(--space-sm)}.test-result-badge{padding:2px var(--space-xs);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.test-result-badge--pass{background-color:var(--color-state-done);color:#fff}.test-result-badge--fail{background-color:var(--color-state-failed);color:#fff}.test-result-exit-code{font-size:.75rem;color:var(--color-text-muted)}.test-result-info{display:flex;align-items:center;gap:var(--space-md)}.test-result-name{font-size:.85rem;color:var(--color-text-primary)}.test-result-duration{font-size:.75rem;color:var(--color-text-muted)}.test-result-summary{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-md) var(--space-sm)}.test-result-stats{font-size:.8rem;color:var(--color-text-secondary)}.test-result-failed-count{color:var(--color-state-failed)}.test-result-command{font-size:.75rem;color:var(--color-text-muted)}.test-result-output-section{border-top:1px solid var(--color-border-subtle)}.test-result-toggle{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-md);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:.8rem;text-align:left}.test-result-toggle:hover{background-color:var(--color-bg-elevated)}.test-result-toggle-icon{width:14px;text-align:center}.test-result-toggle-label{font-size:.8rem}.test-result-output{max-height:400px;overflow:auto;background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border-subtle)}.test-result-output-content{padding:var(--space-md);margin:0;font-size:.75rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary)}.test-output-pass{color:var(--color-state-done);font-weight:500}.test-output-fail{color:var(--color-state-failed);font-weight:500}.test-output-file{color:var(--color-accent)}.test-output-line{color:var(--color-text-muted)}.session-controls{display:flex;align-items:center;gap:.5rem}.session-controls-cancel{padding:.375rem .75rem;font-size:.75rem;font-family:var(--font-mono);background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.session-controls-cancel:hover:not(:disabled){background:var(--color-state-failed);border-color:var(--color-state-failed);color:#fff}.session-controls-cancel:disabled{opacity:.5;cursor:not-allowed}.session-controls-error{font-size:.75rem;color:var(--color-state-failed);font-family:var(--font-mono)}.presence-indicator{display:flex;align-items:center;gap:.5rem}.presence-avatars{display:flex;flex-direction:row-reverse}.presence-avatar{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-surface-elevated);overflow:hidden;margin-left:-.5rem;transition:transform .15s ease}.presence-avatar:hover{transform:scale(1.1);z-index:1}.presence-avatar:last-child{margin-left:0}.presence-avatar-img{width:100%;height:100%;object-fit:cover}.presence-avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:.625rem;font-weight:600;color:var(--color-text-secondary);font-family:var(--font-mono)}.presence-avatar-overflow{background:var(--color-border)}.presence-count{font-size:.75rem;color:var(--color-text-tertiary)}.session-view-page{flex:1;display:flex;flex-direction:column;max-width:var(--container-max);margin:0 auto;width:100%;padding:0 var(--space-lg)}.session-view-loading,.session-view-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--color-text-secondary)}.session-view-header{padding:var(--space-lg) 0;border-bottom:1px solid var(--color-border)}.session-view-breadcrumb{display:flex;align-items:center;gap:var(--space-sm)}.session-view-back{color:var(--color-text-secondary);font-size:.9rem}.session-view-back:hover{color:var(--color-text-primary)}.session-view-separator{color:var(--color-text-muted)}.session-view-id{color:var(--color-text-primary);font-weight:500}.session-view-meta{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border-subtle)}.session-view-meta-left{display:flex;align-items:center;gap:var(--space-md)}.session-view-repo{font-weight:500;font-size:1.1rem}.session-view-attached{color:var(--color-text-secondary);font-size:.85rem}.session-view-meta-right{display:flex;align-items:center;gap:var(--space-md)}.session-view-connection{font-size:.85rem;color:var(--color-text-muted)}.session-view-connection[data-state=connected]{color:var(--color-state-ready)}.session-view-connection[data-state=connecting]{color:var(--color-state-starting)}.session-view-notice{padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);margin-top:var(--space-md);color:var(--color-text-secondary);font-size:.85rem}.session-view-content{flex:1;padding:var(--space-lg) 0}.session-view-timeline{background-color:var(--color-bg-elevated);border:1px solid var(--color-border)}.session-view-section-title{padding:var(--space-md);border-bottom:1px solid var(--color-border);font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.session-view-verification{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);margin-top:var(--space-lg)}.session-view-verification-content{display:flex;flex-direction:column}.session-view-verification-section{border-bottom:1px solid var(--color-border)}.session-view-verification-section:last-child{border-bottom:none}.session-view-subsection-title{padding:var(--space-sm) var(--space-md);font-size:.85rem;font-weight:500;color:var(--color-text-muted);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-subtle);margin:0}.session-view-verification-pending{padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}.session-view-summary{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);margin-top:var(--space-lg)}.session-view-summary-content{padding:var(--space-md)}.session-view-summary-stats{display:flex;gap:var(--space-lg);flex-wrap:wrap}.session-view-stat{display:flex;align-items:center;gap:var(--space-sm)}.session-view-stat-label{font-size:.85rem;color:var(--color-text-secondary)}.session-view-stat-value{font-size:.85rem;color:var(--color-text-primary);font-weight:500}.session-view-pr-link{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-subtle)}.new-session-page{position:relative;min-height:100vh;overflow:hidden}.new-session-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.new-session-content{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.new-session-header{padding:var(--space-lg)}.new-session-back{color:var(--color-text-secondary);font-size:.9rem;transition:color .15s}.new-session-back:hover{color:var(--color-text-primary)}.new-session-main{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.new-session-prompt-area{width:100%;max-width:560px;background:#0f0f0fd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border);padding:var(--space-xl)}.new-session-title{font-size:1.5rem;font-weight:500;margin-bottom:var(--space-xs)}.new-session-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.new-session-form{display:flex;flex-direction:column;gap:var(--space-lg)}.new-session-field{display:flex;flex-direction:column;gap:var(--space-sm)}.new-session-label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary)}.new-session-input,.new-session-textarea{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-primary);font-family:var(--font-mono);font-size:.9rem;padding:var(--space-md);transition:border-color .15s,box-shadow .15s;width:100%}.new-session-input:focus,.new-session-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #5c7cfa1a}.new-session-input::placeholder,.new-session-textarea::placeholder{color:var(--color-text-muted)}.new-session-input:disabled,.new-session-textarea:disabled{opacity:.5;cursor:not-allowed}.new-session-textarea{resize:none;min-height:120px;line-height:1.6}.new-session-error{background:#ff6b6b1a;border:1px solid var(--color-state-failed);color:var(--color-state-failed);padding:var(--space-sm) var(--space-md);font-size:.9rem}.new-session-actions{display:flex;align-items:center;gap:var(--space-md)}.new-session-submit{padding:var(--space-sm) var(--space-xl)}.new-session-submit:disabled{opacity:.5;cursor:not-allowed}.new-session-hint{color:var(--color-text-muted);font-size:.8rem}.auth-callback-page{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.auth-callback-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);max-width:400px;padding:var(--space-2xl);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);text-align:center}.auth-callback-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:auth-callback-spin .8s linear infinite}@keyframes auth-callback-spin{to{transform:rotate(360deg)}}.auth-callback-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.auth-callback-icon svg{width:32px;height:32px}.auth-callback-icon-error{color:var(--color-state-failed)}.auth-callback-title{font-size:1.25rem;font-weight:500;color:var(--color-text-primary)}.auth-callback-message{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.auth-callback-error .auth-callback-message{color:var(--color-text-secondary)}
