/* GENERATED by tools/assemble.mjs from window/window.css, every selector prefixed with :where(.app) unless it names the root. Do not edit. */
.app {
  --app-bar: 56px;
  --side-w: 240px;
  --bar-pad: var(--win-pad, 88px);        
  --app-side-pad: var(--win-side-pad, 120px); 
  --t-small: 13.5px;
  --t-msg: 17px;
  --ring-tile: rgba(43, 29, 25, .08);     

  position: relative; box-sizing: border-box;
  width: 100%; height: 100%;
  display: grid; grid-template-columns: var(--side-w) 1fr; grid-template-rows: var(--app-bar) 1fr;
  background: var(--paper); color: var(--ink);
  border-radius: var(--r-12); overflow: hidden;
  font-family: var(--f-text); font-size: var(--t-app); line-height: 1.5; font-weight: 400;
  font-kerning: normal; font-synthesis: none;
  font-variant-numeric: tabular-nums; text-wrap: pretty;
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
}
.app *,
.app *::before,
.app *::after { box-sizing: border-box; }
:where(.app) p,
:where(.app) ul { margin: 0; padding: 0; }
.app ul { list-style: none; }
.app b { font-weight: 600; }
.app svg { display: block; flex: none; }
.app .av { display: block; border-radius: 50%; object-fit: cover; flex: none; background: var(--side); }
.app .ico { width: 18px; height: 18px; }
.app .ico--16 { width: 16px; height: 16px; }
.app .ico--12 { width: 12px; height: 12px; }
.app .t-label-app { font-size: var(--t-small); line-height: 1; font-weight: 500; letter-spacing: 0; color: var(--muted-body); }
:where(.app) .app-bar { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: var(--side-w) 1fr; z-index: 2; pointer-events: none; }
:where(.app) .app-bar__side { position: relative; display: flex; align-items: center; justify-content: flex-end; padding-right: var(--s-12); }
:where(.app) .app-bar__main { position: relative; display: flex; align-items: center; justify-content: center; background: var(--paper); }
:where(.app) .lights { position: absolute; left: 20px; top: 0; height: var(--app-bar); display: flex; align-items: center; gap: 8px; }
:where(.app) .lights i { width: 12px; height: 12px; border-radius: 50%; display: block; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.2); }
:where(.app) .lights__r { background: #FF5F57; }
:where(.app) .lights__y { background: #FEBC2E; }
:where(.app) .lights__g { background: #28C840; }
:where(.app) .app-bar__tools { display: flex; align-items: center; gap: 0; }
:where(.app) .tool { width: 32px; height: 32px; display: grid; place-items: center; border-radius: var(--r-8); color: var(--ink-2); }
:where(.app) .who-chip { display: inline-flex; align-items: center; gap: var(--s-8); height: 36px; padding: 0 16px 0 6px; border-radius: var(--r-pill); background: var(--paper); box-shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(70,38,20,.06); }
:where(.app) .who-chip b { font-size: 15px; line-height: 1; }
:where(.app) .who-chip span { font-size: var(--t-small); line-height: 1; color: var(--muted-body); }
:where(.app) .who-chip .av { width: 24px; height: 24px; }
:where(.app) .side { grid-column: 1; grid-row: 1 / -1; display: flex; flex-direction: column; padding-top: var(--app-bar); min-height: 0;
  background: var(--side); border-right: 1px solid var(--line-soft); }
:where(.app) .dot { width: 6px; height: 6px; border-radius: 50%; display: block; flex: none; }
:where(.app) .dot--coral { background: var(--coral); }
:where(.app) .dot--pulse { box-shadow: 0 0 0 3px color-mix(in srgb, var(--coral) 22%, transparent); animation: app-pulse 1.8s ease-in-out infinite; }
:where(.app) .team { padding: var(--s-8) var(--s-8) 0; display: flex; flex-direction: column; gap: 2px; }
:where(.app) .trow { height: 60px; display: flex; align-items: center; gap: var(--s-12); padding: 0 var(--s-12); border-radius: var(--r-12); }
:where(.app) .trow--sel { background: color-mix(in srgb, var(--side) 95%, var(--ink)); }
:where(.app) .trow .av { width: 40px; height: 40px; }
:where(.app) .trow__t { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
:where(.app) .trow__top { display: flex; align-items: center; justify-content: space-between; gap: var(--s-8); }
:where(.app) .trow__top b { font-size: 15.5px; line-height: 20px; letter-spacing: -.003em; }
:where(.app) .trow__top time { font-size: 12.5px; line-height: 20px; color: var(--muted-body); }
:where(.app) .trow__top .dot { margin-right: 4px; }
:where(.app) .trow small { font-size: 14px; line-height: 20px; color: var(--muted-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:where(.app) .me { margin-top: auto; margin-bottom: var(--app-side-pad); height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--s-12) 0 var(--s-20); border-top: 1px solid var(--line-soft); }
:where(.app) .me__who { display: flex; align-items: center; gap: var(--s-12); }
:where(.app) .me em { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--cream-hi); font-style: normal; font-size: var(--t-small); font-weight: 600; line-height: 1; }
:where(.app) .me b { font-size: 15.5px; font-weight: 500; }
:where(.app) .chat { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; min-width: 0; min-height: 0; position: relative; background: var(--paper); padding-bottom: var(--bar-pad); }
:where(.app) .chat__scroll { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; padding: var(--s-16) var(--s-56) 0; }
:where(.app) .col { width: 100%; max-width: 768px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s-24); }
:where(.app) .date { text-align: center; margin-bottom: -8px; }
:where(.app) .msg { display: flex; gap: var(--s-12); align-items: flex-start; }
:where(.app) .msg .av { width: 32px; height: 32px; }
:where(.app) .msg--u { justify-content: flex-end; }
:where(.app) .bub { max-width: 600px; padding: 16px 20px; border-radius: 20px 20px 20px 6px; background: var(--bubble); color: var(--ink); font-size: var(--t-msg); line-height: 1.5; }
:where(.app) .bub--u { max-width: 520px; text-wrap: balance; border-radius: 20px 20px 6px 20px; background: var(--ink); color: var(--cream-hi); }
:where(.app) .tstrip { margin-left: 44px; height: 72px; display: grid; grid-template-columns: repeat(3, 1fr); border-radius: var(--r-16); background: var(--paper); box-shadow: 0 0 0 1px var(--line), var(--sh-card); overflow: hidden; }
:where(.app) .scell { display: flex; align-items: center; gap: var(--s-12); padding: 0 var(--s-20); min-width: 0; }
:where(.app) .scell + .scell { border-left: 1px solid var(--line-soft); }
:where(.app) .scell .av { width: 36px; height: 36px; }
:where(.app) .scell__t { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-width: 0; }
:where(.app) .scell__t b { font-size: 15.5px; line-height: 1.15; }
:where(.app) .cap { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: var(--r-pill); font-size: var(--t-small); line-height: 1; font-weight: 500; white-space: nowrap; }
:where(.app) .cap--work { background: var(--work-bg); color: var(--work-ink); }
:where(.app) .cap--ready { background: var(--ok-bg); color: var(--ok-ink); padding-left: 8px; }
:where(.app) .cap--next { background: var(--queue-bg); color: var(--queue-ink); }
:where(.app) .spin { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid color-mix(in srgb, var(--work-ink) 28%, transparent); border-top-color: var(--work-ink); animation: app-spin .9s linear infinite; }
:where(.app) .reply { --pop-gap: 8px; --pop-x: 12px; --pop-h: 408px; position: relative; z-index: 5; flex: none; height: 64px; margin: 0 var(--s-56); align-self: center; width: calc(100% - 112px); max-width: 768px; display: flex; align-items: center; gap: var(--s-12); padding: 0 12px;
  border-radius: var(--r-18); background: var(--paper); box-shadow: 0 0 0 1px var(--line), inset 0 2px 3px -1px rgba(70,38,20,.07), 0 1px 0 rgba(255,255,255,.9); }
:where(.app) .model { height: 40px; display: inline-flex; align-items: center; gap: var(--s-8); padding: 0 var(--s-12) 0 var(--s-8); border-radius: var(--r-pill); background: color-mix(in srgb, var(--ink) 5%, transparent); box-shadow: inset 0 0 0 1px var(--line-soft); font-size: 15px; font-weight: 500; line-height: 1; color: var(--ink); white-space: nowrap; }
:where(.app) .model__tile { position: relative; width: 24px; height: 24px; border-radius: var(--r-6); overflow: hidden; flex: none; }
:where(.app) .model__tile::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--ring-tile); }
:where(.app) .model__mark { width: 24px; height: 24px; }
:where(.app) .model__chev { width: 14px; height: 14px; color: var(--muted-body); }
:where(.app) .reply__ph { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--muted-body); font-size: var(--t-msg); line-height: 1; }
:where(.app) .reply__mic { width: 36px; height: 36px; display: grid; place-items: center; border-radius: var(--r-8); color: var(--ink-2); }
:where(.app) .reply__send { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--cream-hi); }
.app--chat { --app-bar: 52px; --bar-pad: var(--win-pad, 80px); grid-template-columns: 1fr; }
.app--chat .side { display: none; }
.app--chat .app-bar,
.app--chat .chat { grid-column: 1; }
.app--chat .app-bar { grid-template-columns: 1fr; }
.app--chat .app-bar__side { display: none; }
.app--chat .app-bar__main { justify-content: center; }
.app--chat .app-bar__main::before { content: ""; position: absolute; left: 18px; top: 20px; width: 12px; height: 12px; border-radius: 50%; background: #FF5F57; 
  box-shadow: 20px 0 0 #FEBC2E, 40px 0 0 #28C840, inset 0 0 0 .5px rgba(0,0,0,.2); }
.app--chat .chat__scroll { padding: var(--s-16) var(--s-16) 0; }
.app--chat .col { gap: var(--s-20); }
.app--chat .date,
.app--chat .msg--u { display: none; }
.app--chat .bub { max-width: calc(100% - 44px); }
.app--chat .tstrip { margin-left: 0; height: auto; }
.app--chat .scell { flex-direction: column; justify-content: center; gap: var(--s-8); padding: var(--s-16) var(--s-8); }
.app--chat .scell__t { align-items: center; gap: 6px; }
.app--chat .cap { padding: 0 9px; height: 22px; font-size: 13px; }
.app--chat .cap--ready { padding-left: 7px; }
.app--chat .reply { margin: 0 var(--s-12); width: calc(100% - 24px); height: 56px; gap: var(--s-8); padding: 0 8px; --pop-x: -4px; --pop-h: 408px; }
.app--chat .model { height: 40px; padding: 0 10px 0 6px; font-size: 14.5px; gap: 6px; }
.app--chat .model__chev { display: none; }
.app--chat .reply__ph { font-size: 16px; }
.app--chat .reply__mic { display: none; }
.app--chat .reply__send { width: 36px; height: 36px; }
.app--chat .pop { width: 334px; }
@keyframes app-pulse { 50% { box-shadow: 0 0 0 5px color-mix(in srgb, var(--coral) 8%, transparent); } }
@keyframes app-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
.app .dot--pulse,
.app .spin { animation: none; }
}
.app .model__mark--claude,
.app .lbl--claude { display: none; }
.app[data-state="end"] .model__mark--claude { display: block; }
.app[data-state="end"] .lbl--claude { display: inline; }
.app[data-state="end"] .model__mark--gpt,
.app[data-state="end"] .lbl--gpt { display: none; }
.app[data-state="menu"] .model { background: var(--side); box-shadow: inset 0 0 0 1px var(--line), inset 0 1px 3px rgba(43,29,25,.16); }
.app[data-state="menu"] .model__chev { transform: rotate(180deg); }
:where(.app) .pop { position: absolute; z-index: 6; left: var(--pop-x); bottom: calc(100% + var(--pop-gap)); width: 328px; height: var(--pop-h);
  border-radius: var(--r-14); color: var(--ink); text-align: left;
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  -webkit-backdrop-filter: blur(24px) saturate(1.4); backdrop-filter: blur(24px) saturate(1.4);
  box-shadow: var(--sh-pop);
  opacity: 0; visibility: hidden; transform: translateY(6px) scale(.98); transform-origin: 24px 100%; pointer-events: none; }
