toyon 0.0.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +116 -2
  2. package/bin/toyon.js +46 -0
  3. package/cloud/Dockerfile +32 -0
  4. package/cloud/entrypoint.sh +66 -0
  5. package/dist/bridge.js +1 -0
  6. package/dist/cli.js +1466 -0
  7. package/dist/daemon.js +25838 -0
  8. package/dist/shell/assets/Editor-CB2SckMT.css +1 -0
  9. package/dist/shell/assets/Editor-D-PlbMSY.js +928 -0
  10. package/dist/shell/assets/XTerm-6GBZ9nXN.css +32 -0
  11. package/dist/shell/assets/XTerm-CM_FJEwN.js +40 -0
  12. package/dist/shell/assets/abap-DLDM7-KI.js +1 -0
  13. package/dist/shell/assets/apex-DNDY2TF8.js +1 -0
  14. package/dist/shell/assets/azcli-Y6nb8tq_.js +1 -0
  15. package/dist/shell/assets/bat-BwHxbl9M.js +1 -0
  16. package/dist/shell/assets/bicep-CFznDFnq.js +2 -0
  17. package/dist/shell/assets/cameligo-Bf6VGUru.js +1 -0
  18. package/dist/shell/assets/clojure-Dnu-v4kV.js +1 -0
  19. package/dist/shell/assets/codicon-Brq4_Ui5.ttf +0 -0
  20. package/dist/shell/assets/coffee-Bd8akH9Z.js +1 -0
  21. package/dist/shell/assets/cpp-BbWJElDN.js +1 -0
  22. package/dist/shell/assets/csharp-Co3qMtFm.js +1 -0
  23. package/dist/shell/assets/csp-D-4FJmMZ.js +1 -0
  24. package/dist/shell/assets/css-DdJfP1eB.js +3 -0
  25. package/dist/shell/assets/css.worker-CqwWTjeG.js +97 -0
  26. package/dist/shell/assets/cssMode-Bkqyr9Lr.js +1 -0
  27. package/dist/shell/assets/cypher-cTPe9QuQ.js +1 -0
  28. package/dist/shell/assets/dart-BOtBlQCF.js +1 -0
  29. package/dist/shell/assets/dockerfile-BG73LgW2.js +1 -0
  30. package/dist/shell/assets/ecl-BEgZUVRK.js +1 -0
  31. package/dist/shell/assets/editor.worker-DCKwvLbM.js +30 -0
  32. package/dist/shell/assets/elixir-BkW5O-1t.js +1 -0
  33. package/dist/shell/assets/flow9-BeJ5waoc.js +1 -0
  34. package/dist/shell/assets/freemarker2-DVAK5zoJ.js +3 -0
  35. package/dist/shell/assets/fsharp-PahG7c26.js +1 -0
  36. package/dist/shell/assets/go-acbASCJo.js +1 -0
  37. package/dist/shell/assets/graphql-BxJiqAUM.js +1 -0
  38. package/dist/shell/assets/handlebars-Bdtj7uMl.js +1 -0
  39. package/dist/shell/assets/hcl-DtV1sZF8.js +1 -0
  40. package/dist/shell/assets/html-B1pqTvyA.js +1 -0
  41. package/dist/shell/assets/html.worker-DhJ4VZMp.js +474 -0
  42. package/dist/shell/assets/htmlMode-CBtvzewS.js +1 -0
  43. package/dist/shell/assets/index-GBQLHG7z.css +1 -0
  44. package/dist/shell/assets/index-jy_zeFGs.js +230 -0
  45. package/dist/shell/assets/ini-Kd9XrMLS.js +1 -0
  46. package/dist/shell/assets/java-CXBNlu9o.js +1 -0
  47. package/dist/shell/assets/javascript-FNavUzsm.js +1 -0
  48. package/dist/shell/assets/json.worker-BF9eV5mS.js +62 -0
  49. package/dist/shell/assets/jsonMode-HgW1GXQH.js +7 -0
  50. package/dist/shell/assets/julia-cl7-CwDS.js +1 -0
  51. package/dist/shell/assets/kotlin-s7OhZKlX.js +1 -0
  52. package/dist/shell/assets/less-9HpZscsL.js +2 -0
  53. package/dist/shell/assets/lexon-OrD6JF1K.js +1 -0
  54. package/dist/shell/assets/liquid-6wkVlojW.js +1 -0
  55. package/dist/shell/assets/lspLanguageFeatures-CvNG6b_1.js +4 -0
  56. package/dist/shell/assets/lua-Cyyb5UIc.js +1 -0
  57. package/dist/shell/assets/m3-B8OfTtLu.js +1 -0
  58. package/dist/shell/assets/markdown-BFxVWTOG.js +1 -0
  59. package/dist/shell/assets/mdx-C-byKky3.js +1 -0
  60. package/dist/shell/assets/mips-CiqrrVzr.js +1 -0
  61. package/dist/shell/assets/msdax-DmeGPVcC.js +1 -0
  62. package/dist/shell/assets/mysql-C_tMU-Nz.js +1 -0
  63. package/dist/shell/assets/objective-c-BDtDVThU.js +1 -0
  64. package/dist/shell/assets/pascal-vHIfCaH5.js +1 -0
  65. package/dist/shell/assets/pascaligo-DtZ0uQbO.js +1 -0
  66. package/dist/shell/assets/perl-Ub6l9XKa.js +1 -0
  67. package/dist/shell/assets/pgsql-BlNEE0v7.js +1 -0
  68. package/dist/shell/assets/php-BBUBE1dy.js +1 -0
  69. package/dist/shell/assets/pla-DSh2-awV.js +1 -0
  70. package/dist/shell/assets/postiats-CocnycG-.js +1 -0
  71. package/dist/shell/assets/powerquery-tScXyioY.js +1 -0
  72. package/dist/shell/assets/powershell-COWaemsV.js +1 -0
  73. package/dist/shell/assets/protobuf-Brw8urJB.js +2 -0
  74. package/dist/shell/assets/pug-8SOpv6rk.js +1 -0
  75. package/dist/shell/assets/python-BEJMbP4i.js +1 -0
  76. package/dist/shell/assets/qsharp-Bw9ernYp.js +1 -0
  77. package/dist/shell/assets/r-j7ic8hl3.js +1 -0
  78. package/dist/shell/assets/razor-DeXWW25R.js +1 -0
  79. package/dist/shell/assets/redis-Bu5POkcn.js +1 -0
  80. package/dist/shell/assets/redshift-Bs9aos_-.js +1 -0
  81. package/dist/shell/assets/restructuredtext-CqXO7rUv.js +1 -0
  82. package/dist/shell/assets/ruby-zBfavPgS.js +1 -0
  83. package/dist/shell/assets/rust-BzKRNQWT.js +1 -0
  84. package/dist/shell/assets/sb-BBc9UKZt.js +1 -0
  85. package/dist/shell/assets/scala-D9hQfWCl.js +1 -0
  86. package/dist/shell/assets/scheme-BPhDTwHR.js +1 -0
  87. package/dist/shell/assets/scss-CBJaRo0y.js +3 -0
  88. package/dist/shell/assets/shell-DiJ1NA_G.js +1 -0
  89. package/dist/shell/assets/solidity-Db0IVjzk.js +1 -0
  90. package/dist/shell/assets/sophia-CnS9iZB_.js +1 -0
  91. package/dist/shell/assets/sparql-CJmd_6j2.js +1 -0
  92. package/dist/shell/assets/sql-ClhHkBeG.js +1 -0
  93. package/dist/shell/assets/st-CHwy0fLd.js +1 -0
  94. package/dist/shell/assets/swift-Bqt4WxQ4.js +3 -0
  95. package/dist/shell/assets/systemverilog-Bs9z6M-B.js +1 -0
  96. package/dist/shell/assets/tcl-Dm6ycUr_.js +1 -0
  97. package/dist/shell/assets/ts.worker-DTZAwq0V.js +67735 -0
  98. package/dist/shell/assets/tsMode-DMwJnvD-.js +11 -0
  99. package/dist/shell/assets/twig-Csy3S7wG.js +1 -0
  100. package/dist/shell/assets/typescript-Cj57ccSp.js +1 -0
  101. package/dist/shell/assets/typespec-Btyra-wh.js +1 -0
  102. package/dist/shell/assets/vb-Db0cS2oM.js +1 -0
  103. package/dist/shell/assets/wgsl-BTesnYfV.js +298 -0
  104. package/dist/shell/assets/workers-BZi9jqBp.js +1 -0
  105. package/dist/shell/assets/xml-DUDeQI0I.js +1 -0
  106. package/dist/shell/assets/yaml-BCD8Shg5.js +1 -0
  107. package/dist/shell/icon.svg +3 -0
  108. package/dist/shell/index.html +34 -0
  109. package/dist/shell/manifest.json +21 -0
  110. package/dist/shell/sw.js +4 -0
  111. package/package.json +42 -12
  112. package/LICENSE-APACHE +0 -201
  113. package/index.js +0 -2
  114. /package/{LICENSE-MIT → LICENSE} +0 -0
