.gx{font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--text);background:var(--bg);text-align:left}.gx button,.gx input,.gx textarea{font:inherit;color:inherit}.gx .mono{font-family:var(--mono)}.gx .muted{color:var(--muted)}.gx .faint{color:var(--faint)}.gx .primary,.gx .ghost{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--control-h);padding:0 var(--s-3);border-radius:var(--r-md);font-size:var(--fs-base);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease);border:1px solid #0000;font-weight:500;display:inline-flex}.gx .primary:active,.gx .ghost:active{transform:scale(.98)}.gx .primary{background:var(--btn);color:var(--btn-fg)}.gx .primary:hover{background:var(--btn-hover)}.gx .ghost{border-color:var(--stroke);background:0 0}.gx .ghost:hover{background:var(--hover-bg);border-color:var(--stroke-strong)}.gx .tiny{min-height:var(--control-h-sm);padding:0 var(--s-2);font-size:var(--fs-sm)}.gx .icon-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--r-md);color:var(--muted);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.gx .icon-btn:hover{background:var(--hover-bg);color:var(--text)}.gx .icon-btn.on{background:var(--selected-bg);color:var(--text)}.gx .kbd{min-width:var(--s-5);height:var(--s-5);padding:0 var(--s-1);border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--bg-muted);color:var(--muted);font-family:var(--mono);font-size:var(--fs-mono-sm);justify-content:center;align-items:center;line-height:1;display:inline-flex}.gx .eyebrow{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:600}.gx .badge{align-items:center;gap:var(--s-1);min-height:var(--s-5);padding:0 var(--s-2);border:1px solid var(--stroke);border-radius:var(--r-full);background:var(--info-bg);color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;flex:none;font-weight:500;display:inline-flex}.gx .badge.tone-warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.gx .badge.tone-danger{color:var(--danger);background:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.gx .badge.tone-accent{color:var(--accent);background:var(--accent-bg);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.gx .segmented{gap:var(--s-05);padding:var(--s-05);border-radius:var(--r-md);background:var(--bg-muted);flex:none;display:inline-flex}.gx .segment{justify-content:center;align-items:center;gap:var(--s-1);min-height:var(--control-h-sm);padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;font-weight:500;display:inline-flex}.gx .segment:hover:not(.current){color:var(--text)}.gx .segment.current{background:var(--segment-bg);color:var(--text);box-shadow:var(--e-1)}.gx .switch{width:var(--switch-w);height:var(--switch-h);border:1px solid var(--stroke-strong);border-radius:var(--r-full);background:var(--surface-3);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex:none;padding:0;position:relative}.gx .switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.gx .switch-knob{width:var(--switch-knob);height:var(--switch-knob);border-radius:var(--r-full);background:var(--muted);transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);position:absolute;top:1px;left:1px}.gx .switch[aria-checked=true] .switch-knob{background:var(--on-solid);transform:translateX(var(--switch-travel))}.gx .meter{width:100%;height:var(--s-1);border-radius:var(--r-full);background:var(--surface-3);display:block;overflow:hidden}.gx .meter-fill{border-radius:inherit;background:var(--muted);height:100%;transition:width var(--dur) var(--ease);display:block}.gx .meter.tone-warn .meter-fill{background:var(--warn)}.gx .meter.tone-danger .meter-fill{background:var(--danger)}.gx .pulse{width:var(--dot);height:var(--dot);border-radius:var(--r-full);background:var(--accent);flex:none;animation:1.1s ease-in-out infinite pulse}.gx .spin{animation:1s linear infinite spin}.gx .topbar{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--s-3);min-height:var(--topbar-h);padding:0 var(--s-4);border-bottom:1px solid var(--stroke);background:var(--glass-bg);backdrop-filter:blur(12px)saturate(1.4);display:flex;position:relative}.gx .topbar-title{align-items:baseline;gap:var(--s-3);flex:1;min-width:0;display:flex}.gx .topbar-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-size:var(--fs-base);flex:none;font-weight:600;overflow:hidden}.gx .host-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-family:var(--mono);font-size:var(--fs-mono-sm);overflow:hidden}.gx .host-branch.dirty:after{content:"";width:var(--dot-sm);height:var(--dot-sm);margin-left:var(--s-1);vertical-align:middle;border-radius:var(--r-full);background:var(--warn);display:inline-block}.gx .top-actions{align-items:center;gap:var(--s-2);flex:none;display:flex}.gx .view-tabs{align-items:center;gap:var(--s-05);padding:var(--s-05);border-radius:var(--r-md);background:var(--bg-muted);flex:none;display:flex}.gx .view-tab{justify-content:center;align-items:center;gap:var(--s-2);height:var(--control-h-sm);padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;font-weight:500;display:inline-flex}.gx .view-tab:hover:not(.current){color:var(--text)}.gx .view-tab.current{background:var(--segment-bg);color:var(--text);box-shadow:var(--e-1)}.gx .view-tabs+.top-actions{padding-left:var(--s-3);border-left:1px solid var(--stroke)}.gx .transcript{overscroll-behavior:contain;padding:var(--s-5) var(--s-4) var(--s-7);-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s-6)), transparent);mask-image:linear-gradient(to bottom, #000 calc(100% - var(--s-6)), transparent);flex-direction:column;align-items:center;display:flex;position:relative;overflow:auto}.gx .transcript-inner{width:min(var(--content-max), 100%);gap:var(--s-3);align-content:start;min-width:0;display:grid}.gx .transcript-inner>.bubble.user{margin-top:var(--s-6)}.gx .transcript-inner>.bubble.user:first-child{margin-top:0}.gx .bubble.user{width:fit-content;max-width:80%;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);border-bottom-right-radius:var(--r-sm);background:var(--user);font-size:var(--fs-chat);white-space:pre-wrap;overflow-wrap:anywhere;animation:rise var(--dur) var(--ease);justify-self:end}.gx .bubble.assistant{font-size:var(--fs-chat);line-height:var(--lh-body);min-width:0}.gx .bubble.assistant p{margin:0 0 var(--s-2)}.gx .bubble.assistant p:last-child{margin-bottom:0}.gx .bubble.assistant code{border-radius:var(--r-sm);background:var(--surface-3);font-family:var(--mono);font-size:var(--fs-code);padding:.1em .35em}.gx .bubble.assistant ul{margin:0 0 var(--s-2);padding-left:var(--s-5)}.gx .caret{vertical-align:-.15em;background:var(--text);width:2px;height:1em;margin-left:1px;animation:1.1s ease-in-out infinite pulse;display:inline-block}.gx .disclosure-toggle{align-items:center;gap:var(--s-2);padding:var(--s-1) 0;color:var(--muted);font-size:var(--fs-base);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.gx .disclosure-toggle:hover{color:var(--text)}.gx .disclosure-chevron{color:var(--faint);transition:transform var(--dur) var(--ease);place-items:center;display:grid}.gx .open>.disclosure-toggle .disclosure-chevron{transform:rotate(90deg)}.gx .thinking-body{margin-left:var(--s-2);padding:var(--s-1) 0 var(--s-2) var(--s-3);border-left:1px solid var(--stroke);color:var(--muted);font-size:var(--fs-sm);white-space:pre-wrap}.gx .tool-group{border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--bg-elev);animation:fade-in var(--dur) var(--ease);overflow:hidden}.gx .tool-group-head{align-items:center;gap:var(--s-2);width:100%;min-height:var(--row-h);padding:var(--s-2) var(--s-3);color:var(--muted);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.gx .tool-group-head:hover{background:var(--hover-bg)}.gx .tool-chevron{width:var(--icon-md);color:var(--muted);transition:transform var(--dur) var(--ease);place-items:center;display:grid}.gx .tool-group.open .tool-group-head .tool-chevron{transform:rotate(90deg)}.gx .tool-group-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gx .tool-group-body{padding-bottom:var(--s-1);border-top:1px solid var(--stroke);display:grid}.gx .stats{color:var(--muted);font-family:var(--mono);font-size:var(--fs-mono-sm);font-variant-numeric:tabular-nums;flex:none}.gx .stats .add{color:var(--diff-add)}.gx .stats .del{color:var(--diff-del)}.gx .tool{min-width:0;animation:fade-in var(--dur) var(--ease)}.gx .tool-row{grid-template-columns:var(--icon-md) minmax(0, 1fr) auto;align-items:center;gap:var(--s-2);min-height:var(--row-h);padding:var(--s-1) var(--s-3);display:grid}.gx .tool-row:hover{background:var(--hover-bg)}.gx .tool-kind-glyph{color:var(--faint);place-items:center;display:grid}.gx .title{align-items:baseline;gap:var(--s-2);min-width:0;font-size:var(--fs-base);display:flex;overflow:hidden}.gx .title>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:100%;font-weight:500;overflow:hidden}.gx .title.command>span:first-child{font-family:var(--mono);font-size:var(--fs-code)}.gx .tool-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--faint);font-family:var(--mono);font-size:var(--fs-mono-sm);overflow:hidden}.gx .tool-tail{align-items:center;gap:var(--s-2);display:flex}.gx .tool-state{align-items:center;gap:var(--s-1);color:var(--faint);font-size:var(--fs-sm);font-weight:500;display:inline-flex}.gx .tool-state.running{color:var(--accent)}.gx .tool-state.running .icon{animation:1s linear infinite spin}.gx .tool-state.error{color:var(--danger)}.gx .tool-body{gap:var(--s-2);padding:0 var(--s-3) var(--s-3) calc(var(--s-3) + var(--icon-md) + var(--s-2));display:grid}.gx .term,.gx .diff{border:1px solid var(--stroke);border-radius:var(--r-md);background:var(--code-bg);overflow:hidden}.gx .term-line{gap:var(--s-2);padding:var(--s-2) var(--s-3);font-family:var(--mono);font-size:var(--fs-code);align-items:baseline;display:flex;overflow-x:auto}.gx .term-prompt{color:var(--faint);flex:none}.gx .term-line code{white-space:pre}.gx .shell-out{padding:var(--s-2) var(--s-3);border-top:1px solid var(--stroke);color:var(--muted);font-family:var(--mono);font-size:var(--fs-code);line-height:var(--lh-code);white-space:pre;margin:0;overflow:auto}.gx .hunk-head{min-height:var(--control-h-sm);padding:0 var(--s-2);color:var(--faint);font-family:var(--mono);font-size:var(--fs-mono-sm);align-items:center;display:flex}.gx .diff-body{font-family:var(--mono);font-size:var(--fs-code);line-height:var(--lh-code);overflow:auto}.gx .diff-line{gap:var(--s-2);min-width:max-content;padding-right:var(--s-3);display:flex}.gx .diff-no{width:4ch;padding-right:var(--s-1);text-align:right;color:var(--faint);opacity:.7;font-variant-numeric:tabular-nums;user-select:none;flex:none}.gx .diff-sign{width:var(--s-3);text-align:center;color:var(--faint);user-select:none;flex:none}.gx .diff-code{white-space:pre}.gx .diff-line.add{background:var(--diff-add-bg)}.gx .diff-line.add .diff-sign,.gx .diff-line.add .diff-code{color:var(--diff-add)}.gx .diff-line.del{background:var(--diff-del-bg)}.gx .diff-line.del .diff-sign,.gx .diff-line.del .diff-code{color:var(--diff-del)}.gx .composer{padding:var(--s-2) var(--s-4) var(--s-3);background:var(--bg);justify-content:center;display:flex}.gx .composer-inner{width:min(var(--content-max), 100%);min-width:0}.gx .composer-box{gap:var(--s-1);padding:var(--s-2);border:1px solid var(--stroke);border-radius:var(--r-xl);background:var(--input-bg);min-width:0;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);display:grid}.gx .composer-box:focus-within{border-color:var(--stroke-strong);box-shadow:0 0 0 var(--ring-w) color-mix(in srgb, var(--accent) 14%, transparent)}.gx .composer-status{align-items:center;gap:var(--s-2);min-width:0;min-height:var(--control-h);margin:calc(var(--s-2) * -1) calc(var(--s-2) * -1) 0;padding:0 var(--s-4);border-bottom:1px solid var(--stroke);color:var(--muted);font-size:var(--fs-sm);display:flex}.gx .status-shimmer{background:linear-gradient(90deg, var(--muted) 20%, var(--text) 50%, var(--muted) 80%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;flex:none;animation:2s linear infinite shimmer}.gx .status-step{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);flex:1;overflow:hidden}.gx .composer-text{width:100%;min-height:var(--control-h);padding:var(--s-2) var(--s-2) 0;color:var(--text);font-size:var(--fs-chat);resize:none;background:0 0;border:0;line-height:1.375;display:block}.gx .composer-text:focus,.gx .composer-text:focus-visible{outline:none}.gx .composer-text::placeholder,.gx .composer-placeholder{color:var(--faint)}.gx .composer-meta{align-items:center;gap:var(--s-1);min-width:0;color:var(--muted);font-size:var(--fs-xs);display:flex}.gx .chip-btn{align-items:center;gap:var(--s-1);min-width:0;min-height:var(--control-h);padding:0 var(--s-2);border-radius:var(--r-md);color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.gx .chip-btn:hover{background:var(--hover-bg);color:var(--text)}.gx .chip-btn .chip-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.gx .chip-btn.danger{color:var(--danger)}.gx .composer-spacer{min-width:var(--s-2);flex:auto}.gx .composer-send{width:var(--control-h);height:var(--control-h);border-radius:var(--r-md);background:var(--btn);color:var(--btn-fg);cursor:pointer;transition:background var(--dur) var(--ease), transform var(--dur-fast) var(--ease);border:0;flex:none;place-items:center;padding:0;display:grid}.gx .composer-send:hover:not(:disabled){background:var(--btn-hover)}.gx .composer-send:active:not(:disabled){transform:scale(.96)}.gx .composer-send:disabled{background:var(--surface-3);color:var(--faint);cursor:default}.gx .empty{justify-items:center;gap:var(--s-2);padding:var(--s-5) var(--s-4);text-align:center;margin:auto 0;display:grid}.gx .empty>svg{margin-bottom:var(--s-2);color:var(--muted)}.gx .empty h2{font-size:var(--fs-2xl);margin:0;font-weight:600}.gx .empty-host{color:var(--faint);font-family:var(--mono);font-size:var(--fs-mono-sm)}.gx .empty-actions{gap:var(--s-1);width:min(var(--w-panel), 100%);margin-top:var(--s-5);padding:var(--s-1);border:1px solid var(--stroke);border-radius:var(--r-lg);background:var(--bg-elev);display:grid}.gx .empty-action{align-items:center;gap:var(--s-3);width:100%;min-height:var(--control-h-lg);padding:0 var(--s-3);border-radius:var(--r-md);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.gx .empty-action:hover{background:var(--hover-bg)}.gx .empty-action .icon{color:var(--faint)}.gx .empty-action strong{flex:1;font-weight:500}.gx .empty-action-slash{color:var(--faint);font-family:var(--mono);font-size:var(--fs-mono-sm)}