.app[data-state="menu"] .pop { opacity: 1; visibility: visible; transform: none; }
:where(.app) .pop__head { height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--s-16); border-bottom: 1px solid var(--line-soft); font-size: var(--t-small); line-height: 1; }
:where(.app) .pop__head b { font-weight: 600; color: var(--ink-2); }
:where(.app) .pop__head span { color: var(--muted-body); font-weight: 400; }
:where(.app) .pop__list { padding: 6px; }
:where(.app) .mrow { height: 52px; display: flex; align-items: center; gap: var(--s-12); padding: 0 10px; border-radius: var(--r-10); }
.app[data-state="menu"] .mrow--claude { background: color-mix(in srgb, var(--ink) 6%, transparent); }
:where(.app) .mrow__tile { position: relative; width: 32px; height: 32px; border-radius: var(--r-8); overflow: hidden; flex: none; background: var(--paper); }
:where(.app) .mrow__tile img { display: block; width: 100%; height: 100%; }
:where(.app) .mrow--ollama .mrow__tile img { padding: 3px; }
:where(.app) .mrow__tile::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--ring-tile); }
:where(.app) .mrow__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
:where(.app) .mrow__t b { font-size: 16px; line-height: 19px; font-weight: 600; letter-spacing: -.003em; color: var(--ink); }
:where(.app) .mrow__t small { font-size: var(--t-small); line-height: 16px; color: var(--muted-body); }
:where(.app) .mrow__check { width: 14px; height: 14px; color: var(--ink); flex: none; }
:where(.app) .pop__foot { height: 44px; display: flex; align-items: center; gap: 18px; padding: 0 var(--s-16) 0 20px; border-top: 1px solid var(--line-soft); font-size: 14px; line-height: 1; font-weight: 500; color: var(--ink-2); }
:where(.app) .pop__foot svg { width: 16px; height: 16px; color: var(--ink-2); }
:where(.app) .pointer { position: absolute; z-index: 7; width: 14px; height: 20px; pointer-events: none; overflow: visible;
  left: calc(var(--pop-x) + 144px); top: calc(0px - var(--pop-gap) - var(--pop-h) + 116px - 1px);
  filter: drop-shadow(0 1px 1.5px rgba(43,29,25,.30)); opacity: 0; visibility: hidden; }
:where(.app) .pointer path { fill: white; stroke: var(--ink); stroke-width: 1; stroke-linejoin: round; }
.app[data-state="menu"] .pointer { opacity: 1; visibility: visible; }
:where(.app) .divider,
:where(.app) .msg--carry { display: none; }
.app[data-state="end"] .divider { display: flex; }
.app[data-state="end"] .msg--carry { display: flex; }
:where(.app) .divider { align-items: center; gap: var(--s-16); font-size: var(--t-small); line-height: 1; font-weight: 500; color: var(--muted-body); }
:where(.app) .divider::before,
:where(.app) .divider::after { content: ""; flex: 1; height: 1px; background: var(--line); position: relative; top: -1px; }
@media (prefers-reduced-motion: reduce) {
:where(.app) .pop,
:where(.app) .pointer { transition: none; }
}
:where(.app) .vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