@@ -0,0 +1 @@
1
+ import{c as D}from"./workers-BZi9jqBp.js";import{H as d,D as l,h as c,F as u,b as h,S as m,c as p,f as w,g as _,C as R}from"./lspLanguageFeatures-CvNG6b_1.js";import{a as b,e as y,d as T,R as U,i as x,j as M,t as j,k as O}from"./lspLanguageFeatures-CvNG6b_1.js";import{l as t}from"./Editor-D-PlbMSY.js";import"./index-jy_zeFGs.js";const I=120*1e3;class f{constructor(n){this._defaults=n,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>I&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=D({moduleId:"vs/language/html/htmlWorker",createWorker:()=>new Worker(new URL("/assets/html.worker-DhJ4VZMp.js",import.meta.url),{type:"module"}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...n){let e;return this._getClient().then(r=>{e=r}).then(r=>{if(this._worker)return this._worker.withSyncedResources(n)}).then(r=>e)}}class v extends R{constructor(n){super(n,[".",":","<",'"',"=","/"])}}function F(i){const n=new f(i),e=(...o)=>n.getLanguageServiceWorker(...o);let r=i.languageId;t.registerCompletionItemProvider(r,new v(e)),t.registerHoverProvider(r,new d(e)),t.registerDocumentHighlightProvider(r,new l(e)),t.registerLinkProvider(r,new c(e)),t.registerFoldingRangeProvider(r,new u(e)),t.registerDocumentSymbolProvider(r,new h(e)),t.registerSelectionRangeProvider(r,new m(e)),t.registerRenameProvider(r,new p(e)),r==="html"&&(t.registerDocumentFormattingEditProvider(r,new w(e)),t.registerDocumentRangeFormattingEditProvider(r,new _(e)))}function L(i){const n=[],e=[],r=new f(i);n.push(r);const o=(...s)=>r.getLanguageServiceWorker(...s);function P(){const{languageId:s,modeConfiguration:a}=i;k(e),a.completionItems&&e.push(t.registerCompletionItemProvider(s,new v(o))),a.hovers&&e.push(t.registerHoverProvider(s,new d(o))),a.documentHighlights&&e.push(t.registerDocumentHighlightProvider(s,new l(o))),a.links&&e.push(t.registerLinkProvider(s,new c(o))),a.documentSymbols&&e.push(t.registerDocumentSymbolProvider(s,new h(o))),a.rename&&e.push(t.registerRenameProvider(s,new p(o))),a.foldingRanges&&e.push(t.registerFoldingRangeProvider(s,new u(o))),a.selectionRanges&&e.push(t.registerSelectionRangeProvider(s,new m(o))),a.documentFormattingEdits&&e.push(t.registerDocumentFormattingEditProvider(s,new w(o))),a.documentRangeFormattingEdits&&e.push(t.registerDocumentRangeFormattingEditProvider(s,new _(o)))}return P(),n.push(g(e)),g(n)}function g(i){return{dispose:()=>k(i)}}function k(i){for(;i.length;)i.pop().dispose()}export{R as CompletionAdapter,b as DefinitionAdapter,y as DiagnosticsAdapter,T as DocumentColorAdapter,w as DocumentFormattingEditProvider,l as DocumentHighlightAdapter,c as DocumentLinkAdapter,_ as DocumentRangeFormattingEditProvider,h as DocumentSymbolAdapter,u as FoldingRangeAdapter,d as HoverAdapter,U as ReferenceAdapter,p as RenameAdapter,m as SelectionRangeAdapter,f as WorkerManager,x as fromPosition,M as fromRange,L as setupMode,F as setupMode1,j as toRange,O as toTextEdit};
@@ -0,0 +1 @@
1
+ @layer tokens,base,surfaces;@layer base{:root{--icon-inline-size: 13px}.icon-inline{width:var(--icon-inline-size);height:var(--icon-inline-size);vertical-align:-2px}}@layer tokens,base,surfaces;@layer base{.spinner{display:inline-block;flex-shrink:0;width:13px;height:13px;vertical-align:-2px;border-radius:50%;border:1.3px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;animation:spin .8s linear infinite}.spinner-dot{width:8px;height:8px;vertical-align:0;border-width:1.5px;color:var(--text1)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{border-color:currentColor;animation:pulse 1.2s ease-in-out infinite}}}@layer tokens,base,surfaces;@layer base{:where(.float){position:fixed;inset:auto;margin:0;border:0;padding:0;background:none;color:inherit;overflow:visible;width:auto;height:auto}@media(display-mode:window-controls-overlay){.float{-webkit-app-region:no-drag;app-region:no-drag}}}@layer tokens,base,surfaces;@layer base{.kbd{display:inline-flex;align-items:baseline;white-space:nowrap;font:var(--type-ui-sm);font-variant-numeric:tabular-nums;letter-spacing:.04em}.kbd-mod{margin-right:1px}.kbd-chip{justify-content:center;padding:3px 6px;color:var(--text0);background:var(--sunken);border:1px solid var(--border0);border-radius:var(--radius)}}@layer tokens,base,surfaces;@layer base{.tooltip{pointer-events:none;max-width:320px;width:max-content;padding:4px 8px;font:var(--type-ui);color:var(--text0);background:var(--surface1);border:1px solid var(--border1);border-radius:var(--radius-md);box-shadow:var(--elevation-float);white-space:pre-line;overflow-wrap:anywhere;animation:tooltip-in-bottom 90ms ease-out}.tooltip[data-side=top]{animation-name:tooltip-in-top}.tooltip[data-side=left]{animation-name:tooltip-in-left}.tooltip[data-side=right]{animation-name:tooltip-in-right}.tooltip[data-side=left]{text-align:right}.tooltip-key{margin-left:12px;color:var(--text1)}.tooltip-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.tooltip-pair{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:baseline}.tooltip-pair>span{text-align:right}.tooltip-pair .tooltip-key{margin-left:0}.tooltip-also{color:var(--text1)}.tooltip-lead{color:var(--text1);text-align:left}.tooltip-lead:last-child{text-align:right}.tooltip-detail{color:var(--text1)}.tooltip-dot{display:inline-block;vertical-align:middle;margin-right:6px}@keyframes tooltip-in-bottom{0%{opacity:0;transform:translateY(-2px)}}@keyframes tooltip-in-top{0%{opacity:0;transform:translateY(2px)}}@keyframes tooltip-in-left{0%{opacity:0;transform:translate(2px)}}@keyframes tooltip-in-right{0%{opacity:0;transform:translate(-2px)}}}@layer tokens,base,surfaces;@layer base{.btn{display:inline-flex;align-items:center;justify-content:center;--btn-gap: 4px;--btn-pad-x: 8px;gap:var(--btn-gap);line-height:1.4;color:var(--text1);border-radius:var(--radius);padding:1px var(--btn-pad-x);white-space:nowrap}.btn-md{padding:4px var(--btn-pad-x)}.btn-lg{padding:4px 16px}.btn:hover{color:var(--text0);background:var(--element0)}.btn:disabled{color:var(--text2);cursor:default;background:none}.btn-outline{border:1px solid var(--border1)}.btn-outline:hover{background:none;color:inherit;border-color:currentColor}.btn-outline:disabled{color:var(--text2);border-color:var(--border0)}.btn-icon{width:20px;height:20px;padding:2px;display:grid;place-items:center;color:var(--text1);border-radius:var(--radius);line-height:1}.btn-icon:hover{color:var(--text0);background:var(--element0)}.btn-icon:disabled{color:var(--text2);cursor:default;background:none}.btn-field{color:var(--text0);background:var(--sunken);border-color:var(--border0)}.btn-field:hover{color:var(--accent);background:var(--sunken);border-color:var(--accent)}.btn-field:disabled,.btn-field:disabled:hover{background:var(--sunken);border-color:var(--border0)}.btn-inline{display:inline;padding:0;border-radius:0;font:inherit;line-height:inherit;color:inherit;white-space:normal;text-decoration:underline dotted var(--border1);text-underline-offset:.2em}.btn-inline:hover{color:var(--text0);background:none;text-decoration:underline solid currentColor}.tone-primary{color:var(--accent)}.tone-quiet{color:var(--text2)}.tone-danger{color:var(--red)}.tone-strong{color:var(--text0)}.btn.on,.btn-icon.on{color:var(--accent)}.tone-chrome.on{color:var(--text0);background:var(--element1)}.tone-chrome:hover{color:var(--text0)}.btn-mono{font:var(--type-mono)}.btn-busy{position:relative}.btn-busy:disabled{color:transparent}.btn-busy>.spinner{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;color:var(--text2)}.deep-link{border-color:var(--border0);align-self:center}.deep-link:hover{color:var(--blue);border-color:var(--border1)}}@layer tokens,base,surfaces;@layer base{.crash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:var(--surface0)}.crash.in-pane{position:absolute;inset:var(--row-height-sm) 0 0 0}.crash-title{font:var(--type-ui);color:var(--text0)}.crash-body{max-width:520px;font:var(--type-mono);color:var(--text2);overflow-wrap:anywhere}}@layer tokens,base,surfaces;@layer base{.view{height:100%;overflow:auto;width:min(var(--view-measure),100%);margin:0 auto;padding:var(--view-top) var(--view-inset);display:flex;flex-direction:column;gap:var(--view-gap);color:var(--text0);font:var(--type-ui)}.view>p{margin:0}.view-anchored{padding-top:var(--view-anchor)}.view-wide{width:min(var(--view-measure-wide),100%);gap:var(--view-gap-wide)}}@layer tokens,base,surfaces;@layer base{.form-title{font:var(--type-ui-xl);color:var(--text0);overflow-wrap:anywhere}.form-head{display:flex;align-items:baseline;gap:10px;min-width:0}.form-body{display:flex;min-height:var(--form-body)}.form-body textarea{flex:1;width:100%;resize:none}.form-body-lg{min-height:var(--form-body-lg)}.form-body-lg>.composer{flex:1;background:none;border-top:none;padding:0}.form-knobs{display:flex;align-items:center;gap:var(--view-gap);min-width:0}.form-go{margin-left:auto}.form-sign{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);font:var(--type-mono)}}@layer tokens,base,surfaces;@layer base{.status-line{color:var(--text1);white-space:pre-wrap}.status-actions{display:flex;gap:8px}.status-tail{max-height:40vh;overflow:auto;font:var(--type-mono-sm);color:var(--text1);white-space:pre-wrap;overflow-wrap:anywhere}}@layer tokens,base,surfaces;@layer base{.field{background:var(--sunken);border:1px solid var(--border0);border-radius:var(--radius);color:var(--text0);font:var(--type-mono);padding:3px 8px;outline:none}.field:focus{border-color:var(--border1)}.field-md{padding:5px 8px;line-height:1.6}.field-lg{border-radius:var(--radius-md);padding:8px 10px}.field-ui{font:var(--type-ui)}.field-lead{font:var(--type-ui-xl)}.field-rule{background:none;border:none;border-bottom:1px solid var(--border0);border-radius:0;padding-left:0}.field-rule:focus{border-bottom-color:var(--border1)}.field-bare{background:none;border:none;border-radius:0;padding:0}}@layer tokens,base,surfaces;@layer base{.key-hints{display:flex;flex-wrap:wrap;gap:4px 12px;margin-inline:var(--picker-bleed, 0);padding:7px var(--picker-inset, 10px);color:var(--text2);font:var(--type-ui-sm);border-top:1px solid var(--border0)}.key-hint{display:inline-flex;align-items:baseline;gap:4px}}@layer tokens,base,surfaces;@layer base{.inline-picker{background:var(--surface1);border:1px solid var(--border1);border-radius:var(--radius-md);box-shadow:var(--elevation-float);padding:4px;overflow:hidden;--picker-bleed: -4px;--picker-inset: 8px}.inline-picker .picker-list{max-height:min(280px,40vh);margin-top:0}.inline-picker .key-hints{border-top:1px solid var(--border0);margin-top:4px;padding-top:6px}.picker-cmd{gap:8px}.picker-name{flex:0 0 auto;color:var(--text0)}.picker-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-row.dim .picker-label{color:var(--text1)}.overlay-box.picker{padding:8px;--picker-bleed: -8px;--picker-inset: 18px;overflow:hidden}.overlay-box.picker input{width:100%}.overlay-box.picker .picker-input{margin:-8px -8px 0;padding:12px var(--picker-inset);background:var(--sunken);border-bottom:1px solid var(--border0);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.overlay-box.anchored{--picker-inset: 8px}.overlay-box.anchored .picker-input{padding-block:5px}.picker-chip{padding:1px 8px;flex:none;display:inline-flex;align-items:center;min-height:20px;max-width:160px;background:var(--surface2);border-radius:var(--radius);color:var(--text0);font:var(--type-mono);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.picker-input{display:flex;align-items:center;gap:6px}.picker-input .btn-icon{flex:none}.picker-caret{position:relative;display:flex;flex:1;min-width:0}.picker-ghost{position:absolute;top:0;right:0;bottom:0;left:0;font:var(--type-mono);color:var(--text2);white-space:pre;overflow:hidden;pointer-events:none}.picker-typed{visibility:hidden}.picker-ghost-param{text-decoration:underline dotted;text-underline-offset:3px}.picker-list{max-height:50vh;overflow-y:auto;margin:6px var(--picker-bleed, 0) 0}.picker-list .empty{padding-inline:var(--picker-inset, 10px)}.picker-item{position:relative;display:block;width:100%;text-align:left;font:var(--type-mono);color:var(--text1);min-height:var(--row-height-sm);padding:4px var(--picker-inset, 10px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-row{display:flex;align-items:center;gap:12px}.picker-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.picker-hint{flex-shrink:0}.picker-item .hit{font-weight:inherit;color:var(--accent)}.picker-item:hover{background:var(--element0);--row-dim-color: var(--text1)}.picker-item[data-state~=cursor]{background:var(--element1);color:var(--text0);--row-dim-color: var(--text1)}}@layer tokens,base,surfaces;@layer base{.ring{display:inline-block;flex-shrink:0;vertical-align:-2px;transform:rotate(-90deg)}.ring circle{fill:none;stroke:currentColor;stroke-width:1.5}.ring .ring-track{opacity:.25}.ring .ring-fill{stroke-linecap:round}}@layer tokens,base,surfaces;@layer base{.chip-picker{display:inline-flex;align-items:center}.chip-picker>.overlay-box.anchored{width:min(360px,calc(100vw - 16px))}.chip-picker .picker-list{max-height:min(280px,40vh)}.chip-picker-lead{flex:none;max-width:160px;overflow:hidden;text-overflow:ellipsis}.chip-picker>.overlay-box.anchored[data-side=top]{display:flex;flex-direction:column-reverse}.chip-picker>.overlay-box.anchored[data-side=top] .picker-input{margin:0 -8px -8px;border-bottom:0;border-top:1px solid var(--border0);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.chip-picker>.overlay-box.anchored[data-side=top] .picker-list{margin:0 var(--picker-bleed, 0) 6px}.chip-picker>.overlay-box.anchored[data-align=end] .picker-input{flex-direction:row-reverse}.chip-option{display:flex;flex-direction:column;gap:1px;min-width:0}.chip-option-name{color:var(--text0)}.chip-option-suffix{color:var(--text1)}.chip-option-desc{font:var(--type-ui-sm);white-space:normal;overflow-wrap:anywhere}.chip-option-off{opacity:.45}}@layer tokens,base,surfaces;@layer base{.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:grid;justify-items:center;align-content:start;padding-top:clamp(72px,18vh,220px);z-index:1}.overlay-box{width:min(560px,90%);background:var(--surface1);box-shadow:var(--elevation-overlay);border:1px solid var(--border0);border-radius:var(--radius-lg);padding:14px}.overlay-box.anchored{width:min(460px,calc(100vw - 60px));box-shadow:var(--elevation-float)}}@layer tokens,base,surfaces;@layer surfaces{.mode-chip.mode-held{color:var(--yellow)}.model-chip,.effort-chip{max-width:16em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer tokens,base,surfaces;@layer base{.check{display:inline-flex;align-items:center;gap:8px;cursor:default}.check:has(.check-box:disabled){color:var(--text2)}.check-box{accent-color:var(--accent);margin:0;flex-shrink:0}}@layer tokens,base,surfaces;@layer surfaces{.chat-dock{width:380px;flex:0 1 auto;min-width:var(--dock-min);background:var(--surface1);border-left:1px solid var(--border0);display:flex;flex-direction:column;position:relative}.app[data-chat-side=left] .chat-dock{border-left:0;border-right:1px solid var(--border0)}.chat-centre{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.chat-centre .chat-log,.chat-centre .draft-intro,.chat-centre .chat-input{padding-inline:max(12px,calc((100% - var(--chat-measure)) / 2))}.chat-centre .chat-centre-note{margin:0}.chat-centre .chat-input{--composer-min: 120px;background:var(--sunken-floor)}.chat-centre .chat-input .pick-chip{background:var(--surface0)}.chat-wrap{flex:1;min-height:0;position:relative;display:flex}.chat-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.chat-log>*:first-child,.chat-log>.tool-row[open]:first-child{margin-top:auto}.chat-log>*{flex-shrink:0}.jump-down{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:var(--element0);border:1px solid var(--border1);border-radius:var(--radius-pill);padding:3px 12px;color:var(--text0);box-shadow:0 2px 10px var(--shadow)}.jump-down:hover{border-color:var(--accent);color:var(--accent)}.msg-user{background:var(--surface2);border-radius:var(--radius-md);padding:8px 10px;align-self:flex-end;max-width:92%;white-space:pre-wrap}.msg-user[data-state~=cursor]{--row-edge-color: var(--accent);background:var(--element1);border-start-start-radius:0;border-end-start-radius:0}.queued-msg{opacity:.65;border:1px dashed var(--border1);background:var(--surface1);display:flex;gap:8px;align-items:baseline}.queued-tag{font:var(--type-ui-sm);color:var(--yellow);flex-shrink:0}.queued-text{flex:1;overflow-wrap:break-word;min-width:0}.queued-actions{display:flex;gap:4px;flex-shrink:0}.msg-assistant{white-space:pre-wrap;color:var(--text0);max-width:100%;overflow-wrap:break-word}.msg-assistant[data-state~=cursor]{--row-edge-color: var(--accent);background:var(--element1);margin:-4px -6px;padding:4px 6px;max-width:calc(100% + 12px)}.msg-assistant.md{white-space:normal;line-height:1.6}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 8px;padding-left:20px}.md li{margin:2px 0}.md h1,.md h2,.md h3,.md h4{font-weight:var(--weight-strong);margin:10px 0 4px;color:var(--text0)}.md pre{background:var(--code);border-radius:var(--radius-md);padding:8px 10px;overflow-x:auto;margin:0 0 8px;font:var(--type-mono)}.md pre code{background:none;padding:0;font-size:inherit;line-height:inherit;overflow-wrap:normal}.md a{color:var(--blue)}.md blockquote{border-left:3px solid var(--border1);margin:0 0 8px;padding-left:10px;color:var(--text1)}.md strong{color:var(--text0)}.md hr{border:none;border-top:1px solid var(--border0);margin:10px 0}.md table{border-collapse:collapse;margin:0 0 8px}.md th,.md td{border:1px solid var(--border0);padding:3px 8px}.msg-error{color:var(--red)}.auth-card{margin:6px 0;padding:10px 12px;border:1px solid var(--border0);border-radius:var(--radius-lg);background:var(--surface0)}.auth-card.done{color:var(--text2)}.auth-title{color:var(--text0);margin-bottom:8px}.auth-card.done .auth-title{color:var(--text2);margin-bottom:0}.auth-methods{display:flex;flex-wrap:wrap;gap:6px}.auth-hint{margin-top:8px}.auth-key{display:flex;gap:6px;margin-top:8px}.auth-key .field{flex:1}.working-row{display:flex;align-items:center;gap:10px;color:var(--text2);font-style:italic}.chat-archived{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.chat-archived p{margin:0}.working-quiet{margin-left:6px;font-variant-numeric:tabular-nums}.tool-row{font:var(--type-mono);color:var(--text2);margin:-5px -12px}.tool-row[open]{margin:-5px -12px 0;background:var(--sunken);border-bottom:1px solid var(--border0);position:relative}.tool-row[data-state~=cursor]{position:relative}.tool-row[data-state~=cursor]>summary{background:var(--element0)}.tool-row[open]:before,.tool-row[data-state~=cursor]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.tool-row summary{min-height:var(--row-height-sm);padding:0 var(--row-inset);cursor:pointer;list-style:none;display:flex;gap:6px;align-items:center;min-width:0}.tool-row summary::-webkit-details-marker{display:none}.tool-row summary:hover,.tool-row[open]>summary{background:var(--element1)}.tool-row summary:hover .tool-hint,.tool-row[open]>summary .tool-hint{color:var(--text0)}.tool-row summary:hover .tool-icon,.tool-row[open]>summary .tool-icon{color:var(--text1)}.tool-row summary:hover .tool-name,.tool-row[open]>summary .tool-name{color:var(--text1)}.tool-row summary:hover .live-text,.tool-row[open]>summary .live-text{--live-dim: var(--text1)}.tool-row .tool-name{color:var(--text2);flex:0 0 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-row .tool-icon{flex:0 0 auto;width:13px;height:13px;color:var(--text2)}.tool-row.error .tool-icon{color:var(--red)}.tool-row.nested summary{padding-left:30px;position:relative}.tool-row.nested summary:before{content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;background:var(--border0)}.tool-row.nested[open]:before{left:17px}.tool-row.nested[open]>summary:before{display:none}.tool-row.nested .tool-out,.tool-row.nested .tool-block.cmd{padding-left:30px}.tool-row.spawn .tool-name,.tool-row.spawn .tool-hint{color:var(--text1)}.tool-row .spawn-run{display:flex;flex-direction:column;gap:10px;padding:5px 12px}.tool-row .spawn-run+.tool-part{border-top:1px solid var(--border0)}.tool-row .tool-hint,.blocked-row .tool-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2)}.tool-row .tool-hint{flex:1 1 auto;min-width:0}.tool-row.error .tool-name{color:var(--red)}.tool-row .tool-count{font-variant-numeric:tabular-nums;flex:0 0 auto;color:var(--text1)}.tool-row .tool-part+.tool-part{border-top:1px solid var(--border0)}.tool-row .tool-out{display:flex;flex-direction:column;gap:6px;padding:6px 12px;background:var(--surface1)}.tool-row .tool-note{font:var(--type-mono-sm);margin:0;color:var(--text1);white-space:pre-wrap}.tool-row .thought-out{font:var(--type-ui);line-height:1.6;color:var(--text1)}.tool-row .tool-block{font:var(--type-mono-sm);margin:0;overflow-x:auto;color:var(--text1)}.tool-row .tool-block.cmd{padding:6px 12px;background:var(--sunken);color:var(--text0);white-space:pre-wrap;word-break:break-word}.tool-row .tool-out .tool-block.diff{margin:0 -12px}.tool-row .tool-out .tool-block.diff:first-child{margin-top:-6px}.tool-row .tool-out .tool-block.diff:last-child{margin-bottom:-6px}.tool-row .tool-block.diff .dl{display:block;padding-left:12px;min-width:100%;width:max-content}.tool-row .dl.add,.tool-row .dl.del{color:var(--text0)}.tool-row .dl.add{background:var(--diff-add)}.tool-row .dl.del{background:var(--diff-del)}.tool-row .dl.add .ch{background:var(--diff-add-word)}.tool-row .dl.del .ch{background:var(--diff-del-word)}.tool-row .dl.hunk{width:auto;padding:0;height:1px;margin:6px 0;background:var(--surface2)}.tool-row .dl.hunk:first-child{display:none}.tool-row .dl.meta{color:var(--text2)}.tool-row .dl.more{border:0;border-top:1px solid var(--border0);margin-top:4px;padding:5px 12px;background:none;color:var(--text2);font:inherit;text-align:left;cursor:pointer}.tool-row .dl.more:disabled{cursor:default}.tool-row .dl.more:not(:disabled):hover{color:var(--text0);background:var(--surface2)}.live-text{--live-dim: var(--text2);background:linear-gradient(90deg,var(--live-dim) 30%,var(--text0) 45%,var(--text0) 55%,var(--live-dim) 70%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 2.6s linear infinite}@keyframes shine{0%{background-position:150% 0}to{background-position:-150% 0}}@media(prefers-reduced-motion:reduce){.live-text{background:none;-webkit-text-fill-color:currentColor;color:var(--text0);animation:none}}.blocked-row,.graft-row,.landed-row{padding:4px 8px;font:var(--type-mono);color:var(--text1);background:var(--surface0);border-left:2px solid var(--red)}.blocked-row .blocked-tag,.blocked-row .graft-tag,.blocked-row .landed-tag,.graft-row .blocked-tag,.graft-row .graft-tag,.graft-row .landed-tag,.landed-row .blocked-tag,.landed-row .graft-tag,.landed-row .landed-tag{color:var(--red);font:var(--type-ui-sm)}.blocked-row .tool-name,.graft-row .tool-name,.landed-row .tool-name{color:var(--text1)}.graft-row,.landed-row,.blocked-row .blocked-head{display:flex;align-items:center;gap:8px}.landed-row .landed-text{flex:1;min-width:0;overflow-wrap:anywhere}.landed-row{border-left-color:var(--accent)}.landed-row .landed-tag{color:var(--accent)}.composer-notice{overflow-wrap:anywhere}.blocked-row .blocked-why{margin-top:2px;font:var(--type-ui-sm)}.graft-row{border-left-color:var(--accent)}.graft-row .graft-tag{color:var(--accent)}.chat-dock .chat-input{--composer-min: 160px}.paste-chip .pick-file{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-ghost{position:absolute;top:0;right:0;bottom:0;left:0;font:var(--type-ui);color:var(--text2);white-space:pre-wrap;overflow:hidden;pointer-events:none}.composer-field.shell .composer-ghost{font:var(--type-mono)}.composer-field.recalled .field{color:var(--text1)}.composer-placeholder{color:var(--text1)}.composer-subline{opacity:.8}.chat-input .pick-chip{background:var(--surface1)}.composer-term{position:relative}.composer-term-dot{position:absolute;top:1px;right:1px;width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 1.5px var(--surface0)}.composer-term:hover .composer-term-dot,.composer-term.on .composer-term-dot{box-shadow:0 0 0 1.5px var(--border0)}.composer-verb{pointer-events:auto}.spawn-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.spawn-left>.btn-icon{margin-left:6px}.spawn-left>.chip-picker:first-child>.btn{margin-left:calc(-1 * var(--btn-pad-x))}.spawn-tools{display:flex;align-items:center;gap:20px;flex-shrink:0}.draft-intro{flex:1;min-height:0;overflow:visible;padding:12px 10px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;font:var(--type-ui);color:var(--text0)}.draft-intro .hint{margin:0}.draft-intro b{color:var(--text1);font:var(--type-mono)}.draft-notes{margin-top:4px;padding-top:8px;border-top:1px solid var(--border0);display:flex;flex-direction:column;gap:6px}.draft-note{font-variant-numeric:tabular-nums}.draft-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.draft-row>.btn:first-child{margin-left:calc(-1 * var(--btn-pad-x))}.draft-runs>.chip-picker>.btn{margin-right:calc(-1 * var(--btn-pad-x))}.draft-variants{display:flex;align-items:center;gap:2px}.draft-variants>span{margin-left:4px}.draft-runs{display:flex;align-items:center;gap:6px;margin-left:auto}.pick-chip{padding:4px 8px;display:flex;align-items:center;gap:8px;margin-bottom:6px;background:var(--sunken);border:1px solid var(--border1);border-left:3px solid var(--accent);border-radius:var(--radius);font:var(--type-mono);color:var(--text0)}.pick-chip .pick-target{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-chip .pick-file{color:var(--text2)}.pick-chip .pick-open{padding:0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}.pick-chip .pick-open:hover{text-decoration-color:currentColor}.pick-chip.in-chat{margin:6px 0 0;padding:2px 6px;cursor:default;display:inline-flex}.pick-chip.in-chat:hover{border-color:var(--accent)}.pick-chip .image-link{display:flex;align-items:center;gap:8px;flex:1;min-width:0;color:inherit;text-decoration:none}.image-chip .image-thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--radius);background:var(--surface2);flex:none}.image-chip.in-chat{display:flex;padding:3px 6px}.image-peek{pointer-events:none;background:var(--surface1);border:1px solid var(--border1);border-radius:var(--radius-md);box-shadow:var(--elevation-float);overflow:hidden;animation:tooltip-in-left 90ms ease-out}.image-peek[data-side=right]{animation-name:tooltip-in-right}.image-peek img{display:block;width:auto;height:auto;max-width:min(640px,45vw);max-height:70vh;background:var(--surface2)}.msg-attachments{display:flex;flex-direction:column;gap:4px;padding-top:2px;margin-bottom:6px}.msg-attachments:last-child{margin-bottom:0}.msg-attachments .pick-chip.in-chat{margin:0}.chat-dock.drop-over:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 0 1px var(--accent)}.ask-card{min-width:0;margin:6px 0;padding:10px 12px;border:1px solid var(--border0);border-left:2px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface0);outline:none;--picker-bleed: -12px;--picker-inset: 12px;overflow:hidden}.ask-card.done{border-left-color:var(--border0);color:var(--text2)}.ask-card:focus-visible{border-color:var(--border1)}.ask-lead{color:var(--text0);margin-bottom:8px}.ask-card.done .ask-lead{color:var(--text2);margin-bottom:4px}.ask-block+.ask-block{margin-top:10px;padding-top:10px;border-top:1px solid var(--border0)}.ask-header{color:var(--text2);margin-bottom:2px}.ask-text{color:var(--text1);margin-bottom:6px}.ask-options{margin:6px var(--picker-bleed) 0}.ask-opt{font:var(--type-ui);align-items:baseline;white-space:normal;--row-edge-x: 6px}.ask-opt .picker-desc{white-space:normal;overflow:visible}.ask-num{flex:none;justify-content:flex-end;min-width:10px}.ask-opt[data-state~=checked]{--row-edge-color: var(--accent)}.ask-opt.deny .picker-name{color:var(--red)}.ask-preview{margin:6px 0 0;padding:6px 8px;background:var(--sunken);border-radius:var(--radius);color:var(--text1);overflow-x:auto;white-space:pre}.ask-note{display:block;width:100%;margin-top:6px;resize:vertical}.ask-foot{display:flex;align-items:center;gap:8px;margin-top:10px}.ask-keys{margin-top:10px;margin-bottom:-10px}.ask-detail{max-height:40vh;overflow-y:auto;margin-bottom:10px;padding:8px 10px;background:var(--sunken);border-radius:var(--radius)}.ask-answered{color:var(--text2)}.ask-answered .ask-header{margin-right:6px}}@layer tokens,base,surfaces;@layer base{.pane{position:relative;isolation:isolate;border-top:1px solid var(--border0);background:var(--surface0);--tabs-ground: var(--surface0);--tabs-strip: var(--sunken-floor);flex-shrink:1}.pane .pane-head{display:flex;gap:12px;padding:0 16px;min-height:var(--row-height-sm);align-items:center}.pane .pane-head-tabs{padding:0;gap:0}.pane .pane-head-tabs .tabs{flex:1}.pane .pane-title{flex:1;font:var(--type-mono);color:var(--text1)}.pane-resize{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:row-resize;z-index:1}.pane-resize:hover{background:var(--element0)}body.resizing .pane-resize{background:var(--element0)}}@layer tokens,base,surfaces;@layer base{.tabs{display:flex;align-items:stretch;min-height:var(--tabs-height, var(--row-height-sm));flex-shrink:0;min-width:0;background:var(--tabs-strip, var(--sunken))}.tabs-list{display:flex;align-items:stretch;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs-list::-webkit-scrollbar{display:none}.tabs-fill .tabs-list{flex:1}.tab{position:relative;display:flex;align-items:stretch;flex-shrink:0;color:var(--text1);font:var(--type-ui-sm)}.tab:hover{color:var(--text0)}.tab[data-state~=current]{background:var(--tabs-ground, var(--surface0));color:var(--text0)}.tabs-fill .tab{flex:1;min-width:0}.tabs-mono .tab{font:var(--type-mono-sm)}.tab-btn{flex:1;min-width:0;display:inline-flex;align-items:center;gap:6px;padding:0 var(--row-inset);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs-fill .tab-btn{justify-content:center}.tab-count{color:var(--text2);font-variant-numeric:tabular-nums}.tab-trailed .tab-btn{padding-right:calc(var(--row-inset) + 26px)}.tab-trail{position:absolute;top:0;bottom:0;right:6px;display:flex;align-items:center}.tabs-end{margin-left:auto;display:flex;align-items:center;gap:12px;padding:0 16px 0 12px;flex-shrink:0}}@layer tokens,base,surfaces;@layer surfaces{.design-pane{height:55%;min-height:160px;min-width:0;display:flex;flex-direction:column}.design-pane.full{flex:1;min-height:0;height:auto}.design-body{min-width:0;overflow:auto;padding:28px 20px 80px;color:var(--text0);font:var(--type-ui)}.design-section{margin-bottom:52px}.design-h{font:var(--type-ui-lg);font-weight:var(--weight-title);color:var(--text0);margin:0 0 16px;display:flex;align-items:baseline;gap:8px}.design-note{font:var(--type-ui-sm);color:var(--text2);font-weight:400}.design-gap{margin:0;padding:8px 10px;background:var(--sunken);color:var(--text2);font:var(--type-ui-sm);line-height:1.5}.design-tag{padding:0 5px;background:var(--sunken);color:var(--text2);font:var(--type-mono);margin-left:auto}.design-tail>summary{display:flex;align-items:center;gap:10px;width:calc(100% + 40px);margin-left:-40px;min-height:var(--row-height-sm);padding:0 10px 0 2px;cursor:pointer;color:var(--text2);font:var(--type-ui);list-style:none}.design-tail>summary:hover{background:var(--element0);color:var(--text1);--row-dim-color: var(--text1)}.design-tail>summary::-webkit-details-marker{display:none}.design-group{margin-bottom:30px}.design-group-name{display:block;font:var(--type-mono);color:var(--text1);margin-bottom:9px}.design-grid{display:grid;grid-template-columns:repeat(auto-fit,var(--design-cell));justify-content:start}.design-breakout{min-width:0}.design-cell{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border0);margin:0 -1px -1px 0}.design-sample{height:96px;display:flex;align-items:center;justify-content:center;background:var(--sunken)}.design-fill{display:block;width:100%;height:100%}.design-faces{display:flex;flex-direction:column;gap:22px}.design-face-group{display:flex;flex-direction:column}.design-face-family{font:var(--type-mono);color:var(--text1)}.design-face,.design-face-head{display:flex;align-items:baseline;gap:10px;min-width:0;width:calc(100% + 40px);margin-left:-40px;padding:2px 10px 2px 40px}.design-face:hover,.design-face-head:hover{background:var(--element0);--row-edge-color: var(--accent);--row-dim-color: var(--text1)}.design-face-head{margin-bottom:2px}.design-face-sample{color:var(--text0);white-space:nowrap}.design-face-name{font:var(--type-mono-sm);white-space:nowrap}.design-plate{display:flex;flex-direction:column;padding:5px 7px 6px}.design-cell-name{font:var(--type-mono);color:var(--text0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-cell-line{display:flex;align-items:baseline;gap:8px;min-width:0}.design-cell-value{font-variant-numeric:tabular-nums;flex:1;min-width:0}.design-cell-note{flex-shrink:0}.design-cell[data-kind=color] .design-cell-value,.design-cell-note{color:var(--text2)}.design-cell-value,.design-cell-note{font:var(--type-mono);color:var(--text1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-scale{display:block;height:3px;margin-top:5px;background:var(--border1)}.design-rows{list-style:none;margin:0;padding:0}.design-row{display:flex;align-items:center;gap:10px;width:calc(100% + 40px);margin-left:-40px;min-height:var(--row-height-sm);text-align:left;padding:0 10px 0 2px;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.design-row:disabled{cursor:default}.design-row:hover:not(:disabled),.design-row:focus-visible{background:var(--element0);--row-edge-color: var(--accent);--row-dim-color: var(--text1);outline:none}.design-count{width:28px;flex-shrink:0;text-align:right;font:var(--type-mono)}.design-name{color:var(--text0);font:var(--type-mono);flex-shrink:0}.design-path{font:var(--type-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-variants{display:flex;flex-wrap:wrap;gap:5px}.design-variant{padding:0 5px;background:var(--sunken);color:var(--text2);font:var(--type-mono)}.design-section{max-width:1500px;margin-inline:auto}.design-h,.design-group-name,.design-rows,.design-faces,.design-gap,.design-tail{max-width:var(--design-column);margin-inline:auto}}@layer tokens,base,surfaces;@layer surfaces{.editor-pane{height:45%;min-height:120px;display:flex;flex-direction:column}.editor-pane.full{flex:1;min-height:0;height:auto}.editor-pane .monaco-editor .diff-hidden-lines .center{font:var(--type-ui-sm)}.editor-note{display:flex;align-items:center;gap:8px;min-height:var(--row-height-sm);padding:0 16px;border-bottom:1px solid var(--border0);background:var(--surface1);font:var(--type-ui-sm)}.editor-note-text{flex:1;color:var(--text0)}.editor-body{position:relative;flex:1;min-height:0}.editor-monaco{position:absolute;top:0;right:0;bottom:0;left:0}}@layer tokens,base,surfaces;@layer surfaces{.chats-hit{white-space:normal;padding:5px var(--picker-inset, 10px)}.chats-where{display:flex;gap:6px;align-items:baseline;min-width:0;color:var(--text1)}.chats-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-said{flex:none;margin-inline-start:auto}.chats-text{display:block;color:var(--text1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-hit[data-state~=cursor] .chats-name,.chats-hit[data-state~=cursor] .chats-text{color:var(--text0)}}@layer tokens,base,surfaces;@layer surfaces{.folder-row .picker-label{flex:0 1 auto}.folder-row .picker-hint{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}.new-project-row .picker-label{display:flex;align-items:center;gap:6px}.keys-card{background:var(--surface1);border:1px solid var(--border1);border-radius:var(--radius-lg);padding:18px 24px 20px;box-shadow:var(--elevation-overlay);font:var(--type-ui);color:var(--text0);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:0;align-items:start}.keys-stack{display:grid;gap:12px;width:min(560px,90%)}.keys-card.keys-settings{display:block;padding:12px 24px}.keys-chip{min-width:0}.keys-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keys-setting{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--row-height)}.keys-row{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;min-height:var(--row-height-sm)}.keys-row .kbd{justify-self:start;color:var(--text0)}.keys-d{color:var(--text1)}.agent-page-back{display:flex;align-items:center;min-height:var(--row-height)}.keys-h{display:flex;align-items:flex-end;min-height:var(--row-height-sm);padding:0 0 2px 2px}.theme-kinds{display:inline-flex;gap:6px;align-items:center}.theme-kinds .kind{width:44px;text-align:center;border:1px solid transparent;border-radius:var(--radius);padding:0}.theme-kinds .kind[data-state~=current]{color:var(--accent)}.search-hit{white-space:normal;padding:5px var(--picker-inset, 10px)}.search-loc,.search-text{display:block;color:var(--text1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-hit[data-state~=cursor] .search-loc,.search-hit[data-state~=cursor] .search-text{color:var(--text0)}.ref-row .picker-label{display:flex;align-items:center;gap:6px}.qo-file{display:flex;align-items:baseline;gap:8px}.qo-file .xy{width:12px}.qo-file .name{color:var(--text0);flex-shrink:0}.qo-file .dir{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}}@layer tokens,base,surfaces;@layer surfaces{.term-pane{min-height:140px;display:flex;flex-direction:column}.term-body{flex:1;min-height:0;padding:2px 8px 4px}.term-host{height:100%}.term-host .xterm .xterm-viewport{background-color:transparent}}@layer tokens,base,surfaces;@layer base{.form-row{display:flex;gap:12px;align-items:flex-start;min-height:var(--row-height)}.form-label{width:56px;flex-shrink:0;min-height:var(--row-height);display:flex;align-items:center;color:var(--text1)}.form-control{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.form-control>.field{width:100%}.form-control textarea.field{resize:none}}@layer tokens,base,surfaces;@layer surfaces{.center{position:relative;flex:1 0 320px;min-width:0;background:var(--surface0);display:flex;flex-direction:column;isolation:isolate}.center-area{flex:1;min-height:80px;display:flex;flex-direction:column}.frames-wrap{flex:1;min-height:0;position:relative}.frames-wrap iframe{width:100%;height:100%;border:none;background:#fff}.new-project-field{flex:0 1 auto;min-width:0;max-width:100%}.new-project-url{margin:0;font:var(--type-mono);color:var(--text1);overflow-wrap:anywhere}.new-project-where{display:flex;align-items:center;gap:6px;min-height:var(--row-height);min-width:0;flex:0 1 auto}.new-project-parent{color:var(--text0);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-project-folder{flex-shrink:0}.new-project-identity{display:flex;gap:8px}.new-project-identity>.field{flex:1;min-width:0}.agent-ask{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.new-project-open{align-self:flex-start;margin-left:calc(-1 * var(--btn-pad-x))}.setup-proc{display:flex;gap:6px;align-items:center}.setup-name{width:90px;flex-shrink:0}.setup-cmd{flex:1;min-width:0}.setup-land{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.import-idle,.import-error{color:var(--text2)}}@layer surfaces{.boot-procs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.boot-proc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px}.boot-proc .boot-name{font:var(--type-mono);color:var(--text0)}.boot-proc .boot-status{color:var(--text1)}.boot-proc .boot-detail{grid-column:1 / -1;color:var(--text0)}.boot-proc.boot-bad .boot-status{color:var(--red)}}@layer tokens,base,surfaces;@layer surfaces{.changes-dock{width:220px;flex:0 1 auto;min-width:var(--dock-min);background:var(--surface1);--tabs-ground: var(--surface1);--tabs-strip: var(--sunken);--tabs-height: var(--row-height);border-right:1px solid var(--border0);display:flex;flex-direction:column;overflow:hidden}.changes-list{flex:1;min-height:0;overflow-y:auto;outline:none}.changes-dock.collapsed,.chat-dock.collapsed{display:none}.app[data-chat-side=left] .changes-dock{border-right:0;border-left:1px solid var(--border0)}.log-row[data-state~=current]{background:var(--element1);color:var(--text0)}.log-row[data-state~=current],.log-row[data-state~=cursor]{--row-edge-color: var(--accent)}.log-row .subject{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row .at{font:var(--type-mono-sm);margin-left:auto;padding-left:8px;flex-shrink:0}.changes-list.history .git-file{padding-left:28px}.changes-list .section-title{padding:10px 12px 4px}.git-file[data-state~=current]{background:var(--element1);color:var(--text0)}.git-file[data-state~=current],.git-file[data-state~=cursor]{--row-edge-color: var(--accent)}.git-file .xy{width:18px}.git-file .path{display:flex;align-items:baseline;gap:6px;flex:1;min-width:0}.git-file .name{flex-shrink:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-file .dir{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.counts{font:var(--type-mono-sm);margin-left:auto;padding-left:8px;flex-shrink:0;display:inline-flex;gap:5px;opacity:.75;font-variant-numeric:tabular-nums}.counts .add{color:var(--green)}.counts .del{color:var(--red)}.commit-box{flex-shrink:0}.commit-box textarea{field-sizing:content;min-height:3lh;max-height:8lh}.commit-where{display:flex;align-items:center;gap:6px;min-width:0}.commit-where>:not(.branch-name){flex-shrink:0;white-space:nowrap}.branch-name{color:var(--text1);font:var(--type-mono-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-acts{display:flex;align-items:center;gap:4px;flex-shrink:0}}@layer tokens,base,surfaces;@layer surfaces{.rail-item,.rail-disc-item{--row-edge-x: calc(var(--rail-inner) - 100cqw)}.rail-item:hover{--dot-gap: var(--element0)}.rail-item[data-state~=current]{--row-edge-color: var(--accent);color:var(--text0);background:var(--element1);--dot-gap: var(--element1)}.rail-item[data-state~=checked]{--row-edge-color: var(--aqua);background:var(--element1)}.rail-item .branch,.rail-disc-item .branch{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.rail{--rail-gut: 30px}.rail-gut{position:absolute;left:var(--rail-far-l);right:var(--rail-far-r);top:0;bottom:0;width:var(--rail-gut);display:flex;align-items:center;justify-content:center}.rail-plus{display:flex}.rail-graft{display:flex;border-top:1px solid var(--border0);align-items:center;padding:4px 6px;gap:2px}.rail-graft-check{accent-color:var(--accent);pointer-events:none;margin:0}.rail-counts{display:flex;gap:6px;flex-shrink:0;font:var(--type-mono);font-variant-numeric:tabular-nums}.rail-count{width:3ch;text-align:right}.rail-item .rail-badge,.rail-disc-item .rail-badge{font:var(--type-mono);flex-shrink:0}.rail-item .rail-badge.clickable,.rail-disc-item .rail-badge.clickable{padding:1px 4px;border-radius:var(--radius-xs)}.rail-item .rail-badge.clickable:hover,.rail-disc-item .rail-badge.clickable:hover{background:var(--element0)}.rail-item .rail-badge .act,.rail-item .rail-badge.clickable:hover .num,.rail-disc-item .rail-badge .act,.rail-disc-item .rail-badge.clickable:hover .num{display:none}.rail-item .rail-badge.clickable:hover .act,.rail-disc-item .rail-badge.clickable:hover .act{display:inline}.rail-item .rail-more,.rail-disc-item .rail-more{display:none;padding:2px;border-radius:var(--radius-xs)}.rail-item:hover .rail-more,.rail-disc-item:hover .rail-more{display:flex}.rail-item .rail-at,.rail-disc-item .rail-at{font:var(--type-mono-sm);font-variant-numeric:tabular-nums}.rail-item:hover .rail-at,.rail-item.menu-open .rail-at,.rail-disc-item:hover .rail-at,.rail-disc-item.menu-open .rail-at{display:none}.rail-item.menu-open,.rail-disc-item.menu-open{background:var(--element1);--dot-gap: var(--element1)}.rail-item.menu-open .rail-more,.rail-disc-item.menu-open .rail-more{display:flex;color:var(--text0);background:var(--element1)}.rail-item .rail-more:hover,.rail-disc-item .rail-more:hover{color:var(--text0);background:var(--element0)}.rail{--rail-width: 280px;--rail-inner: calc(var(--rail-width) - 1px);--rail-near-r: 0;--rail-near-l: auto;--rail-far-r: auto;--rail-far-l: 0;--rail-pad-l: var(--rail-gut);--rail-pad-r: 16px;--rail-dot-ml: 12px;--rail-dot-mr: 0;--rail-shadow-x: -10px;width:40px;flex-shrink:0;position:relative;overflow:visible}.rail-panel{position:absolute;top:0;right:var(--rail-near-r);left:var(--rail-near-l);bottom:0;width:100%;min-width:40px;display:flex;flex-direction:column;background:var(--surface1);border-left:1px solid var(--border0);overflow:hidden;container-type:size;z-index:2;clip-path:inset(0 0 0 -32px);transition:width .12s ease .12s,box-shadow .12s ease .12s}.rail:hover .rail-panel,.rail.hold .rail-panel{width:var(--rail-width);box-shadow:var(--rail-shadow-x) 0 20px -10px var(--shadow);transition:width .12s ease 50ms,box-shadow .12s ease 50ms}.rail.pinned{width:var(--rail-width)}.rail.pinned .rail-panel{box-shadow:none}.rail-list{position:absolute;top:0;right:var(--rail-near-r);left:var(--rail-near-l);bottom:var(--row-height);width:var(--rail-inner);overflow-y:auto;background:var(--surface1)}.rail-foot{position:absolute;right:var(--rail-near-r);left:var(--rail-near-l);bottom:0;width:var(--rail-inner);height:var(--row-height);display:flex;align-items:center;justify-content:flex-end;padding:0 10px;background:var(--surface1);opacity:0;pointer-events:none;transition:opacity .12s ease .12s}.rail:hover .rail-foot,.rail.hold .rail-foot,.rail.pinned .rail-foot{opacity:1;pointer-events:auto;transition:opacity .12s ease 50ms}.rail .rail-main-strip{position:absolute;right:var(--rail-near-r);left:var(--rail-near-l);top:0;bottom:0;width:40px;margin:0;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease .12s}.rail-main-dot{opacity:0;transition:opacity .12s ease .12s}.rail:hover .rail-main-strip,.rail.hold .rail-main-strip,.rail.pinned .rail-main-strip{opacity:0;transition:opacity .12s ease 50ms}.rail:hover .rail-main-dot,.rail.hold .rail-main-dot,.rail.pinned .rail-main-dot{opacity:1;transition:opacity .12s ease 50ms}.rail .rail-item:hover .rail-main-strip{opacity:1;transition:opacity .12s ease}.rail .rail-item:hover .rail-main-dot{opacity:0;transition:opacity .12s ease}.rail .rail-item .rail-main-verb,.rail .rail-item:hover .rail-main-name{display:none}.rail .rail-item:hover .rail-main-verb{display:inline}.rail-disc-head,.rail-disc-item{display:none}.rail:hover .rail-disc-head,.rail.hold .rail-disc-head,.rail.pinned .rail-disc-head{height:var(--row-height-sm);width:100%;display:flex;align-items:center;position:relative;gap:8px;padding:0 var(--rail-pad-r) 0 var(--rail-pad-l);margin-top:14px;font:var(--type-ui-sm);color:var(--text2);text-align:left}.rail-disc-head:hover{color:var(--text1)}.rail-disc-caret{transition:transform .12s ease}.rail-disc-caret.shut{transform:rotate(-90deg)}.rail:hover .rail-disc-item,.rail.hold .rail-disc-item,.rail.pinned .rail-disc-item{display:flex;padding:0 var(--rail-pad-r) 0 var(--rail-pad-l);min-height:var(--row-height-sm)}.rail-disc-item[data-state~=current]{--row-edge-color: var(--accent);color:var(--text0);background:var(--element1)}.rail-disc-item.menu-open{background:var(--element1)}.rail-lock{display:flex}.rail .rail-item .rail-lock,.rail .rail-disc-item .rail-lock{margin-left:calc(var(--rail-dot-ml) - 2.5px);margin-right:calc(var(--rail-dot-mr) - 2.5px)}.rail.offline .rail-item .dot{background:var(--fault);animation:none;box-shadow:none}.rail.offline .rail-disc-item .dot.discovered{background:none;box-shadow:inset 0 0 0 1px var(--fault)}.rail .rail-item{height:var(--row-height);padding:0 var(--rail-pad-r) 0 var(--rail-pad-l)}.rail .rail-item .dot,.rail .rail-disc-item .dot,.rail .rail-item .spinner,.rail .rail-disc-item .spinner,.rail .rail-glyph{margin-left:var(--rail-dot-ml);margin-right:var(--rail-dot-mr)}.rail-item .dot.clickable{position:relative;cursor:pointer}.rail-item .dot.clickable:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.rail-item .dot.clickable:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 35%,transparent)}.rail-label{flex:1;text-align:left}.rail .rail-item .branch{white-space:nowrap}.app[data-chat-side=left] .rail{--rail-near-r: auto;--rail-near-l: 0;--rail-far-r: 0;--rail-far-l: auto;--rail-pad-l: 16px;--rail-pad-r: var(--rail-gut);--rail-dot-ml: 0;--rail-dot-mr: 12px;--rail-shadow-x: 10px}.app[data-chat-side=left] .rail .rail-item .dot,.app[data-chat-side=left] .rail .rail-disc-item .dot,.app[data-chat-side=left] .rail .rail-item .spinner,.app[data-chat-side=left] .rail .rail-disc-item .spinner,.app[data-chat-side=left] .rail .rail-glyph{order:-1}.app[data-chat-side=left] .rail .rail-foot{flex-direction:row-reverse}.app[data-chat-side=left] .rail .rail-item:before,.app[data-chat-side=left] .rail .rail-disc-item:before{left:auto;right:var(--row-edge-x, 0)}.app[data-chat-side=left] .rail .rail-panel{border-left:0;border-right:1px solid var(--border0);clip-path:inset(0 -32px 0 0)}}@layer tokens,base,surfaces;@layer surfaces{.bar-path{flex:1;min-width:0;color:var(--text1);padding:3px 10px}.bar-path:focus{color:var(--text0)}.bar-route{display:flex;flex:1;min-width:0}.bar-route .overlay-box.anchored{border-radius:var(--radius) var(--radius) var(--radius-lg) var(--radius-lg);--picker-inset: 10px}.bar-route .overlay-box.anchored .picker-input{padding:3px 10px;border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.bar-route .overlay-box .picker-list{max-height:min(340px,50vh)}.bar-route-path{flex:0 1 auto;min-width:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-route-param{text-decoration:underline dotted;text-underline-offset:3px}.top-bar{position:relative;display:flex;align-items:center;gap:8px;background:var(--surface1);border-bottom:1px solid var(--border0);padding:4px 10px;font:var(--type-mono-sm);font-variant-numeric:tabular-nums;color:var(--text2);min-height:38px}.app.zen{grid-template-rows:1fr}.app.zen .top-bar{display:none}@media(display-mode:window-controls-overlay){.top-bar{-webkit-app-region:drag;app-region:drag;padding-left:calc(env(titlebar-area-x,0px) + 10px);padding-right:calc(100vw - env(titlebar-area-x,0px) - env(titlebar-area-width,100vw) + 10px);min-height:calc(max(38px,env(titlebar-area-height,38px)) + 1px)}.top-bar button,.top-bar input,.top-bar .bar-center{-webkit-app-region:no-drag;app-region:no-drag}.app.zen{grid-template-rows:auto 1fr}.app.zen .top-bar{display:flex}.app.zen .top-bar>:not(.bar-zen-title,.bar-grow,.bar-tools),.app.zen .bar-tools>:not(.bar-zen){display:none}.app.zen .top-bar .bar-zen-title{display:block}}.bar-zen-title{display:none;position:absolute;inset-inline:0;text-align:center;pointer-events:none;color:var(--text2)}.bar-center{position:absolute;display:flex;align-items:center;gap:4px}.bar-lead{display:flex;align-items:center;gap:inherit;min-width:0}.top-bar .btn{min-height:20px}.bar-project{display:flex;align-items:center}.bar-pill{flex:none}.bar-project .overlay-box .picker-list{max-height:min(340px,50vh)}.bar-project-name{overflow:hidden;text-overflow:ellipsis;max-width:160px}.top-bar .bar-grow{flex:1}.top-bar .bar-tools{display:flex;align-items:center;gap:20px}}@layer tokens,base,surfaces;@layer base{.menu{width:220px;background:var(--surface1);border:1px solid var(--border1);border-radius:var(--radius-md);overflow:hidden auto;max-height:calc(100vh - 8px);padding:4px 0;box-shadow:var(--elevation-float);display:flex;flex-direction:column}.menu button{color:var(--text0)}.menu button.row-tall{height:auto;padding-top:4px;padding-bottom:4px}.menu .menu-text{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:1px}.menu .menu-key{margin-left:auto;flex:none}.menu .menu-sep{height:1px;margin:4px 0;border:0;background:var(--border0)}.menu .menu-check{width:14px;flex:none;display:flex;justify-content:center}.menu button.disabled{color:var(--text2);cursor:default}.menu button.disabled:hover{background:none}.menu .menu-label,.menu .menu-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu .menu-detail{font:var(--type-ui-sm)}.menu button:hover,.menu button[data-state~=cursor]{background:var(--element0)}.menu button.danger{color:var(--red)}}@layer tokens,base,surfaces;@layer surfaces{.app{display:grid;grid-template-rows:auto 1fr;height:100%}.app.zen .changes-dock,.app.zen .chat-dock,.app.zen .rail,.app.zen .dock-resize,.app.zen .pane{display:none}.docks{display:flex;min-height:0;--dock-min: 170px;min-width:0;isolation:isolate}.dock-resize{position:relative;width:0;flex-shrink:0;z-index:1}.dock-resize:after{content:"";position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;background:transparent;transition:background .1s}.dock-resize.left:after{right:0}.dock-resize.right:after{left:0}.dock-resize:hover:after,.dock-resize.active:after{background:var(--element1)}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing iframe{pointer-events:none}}@layer tokens,base,surfaces;@layer tokens{:root{color-scheme:dark;--surface0: #32302d;--surface1: #3d3835;--surface2: #504943;--element0: #504943;--element1: #675c55;--border0: #504943;--border1: #675c55;--text0: #e6dcb6;--text1: #9e927e;--text2: #6a6055;--green: #78c945;--red: #ff4929;--yellow: #fcbe03;--blue: #69a9e8;--aqua: #4dc7a7;--orange: #fa891e;--purple: #ca94ca;--diff-add: #6fae5f29;--diff-del: #c07f6a29;--diff-add-word: #6fae5f17;--diff-del-word: #c07f6a17;--accent: var(--red);--fault: var(--orange);--sunken: #342f2d;--sunken-floor: #292725;--scrim: #32302db3;--shadow: #00000066;--code: color-mix(in srgb, var(--text0) 6%, transparent);--syntax-comment: #6a6055;--syntax-keyword: #fa891e;--syntax-string: #78c945;--syntax-number: #ca94ca;--syntax-type: #fcbe03;--syntax-function: #4dc7a7;--syntax-variable: #69a9e8;--radius-xs: 3px;--radius: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--row-height-sm: 24px;--row-height: 32px;--row-inset: 12px;--view-inset: 24px;--view-top: 48px;--view-anchor: max(var(--view-top), 24vh);--view-measure: 560px;--view-gap: 12px;--view-measure-wide: 720px;--view-gap-wide: 16px;--chat-measure: 720px;--form-body: 96px;--form-body-lg: 120px;--elevation-float: 0 6px 20px var(--shadow);--elevation-overlay: 0 10px 36px var(--shadow);--face-ui: -apple-system, "Segoe UI", sans-serif;--face-mono: ui-monospace, "SF Mono", Menlo, "DejaVu Sans Mono", monospace;--type-ui-sm: 400 11px / 1.4 var(--face-ui);--type-ui: 400 13px / 1.5 var(--face-ui);--type-ui-lg: 400 20px / 28px var(--face-ui);--type-ui-xl: 400 24px / 32px var(--face-ui);--type-mono-sm: 400 var(--size-mono-sm) var(--face-mono);--type-mono: 400 var(--size-mono) var(--face-mono);--size-mono: 12px;--size-mono-sm: 11px;--weight-strong: 500;--weight-title: 600}}@layer tokens,base,surfaces;@layer base{*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--surface0);color:var(--text0);font:var(--type-ui)}html,body{overflow:hidden;overscroll-behavior:none}button{background:none;border:none;color:inherit;font:inherit;cursor:pointer}code{font:var(--type-mono);padding:1px 5px;border-radius:var(--radius-xs);background:var(--code);-webkit-box-decoration-break:clone;box-decoration-break:clone;overflow-wrap:anywhere}a code{color:inherit}.sy-comment{color:var(--syntax-comment);font-style:italic}.sy-keyword{color:var(--syntax-keyword)}.sy-string{color:var(--syntax-string)}.sy-number{color:var(--syntax-number)}.sy-type{color:var(--syntax-type)}.sy-function{color:var(--syntax-function)}.sy-variable{color:var(--syntax-variable)}.row{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--row-height);padding:0 var(--row-inset);text-align:left;color:var(--text1);position:relative}.row-sm{min-height:var(--row-height-sm);font:var(--type-mono)}.row:hover,.row.menu-open{background:var(--element0);color:var(--text0)}.row-dim{color:var(--row-dim-color, var(--text2))}.row:hover,.row[data-state~=current],.row.menu-open{--row-dim-color: var(--text1)}.row-quiet{color:var(--text2)}.row-quiet:hover,.row-quiet.menu-open{color:var(--text1)}.row-edge{position:relative}.row-edge:before{content:""}.row-edge:before,.row-current{position:absolute;left:var(--row-edge-x, 0);top:0;bottom:0;width:2px;background:var(--row-edge-color, transparent)}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot.running{background:var(--green)}.dot.starting{background:var(--text2)}.dot.working{background:var(--green);animation:pulse 1.2s ease-in-out infinite}.dot.waiting{background:var(--accent)}.dot.crashed{background:var(--red)}.dot.failed{background:var(--red)}.dot.idle{background:var(--surface2)}.dot.asleep{background:var(--surface2);opacity:.6}.dot.landed{background:var(--aqua)}.dot.discovered{background:none;box-shadow:inset 0 0 0 1.5px var(--text2)}.dot.unseen{box-shadow:0 0 0 1px var(--dot-gap, var(--surface1)),0 0 0 2.5px var(--text2)}@keyframes pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.dot.working{background:var(--yellow);animation:none}}.row-current{--row-edge-color: var(--accent)}.section-title{font:var(--type-ui-sm);color:var(--text2)}.empty{padding:4px 12px;color:var(--text2)}.hint{color:var(--text2)}.composer{display:flex;flex-direction:column;min-height:var(--composer-min, 0);background:var(--sunken);border-top:1px solid var(--border0);padding:10px;position:relative}.composer textarea{flex:1;width:100%;min-height:0;resize:none}.composer .hint{margin-top:4px}.composer-field{position:relative;display:flex;flex:1;min-height:0}.composer-knobs{display:flex;justify-content:space-between;align-items:center;gap:8px}.composer-knobs .btn{min-height:20px}.composer-notes{margin-top:4px;padding-top:8px;border-top:1px solid var(--border0);display:flex;flex-direction:column;gap:6px}.composer-notes .hint{margin:0}.composer-note{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.composer-note>.btn{margin-left:auto}.xy{color:var(--yellow);flex-shrink:0}.xy.added{color:var(--green)}.xy.deleted{color:var(--red)}.badge-ahead,.badge-landed{color:var(--aqua)}.badge-dirty{color:var(--yellow)}.badge-variant{color:var(--purple)}.badge-profile{color:var(--blue)}.badge-mode{color:var(--yellow)}.badge-new{color:var(--green)}.badge-changed{color:var(--yellow)}}