.chat-page{--side:272px;--bar:56px;grid-template-columns:var(--side) minmax(0, 1fr);min-height:calc(100vh - var(--top));background:var(--page);transition:grid-template-columns .2s;display:grid}.chat-page.side-collapsed{grid-template-columns:0 minmax(0,1fr)}.chat-icon-button{all:unset;box-sizing:border-box;width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;font-size:18px;transition:background .15s,color .15s;display:inline-grid}.chat-icon-button:hover,.chat-icon-button:focus-visible{background:var(--soft);color:var(--ink)}.chat-icon-button:focus-visible{outline:2px solid var(--sel);outline-offset:1px}.chat-side{top:var(--top);height:calc(100vh - var(--top));border-right:1px solid var(--line);background:#f7faf8;justify-content:flex-end;align-self:start;transition:visibility;display:flex;position:sticky;overflow:hidden}.side-collapsed .chat-side{visibility:hidden;transition:visibility 0s linear .2s}.chat-side-inner{width:var(--side);flex-direction:column;flex:none;height:100%;display:flex}.chat-side-head{align-items:center;gap:6px;padding:14px 12px 8px;display:flex}.chat-new{height:38px;color:var(--ink);font:600 14px var(--sans);border-radius:10px;flex:1;align-items:center;gap:9px;padding:0 12px;text-decoration:none;transition:background .15s;display:flex}.chat-new:hover,.chat-new:focus-visible{background:var(--soft)}.chat-new i{color:var(--hero-text);font-size:17px}.chat-search{border:1px solid var(--line);background:var(--surface);height:34px;color:var(--faint);border-radius:10px;align-items:center;gap:8px;margin:0 12px 6px;padding:0 10px;display:flex}.chat-search:focus-within{border-color:var(--line2)}.chat-search input{min-width:0;font:400 13.5px var(--sans);color:var(--ink);background:0 0;border:0;outline:none;flex:1}.chat-side-list{scrollbar-width:thin;flex:1;padding:0 8px 24px;overflow-y:auto}.chat-thread-group h2{font:600 11.5px/1 var(--sans);letter-spacing:.02em;color:var(--faint);margin:16px 12px 4px}.chat-thread{border-radius:9px;align-items:center;display:flex}.chat-thread a{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:400 14px/1.35 var(--sans);color:var(--ink2);flex:1;padding:7px 10px;text-decoration:none;overflow:hidden}.chat-thread:hover{background:var(--soft)}.chat-thread.active{background:var(--hero-tint)}.chat-thread.active a{color:var(--ink);font-weight:600}.chat-thread button{all:unset;font:700 12px var(--sans);color:var(--muted);cursor:pointer;opacity:0;border-radius:6px;flex:none;margin-right:4px;padding:4px 6px}.chat-thread:is(:hover,:focus-within) button,.chat-thread button.confirm{opacity:1}.chat-thread button:hover,.chat-thread button:focus-visible{color:var(--alert-text)}.chat-thread button.confirm{background:var(--alert-tint);color:var(--alert-text)}.chat-side-none{color:var(--muted);margin:14px 12px;font-size:13.5px}.chat-main{flex-direction:column;min-width:0;display:flex}.chat-bar{top:var(--top);z-index:5;height:var(--bar);background:rgb(var(--page-rgb) / .86);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);align-items:center;gap:8px;padding:0 14px;display:flex;position:sticky}.chat-bar h1{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;font:600 14.5px/1 var(--sans);color:var(--ink);flex:1;margin:0;overflow:hidden}.chat-show-side{visibility:hidden}.side-collapsed .chat-show-side{visibility:visible}.chat-main.fresh{min-height:calc(100vh - var(--top))}.chat-main.fresh .chat-hello{margin-top:max(48px,16vh)}.chat-hello,.chat-log,.chat-compose,.chat-starters{width:min(760px,100% - 48px);margin-left:auto;margin-right:auto}.chat-hello{text-align:center}.chat-hello h2{font:600 44px/1.1 var(--sans);letter-spacing:-.03em;color:var(--ink);letter-spacing:-.01em;margin:0 0 10px}.chat-hello p{max-width:500px;font:400 16px/1.55 var(--sans);color:var(--muted);margin:0 auto 30px}.chat-log{overflow-anchor:none;flex-direction:column;flex:1;gap:30px;padding:18px 0 28px;display:flex}.chat-turn{min-height:calc(100dvh - var(--top) - var(--bar) - 160px);flex-direction:column;gap:30px;display:flex}.chat-msg.arriving{animation:.28s cubic-bezier(.2,.8,.2,1) both chat-in}@keyframes chat-in{0%{opacity:0;transform:translateY(6px)}}.chat-msg.user{scroll-margin-top:calc(var(--top) + var(--bar) + 20px);justify-content:flex-end;display:flex}.chat-user-bubble{max-width:min(78%,600px);color:var(--ink);font:400 15.5px/1.6 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:#eef3f0;border-radius:22px;padding:11px 17px}.chat-msg.factory{min-width:0;font:400 16px/1.7 var(--sans);color:var(--ink);position:relative}.chat-orb{background:radial-gradient(circle at 35% 35%, #7fe0bd, var(--hero) 60%, var(--hero-text));border-radius:50%;flex:none;width:10px;height:10px;animation:1.4s ease-in-out infinite chat-breathe;display:inline-block;box-shadow:0 0 #23946f59}@keyframes chat-breathe{50%{transform:scale(.75);box-shadow:0 0 0 6px #23946f00}}.chat-thinking{font:500 15px var(--sans);background:linear-gradient(90deg, var(--faint) 0%, var(--ink) 50%, var(--faint) 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;align-items:center;gap:10px;margin:0;animation:1.6s linear infinite chat-shimmer;display:flex}@keyframes chat-shimmer{to{background-position:-200% 0}}.chat-writing .chat-md>:last-child:after{content:"";vertical-align:.05em;background:var(--hero);border-radius:50%;width:8px;height:8px;margin-left:6px;animation:1s ease-in-out infinite chat-breathe;display:inline-block}.chat-md>:last-child{margin-bottom:0}.chat-md p{margin:0 0 12px}.chat-md h3{font:600 21px/1.3 var(--sans);letter-spacing:-.03em;margin:20px 0 8px}.chat-md h4{font:700 15.5px/1.4 var(--sans);margin:16px 0 6px}.chat-md>h3:first-child,.chat-md>h4:first-child{margin-top:0}.chat-md ul,.chat-md ol{margin:0 0 12px;padding-left:22px}.chat-md li{margin:4px 0}.chat-md li>ul{margin:4px 0 0}.chat-md li::marker{color:var(--faint)}.chat-md code{background:var(--soft);font:400 .85em var(--mono);border-radius:5px;padding:1px 5px}.chat-md a{color:var(--hero-text);text-decoration:underline;-webkit-text-decoration-color:var(--line2);text-decoration-color:var(--line2);text-underline-offset:3px}.chat-md a:hover{text-decoration-color:currentColor}.chat-md a.chat-code-link{text-decoration:none}.chat-md a.chat-code-link code{color:var(--agent-text);background:var(--agent-tint)}.chat-md a.chat-code-link:hover code{text-decoration:underline}.chat-md blockquote{border-left:3px solid var(--hero);color:var(--ink2);margin:0 0 12px;padding:2px 0 2px 14px}.chat-md hr{border:0;border-top:1px solid var(--line);margin:16px 0}.chat-table{border:1px solid var(--line);border-radius:10px;margin:0 0 12px;overflow-x:auto}.chat-table table{border-collapse:collapse;width:100%;font-size:14.5px}.chat-table th,.chat-table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.chat-table th{background:var(--panel);border-top:0;font-weight:700}.chat-codeblock{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:hidden}.chat-codeblock-head{background:var(--panel);border-bottom:1px solid var(--line);font:500 12px var(--mono);color:var(--muted);justify-content:space-between;align-items:center;padding:6px 8px 6px 14px;display:flex}.chat-codeblock-head button{all:unset;font:600 12px var(--sans);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.chat-codeblock-head button:hover,.chat-codeblock-head button:focus-visible{background:var(--surface);color:var(--ink)}.chat-codeblock pre{background:var(--dialog);font:400 13px/1.6 var(--mono);margin:0;padding:12px 14px;overflow-x:auto}.chat-codeblock pre code{font:inherit;background:0 0;padding:0}.chat-ref{vertical-align:1px;border:1px solid var(--line2);background:var(--surface);max-width:100%;height:24px;font:600 12.5px/1 var(--mono);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0 1px;padding:0 9px 0 8px;display:inline-flex}button.chat-ref:hover{border-color:var(--hero);background:var(--hero-tint)}.chat-ref.unknown{cursor:default;color:var(--muted)}.chat-ref-gem{background:var(--ref,var(--faint));flex:none;width:7px;height:7px;transform:rotate(45deg)}.chat-ref-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font:600 13px/1 var(--sans);color:var(--ink2);overflow:hidden}.chat-ref.s-triage,.chat-ref.s-build,.chat-ref.s-complete{--ref:var(--hero)}.chat-ref.s-shape{--ref:var(--sand)}.chat-ref.s-ship{--ref:var(--agent)}.chat-steps{margin:0 0 14px}.chat-steps-toggle{all:unset;box-sizing:border-box;max-width:100%;font:500 14px/1.4 var(--sans);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:4px 10px 4px 2px;display:inline-flex}.chat-steps-toggle:hover{color:var(--ink)}.chat-steps-toggle:focus-visible{outline:2px solid var(--sel)}.chat-steps-toggle>i:first-child{color:var(--hero);font-size:15px}.chat-steps-label,.chat-steps-last{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-steps.working .chat-steps-label{color:var(--ink2)}.chat-steps-last{color:var(--faint)}.chat-steps-last:before{content:"·";margin-right:8px}.chat-steps-chevron{color:var(--faint);flex:none;font-size:14px;transition:transform .15s}.chat-steps.open .chat-steps-chevron{transform:rotate(90deg)}.chat-steps ol{border-left:1px solid var(--line);margin:6px 0 4px 6px;padding:2px 0 2px 16px;list-style:none}.chat-steps li{font:400 13.5px/1.45 var(--sans);color:var(--muted);align-items:baseline;gap:9px;padding:3px 0;display:flex}.chat-steps li i{color:var(--hero);flex:none}.chat-steps li.failed i{color:var(--alert)}.chat-steps li.thought{white-space:pre-wrap;color:var(--ink2);font-style:italic}.chat-steps li.thought i{color:var(--sand)}.chat-steps li.running i{animation:.9s linear infinite chat-spin}.chat-steps.live ol{border:0;margin:0;padding:0}.chat-steps.live li{align-items:center;font-size:14.5px;animation:.25s ease-out both chat-in}.chat-steps.live li>:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-steps.live li.current{color:var(--ink);font-style:normal}.chat-steps.live li .chat-orb{margin:0 2px}.chat-steps.live li.earlier,.chat-steps.live li.earlier i{color:var(--faint);animation:none}.chat-elapsed{font:500 12.5px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--faint);flex:none;margin-left:auto;padding-left:12px}.chat-thinking .chat-elapsed{color:var(--faint);-webkit-text-fill-color:var(--faint);margin-left:4px}.chat-steps code{background:var(--soft);font:400 12.5px var(--mono);border-radius:5px;padding:1px 5px}@keyframes chat-spin{to{transform:rotate(360deg)}}.chat-error{background:var(--alert-tint);color:var(--alert-text);font:500 14px/1.4 var(--sans);border-radius:12px;align-items:center;gap:10px;margin-top:4px;padding:10px 12px;display:flex}.chat-error span{flex:1}.chat-error button{all:unset;background:var(--surface);color:var(--alert-text);font:700 13px var(--sans);cursor:pointer;border-radius:999px;padding:5px 12px}.chat-stopped{font:500 13px var(--sans);color:var(--faint);margin:6px 0 0}.chat-actions{opacity:0;gap:2px;margin:6px 0 0 -8px;transition:opacity .15s;display:flex}.chat-actions .chat-icon-button{width:30px;height:30px;font-size:16px}.chat-msg:hover .chat-actions,.chat-actions:focus-within{opacity:1}.chat-msg:has(+.chat-end) .chat-actions{opacity:1}@media (hover:none){.chat-actions{opacity:1}}.chat-jump{bottom:128px;left:calc(50% + var(--side) / 2);z-index:6;border:1px solid var(--line2);background:var(--surface);width:36px;height:36px;box-shadow:0 6px 18px var(--shade2);color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;font-size:18px;animation:.2s ease-out both chat-in;display:grid;position:fixed;transform:translate(-50%)}.side-collapsed .chat-jump{left:50%}.chat-compose{z-index:4;padding:0 0 20px;position:sticky;bottom:0}.chat-compose:before{content:"";z-index:-1;background:linear-gradient(rgb(var(--page-rgb) / 0), var(--page) 40%);pointer-events:none;position:absolute;inset:-28px -24px 0}.chat-compose.centered{padding:0;position:static}.chat-compose.centered:before{display:none}.chat-input{border:1px solid var(--line);background:var(--surface);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .04), 0 12px 36px rgb(var(--scrim-rgb) / .09);cursor:text;border-radius:24px;padding:14px 12px 10px 18px;transition:border-color .15s,box-shadow .15s}.chat-input:focus-within{border-color:var(--line2);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .04), 0 16px 44px rgb(var(--scrim-rgb) / .13)}.chat-input textarea{resize:none;width:100%;min-height:26px;max-height:240px;font:400 16px/1.55 var(--sans);color:var(--ink);background:0 0;border:0;outline:none;padding:0;display:block}.chat-input textarea::placeholder{color:var(--faint)}.chat-input-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.chat-hint{font:400 12px var(--sans);color:var(--faint)}.chat-send{background:var(--solid);width:34px;height:34px;color:var(--on-solid);cursor:pointer;border:0;border-radius:50%;place-items:center;margin-left:auto;font-size:18px;transition:background .15s,transform .1s;display:grid}.chat-send:hover{background:var(--hero-text)}.chat-send:active{transform:scale(.94)}.chat-send:disabled{background:var(--soft);color:var(--faint);cursor:default;transform:none}.chat-send.stop span{background:var(--on-solid);border-radius:3px;width:11px;height:11px}.chat-starters{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.chat-starter{all:unset;box-sizing:border-box;border:1px solid var(--line);background:var(--surface);height:38px;font:500 14px var(--sans);color:var(--ink2);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.chat-starter:hover,.chat-starter:focus-visible{border-color:var(--line2);color:var(--ink);background:#f7faf8}.chat-starter i{color:var(--hero-text);font-size:16px}.chat-scrim{display:none}@media (width<=860px){.chat-page,.chat-page.side-collapsed{grid-template-columns:minmax(0,1fr)}.chat-side{display:none}.chat-side.open .chat-side-inner{width:100%}.chat-side.open{visibility:visible;top:var(--top);z-index:30;width:min(320px,86vw);height:calc(100dvh - var(--top));box-shadow:0 20px 60px rgb(var(--scrim-rgb) / .25);display:flex;position:fixed;left:0}.chat-collapse{display:none}.chat-show-side{visibility:visible}.chat-scrim{inset:var(--top) 0 0;z-index:29;background:rgb(var(--scrim-rgb) / .25);border:0;display:block;position:fixed}.chat-hello,.chat-log,.chat-compose,.chat-starters{width:calc(100% - 28px)}.chat-hello h2{font-size:34px}.chat-jump,.side-collapsed .chat-jump{left:50%}.chat-hint{display:none}}@media (prefers-reduced-motion:reduce){.chat-thinking,.chat-orb,.chat-writing .chat-md>:last-child:after,.chat-steps li.running i,.chat-steps.live li,.chat-msg.arriving,.chat-jump{animation:none}}.chat-card{text-align:left;width:100%;font:inherit;color:inherit;margin:8px 0;display:block}.chat-card.item{background:var(--panel);cursor:pointer;border:0;gap:6px;padding:16px 20px;display:grid}.chat-card.item strong{font:600 21px/1.25 var(--sans);letter-spacing:-.03em}.chat-card.item:hover{background:var(--mist)}.chat-card.list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.chat-card.list button{border:0;border-top:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:64px 1fr auto;gap:10px;width:100%;padding:9px 14px;font-size:14px;display:grid}.chat-card.list button:first-child{border-top:0}.chat-card.list button:hover{background:var(--panel)}.chat-card.core{border:1px solid var(--line2);background:var(--surface);border-radius:14px;padding:14px 16px}.chat-card.proposal{border:1px solid var(--line2);background:var(--surface);box-shadow:0 10px 28px rgb(var(--shadow-rgb) / .07);border-radius:16px;margin:4px 0 12px;padding:18px 20px 16px}.chat-card.proposal.decided{box-shadow:none}.chat-proposal-head{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.chat-proposal-kind{font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;letter-spacing:.16em;text-transform:uppercase;color:var(--hero-text);align-items:center;gap:6px;display:inline-flex}.chat-proposal-head strong{font:600 22px/1.25 var(--sans);letter-spacing:-.03em;color:var(--ink)}.chat-card.proposal h4{font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}.chat-card.proposal .chat-md{font-size:15px}.chat-folded{position:relative}.chat-folded.closed .chat-folded-body{max-height:220px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.chat-folded-toggle{all:unset;font:700 13px var(--sans);color:var(--hero-text);cursor:pointer;align-items:center;gap:4px;margin-top:4px;display:inline-flex}.chat-proposal-checks{gap:8px;margin:6px 0 0;padding:0;list-style:none;display:grid}.chat-proposal-checks li{align-items:flex-start;gap:10px;display:flex}.chat-proposal-check{background:var(--hero-tint);width:22px;height:22px;color:var(--hero-text);font:700 12px var(--sans);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.chat-proposal-actions{border-top:1px solid var(--soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.chat-proposal-actions button.badge{cursor:pointer;font:inherit;border:0}.chat-proposal-note{font:400 12.5px var(--sans);color:var(--faint);flex-basis:100%}.chat-core-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.chat-core-head .mono{color:var(--hero-text);background:var(--hero-tint);border-radius:6px;padding:3px 8px;font-size:12px}.chat-core-actions{gap:8px;margin-top:6px;display:flex}.chat-diff{background:var(--panel);font:13px/1.6 var(--mono);white-space:pre-wrap;border-radius:10px;margin:0 0 10px;padding:10px 0;overflow-x:auto}.chat-diff div{padding:0 12px}.diff-add{color:#0f5a43;background:#dcf3e7}.diff-remove{background:var(--alert-tint);color:var(--alert-text);-webkit-text-decoration:line-through #c8361b66;text-decoration:line-through #c8361b66}.diff-same{color:var(--muted)}.diff-gap{color:var(--faint)}.core-tabs{flex-wrap:wrap;gap:4px;margin-bottom:22px;display:flex}.core-tab{height:32px;box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / .12);color:var(--muted);font:500 12px/1 var(--mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:7px;padding:0 12px;text-decoration:none;display:inline-flex}.core-tab:hover{color:var(--ink);box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / .25)}.core-tab[aria-current=page]{background:var(--solid);box-shadow:none;color:var(--on-solid)}.core-tab i{background:var(--agent);border-radius:50%;width:7px;height:7px}.core-tab b{background:var(--sand-tint);min-width:18px;height:18px;color:var(--sand-text);font:700 10.5px/1 var(--sans);border-radius:999px;place-items:center;padding:0 5px;display:grid}.core-lede{max-width:640px;margin:-8px 0 24px}.core-history .eyebrow{margin:0 0 12px}.core-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:28px;display:grid}.core-doc{background:var(--panel);padding:20px 26px}.core-doc-head{color:var(--hero-text);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.core-doc pre{white-space:pre-wrap;font:14px/1.65 var(--mono);color:var(--ink);margin:0}.core-history ol{margin:0 0 14px;padding:0;list-style:none}.core-history li a{border-left:2px solid var(--line);color:var(--ink);padding:8px 12px;font-size:14px;text-decoration:none;display:block}.core-history li a:hover{border-left-color:var(--hero);background:var(--panel)}.core-history small{margin-top:2px;display:block}.core-history>p{margin:0 0 14px}.core-propose{gap:8px;margin-bottom:24px;display:grid}.core-propose textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;padding:10px 12px}.core-propose .btn{justify-self:start}@media (width<=900px){.core-grid{grid-template-columns:1fr}}[data-theme=dark] .chat-side{background:var(--panel)}[data-theme=dark] .chat-starter:hover,[data-theme=dark] .chat-starter:focus-visible,[data-theme=dark] .chat-user-bubble{background:var(--soft)}[data-theme=dark] .chat-card.item,[data-theme=dark] .core-doc{background:var(--surface)}[data-theme=dark] .chat-card.list button:hover{background:var(--soft)}[data-theme=dark] .diff-add{background:var(--hero-tint);color:var(--hero-text)}[data-theme=dark] .diff-remove{text-decoration-color:#ff8b7073}
