/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{color-scheme:light;font-family:Inter,IBM Plex Sans,Segoe UI,sans-serif;--bg: #f4f1ea;--panel: #fffef9;--ink: #1d1d1b;--muted: #5f5b55;--brand: #275d4b;--brand-strong: #154236;--border: #d8d0c5;--primary: #275d4b;--primary-fg: #fffef9;--color-primary: #275d4b;--success: #2f8f62;--success-light: rgba(47, 143, 98, .14);--warning: #c08a1e;--warning-light: rgba(192, 138, 30, .14);--danger: #b94a3c;--danger-light: rgba(185, 74, 60, .14);--info: #4f7fb8;--info-light: rgba(79, 127, 184, .14);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 5rem;--space-10: 4rem;--space-12: 6rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-full: 999px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .18);--touch-target: 44px;--sidebar-width: 280px;--mobile-nav-height: calc(64px + env(safe-area-inset-bottom, 0px)) ;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--font-size-xs: clamp(.625rem, .6rem + .125vw, .75rem);--font-size-sm: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-base: clamp(.875rem, .8rem + .35vw, 1rem);--font-size-lg: clamp(1rem, .9rem + .5vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 2rem)}[data-theme=dark]{color-scheme:dark;--bg: #171613;--panel: #22201d;--ink: #ece7df;--muted: #a59d92;--brand: #5fa889;--brand-strong: #4d9175;--border: #39342d;--primary: #5fa889;--primary-fg: #171613;--color-primary: #5fa889;--success: #22c55e;--success-light: rgba(34, 197, 94, .15);--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .15);--info: #3b82f6;--info-light: rgba(59, 130, 246, .15)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}html.terminal-page-open,body.terminal-page-open{overflow:hidden}[data-theme=dark] body{background:radial-gradient(circle at top right,#2a2520,var(--bg))}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex;flex-direction:column}.shell-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}[data-theme=dark] .shell-header{background:color-mix(in srgb,var(--panel) 88%,transparent)}.brand{font-weight:700;letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:.75rem}.shell-body{display:grid;grid-template-columns:230px 1fr;height:calc(100vh - 57px);flex:1}.shell-nav{border-right:1px solid var(--border);padding:1rem .75rem;display:flex;flex-direction:column;gap:.4rem;background:color-mix(in srgb,var(--panel) 65%,transparent)}.nav-item{padding:.65rem .75rem;border-radius:10px;color:var(--muted)}.nav-item:hover{background:var(--bg);color:var(--ink)}.nav-item-active{background:var(--brand);color:#f7fff7}.nav-section-title{margin-top:.5rem;padding:.25rem .75rem;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nav-divider{height:1px;background:var(--border);margin:.5rem 0}.shell-content{padding:1.25rem;overflow-x:hidden;display:flex;flex-direction:column;min-height:0;height:100%}.eyebrow{margin:0;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.home-page,.settings-page{max-width:1240px}.home-hero{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;padding:var(--space-4)}.home-hero-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.home-summary-grid,.home-project-grid,.home-session-grid{display:grid;gap:var(--space-4)}.home-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.home-summary-card{padding:var(--space-4)}.home-project-grid,.home-session-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.home-section{padding:var(--space-4)}.home-section h2,.settings-header h1,.settings-panel h2,.home-section h3,.home-section p{margin:0}@media (max-width: 767px){.home-hero,.home-summary-card,.home-section{padding:var(--space-3)}}.row-tight{gap:var(--space-2)}.settings-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.settings-tab{padding:.6rem .9rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--panel)}.settings-tab.active{background:var(--brand);color:#fff;border-color:transparent}.settings-panel{padding:1.5rem}.settings-actions,.form-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.error-text{color:var(--danger)}.success-text{color:var(--success)}.small{padding:.42rem .7rem;min-height:38px}.session-card,.project-card,.recent-session-item{box-shadow:0 1px #00000005}@media (max-width: 767px){.shell-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.shell-nav{flex-direction:row;flex-wrap:wrap;gap:.25rem;padding:.5rem;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-item{padding:.5rem .75rem;white-space:nowrap;font-size:var(--font-size-sm)}.shell-content{padding:var(--space-4);height:100%}}.stack{display:flex;flex-direction:column;gap:1rem}.muted{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-4)}@media (min-width: 768px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.card-sm{padding:var(--space-3)}.card-md{padding:var(--space-4)}.card-lg{padding:var(--space-5)}.card-elevated{box-shadow:var(--shadow-sm)}.card-borderless{border-color:transparent}.card-label{margin:0;color:var(--muted)}.card-value{margin:.45rem 0 0;font-size:1.6rem;font-weight:700}.quick-actions{display:flex;gap:.6rem}.primary-button,.secondary-button,.ghost-button{border-radius:10px;border:1px solid transparent;padding:.58rem .85rem;cursor:pointer;font:inherit}.primary-button{background:var(--brand);color:#fff}.primary-button:hover{background:var(--brand-strong)}.secondary-button{border-color:var(--border);background:var(--panel)}.ghost-button{border-color:var(--border);background:transparent}.user-chip{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:.35rem .7rem;font-size:.9rem}.center-screen{min-height:55vh;display:grid;place-content:center;text-align:center}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}@media (max-width: 767px){.page-header{flex-direction:column;align-items:flex-start}}.project-list{display:flex;flex-direction:column;gap:.75rem}.project-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-4)}.project-info h3{margin:0 0 .35rem}.project-info p{margin:0}.project-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.delete-confirm{display:flex;gap:.5rem;align-items:center}.danger-button{border-radius:10px;border:1px solid transparent;padding:.58rem .85rem;cursor:pointer;font:inherit;background:#b91c1c;color:#fff}.danger-text{color:#b91c1c}.error-text{color:#b91c1c;margin:0}.dialog-overlay,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog,.modal-content,.commit-dialog{width:100%;max-width:32rem;max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.dialog-lg{max-width:48rem}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border)}.dialog-header h2,.dialog-header h3{margin:0;font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.dialog-body,.modal-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--space-4)}.dialog-footer,.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--border)}.dialog-close{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--muted);cursor:pointer}.dialog-close:hover{background:var(--bg);color:var(--ink)}@media (max-width: 767px){.dialog-overlay,.modal-overlay{align-items:flex-end;padding:0}.dialog,.modal-content,.commit-dialog{max-width:100%;max-height:calc(100vh - var(--space-6));max-height:calc(100dvh - var(--space-6));border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.dialog h2{margin:0 0 1rem}.form-field,.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-field:last-child,.form-group:last-child{margin-bottom:0}.form-field input,.form-field textarea,.form-field select,.form-group input,.form-group textarea,.form-group select{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;background:var(--panel);color:var(--ink);width:100%}.form-row{display:flex;align-items:flex-start;gap:var(--space-3)}.form-row .form-field,.form-row .form-group{flex:1;margin-bottom:0}.config-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.config-section-title{margin:0 0 var(--space-1);font-size:var(--font-size-base);font-weight:600;line-height:var(--line-height-tight);color:var(--ink)}.config-section-subtitle{margin:calc(var(--space-1) * -1) 0 var(--space-2);font-size:var(--font-size-sm);color:var(--muted);line-height:var(--line-height-normal)}.config-section>.config-section-title+.config-section-subtitle{margin-top:calc(var(--space-2) * -1)}.config-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.config-section-header .config-section-title{margin-bottom:0}.config-section-actions{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--panel);position:sticky;bottom:0;z-index:10}.form-section>h4:first-child,.form-section>h3:first-child{margin-top:0;margin-bottom:var(--space-3)}.form-help{display:block;font-size:var(--font-size-sm);color:var(--muted);margin-top:var(--space-1);line-height:var(--line-height-normal)}.text-error{color:var(--danger);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.keys-list{display:flex;flex-direction:column;gap:.75rem}.key-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1rem}.key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.key-header h3{margin:0}.key-meta{margin-bottom:.75rem}.key-public{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#f5f3ee;border-radius:8px}.key-public code{font-size:.85rem;word-break:break-all;flex:1}.error{color:#b91c1c;padding:.75rem;background:#fef2f2;border-radius:10px}@media (max-width: 767px){.card-grid{grid-template-columns:1fr}.quick-actions,.project-card{flex-direction:column}}.valid-url{border-color:var(--success, #16a34a)!important;background-color:var(--success-light, #f0fdf4)!important}.needs-parsing-url{border-color:var(--warning, #ca8a04)!important;background-color:var(--warning-light, #fefce8)!important}.invalid-url{border-color:var(--danger, #dc2626)!important;background-color:var(--danger-light, #fef2f2)!important}.validation-status{font-size:.85rem;margin-top:.25rem;display:block}.validation-status.valid{color:var(--success, #16a34a)}.validation-status.warning{color:var(--warning, #ca8a04)}.validation-status.invalid{color:#dc2626}.validation-status.validating{color:var(--muted)}.url-suggestion{margin-top:.5rem;padding:.5rem;background:#fefce8;border-radius:8px;border:1px solid #fde047}.suggestion-actions{display:flex;align-items:center;gap:.75rem;margin-top:.35rem}.suggested-url{font-size:.85rem;color:#854d0e;flex:1;word-break:break-all}.secondary-button.small{padding:.35rem .6rem;font-size:.85rem}.merge-form{display:flex;flex-direction:column;gap:1rem}.merge-form .form-field{display:flex;flex-direction:column;gap:.375rem}.merge-form label{font-size:.875rem;font-weight:500}.merge-form select,.merge-form input,.merge-form textarea{padding:.5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--ink);font-family:inherit;font-size:.875rem}.merge-form textarea{resize:vertical}.input-disabled{opacity:.6;cursor:not-allowed}.success-text{color:#10b981;font-size:.875rem;padding:.5rem;background:#10b9811a;border-radius:4px}.settings-layout{display:flex;gap:2rem;padding:1.5rem 0}.settings-sidebar{width:200px;flex-shrink:0}.settings-nav{display:flex;flex-direction:column;gap:.25rem}.settings-nav-link{padding:.625rem 1rem;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.95rem;transition:all .2s}.settings-nav-link:hover{background:var(--bg);color:var(--ink)}.settings-nav-link.active{background:var(--brand);color:#fff;font-weight:500}.settings-content{flex:1;min-width:0}.settings-panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.5rem}@media (max-width: 767px){.settings-layout{flex-direction:column;gap:1rem}.settings-sidebar{width:100%}.settings-nav{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.settings-nav-link{white-space:nowrap;padding:.5rem .75rem;font-size:.875rem}.workspace-header{flex-direction:column;gap:1rem;align-items:flex-start}.workspace-header-actions{width:100%;justify-content:flex-start}}.settings-panel h2{margin:0 0 1.25rem;font-size:1.25rem}.settings-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted);margin-bottom:1rem}.settings-breadcrumb a{color:var(--brand);text-decoration:none}.settings-breadcrumb a:hover{text-decoration:underline}.project-settings-page{padding:1.5rem}.repositories-settings-tab h2{margin:0 0 1.25rem;font-size:1.25rem}.repositories-list{display:flex;flex-direction:column;gap:.75rem}.repository-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:10px}.repository-info h3{margin:0 0 .25rem;font-size:1rem}.repository-info p{margin:0 0 .5rem;font-size:.85rem;color:var(--muted)}.repo-type{font-size:.75rem;padding:.2rem .5rem;background:var(--brand);color:#fff;border-radius:999px}.commit-dialog{width:100%;max-width:600px}.file-info{margin:0 0 1rem;color:var(--muted)}.diff-preview{margin-bottom:1.5rem}.diff-preview h4{margin:0 0 .75rem;font-size:.9rem;color:var(--muted)}.diff-content{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:300px;font-family:Fira Code,Monaco,Courier New,monospace;font-size:13px}.diff-line{display:flex;padding:.15rem .5rem;gap:.5rem}.diff-line-number{color:var(--muted);min-width:2rem;text-align:right;-webkit-user-select:none;user-select:none}.diff-marker{width:1rem;text-align:center;font-weight:700}.diff-added{background:#10b9811a}.diff-added .diff-marker{color:#059669}.diff-removed{background:#ef44441a}.diff-removed .diff-marker{color:#dc2626}.diff-same{background:transparent}.warning-message{padding:.75rem;background:#f59e0b1a;color:#d97706;border-radius:8px;margin-bottom:1rem}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}.icon svg{display:block}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}.icon-xl{width:32px;height:32px}button .icon,a .icon{margin-right:.35rem}button .icon:last-child,a .icon:last-child{margin-right:0}.nav-item .icon{margin-right:.5rem}.status-badge .icon{margin-right:.25rem}.tool-starter{display:flex;flex-direction:column;gap:var(--space-4)}.tool-starter-context{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.context-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.context-label{font-size:var(--font-size-sm);color:var(--muted);min-width:80px}.context-value{font-weight:500}.ssh-key-status{padding:var(--space-2);background:var(--bg);border-radius:8px}.ssh-key-status .success-text,.ssh-key-status .warning-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.instance-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.instance-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2rem .5rem;border-radius:999px;font-size:var(--font-size-sm);background:var(--bg);border:1px solid var(--border)}.instance-chip.running{background:var(--success-light);border-color:var(--success);color:var(--success)}.instance-chip.starting,.instance-chip.building,.instance-chip.probing{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.instance-chip.error,.instance-chip.unhealthy,.instance-chip.stopped{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.instance-chip a{font-size:.75rem;opacity:.7}.instance-chip a:hover{opacity:1}.tool-starter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.tool-starter-header h4{margin:0}.start-tool-fab{position:fixed;bottom:2rem;right:2rem;z-index:100;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--primary);color:var(--primary-fg);border:none;box-shadow:0 4px 14px #00000040;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.start-tool-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #0000004d}.start-tool-fab:active{transform:scale(.95)}.start-tool-modal{max-width:480px;width:90vw}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.modal-header h3{margin:0}@media (max-width: 640px){.start-tool-fab{bottom:calc(var(--mobile-nav-height) + var(--space-3));right:var(--space-4);width:3rem;height:3rem}}.btn,.primary-button,.secondary-button,.ghost-button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;line-height:var(--line-height-tight);background:var(--panel);color:var(--ink);cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.button-secondary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-primary,.primary-button{background:var(--brand);color:var(--primary-fg);border-color:var(--brand)}.btn-primary:hover,.primary-button:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.btn-secondary,.secondary-button,.ghost-button,.button-secondary{background:var(--panel);color:var(--ink);border-color:var(--border)}.btn-secondary:hover,.secondary-button:hover,.ghost-button:hover,.button-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 85%,black);border-color:color-mix(in srgb,var(--danger) 85%,black)}.btn-sm{min-height:calc(var(--touch-target) - 8px);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-icon{padding:var(--space-2);min-width:var(--touch-target);min-height:var(--touch-target)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.link-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;background:transparent;border:none;color:var(--brand);font-size:inherit;font-weight:500;cursor:pointer;text-decoration:none}.link-button:hover{text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.form-input,.form-textarea{width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 20%,transparent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--muted)}.form-textarea{min-height:6rem;resize:vertical}.checkbox-label{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);font-size:var(--font-size-sm);color:var(--ink);cursor:pointer}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--brand)}.checkbox-label-compact{min-height:auto;font-size:var(--font-size-xs)}.hint{font-size:var(--font-size-sm);color:var(--muted);line-height:var(--line-height-normal)}.form-error,.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);color:var(--ink);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.alert-error{background:var(--danger-light);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.alert-warning{background:var(--warning-light);border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning)}.alert-info{background:var(--info-light);border-color:color-mix(in srgb,var(--info) 30%,transparent);color:var(--info)}.alert-success{background:var(--success-light);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);color:var(--muted);font-size:var(--font-size-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;line-height:var(--line-height-tight);background:var(--bg);color:var(--muted);border:1px solid var(--border)}.badge-success{background:var(--success-light);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.badge-secondary{background:var(--info-light);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.text-muted{color:var(--muted)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize;line-height:var(--line-height-tight);background:var(--bg);color:var(--muted);border:1px solid var(--border)}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge--running,.status-badge--success{background:var(--success-light);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.status-badge--error,.status-badge--failed{background:var(--danger-light);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.status-badge--warning{background:var(--warning-light);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.status-badge--info,.status-badge--pending,.status-badge--idle{background:var(--info-light);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.instance-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize;line-height:var(--line-height-tight);background:var(--bg);color:var(--muted);border:1px solid var(--border)}.instance-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.instance-chip.running{background:var(--success-light);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.instance-chip.starting,.instance-chip.building,.instance-chip.probing{background:var(--warning-light);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.instance-chip.error,.instance-chip.unhealthy,.instance-chip.stopped{background:var(--danger-light);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.nav-item:focus-visible,.mobile-nav-item:focus-visible,.tab:focus-visible,.tree-entry:focus-visible,.btn:focus-visible,.form-input:focus-visible,.form-textarea:focus-visible,.link-button:focus-visible,.checkbox-label input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.avatar-preview,.avatar-placeholder{width:6rem;height:6rem;border-radius:var(--radius-full);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg);border:2px solid var(--border)}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:var(--font-size-2xl);font-weight:600;color:var(--muted)}.mobile-detail-back{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;background:transparent;border:none;color:var(--ink);cursor:pointer;border-radius:var(--radius-md)}.mobile-detail-back:hover{background:var(--bg)}.mobile-detail-back:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.text-error{color:var(--danger);font-size:var(--font-size-sm)}.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;line-height:var(--line-height-tight);background:var(--panel);color:var(--ink);cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease,color .12s ease}.button-secondary:hover{background:var(--bg)}.button-secondary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.container{width:100%;max-width:min(1200px,100vw - 2rem);margin-inline:auto;padding-inline:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.stack-sm{gap:var(--space-2)}.stack-md{gap:var(--space-3)}.stack-lg{gap:var(--space-4)}.stack-xl{gap:var(--space-5)}.row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.row-sm{gap:var(--space-2)}.row-md{gap:var(--space-3)}.row-lg{gap:var(--space-4)}.row.items-start,.items-start{align-items:flex-start}.row.items-center,.items-center{align-items:center}.row.items-end,.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-2{flex:2}.flex-none{flex:none}.flex-wrap{flex-wrap:wrap}.min-h-0{min-height:0}.w-full{width:100%}.w-fit{width:fit-content}.min-w-0{min-width:0}.max-w-prose{max-width:65ch}.max-w-form{max-width:800px}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.cursor-pointer{cursor:pointer}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.m-0{margin:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.border{border:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.border-l-2{border-left:2px solid var(--border)}.card-sm{padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.card-md{padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.card-lg{padding:var(--space-5);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.truncate-multiline{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.break-word{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.button,.nav-link,.icon-button,button,[role=button]{min-height:var(--touch-target);min-width:var(--touch-target)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:100%}@media (max-width: 767px){.table-responsive thead{display:none}.table-responsive tbody tr{display:block;margin-bottom:var(--space-4);border:1px solid var(--border);border-radius:8px;padding:var(--space-4)}.table-responsive td{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.table-responsive td:last-child{border-bottom:none}.table-responsive td:before{content:attr(data-label);font-weight:600;margin-right:var(--space-2)}.button,button{padding:var(--space-3) var(--space-4)}input,select,textarea{width:100%;min-height:var(--touch-target)}}@media (min-width: 480px){.container{padding-inline:var(--space-5)}}@media (min-width: 768px){.container{padding-inline:var(--space-6)}}@media (min-width: 1024px){.container{padding-inline:var(--space-8)}}@media (min-width: 1280px){.container{max-width:1200px}}@media (max-width: 767px){.form-field input,.form-field textarea,.form-field select{width:100%;min-height:var(--touch-target)}.settings-layout{flex-direction:column}.settings-nav{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-2)}.project-card{flex-direction:column;gap:var(--space-3)}.project-actions{width:100%;justify-content:flex-start}.repository-card{flex-direction:column;gap:var(--space-3);align-items:flex-start}.repository-actions{width:100%;justify-content:flex-start}.git-toolbar{flex-wrap:wrap;gap:var(--space-2)}.dashboard-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;width:100%}.form-actions button{width:100%;justify-content:center}}.stack>h1,.stack>h2{margin-top:0}button,[role=button],a.nav-item,.tree-entry{min-height:var(--touch-target)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.card h3,.card p{overflow:hidden;text-overflow:ellipsis}.session-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);text-align:left;width:100%}.session-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:2px}.session-icon-wrap .icon{margin-right:0}.session-status{position:absolute;top:-2px;right:-3px;width:8px;height:8px;border-radius:50%;background:var(--muted);border:2px solid var(--panel)}.session-status.running{background:var(--success)}.session-meta{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.session-workspace,.session-context{font-size:var(--font-size-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-display-name{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-divider{height:1px;background:var(--border);margin:var(--space-2) var(--space-3)}.nav-section-title{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.instance-list{margin-top:var(--space-4)}.instance-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.instance-list-header h3{margin:0}.instance-grid{display:grid;gap:var(--space-3)}.instance-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:10px;position:relative}.instance-info{display:flex;flex-direction:column;gap:var(--space-1)}.instance-name{font-weight:600}.instance-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%}.instance-actions{display:flex;gap:var(--space-2);align-items:center}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000001f;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:inherit;display:flex;align-items:center;justify-content:center;z-index:10}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text, currentColor)}.loading-overlay-label{font-size:var(--text-sm);font-weight:500}.icon-spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}.session-card,.tool-starter,.create-session-form-wrapper{position:relative}.terminal-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-4);gap:var(--space-4);overflow:hidden}.terminal-page-header{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.terminal-page-header h1{margin:0}.terminal-wrapper{display:grid;grid-template-rows:auto 1fr;flex:1;min-height:0;max-height:100%;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#1e1e1e}.terminal-wrapper.no-controls{grid-template-rows:1fr}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:#2d2d2d;border-bottom:1px solid #3e3e3e;flex-shrink:0}.terminal-status{display:flex;align-items:center;gap:var(--space-2)}.status-dot{width:8px;height:8px;border-radius:50%;background:#666}.status-dot.connecting{background:#f5f543;animation:pulse 1.5s infinite}.status-dot.connected{background:#0dbc79}.status-dot.disconnected,.status-dot.error{background:#cd3131}.status-text{font-size:.875rem;color:#d4d4d4;text-transform:capitalize}.terminal-close{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid #666;border-radius:6px;color:#d4d4d4;cursor:pointer;font-size:.875rem}.terminal-close:hover{background:#3e3e3e}.terminal-error{padding:var(--space-3) var(--space-4);background:#cd3131;color:#fff;font-size:.875rem;flex-shrink:0}.terminal-container{position:relative;width:100%;height:100%;min-height:0;padding:0;overflow:hidden}.terminal-container .xterm-viewport{touch-action:auto;overscroll-behavior:auto;max-height:100%!important;width:100%!important;scrollbar-width:none;-ms-overflow-style:none}.terminal-container .xterm-viewport::-webkit-scrollbar{display:none}.terminal-wrapper.mobile .terminal-container,.terminal-wrapper.mobile .terminal-container .xterm-viewport{touch-action:none;overscroll-behavior:none}.terminal-container canvas{display:block}.terminal-wrapper.mobile .terminal-container{padding:0}.terminal-wrapper.mobile{touch-action:none;overscroll-behavior:none}@media (max-width: 767px){.terminal-page{padding:var(--space-2);gap:var(--space-2)}.terminal-page-header h1{font-size:1.25rem}}.terminal-session-tabs{display:flex;flex-shrink:0;background:#2d2d2d;border-bottom:1px solid #3e3e3e;overflow:hidden}.terminal-session-tabs.mobile{background:#1e1e1e}.terminal-session-tabs-scroll{display:flex;gap:2px;padding:var(--space-1) var(--space-2);overflow-x:auto;scrollbar-width:thin;scrollbar-color:#555 transparent;flex:1;min-width:0}.terminal-session-tabs-scroll::-webkit-scrollbar{height:4px}.terminal-session-tabs-scroll::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.terminal-session-tab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:6px;background:transparent;color:#888;cursor:pointer;font-size:.8125rem;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;-webkit-user-select:none;user-select:none;min-width:0}.terminal-session-tab:hover{background:#3e3e3e;color:#ccc}.terminal-session-tab.active{background:#1e1e1e;color:#d4d4d4;border-color:#3e3e3e}.terminal-session-tab-status{width:6px;height:6px;border-radius:50%;flex-shrink:0}.terminal-session-tab-status.connecting{background:#f5f543;animation:pulse 1.5s infinite}.terminal-session-tab-status.connected{background:#0dbc79}.terminal-session-tab-status.disconnected,.terminal-session-tab-status.error{background:#cd3131}.terminal-session-tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.terminal-session-tab-input{background:#1e1e1e;border:1px solid var(--brand);border-radius:4px;color:#d4d4d4;font-size:.8125rem;padding:1px 4px;width:100px;outline:none}.terminal-session-tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin:0;background:transparent;border:none;color:#888;cursor:pointer;font-size:.875rem;line-height:1;border-radius:3px;opacity:0;transition:opacity .15s,background .15s}.terminal-session-tab:hover .terminal-session-tab-close{opacity:1}.terminal-session-tab-close:hover{background:#cd3131;color:#fff}.terminal-session-tab-confirm{font-size:.6875rem;color:#cd3131;padding:1px 4px;border-radius:3px;background:#cd313126;white-space:nowrap}.terminal-session-tab.new-session{font-weight:600;font-size:1rem;line-height:1;padding:var(--space-1) var(--space-2);color:#888}.terminal-session-tab.new-session:hover{background:#3e3e3e;color:#d4d4d4}.terminal-session-tab.new-session:disabled{opacity:.4;cursor:not-allowed}.terminal-page-content{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#1e1e1e}.terminal-instance{flex:1;min-height:0;max-height:100%;display:none;overflow:hidden}.terminal-instance.active{display:flex}.terminal-empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:#888;font-size:.875rem}.terminal-error-banner{padding:var(--space-2) var(--space-4);background:var(--danger-light);color:var(--danger);font-size:.875rem;border-bottom:1px solid var(--danger-light)}.terminal-page.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;padding:8px;gap:8px;background:#1e1e1e}.terminal-page.fullscreen .terminal-page-content{border:none;border-radius:0}.terminal-fullscreen-header{display:flex;align-items:center;justify-content:space-between;background:#2d2d2d;border-bottom:1px solid #3e3e3e;flex-shrink:0;min-height:0}.terminal-fullscreen-header-tabs{flex:1;min-width:0;overflow:hidden}.terminal-fullscreen-header-tabs .terminal-session-tabs{background:transparent;border-bottom:none}.terminal-fullscreen-header-controls{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);flex-shrink:0;border-left:1px solid #3e3e3e}.terminal-fullscreen-status{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0}.terminal-fullscreen-status.connecting{background:#f5f543;animation:pulse 1.5s infinite}.terminal-fullscreen-status.connected{background:#0dbc79}.terminal-fullscreen-status.disconnected,.terminal-fullscreen-status.error{background:#cd3131}.terminal-page.mobile{padding:0;gap:0;height:100vh;height:100dvh;position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;touch-action:none;overscroll-behavior:none}.mobile-terminal-overlay{position:absolute;top:0;left:0;right:0;z-index:100;background:#2d2d2d;border-bottom:1px solid #3e3e3e;pointer-events:none;transition:transform .3s ease,opacity .3s ease}.mobile-terminal-overlay.visible{pointer-events:auto}.mobile-terminal-overlay>*,.mobile-terminal-overlay-tabs{pointer-events:auto}.mobile-terminal-overlay.hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.mobile-terminal-overlay.visible{transform:translateY(0);opacity:1}.mobile-terminal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.mobile-terminal-toolbar-left,.mobile-terminal-toolbar-right{display:flex;align-items:center;gap:var(--space-1);flex:0 0 auto}.mobile-terminal-toolbar-center{display:flex;align-items:center;gap:var(--space-2);flex:1;justify-content:center;min-width:0}.mobile-terminal-title{font-size:.875rem;font-weight:500;color:#d4d4d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-terminal-status{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0}.mobile-terminal-status.connecting{background:#f5f543;animation:pulse 1.5s infinite}.mobile-terminal-status.connected{background:#0dbc79}.mobile-terminal-status.disconnected,.mobile-terminal-status.error{background:#cd3131}.mobile-terminal-toolbtn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid #3e3e3e;border-radius:6px;color:#d4d4d4;cursor:pointer;font-size:.875rem;transition:background .2s ease}.mobile-terminal-toolbtn:hover{background:#3e3e3e}.mobile-terminal-overlay-tabs{background:#1e1e1e;border-top:1px solid #3e3e3e}.mobile-terminal-overlay-tabs .terminal-session-tabs{background:#1e1e1e;border-bottom:none}.terminal-page-content.mobile-full{flex:1;min-height:0;border:none;border-radius:0;overflow:hidden;touch-action:none;overscroll-behavior:none}@media (max-width: 767px){.terminal-page.fullscreen{padding:0}.terminal-session-tab-name{max-width:80px}}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--primary);color:var(--primary-fg);border-radius:9px;font-size:11px;font-weight:600;margin-left:auto}.sessions-page{max-width:1200px}.last-session-section{margin-bottom:var(--space-6)}.last-session-card{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);border:2px solid var(--primary)}.last-session-info h3{margin:0 0 var(--space-1) 0;font-size:1.25rem}.active-sessions-section{position:relative;margin-bottom:var(--space-6)}.active-sessions-section.dimmed{opacity:.5;pointer-events:none}.active-sessions-section h2{display:flex;align-items:center;gap:var(--space-2)}.active-sessions-section .badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--success);color:#fff;border-radius:12px;font-size:12px;font-weight:600}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.session-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.session-info h4{margin:0 0 var(--space-1) 0;font-size:1rem}.session-url{margin:var(--space-1) 0;font-size:.8rem;word-break:break-all}.session-url a{color:var(--color-primary);text-decoration:none}.session-url a:hover{text-decoration:underline}.session-actions{display:flex;gap:var(--space-2)}.session-card-content{flex:1}.session-card-header{display:flex;flex-direction:column;gap:var(--space-2)}.session-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.session-card-title h4{margin:0;font-size:1rem;font-weight:600}.session-card-status-badges{display:flex;gap:var(--space-1);flex-wrap:wrap}.session-card-meta{font-size:.85rem;margin:0}.session-card-meta .icon{margin-right:var(--space-1);vertical-align:text-bottom}.session-card-url{margin:var(--space-1) 0;font-size:.8rem;word-break:break-all}.session-card-url a{color:var(--color-primary);text-decoration:none}.session-card-url a:hover{text-decoration:underline}.session-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.session-list{display:flex;flex-direction:column;gap:var(--space-6)}.session-group{display:flex;flex-direction:column;gap:var(--space-3)}.session-group-header{display:flex;align-items:center;gap:var(--space-2)}.session-group-header h3{margin:0;font-size:1.1rem;font-weight:600}.action-label{margin-left:var(--space-1)}@media (max-width: 640px){.action-label{display:none}.session-card-actions{gap:var(--space-1)}.session-card-actions button,.session-card-actions a{padding:var(--space-1)}}.recent-sessions-section{margin-bottom:var(--space-6)}.sessions-grid{position:relative}.sessions-grid.dimmed{opacity:.5;pointer-events:none}.recent-sessions-list{display:flex;flex-direction:column;gap:var(--space-2)}.recent-session-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:8px}.recent-session-info{display:flex;flex-direction:column;gap:var(--space-1)}.recent-session-name{font-weight:500}.recent-session-actions,.delete-confirm-inline,.stop-confirm-inline{display:flex;gap:var(--space-2);align-items:center}.confirm-text{font-size:13px;color:var(--muted);font-weight:500}.create-session-section{position:relative;margin-bottom:var(--space-6)}.create-session-section.dimmed{opacity:.5;pointer-events:none}.create-session-form{max-width:600px}.create-session-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.running{background:var(--success-light, #dcfce7);color:var(--success, #16a34a)}.status-badge.stopped{background:var(--muted-bg, #f3f4f6);color:var(--muted, #6b7280)}.status-badge.pending{background:var(--warning-light, #fef3c7);color:var(--warning, #d97706)}.status-badge.error{background:var(--danger-light, #fee2e2);color:var(--danger, #dc2626)}.status-badge.starting,.status-badge.probing{background:var(--info-light, #dbeafe);color:var(--info, #2563eb)}.status-badge.unhealthy{background:var(--warning-light, #fef3c7);color:var(--warning, #d97706)}.shell.mobile-terminal-shell{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.mobile-terminal-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;background:#1e1e1e;position:relative;overflow:hidden}.mobile-terminal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:#2d2d2d;border-bottom:1px solid #3e3e3e;transition:transform .3s ease,opacity .3s ease,height .3s ease,padding .3s ease,margin .3s ease;z-index:100;overflow:hidden}.mobile-terminal-header.hidden{transform:translateY(-100%);opacity:0;pointer-events:none;height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-width:0;flex-shrink:1}.mobile-terminal-header.visible{transform:translateY(0);opacity:1;height:auto}.mobile-terminal-header-left,.mobile-terminal-header-right{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.mobile-terminal-header-center{display:flex;align-items:center;gap:var(--space-2);flex:1;justify-content:center;min-width:0}.mobile-terminal-header-title{font-size:.875rem;font-weight:500;color:#d4d4d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-terminal-header-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid #3e3e3e;border-radius:6px;color:#d4d4d4;cursor:pointer;font-size:.875rem;transition:background .2s ease}.mobile-terminal-header-button:hover{background:#3e3e3e}.mobile-terminal-header-status{width:8px;height:8px;border-radius:50%;background:#666;flex-shrink:0}.mobile-terminal-header-status.connecting{background:#f5f543;animation:pulse 1.5s infinite}.mobile-terminal-header-status.connected{background:#0dbc79}.mobile-terminal-header-status.disconnected,.mobile-terminal-header-status.error{background:#cd3131}.mobile-terminal-content{flex:1;min-height:0;overflow:hidden;position:relative;background:#1e1e1e;display:flex;flex-direction:column}.terminal-wrapper.mobile{border:none;border-radius:0;flex:1;min-height:0;width:100%;overflow:hidden;display:flex;flex-direction:column}.terminal-wrapper.mobile .terminal-container{width:100%;flex:1;min-height:0;padding:0;overflow:hidden;position:relative;touch-action:none}.special-keys-strip{flex-shrink:0;display:flex;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);background:#2d2d2d;border-top:1px solid #3e3e3e;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;transition:transform .3s ease,opacity .3s ease;z-index:100}.special-keys-strip.hidden{transform:translateY(100%);opacity:0;pointer-events:none}.special-keys-strip.visible{transform:translateY(0);opacity:1}.special-keys-strip::-webkit-scrollbar{display:none}.special-key-button{display:flex;align-items:center;justify-content:center;min-width:var(--touch-target);height:44px;padding:0 var(--space-2);background:#3e3e3e;border:1px solid #4e4e4e;border-radius:6px;color:#d4d4d4;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,transform .1s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation}.special-key-button:active{background:#4e4e4e;transform:scale(.95)}.special-key-more{background:#2472c8;border-color:#2472c8;color:#fff}.special-key-more:active{background:#1e5fa8}.special-key-button.active-modifier{background:#f5f543;color:#1e1e1e;border-color:#f5f543;font-weight:700;box-shadow:0 0 8px #f5f54380}.special-keys-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}.special-keys-panel{background:#2d2d2d;border-top:1px solid #3e3e3e;border-radius:12px 12px 0 0;padding:var(--space-4);width:100%;max-height:70vh;overflow-y:auto;animation:slideUp .2s ease}.special-keys-panel-section{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.special-keys-panel-section:last-child{margin-bottom:0}.special-keys-panel-divider{height:1px;background:#3e3e3e;margin:var(--space-3) 0}.terminal-wrapper.mobile .terminal-header{display:none}.terminal-header-left,.terminal-header-right{display:flex;align-items:center;gap:var(--space-2)}.terminal-header-button{padding:var(--space-1) var(--space-2);background:transparent;border:1px solid #666;border-radius:4px;color:#d4d4d4;cursor:pointer;font-size:.75rem;transition:background .2s ease}.terminal-header-button:hover{background:#3e3e3e}.terminal-reconnect{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);background:#2472c8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem}.terminal-reset-confirm{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.terminal-reset-confirm-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:var(--space-4);max-width:400px;text-align:center}.terminal-reset-confirm-content p{margin:0 0 var(--space-4) 0;color:var(--text-primary)}.terminal-reset-confirm-buttons{display:flex;gap:var(--space-2);justify-content:center}.terminal-reset-confirm-button{padding:var(--space-2) var(--space-4);border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.terminal-reset-confirm-button.cancel{background:var(--bg-elevated);color:var(--text-primary)}.terminal-reset-confirm-button.confirm{background:#cd3131;color:#fff}.terminal-hidden-input{position:fixed;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;user-select:none;-webkit-user-select:none}@media (max-width: 767px){.mobile-terminal-wrapper{touch-action:none;-webkit-text-size-adjust:none}.mobile-terminal-wrapper button,.mobile-terminal-wrapper .special-key-button{touch-action:manipulation}.terminal-container{touch-action:none;padding:0}.terminal-wrapper.mobile .terminal-container .xterm-viewport{touch-action:none;overscroll-behavior:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:50}.mobile-menu-close{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:var(--text);cursor:pointer}@media (max-width: 767px){.shell-nav{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--bg);z-index:100;transform:translate(-100%);transition:transform .3s ease;padding-top:var(--space-8)}.shell-nav.mobile-open{transform:translate(0)}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);z-index:100;height:var(--mobile-nav-height)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;color:var(--muted);text-decoration:none;font-size:11px;min-width:64px;min-height:var(--touch-target);border-radius:8px;transition:color .15s ease}.mobile-nav-item.active{color:var(--brand)}.mobile-nav-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.mobile-nav-badge{position:absolute;top:-6px;right:-8px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.mobile-bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}.mobile-bottom-sheet{background:var(--panel);border-radius:16px 16px 0 0;width:100%;max-width:600px;max-height:70vh;max-height:70dvh;display:flex;flex-direction:column;min-height:0;animation:slide-up .2s ease-out}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-bottom-sheet-header{display:flex;flex-direction:column;align-items:center;padding:12px 16px 8px;border-bottom:1px solid var(--border)}.mobile-bottom-sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin-bottom:8px}.mobile-bottom-sheet-title{font-size:16px;font-weight:600;margin:0}.mobile-bottom-sheet-content{flex:1;min-height:0;padding:8px 0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-bottom-sheet-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px;background:none;border:none;color:var(--text);font-size:16px;text-align:left;cursor:pointer;min-height:var(--touch-target)}.mobile-bottom-sheet-item:active{background:var(--hover)}.mobile-bottom-sheet-item.active{color:var(--brand)}.mobile-list-view{display:flex;flex-direction:column;gap:var(--space-3)}.mobile-list-items{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-list-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--text);text-align:left;cursor:pointer;min-height:56px}.mobile-list-item:active{background:var(--bg)}.mobile-list-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.mobile-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.mobile-list-item-title{font-weight:600;font-size:var(--font-size-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-item-subtitle{font-size:var(--font-size-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-item-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;color:var(--muted)}.mobile-list-item-action{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer}.mobile-list-item-action:active{background:var(--bg)}.mobile-list-item-action-delete{color:var(--danger);border-color:var(--danger)}.mobile-list-item-action-delete:active{background:var(--danger-light)}.mobile-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);color:var(--muted);text-align:center}.mobile-list-empty p{margin:0}.mobile-list-item-content-rich{gap:var(--space-2)}.mobile-list-item-description{margin:0;font-size:var(--font-size-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-list-item-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.mobile-list-item-chip{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--ink)}.mobile-list-item-chip.muted{color:var(--muted);font-style:italic;background:transparent}.mobile-page{padding:var(--space-2);padding-bottom:calc(var(--space-4) + 64px);min-height:100%}.mobile-edit-view{display:flex;flex-direction:column;min-height:100%;background:var(--bg)}.mobile-edit-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--panel);border-bottom:1px solid var(--border)}.mobile-edit-cancel,.mobile-edit-save,.mobile-edit-delete{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:10px;font:inherit;font-size:.9375rem;cursor:pointer}.mobile-edit-cancel{background:transparent;border:1px solid var(--border);color:var(--text)}.mobile-edit-save{background:var(--brand);border:1px solid var(--brand);color:#fff}.mobile-edit-delete{background:var(--danger-light);border:1px solid var(--danger);color:var(--danger)}.mobile-edit-save:disabled,.mobile-edit-cancel:disabled,.mobile-edit-delete:disabled{opacity:.6;cursor:not-allowed}.mobile-edit-title{font-size:1rem;font-weight:600;margin:0;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-edit-form{flex:1;overflow-y:auto;padding:var(--space-3);padding-bottom:calc(var(--space-3) + 148px)}.mobile-edit-actions{position:fixed;left:0;right:0;bottom:var(--mobile-nav-height);z-index:110;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--border);box-shadow:0 -4px 12px #00000014}.mobile-edit-actions .mobile-edit-save,.mobile-edit-actions .mobile-edit-delete{width:100%;justify-content:center;min-height:48px}.mobile-edit-field{margin-bottom:var(--space-3)}.mobile-edit-field-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-2)}.mobile-edit-input,.mobile-edit-textarea,.mobile-edit-select{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;min-height:var(--touch-target)}.mobile-edit-textarea{resize:vertical;min-height:96px}.mobile-edit-code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.mobile-edit-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.mobile-edit-checkbox input{width:22px;height:22px;accent-color:var(--brand)}.profile-mobile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-3);margin-bottom:var(--space-2)}.profile-mobile-avatar{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--bg);border:2px solid var(--border);flex-shrink:0}.profile-mobile-avatar-image{width:100%;height:100%;object-fit:cover}.profile-mobile-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:600;color:var(--muted);background:var(--bg)}.mobile-page-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-3);border-bottom:1px solid var(--border)}.mobile-page-header-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:var(--text);cursor:pointer;border-radius:8px;padding:0}.mobile-page-header-back:active{background:var(--color-border)}.mobile-page-header h1{margin:0;font-size:1.1rem;font-weight:600;flex:1}.mobile-page-header-actions{display:flex;gap:var(--space-2)}.mobile-nav-label{font-size:11px;font-weight:500}.shell-content.mobile{padding-bottom:calc(var(--mobile-nav-height) + var(--space-3))}.mobile-form-actions{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2);margin-top:auto}.mobile-form-actions .primary-button,.mobile-form-actions .secondary-button,.mobile-form-actions .ghost-button,.mobile-form-actions .danger-button{width:100%;justify-content:center;min-height:48px}.mobile-form-group{padding:var(--space-3);background:var(--panel);border-radius:8px;border:1px solid var(--border);margin-bottom:var(--space-2)}.mobile-form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-2);color:var(--text)}.mobile-form-input,.mobile-form-select,.mobile-form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;min-height:var(--touch-target)}.mobile-form-textarea{resize:vertical;min-height:96px}.mobile-form-code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.mobile-form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.mobile-form-checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-weight:500;cursor:pointer}.mobile-form-checkbox{width:22px;height:22px;min-width:22px;min-height:22px;accent-color:var(--brand);cursor:pointer}.mobile-form-help{display:block;font-size:.8125rem;color:var(--muted);margin-top:var(--space-1)}.mobile-form-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--danger-light);color:var(--danger);border-radius:10px;font-size:.875rem;margin:var(--space-2) 0}.mobile-discard-button{width:100%;justify-content:center;margin-top:var(--space-2)}.mobile-manifest-editor-wrapper .card{padding:var(--space-3);margin-bottom:var(--space-3)}.mobile-manifest-editor-wrapper .row{flex-direction:column;align-items:stretch;gap:var(--space-2)}.mobile-manifest-editor-wrapper .form-group,.mobile-manifest-editor-wrapper input,.mobile-manifest-editor-wrapper select,.mobile-manifest-editor-wrapper textarea{width:100%;min-width:0}.mobile-manifest-editor-wrapper input[style*="width:"]{width:100%!important}.mobile-form-group p{margin:0}.mobile-form-row{display:flex;align-items:center}.mobile-form-section{padding:var(--space-3);background:var(--panel);border-radius:8px;border:1px solid var(--border);margin-bottom:var(--space-2)}.mobile-form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.mobile-form-section-header h4{margin:0;font-size:1rem}.mobile-add-button{width:100%;justify-content:center;margin-top:var(--space-2)}.mobile-form-success{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--success-light);color:var(--success);border-radius:10px;font-size:.875rem;margin:var(--space-2) 0}.mobile-list-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.mobile-list-plain li{padding:var(--space-2);background:var(--bg);border-radius:6px;font-size:.875rem}.mobile-detail-actions-extra{padding:var(--space-3);padding-top:0;margin-top:calc(var(--space-2) * -1)}.mobile-detail-actions-extra .secondary-button{width:100%;justify-content:center}.mobile-includes-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.mobile-include-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:8px}.mobile-include-name{flex:1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-include-scope{font-size:.75rem;padding:.125rem .5rem;background:var(--bg);color:var(--muted);border-radius:999px;text-transform:uppercase;letter-spacing:.025em}.mobile-key-value-row{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.mobile-key-value-row .mobile-form-input{flex:1}.mobile-file-card,.mobile-mount-card{padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:var(--space-2)}.mobile-file-header,.mobile-mount-header{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.mobile-file-header .mobile-form-input,.mobile-mount-header .mobile-form-input{flex:1}.mobile-mount-files{padding-left:var(--space-3);border-left:2px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2)}.mobile-mount-file-row{display:flex;gap:var(--space-2);align-items:flex-start}.mobile-mount-file-row .mobile-form-input,.mobile-mount-file-row .mobile-form-textarea{flex:1}.mobile-preview-code{background:var(--code-bg, #1e1e1e);color:var(--code-fg, #d4d4d4);padding:var(--space-3);border-radius:8px;overflow-x:auto;font-size:.8125rem;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin:var(--space-2) 0 0 0}.mobile-preview-item{padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:var(--space-2);font-size:.875rem}.mobile-preview-item strong{display:block;margin-bottom:var(--space-2);word-break:break-all}.mobile-preview-mapping{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;color:var(--muted);margin-top:var(--space-1)}.mobile-form-section .git-mount-editor .card{padding:var(--space-3);margin-bottom:var(--space-2)}.mobile-form-section .git-mount-editor .form-row{flex-direction:column;align-items:stretch;gap:var(--space-2)}.mobile-form-section .git-mount-editor input,.mobile-form-section .git-mount-editor select,.mobile-form-section .git-mount-editor textarea{width:100%}.mobile-form-section .git-mount-editor .form-actions{flex-direction:row}.mobile-form-section .git-mount-editor button{min-height:var(--touch-target)}button,a,input,select,textarea,[role=button]{min-height:var(--touch-target);min-width:var(--touch-target)}button:active,a:active,[role=button]:active{opacity:.8;transform:scale(.98)}.mobile-nav-item:active,.mobile-action-sheet-button:active,.mobile-action-sheet-cancel:active{transform:none}@media (max-width: 767px){.dialog-actions{flex-direction:column-reverse;gap:.5rem}.dialog-actions button{width:100%;min-height:var(--touch-target)}}.workspace-main{padding:var(--space-2)}.tree-entry{padding:.5rem;min-height:var(--touch-target);display:flex;align-items:center}@media (max-width: 767px){.modal-content{min-width:auto;width:calc(100% - 2rem);max-width:100%;margin:1rem;padding:1rem;max-height:calc(100vh - 2rem)}.modal-actions{flex-direction:column-reverse;gap:.5rem}.modal-actions button{width:100%;min-height:var(--touch-target)}}.mobile-action-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.mobile-action-sheet{background:var(--bg);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:80vh;max-height:80dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:slideUp .3s ease;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-action-sheet-header{padding:var(--space-3) var(--space-4) var(--space-2);text-align:center}.mobile-action-sheet-handle{width:36px;height:4px;background:var(--color-border);border-radius:2px;margin:0 auto var(--space-3)}.mobile-action-sheet-header h3{margin:0;font-size:1rem;font-weight:600}.mobile-action-sheet-actions{display:flex;flex-direction:column;gap:1px;background:var(--color-border);margin:0 var(--space-2);border-radius:12px;overflow:hidden}.mobile-action-sheet-button{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--bg);border:none;color:var(--text);font-size:1rem;cursor:pointer;min-height:56px;text-align:left}.mobile-action-sheet-button.danger{color:#cd3131}.mobile-action-sheet-button:active{background:var(--color-border)}.mobile-action-sheet-cancel{display:block;width:calc(100% - var(--space-4));margin:var(--space-3) var(--space-2);padding:var(--space-3);background:var(--bg);border:1px solid var(--color-border);border-radius:12px;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;min-height:56px}.mobile-action-sheet-cancel:active{background:var(--color-border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.notification-center{position:relative;display:inline-flex;z-index:9999}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;padding:.4rem;background:transparent;border:none;border-radius:8px;color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease;min-height:36px;min-width:36px}.notification-bell:hover{background:var(--bg);color:var(--ink)}.notification-badge{position:absolute;top:-2px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.notification-dropdown{position:fixed;width:360px;max-width:calc(100vw - 2rem);max-height:480px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:9999;display:flex;flex-direction:column;overflow:hidden}.notification-dropdown-header{padding:.75rem 1rem;font-weight:600;font-size:.95rem;border-bottom:1px solid var(--border);color:var(--ink);flex-shrink:0}.notification-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.notification-empty{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}.notification-dropdown-footer{padding:.75rem 1rem;border-top:1px solid var(--border);flex-shrink:0;display:flex;gap:.5rem}.notification-mark-all{flex:1;padding:.5rem .75rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer;transition:all .15s ease}.notification-mark-all:hover{background:var(--bg);color:var(--ink);border-color:var(--brand)}.notification-clear-all{flex:1;padding:.5rem .75rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer;transition:all .15s ease}.notification-clear-all:hover{background:var(--bg);color:var(--danger);border-color:var(--danger)}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);transition:background-color .15s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg)}.notification-item--unread{font-weight:500;border-left:3px solid var(--brand);padding-left:calc(1rem - 3px);background:color-mix(in srgb,var(--brand) 4%,var(--panel))}.notification-item--read{opacity:.75}.notification-item-icon{flex-shrink:0;margin-top:.1rem;color:var(--muted)}.notification-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.notification-item-title{font-size:.9rem;line-height:1.3;color:var(--ink)}.notification-item--read .notification-item-title{font-weight:400}.notification-item-time{font-size:.8rem;color:var(--muted)}.notification-item-message{font-size:.85rem;color:var(--muted);line-height:1.35;margin-top:.15rem;word-break:break-word}.notification-item-metadata{margin-top:.5rem;padding:.5rem .75rem;background:var(--bg);border-radius:6px;border:1px solid var(--border);font-size:.8rem}.notification-metadata-row{display:flex;gap:.5rem;padding:.15rem 0}.notification-metadata-row dt{font-weight:500;color:var(--ink);min-width:6rem;text-transform:capitalize;flex-shrink:0}.notification-metadata-row dd{margin:0;color:var(--muted);font-family:monospace;word-break:break-word}.notification-item-actions{display:flex;gap:.35rem;flex-shrink:0}.notification-item-action{padding:.25rem .5rem;background:transparent;border:none;border-radius:6px;color:var(--muted);font:inherit;font-size:.75rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.notification-item-action:hover{background:var(--bg);color:var(--ink)}@media (max-width: 767px){.notification-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:9998}.notification-dropdown{width:auto;left:.75rem;right:.75rem;max-width:none;border-radius:12px;max-height:70vh;max-height:70dvh}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.mobile-detail-view{display:flex;flex-direction:column;min-height:100%;background:var(--bg)}.mobile-detail-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--panel);border-bottom:1px solid var(--border)}.mobile-detail-header-content{flex:1;min-width:0}.mobile-detail-title{margin:0;font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.mobile-detail-subtitle{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.mobile-detail-actions{display:flex;gap:var(--space-2)}.mobile-detail-action{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;transition:background .12s ease}.mobile-detail-action:hover{background:var(--panel)}.mobile-detail-action-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-light)}.mobile-detail-fields{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.mobile-detail-field{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.mobile-detail-field-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.mobile-detail-field-value{font-size:var(--font-size-base);color:var(--ink);line-height:var(--line-height-normal);word-break:break-word}.mobile-detail-code{overflow:auto;max-width:100%;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.mobile-list-search{padding:var(--space-3);border-bottom:1px solid var(--border);background:var(--panel)}.mobile-list-search-input{width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--ink);font-size:var(--font-size-base)}.mobile-list-search-input:focus{outline:none;border-color:var(--brand)}.key-signing,.key-verification{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-3)}.signature-result,.verify-result{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--border);font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);word-break:break-all}.verify-result.valid{background:var(--success-light);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.verify-result.invalid{background:var(--danger-light);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.signature-result code,.verify-result code{font-family:IBM Plex Mono,monospace}.signature-result button,.verify-result button{align-self:flex-start}.delete-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-md);transition:background .12s ease,color .12s ease}.delete-btn:hover{background:var(--danger-light);color:var(--danger)}.delete-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.workspace-header-action-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:background .12s ease,border-color .12s ease}.workspace-header-action-btn:hover{background:var(--bg)}.workspace-header-action-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.code-editor{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.editor-textarea{width:100%;min-height:12rem;padding:var(--space-3);border:none;background:transparent;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-normal);resize:vertical}.editor-textarea:focus{outline:none}.syntax-highlighter{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.highlighter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg);border-bottom:1px solid var(--border)}.language-badge{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.copy-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-size-xs);cursor:pointer;transition:background .12s ease,color .12s ease}.copy-button:hover{background:var(--bg);color:var(--ink)}.copy-button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.code-container{display:flex;overflow:auto;max-height:24rem}.line-numbers{flex-shrink:0;padding:var(--space-3) var(--space-2);background:var(--bg);border-right:1px solid var(--border);text-align:right;-webkit-user-select:none;user-select:none}.line-number{font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--muted)}.code-block{flex:1;margin:0;padding:var(--space-3);overflow:visible;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.danger-zone{margin-top:var(--space-6);padding:var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--danger-light)}.danger-zone h3{margin:0 0 var(--space-3);color:var(--danger)}.form-help{display:block;font-size:var(--font-size-sm);color:var(--muted);margin-top:var(--space-1)}.form-section{padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.form-section>h4{margin:0 0 var(--space-3);font-size:var(--font-size-base)}.required{color:var(--danger)}.repository-list{display:flex;flex-direction:column;gap:var(--space-3)}.sessions-list-wrapper{margin-top:var(--space-4)}.inline-confirm,.inline-profile-select{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.inline-profile-select{flex-direction:column;align-items:stretch}.inline-profile-select select,.inline-profile-select input{width:100%}.instance-profile{margin-top:var(--space-1)}.changed-files-list{margin:var(--space-3) 0;padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.changed-files-list h4{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--muted)}.changed-files-list ul{margin:0;padding-left:var(--space-4)}.changed-files-list li{font-size:var(--font-size-sm);word-break:break-all}.project-description{margin:var(--space-1) 0 0;color:var(--muted)}.home-summary-card{display:flex;flex-direction:column;gap:var(--space-2)}.workspace-header-left{display:flex;align-items:center;gap:var(--space-3)}.workspace-header-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--brand)}.workspace-header-info{display:flex;flex-direction:column;gap:var(--space-1)}.workspace-header-title{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.workspace-header-subtitle{color:var(--muted);font-size:var(--font-size-sm)}.tree-up{font-weight:500;color:var(--brand)}.git-mount-list{display:flex;flex-direction:column;gap:var(--space-3)}.sticky-footer{position:sticky;bottom:var(--space-4);z-index:10;background:var(--panel);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.drag-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-1);cursor:grab;transition:background .15s}.drag-item:hover{background:var(--bg)}.drag-item-active{background:var( --brand-light, color-mix(in srgb, var(--brand) 10%, transparent) );border-color:var(--brand)}.drag-handle{cursor:grab;color:var(--muted)}.code-block{background:var(--code-bg, #1e1e1e);color:var(--code-fg, #d4d4d4);padding:var(--space-4);border-radius:var(--radius-md);overflow:auto;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:var(--space-10);color:var(--muted);text-align:center}.empty-state-icon{opacity:.3;margin-bottom:var(--space-4)}.empty-state h3{margin:0 0 var(--space-2);font-weight:500}.empty-state p{margin:0}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--panel)}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--border)}.sidebar-header h2{margin:0;font-size:var(--font-size-lg)}.sidebar-header p{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.sidebar-list{flex:1;overflow-y:auto;padding:var(--space-2)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border)}.sidebar-item{width:100%;text-align:left;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-1);border-radius:var(--radius-md);border:none;background:transparent;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);transition:background .15s}.sidebar-item:hover{background:var(--bg)}.sidebar-item-active,.sidebar-item-active:hover{background:var(--brand);color:#fff}.sidebar-item-active .delete-btn{color:#fffc}.sidebar-item-active .delete-btn:hover{background:#ffffff26;color:#fff}.sidebar-item-active .badge{background:#fff3;border-color:#ffffff4d;color:#fff}.sidebar-item-content{flex:1;min-width:0}.sidebar-item-title{font-weight:600;font-size:var(--font-size-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-subtitle{font-size:var(--font-size-sm);opacity:.8;margin-top:var(--space-1)}.sidebar-item .delete-btn{opacity:0}.sidebar-item:hover .delete-btn,.sidebar-item:focus-within .delete-btn{opacity:1}.sidebar-create-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:2px dashed var(--border);background:transparent;color:var(--muted);cursor:pointer;font-weight:600;transition:border-color .15s,color .15s}.sidebar-create-button:hover{border-color:var(--brand);color:var(--brand)}.mobile-fab{position:fixed;bottom:calc(var(--mobile-nav-height) + var(--space-3));right:var(--space-4);z-index:50;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--primary);color:var(--primary-fg);border:none;box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.mobile-fab:hover{transform:scale(1.08);box-shadow:var(--shadow-lg)}.mobile-fab:active{transform:scale(.95)}.mobile-fab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.mobile-bottom-sheet-item-label{font-size:var(--font-size-sm);font-weight:500;color:var(--ink)}.mobile-list-item-action-duplicate{color:var(--info)}.mobile-list-item-action-duplicate:hover{background:var(--info-light)}.diff-line-content{flex:1;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);word-break:break-all}.button-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);padding:0;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-md)}.button-icon:hover{background:var(--bg);color:var(--ink)}.button-icon:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.syntax-highlighter{display:flex;flex-direction:column;height:100%}.highlighter-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--panel);border-bottom:1px solid var(--border)}.language-badge{font-size:.8rem;padding:.2rem .5rem;background:var(--bg);border-radius:4px;color:var(--muted)}.copy-button{font-size:.8rem;padding:.25rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--ink)}.copy-button:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.code-container{display:flex;flex:1;overflow:auto;font-family:Fira Code,Monaco,Courier New,monospace;font-size:14px;line-height:1.5}.line-numbers{display:flex;flex-direction:column;padding:1rem .5rem;background:var(--panel);border-right:1px solid var(--border);color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;min-width:3rem}.line-number{padding:0 .5rem}.code-block{flex:1;margin:0;padding:1rem;overflow:visible;background:transparent}.code-block code{display:block;background:transparent}.code-editor{height:100%;overflow:auto}.editor-textarea{font-family:Fira Code,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;min-height:100%}.editor-textarea-input{background:transparent;color:var(--ink);caret-color:var(--ink)}.editor-line{display:flex}.editor-line-number{display:inline-block;width:3rem;padding:0 .5rem;text-align:right;color:var(--muted);-webkit-user-select:none;user-select:none;background:var(--panel);border-right:1px solid var(--border)}.editor-line-content{flex:1;padding:0 .5rem;white-space:pre}code[class*=language-],pre[class*=language-]{color:var(--ink);text-shadow:none;font-family:Fira Code,Monaco,Courier New,monospace;font-size:14px;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;hyphens:none}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--muted)}.token.punctuation{color:var(--ink)}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#f59e0b}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#10b981}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#f43f5e}.token.atrule,.token.attr-value,.token.keyword{color:#3b82f6}.token.function,.token.class-name{color:#8b5cf6}.token.regex,.token.important,.token.variable{color:#ec4899}.history-actions{display:flex;gap:.75rem;align-items:center}.branch-selector{padding:.45rem .7rem;border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;background:var(--panel);color:var(--ink)}.history-container{display:grid;grid-template-columns:1fr;gap:1rem;min-height:60vh}.commit-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:70vh}.commit-list.with-detail{grid-column:1}.commit-item{display:flex;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease}.commit-item,.commit-item.card-sm{background:var(--panel);border:1px solid var(--border)}.commit-item:hover{background:#ece7df}.commit-item.selected{border-color:var(--brand);background:#f0f7f4}.commit-graph{font-family:monospace;font-size:.9rem;color:var(--brand);white-space:pre;flex-shrink:0;min-width:60px}.graph-line{display:inline-block}.commit-content{flex:1;min-width:0}.commit-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.35rem}.commit-hash{font-family:monospace;font-size:.85rem;color:var(--brand);background:#f0f7f4;padding:.15rem .4rem;border-radius:var(--radius-sm)}.commit-refs{display:flex;gap:.35rem;flex-wrap:wrap}.ref-tag{font-size:.75rem;padding:.15rem .4rem;background:var(--brand);color:#fff;border-radius:999px}.commit-message{margin:0 0 .35rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commit-meta{display:flex;gap:.75rem;font-size:.85rem;color:var(--muted)}.commit-detail-panel{border-radius:var(--radius-lg);padding:1.25rem;overflow-y:auto;max-height:70vh}.commit-detail-panel,.commit-detail-panel.card-lg{background:var(--panel);border:1px solid var(--border)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.detail-header h3{margin:0}.detail-content{display:flex;flex-direction:column;gap:1.25rem}.detail-section{display:flex;flex-direction:column;gap:.35rem}.detail-section h4{margin:0 0 .5rem;color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.commit-hash-full{font-family:monospace;font-size:.85rem;color:var(--brand);margin:0}.commit-message-full{margin:.5rem 0 0;line-height:1.5;white-space:pre-wrap}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stat{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#f5f3ee;border-radius:var(--radius-md)}.stat.additions{background:#f0fdf4}.stat.deletions{background:#fef2f2}.stat-value{font-size:1.25rem;font-weight:700;color:var(--ink)}.stat.additions .stat-value{color:#16a34a}.stat.deletions .stat-value{color:#dc2626}.stat-label{font-size:.8rem;color:var(--muted)}.parent-list{display:flex;gap:.5rem;flex-wrap:wrap}.parent-hash{font-family:monospace;font-size:.85rem;padding:.2rem .5rem;background:#f5f3ee;border-radius:var(--radius-sm)}.diff-content{font-family:monospace;font-size:.8rem;line-height:1.5;background:#f5f3ee;padding:.75rem;border-radius:var(--radius-md);overflow-x:auto;white-space:pre-wrap;word-break:break-all}@media (min-width: 1024px){.history-container{grid-template-columns:1fr 400px}.commit-list.with-detail{grid-column:1}.commit-detail-panel{grid-column:2;position:sticky;top:1rem}}.project-info-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.project-toggle{display:flex;align-items:center;gap:var(--space-3);background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);flex:1;justify-content:flex-start;min-width:0}.project-toggle>div{min-width:0;flex:1}.project-toggle h3{margin:0;font-size:var(--font-size-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-actions{margin-left:auto;flex-shrink:0}.project-toggle:hover{background:var(--bg)}.project-toggle h3{margin:0;font-size:var(--font-size-lg)}.repo-count{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);background:var(--bg);border-radius:999px;color:var(--muted)}.project-detail{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.project-repos{display:flex;flex-direction:column;gap:var(--space-3)}.project-repos-header{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3)}.project-repos-header .btn{margin-left:var(--space-2)}.project-repos-header .config-section-title{margin-bottom:0}.repo-list{display:flex;flex-direction:column;gap:var(--space-3)}.repo-block{display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg)}.repo-block,.repo-block.card-md{border:1px solid var(--border);border-radius:var(--radius-md)}.repo-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.repo-header h4{margin:0;font-size:var(--font-size-base)}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.workspace-chip{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.workspace-chip,.workspace-chip.card-sm{background:var(--panel);border:1px solid var(--border)}.workspace-chip a{font-weight:600;color:var(--brand)}.workspace-chip .ws-branch{color:var(--muted);font-size:var(--font-size-xs)}.workspace-chip .ws-instances{font-size:var(--font-size-xs);color:var(--success)}.workspace-chip .ws-actions{display:flex;gap:var(--space-1);margin-top:var(--space-1)}.workspace-chip .ws-actions button{background:none;border:none;color:var(--muted);cursor:pointer;padding:var(--space-1);border-radius:4px}.workspace-chip .ws-actions button:hover{background:var(--bg);color:var(--ink)}.workspace-chip .ws-actions button.danger-text:hover{color:var(--danger)}.project-add-repo-card{display:flex;align-items:center;justify-content:center;gap:var(--space-3);background:transparent;color:var(--muted);border-style:dashed;cursor:pointer;min-height:120px}.project-add-repo-card:hover{background:var(--bg);color:var(--ink);border-color:var(--brand)}.project-add-repo-card .project-repo-name{font-weight:500;white-space:normal;text-align:center}@media (max-width: 767px){.project-repos-header{flex-direction:column;gap:var(--space-2)}}.project-list{display:flex;flex-direction:column;gap:var(--space-4)}.project-list-item{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.project-list-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.project-list-item-title h3{margin:0;font-size:var(--font-size-lg)}.project-list-item-title p{margin:var(--space-1) 0 0}.project-list-item-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.project-repo-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}.project-repo-item{display:flex;flex-direction:column;gap:var(--space-3);min-width:260px;max-width:320px;flex:1 1 260px;padding:var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.project-repo-item-header{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.project-repo-name{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-repo-branch{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--muted)}.project-repo-workspaces{display:flex;flex-direction:column;gap:var(--space-2)}.project-repo-workspace{display:flex;flex-direction:column;gap:var(--space-1)}.workspace-name{font-weight:500;color:var(--brand)}.workspace-name:hover{text-decoration:underline}.workspace-tool-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.workspace-tool-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);color:var(--ink);font-size:var(--font-size-sm);text-decoration:none}.workspace-tool-link:hover{background:var(--bg)}.session-status-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.session-status-dot.running{background:var(--success)}.tool-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-mode-radios{display:flex;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-2) 0}.repo-mode-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;color:var(--ink)}.repo-mode-label input[type=radio]{width:18px;height:18px;accent-color:var(--brand);margin:0}.session-card-rename input{font:inherit;font-weight:600;font-size:1rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:.375rem;background:var(--panel);color:var(--text);width:100%;min-width:0}.session-card-context{font-size:.8125rem;margin-top:.25rem}.session-card-context strong{color:var(--text)}@media (max-width: 767px){.sessions-page{padding:var(--space-2)}.sessions-page .page-header{margin-bottom:var(--space-3)}.sessions-page .page-header h1{font-size:1.25rem}.last-session-section{margin-bottom:var(--space-4)}.last-session-section h2{font-size:1rem;margin-bottom:var(--space-2)}.create-session-section{padding:var(--space-3)}.create-session-section h2{font-size:1rem;margin-bottom:var(--space-2)}}.session-options{position:relative}.session-options-dropdown{position:absolute;bottom:calc(100% + .25rem);right:0;z-index:100;min-width:12rem;background:var(--panel);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;overflow:hidden;animation:dropdown-in .12s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.session-option-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:.875rem;color:var(--text);background:transparent;border:none;cursor:pointer;white-space:nowrap}.session-option-item:hover{background:var(--bg)}.session-option-item.danger-text{color:var(--danger)}.session-option-item.danger-text:hover{background:var(--danger-subtle, rgba(239, 68, 68, .08))}.session-card-actions{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.session-card-actions.mobile{display:flex;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.session-card-actions.mobile .mobile-primary{flex:1;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-3)}.session-card-actions.mobile .mobile-more{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:var(--space-2)}@media (max-width: 767px){.create-session-form input,.create-session-form select,.create-session-form textarea,.create-session-form button{min-height:44px}}.ssh-key-list{display:flex;flex-direction:column;gap:var(--space-3)}.ssh-key-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg);border-radius:var(--radius-md)}@media (min-width: 768px){.ssh-key-item{flex-direction:row;justify-content:space-between;align-items:center}}.workspace-detail{display:flex;flex-direction:column;height:100%;overflow:hidden}.workspace-header-link{display:block;text-decoration:none;color:inherit}.workspace-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.workspace-breadcrumb{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-sm)}.workspace-breadcrumb .sep{color:var(--border)}.workspace-breadcrumb strong{color:var(--ink);font-size:var(--font-size-lg)}.branch-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:var(--font-size-sm);color:var(--muted)}.tab-bar{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:all .15s ease}.tab:hover{background:var(--bg);color:var(--ink)}.tab.active{background:var(--brand);color:var(--primary-fg)}.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:var(--space-2) 0;background:var(--panel);border-top:1px solid var(--border);z-index:50}.mobile-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border:none;background:none;color:var(--muted);font:inherit;font-size:var(--font-size-xs);cursor:pointer}.mobile-tab.active{color:var(--brand)}.workspace-content{flex:1;overflow:hidden;padding:var(--space-4) var(--space-5);overflow-y:auto}.files-tab{display:flex;flex-direction:column;gap:var(--space-3);height:100%}.git-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--panel);border-radius:var(--radius-md);flex-wrap:wrap}.git-toolbar,.git-toolbar.card-md{border:1px solid var(--border)}.git-toolbar-status{display:flex;gap:var(--space-2)}.git-toolbar-status span{padding:var(--space-1) var(--space-2);border-radius:6px;font-size:var(--font-size-xs);font-weight:600}.status-modified{background:var(--warning-light);color:var(--warning)}.status-added{background:var(--success-light);color:var(--success)}.status-deleted{background:var(--danger-light);color:var(--danger)}.status-untracked{background:#6b72801a;color:#6b7280}.git-toolbar-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.git-toolbar-actions input{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:6px;font:inherit;background:var(--panel);color:var(--ink);min-width:180px}.files-split{display:grid;grid-template-columns:260px 1fr;gap:var(--space-4);flex:1;min-height:0;overflow:hidden}.file-tree{overflow-y:auto;border-radius:var(--radius-md);padding:var(--space-3);background:var(--panel)}.file-tree,.file-tree.card-md{border:1px solid var(--border)}.tree-entry{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:none;border-radius:6px;background:none;color:var(--ink);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;white-space:nowrap}.tree-entry:hover{background:var(--bg)}.tree-entry.selected{background:var(--brand);color:var(--primary-fg)}.file-viewer{display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.file-viewer,.file-viewer.card-md{border:1px solid var(--border)}.file-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);border-bottom:1px solid var(--border);background:var(--bg)}.file-content{flex:1;padding:var(--space-4);overflow:auto;margin:0;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);line-height:1.6;white-space:pre-wrap}.file-editor{flex:1;padding:var(--space-3);border:none;font-family:IBM Plex Mono,monospace;font-size:var(--font-size-sm);line-height:1.6;resize:none;background:var(--panel);color:var(--ink)}.file-editor-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border)}.git-tab{display:flex;flex-direction:column;gap:var(--space-4)}.git-tab-header{display:flex;gap:var(--space-3);align-items:center}.git-tab-header select{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:6px;font:inherit;background:var(--panel);color:var(--ink)}.commit-history{display:flex;flex-direction:column;gap:var(--space-2)}.commit-row{display:grid;grid-template-columns:60px 1fr 120px 120px;gap:var(--space-3);padding:var(--space-3);background:var(--panel);border-radius:var(--radius-md);align-items:center;font-size:var(--font-size-sm)}.commit-row,.commit-row.card-sm{border:1px solid var(--border)}.commit-hash{font-family:monospace;color:var(--brand)}.commit-message{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commit-author,.commit-date{color:var(--muted);font-size:var(--font-size-xs)}.tools-tab{display:flex;flex-direction:column;gap:var(--space-4)}.empty-state-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10);border-radius:var(--radius-lg);text-align:center}.empty-state-card,.empty-state-card.card-lg{background:var(--panel);border:1px solid var(--border)}.empty-state-card h3{margin:0}.empty-state-card p{margin:0;color:var(--muted)}.instances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.instance-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg)}.instance-card,.instance-card.card-md{background:var(--panel);border:1px solid var(--border)}.instance-card.running{border-color:var(--success)}.settings-tab{max-width:640px}.settings-section{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg)}.settings-section,.settings-section.card-lg{background:var(--panel);border:1px solid var(--border)}.settings-section h3{margin:0}@media (max-width: 767px){.workspace-detail.mobile .workspace-content{padding-bottom:72px}.mobile-tab-bar{display:flex}.files-split{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.commit-row{grid-template-columns:1fr;gap:var(--space-1)}.git-toolbar{flex-direction:column;align-items:flex-start}}.workspace-header-link{display:block;text-decoration:none;color:inherit;margin:-1rem -1rem 0;padding:1rem}.workspace-header-link:hover .workspace-header h4{color:var(--brand)}.workspace-create-inline{padding:var(--space-5);margin-bottom:var(--space-5)}.workspace-create-inline h3{margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:var(--space-2)}.workspace-create-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);align-items:end}.workspace-create-form-grid .form-group{display:flex;flex-direction:column;gap:var(--space-1)}.workspace-create-form-grid label{font-size:var(--font-size-sm);color:var(--muted)}.workspace-create-form-grid input,.workspace-create-form-grid select{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--panel);color:var(--ink)}.workspace-create-form-grid .form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.workspaces-page{padding:var(--space-4)}.workspaces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.workspace-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);transition:box-shadow .15s ease,border-color .15s ease}.workspace-card,.workspace-card.card-lg{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.workspace-card:hover{box-shadow:0 6px 18px #00000014;border-color:color-mix(in srgb,var(--border) 80%,var(--brand))}.workspace-card.loading{opacity:.6;pointer-events:none}.workspace-card-top{display:flex;align-items:flex-start;gap:var(--space-3)}.workspace-title-link{display:block;text-decoration:none;color:inherit;flex:1;min-width:0}.workspace-title-link:hover .workspace-name{color:var(--brand)}.workspace-title-stack{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.workspace-title-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.workspace-name{margin:0;font-size:var(--font-size-lg);font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.workspace-project-name{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-project-name .icon{color:var(--brand)}.workspace-card-body{display:flex;flex-direction:column;gap:var(--space-3)}.workspace-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--muted)}.workspace-meta-row>span{display:inline-flex;align-items:center;gap:var(--space-1)}.workspace-repo,.workspace-branch{color:var(--muted)}.workspace-instance-count{padding:var(--space-1) var(--space-2);background:var(--bg);border-radius:999px;font-size:var(--font-size-xs);font-weight:500;color:var(--success)}.instance-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.instance-chip{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);background:var(--bg);border:1px solid var(--border);border-radius:999px;color:var(--ink);max-width:100%}.instance-chip.running{background:var(--success-light);border-color:color-mix(in srgb,var(--success) 25%,transparent);color:var(--success)}.instance-chip a{color:inherit;text-decoration:none;margin-left:var(--space-1)}.instance-chip a:hover{text-decoration:underline}.workspace-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border)}.workspace-actions .btn-primary{margin-right:auto}.status-ready{background:var(--success-light);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.status-syncing{background:var(--warning-light);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.status-error{background:var(--danger-light);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--muted)}.empty-state p{margin-bottom:var(--space-4)}@media (max-width: 767px){.workspaces-page{padding:var(--space-3)}.workspaces-grid{grid-template-columns:1fr;gap:var(--space-3)}.workspace-card{padding:var(--space-4);gap:var(--space-3);border-radius:var(--radius-md)}.workspace-actions{flex-wrap:wrap}.workspace-actions .btn-primary{width:100%;justify-content:center}.mobile-workspaces-list{gap:var(--space-3);margin-top:0}}
