:host,#session-tabs{--page:#edf7f1;--surface:#fffdf5;--tab-surface:#dcebdc;--tab-selected:#fff3bf;--ink:#17372f;--muted:#526b61;--line:#8ea99b;--accent:#176f60;--create-bg:#32754c;--create-hover:#285f3d;--create-ink:#ffffff;--rail-edge:#9b7745}
/* Canonical session tab bar shared by the console and every secondary page. */
#session-tabs{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:flex-end;height:44px;overflow:hidden;padding:4px 8px 0;background-color:var(--page);background-image:linear-gradient(180deg,rgba(255,253,245,.94),rgba(226,239,221,.94));border-bottom:1px solid rgba(55,100,78,.45);box-shadow:0 5px 18px rgba(34,68,51,.13);view-transition-name:fairystack-session-tabs}
#session-tabs[data-shared="true"]{view-transition-name:none}
.session-rail{position:absolute;right:0;bottom:0;left:0;height:4px;border-top:1px solid var(--rail-edge);background:var(--tab-selected);pointer-events:none}
#session-tab-strip{display:flex;align-self:stretch;flex:1 1 auto;min-width:0}#session-tab-list{display:flex;align-self:stretch;flex:0 1 auto;width:max-content;max-width:100%;min-width:0;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.session-tab{position:relative;display:flex;align-self:stretch;flex:0 1 auto;width:220px;min-width:52px;max-width:240px;margin-bottom:4px;padding:0 3px;order:0;container:session-tab/inline-size;touch-action:none}.session-tab[data-initiation="automatic"]{width:184px;min-width:48px;max-width:200px;margin-left:-2px;opacity:.82}.session-tab[data-initiation="automatic"]::before{content:"↳";position:absolute;left:1px;top:50%;z-index:2;color:var(--muted);font-size:11px;transform:translateY(-50%)}
.session-tab>:is(button,a){min-width:0;white-space:nowrap;border:0;background:transparent;color:var(--ink);cursor:default;text-decoration:none}.session-tab>:is(button,a):first-child *{cursor:inherit}.session-tab>:is(button,a):first-child{display:grid;flex:1;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:7px;padding:3px 4px 3px 9px;border-radius:8px 0 0 0}.session-tab:not(:has([aria-selected="true"])):has(+ .session-tab:not(:has([aria-selected="true"]))){border-right:1px solid var(--line)}.session-tab:not(:has([aria-selected="true"])):hover{border-radius:8px 8px 0 0;background:color-mix(in srgb,var(--tab-surface) 48%,transparent)}.session-tab:has([aria-selected="true"]){z-index:1;margin-bottom:4px;border:1px solid #9b7745;border-bottom:0;border-radius:8px 8px 0 0;background:var(--tab-selected);box-shadow:0 -2px 10px rgba(116,81,37,.12)}.session-tab:has([aria-selected="true"])::after{content:"";position:absolute;right:0;bottom:-4px;left:0;height:5px;background:var(--tab-selected);pointer-events:none}
.session-tab-copy{display:grid;min-width:0;align-content:center;text-align:left}.session-tab-title{display:block;min-width:0;overflow:hidden;white-space:nowrap;line-height:1.2;text-align:left;font-size:12px;cursor:pointer;user-select:text;-webkit-user-select:text;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 18px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 18px),transparent 100%)}.session-tab [aria-selected="true"] .session-tab-title{font-weight:500}.session-tab-app{display:flex;min-width:0;align-items:center;gap:3px;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.1;white-space:nowrap;cursor:text;user-select:text;-webkit-user-select:text}.session-tab-app span{min-width:0;overflow:hidden;text-overflow:ellipsis}.session-tab-elapsed{position:absolute;right:4px;bottom:1px;z-index:1;padding:0 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);line-height:11px;pointer-events:none;color:var(--ink);font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap}.runtime-fast-mark{display:inline-grid;width:11px;height:11px;margin:0 3px 0 0;place-content:center;vertical-align:-1px;color:#b8860b}.runtime-fast-mark svg{width:10px;height:10px;fill:currentColor}#runtime-settings-trigger-label{display:inline-flex;max-width:150px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.session-state{display:grid;width:20px;height:20px;place-content:center}.session-fairy{position:relative;background-image:var(--fairy-suite-url);background-position:100% 0;background-size:300% 100%;background-repeat:no-repeat;filter:hue-rotate(var(--fairy-hue,0deg));transform:scale(1.3)}.session-fairy.is-working::after{position:absolute;inset:1px;border:2px solid rgba(0,109,131,.72);border-top-color:transparent;border-radius:50%;content:"";animation:session-tab-spin .8s linear infinite}
.session-tab[data-surface]{width:200px;min-width:52px;max-width:220px}.session-surface-glyph{font-size:15px;line-height:1;user-select:none}.session-tab[data-surface] .session-tab-title{font-weight:500}.session-tab[data-surface] .session-tab-close{align-self:center}.session-tab-close{display:grid;align-self:start;flex:none;box-sizing:border-box;width:21px;height:21px;place-content:center;padding:0 0 2px;border-radius:50%;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}.session-tab .session-tab-close:is(:hover,:focus-visible){background:color-mix(in srgb,var(--tab-selected) 78%,var(--accent));color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 34%,transparent);outline-offset:-2px}
.session-tab.dragging{opacity:.55}.session-tab[data-attention="urgent"]{border-color:#a31324!important;background:#c92f43!important}.session-tab[data-attention="urgent"]>:is(button,a),.session-tab[data-attention="urgent"] .session-tab-app,.session-tab[data-attention="urgent"] .session-tab-close{color:#fff!important}.session-tab[data-attention="urgent"]::after{background:#c92f43!important}.session-tab [data-tooltip]{position:relative}.session-tab [data-tooltip]::after{position:absolute;top:calc(100% + 6px);left:50%;z-index:30;padding:4px 7px;border:1px solid var(--line);border-radius:5px;background:var(--ink);color:var(--page);content:attr(data-tooltip);font-size:11px;line-height:1;opacity:0;pointer-events:none;transform:translateX(-50%)}.session-tab [data-tooltip]:focus-visible::after{opacity:1}@media(hover:hover) and (pointer:fine){.session-tab [data-tooltip]:hover::after{opacity:1}}.session-tab .spinner{width:11px;height:11px;margin-left:2px;border-color:#8fcbd5;border-top-color:#006d83}
#session-create-control{display:flex;align-self:stretch;flex:none;align-items:stretch;order:1;margin:0 4px 4px 8px;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--surface);overflow:hidden}#session-create-control>:is(#runtime-settings-open,#runtime-settings-link){display:flex;min-width:88px;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--ink);font:700 11px/1 ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif;cursor:pointer;text-decoration:none}#new-session{display:grid;width:38px;min-width:38px;min-height:0;place-content:center;padding:0;border:0;border-radius:0;background:var(--create-bg);color:var(--create-ink);font-size:19px;line-height:1;cursor:pointer}#session-create-control:has(:focus-visible){outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:-2px}#session-create-control>:is(button,a):is(:hover,:focus-visible){background:var(--tab-surface);outline:0}#session-create-control>#new-session:is(:hover,:focus-visible):not(:disabled){background:var(--create-hover)}#session-create-control>#new-session:disabled{background:var(--create-bg);cursor:not-allowed;opacity:.55}
#session-tabs-status{align-self:center;max-width:230px;margin:0 8px 8px auto;color:var(--muted);font:700 11px/1.2 ui-monospace,monospace}#session-tabs[data-state="failed"] #session-tabs-status{color:#8d2635}
#session-create-status{align-self:center;max-width:230px;margin:0 8px 8px;color:var(--muted);font:700 11px/1.2 ui-monospace,monospace}#session-create-status:not([hidden])~#session-tabs-status{display:none}
@container session-tab (max-width:134px){.session-tab>:is(button,a):first-child{gap:5px;padding-left:6px}.session-tab-title{font-size:11px}}@container session-tab (max-width:108px){.session-tab-elapsed{display:none}.session-tab>:is(button,a):first-child{grid-template-columns:20px minmax(0,1fr)}}@container session-tab (max-width:92px){.session-tab-app{display:none}.session-tab>:is(button,a):first-child{gap:4px;padding-left:5px}}@container session-tab (max-width:66px){.session-tab-copy{display:none}.session-tab>:is(button,a):first-child{grid-template-columns:20px;justify-content:center;padding:3px 2px}}@container session-tab (max-width:48px){.session-tab-close{display:none}}@container session-tab (max-width:108px){.session-tab:not(:has([aria-selected="true"])) .session-tab-close:not([hidden]){display:none}.session-tab:is(:hover,:focus-within) .session-tab-close:not([hidden]){display:grid}}@keyframes session-tab-spin{to{transform:rotate(360deg)}}@media(max-width:820px){#session-tabs{padding-right:4.5px;padding-left:4.5px}}@media(max-width:620px){.session-tab{width:180px}}:where(html[data-theme="dark"]) #session-tabs{--page:#10251f;--surface:#182f27;--tab-surface:#244239;--tab-selected:#4c492d;--ink:#edf6ea;--muted:#aec6bb;--line:#587c6e;--accent:#7bd4b8;--create-bg:#86c99a;--create-hover:#a0dbb1;--create-ink:#102b1b;--rail-edge:#9b7745}:where(html[data-theme="dark"]) .runtime-fast-mark{color:#f2c14e}:where(html[data-theme="dark"]) #session-tabs{border-color:#536a53;background-color:#10251f;background-image:linear-gradient(180deg,rgba(18,39,32,.97),rgba(28,50,42,.97))}:where(html[data-theme="dark"]) #session-tabs[data-state="failed"] #session-tabs-status{color:#ffb7c0}@media(prefers-reduced-motion:reduce){.session-fairy.is-working::after{animation:none}}
.session-tab-mic{position:absolute;right:3px;bottom:0;display:grid;box-sizing:border-box;width:21px;height:16px;place-content:center;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted);font-size:13px;line-height:1;pointer-events:none;user-select:none}.session-tab-mic[hidden]{display:none}.session-tab[data-voice-delivered="true"] .session-tab-mic{background:#dff0e4;color:#173b26}
.session-tab:has(.session-tab-mic:not([hidden])) .session-tab-close{height:18px}.session-tab:has(.session-tab-mic:not([hidden])) .session-tab-elapsed{right:28px}
@container session-tab (max-width:108px){.session-tab:not(:has([aria-selected="true"])):not(:hover):not(:focus-within):has(.session-tab-mic:not([hidden]))>:is(button,a):first-child{margin-right:21px}.session-tab:not(:has([aria-selected="true"])):not(:hover):not(:focus-within)>.session-tab-mic{top:50%;bottom:auto;transform:translateY(-50%)}}
@container session-tab (max-width:66px){.session-tab-mic{display:none}}
:where(html[data-theme="dark"]) .session-tab[data-voice-delivered="true"] .session-tab-mic{background:#2c3b33;color:#b8e7c7}


.session-tab-favicon{display:block;width:16px;height:16px;object-fit:contain}.session-fairy:has(.session-tab-favicon:not([hidden])){background-image:none;filter:none;transform:none}.session-fairy.is-working::after{border-color:var(--accent);border-top-color:transparent}

.session-fairy.is-working:has(.session-tab-favicon:not([hidden]))::after{inset:-6px;border-width:1.5px}

/* Keep the terminal error mark red even on hue-shifted fallback fairies. */
.session-fairy.is-halted{filter:none}
.session-fairy.is-halted::before{content:"×";position:absolute;right:-4px;bottom:-3px;z-index:1;display:grid;place-items:center;box-sizing:border-box;width:14px;height:14px;border:1px solid #a51d32;border-radius:50%;background:#fffdf5;color:#a51d32;font:900 15px/1 Arial,sans-serif;pointer-events:none}
:where(html[data-theme="dark"]) .session-fairy.is-halted::before{background:#182f27;color:#ff9bab;border-color:#ff9bab}

@media(max-width:620px){
  #session-tabs{padding-right:calc(4.5px + var(--mobile-navigation-clearance,0px))}
  #session-tab-list,#session-tabs[data-shared="true"] #session-tab-list{flex:1 1 auto;max-width:none;scrollbar-width:none}
  #session-tab-list .session-tab{flex:0 0 148px;min-width:148px;touch-action:pan-x}
  #session-create-control{margin-left:4px;margin-right:2px}
  #session-create-control>:is(#runtime-settings-open,#runtime-settings-link){min-width:36px;padding-inline:5px}
  #runtime-settings-trigger-label{display:none}
}

@media(max-width:620px){#recently-closed-open,#system-sessions-spend{display:none}}

/* Mobile selection paints in a permanent frame: committing a swipe changes no geometry. */
@media(max-width:620px){
  #session-tab-list .session-tab{
    --swipe-highlight:0%;
    z-index:1;border:1px solid color-mix(in srgb,var(--rail-edge) var(--swipe-highlight),transparent);
    border-bottom:0;border-radius:8px 8px 0 0;
    background:color-mix(in srgb,var(--tab-selected) var(--swipe-highlight),transparent);
    box-shadow:0 -2px 10px color-mix(in srgb,rgba(116,81,37,.12) var(--swipe-highlight),transparent);
  }
  #session-tab-list .session-tab:has([aria-selected="true"]){--swipe-highlight:100%}
  #session-tab-list .session-tab::after{
    content:"";position:absolute;right:0;bottom:-4px;left:0;height:5px;pointer-events:none;
    background:color-mix(in srgb,var(--tab-selected) var(--swipe-highlight),transparent);
  }
  #session-tab-list .session-tab-title{font-weight:500}
}

@media(max-width:620px){
  body[data-composer-editing="true"] #session-tabs{height:32px;padding-top:0}
  body[data-composer-editing="true"] #session-tabs .session-tab{margin-bottom:2px}
  body[data-composer-editing="true"] #session-tabs :is(.session-tab-app,.session-tab-elapsed){display:none}
  body[data-composer-editing="true"] #session-tabs .session-tab>:is(button,a):first-child{padding-block:2px}
  body[data-composer-editing="true"] #session-tabs .session-rail{height:2px}
  body[data-composer-editing="true"] #session-create-control{margin-block:1px 3px}
  body[data-composer-editing="true"] #session-create-control>button{min-height:26px;height:26px;padding-block:1px}
}
.session-tab{--promise-white:#ffffff;--promise-green:#74d68c}#session-tab-list .session-tab[data-promise]{--promise-fill:color-mix(in srgb,var(--promise-green) calc(var(--promise) * 100%),var(--promise-white));border-radius:8px 8px 0 0;background:var(--promise-fill)}#session-tab-list .session-tab[data-promise]:has([aria-selected="true"])::after{background:var(--promise-fill)}.session-tab-copy:has(>.session-tab-promise:not([hidden])){grid-template-columns:auto minmax(0,1fr);column-gap:4px}.session-tab-copy:has(>.session-tab-promise:not([hidden])) .session-tab-app{grid-column:1 / -1}.session-tab .session-tab-promise{align-self:center;color:var(--ink);font-size:12px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;cursor:text;user-select:text;-webkit-user-select:text}.session-tab .session-tab-promise[hidden]{display:none}.session-tab .session-tab-promise::after{top:50%;left:calc(100% + 4px);font-weight:400;white-space:nowrap;transform:translateY(-50%)}
:where(html[data-theme="dark"]) .session-tab{--promise-white:#050806;--promise-green:#1d8a45}
