claude-code-session-manager 0.92.1 → 0.94.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.
- package/dist/assets/DataModel-B0LDnnSL.js +1 -0
- package/dist/assets/{History-BOR_fJNr.js → History-C685Kytt.js} +2 -2
- package/dist/assets/{Hooks-BtD436iL.js → Hooks-CwLnp0Z_.js} +3 -3
- package/dist/assets/HostBilko-CwEHEKYk.js +1 -0
- package/dist/assets/{Library-DeKdY-tD.js → Library-BU9np05E.js} +25 -25
- package/dist/assets/{MarkdownEditor-CbzC-Oqf.js → MarkdownEditor-B74ogK2f.js} +1 -1
- package/dist/assets/McpServers-BLM3ftzP.js +2 -0
- package/dist/assets/{Memory-B68AJjg2.js → Memory-DAP1t8bA.js} +6 -6
- package/dist/assets/{Permissions-Cr0RRvNy.js → Permissions-3pGLJmxQ.js} +3 -3
- package/dist/assets/Plugins-Q1KoLEzn.js +2 -0
- package/dist/assets/ProvenanceBadge-BnjBQiV9.js +1 -0
- package/dist/assets/{SaveBar-87ZJfscX.js → SaveBar-Zq2NfcPf.js} +1 -1
- package/dist/assets/Scheduler-D488ebKm.js +16 -0
- package/dist/assets/{ScopeSwitcher-CKzpqjJ_.js → ScopeSwitcher-Cnojv22D.js} +1 -1
- package/dist/assets/Settings-D5Lhj7ga.js +3 -0
- package/dist/assets/{SkillReferenceGraph-D_-wg4r9.js → SkillReferenceGraph-BRDiE6Hv.js} +2 -2
- package/dist/assets/Skills-BQDqp-EN.js +3 -0
- package/dist/assets/SystemPrompt-tFr19Od6.js +1 -0
- package/dist/assets/TagLibrary-BjyrnaRE.js +1 -0
- package/dist/assets/{TiptapBody-DYXIp8aG.js → TiptapBody-DGzSg3BO.js} +1 -1
- package/dist/assets/{Toggle-CDXR5l3m.js → Toggle-DzoROibf.js} +1 -1
- package/dist/assets/index-CCl4tz-u.js +3079 -0
- package/dist/assets/{index-D3P_jldk.css → index-CKH5Uxik.css} +1 -1
- package/dist/assets/settingsSchema-BYKVe1WM.js +1 -0
- package/dist/index.html +2 -2
- package/package.json +6 -3
- package/scripts/README.md +3 -0
- package/src/main/__tests__/agentEffortResolve.test.cjs +117 -0
- package/src/main/__tests__/agentLibrary.test.cjs +21 -0
- package/src/main/__tests__/agentModelResolve.test.cjs +16 -0
- package/src/main/__tests__/agentOverlayWrite.test.cjs +95 -0
- package/src/main/__tests__/chat-cancel-terminal.test.cjs +5 -2
- package/src/main/__tests__/chat-exit-close-race.test.cjs +8 -2
- package/src/main/__tests__/chat-mcp-consent-notice.test.cjs +5 -2
- package/src/main/__tests__/chatRunner-session-flag-retry.test.cjs +44 -0
- package/src/main/__tests__/intradayRefresh.test.cjs +39 -0
- package/src/main/__tests__/openExternalApp-spawn-error.test.cjs +25 -0
- package/src/main/__tests__/opsErrorLog.test.cjs +22 -0
- package/src/main/__tests__/personaMerge.test.cjs +169 -0
- package/src/main/__tests__/prdCreatePlanId.test.cjs +132 -0
- package/src/main/__tests__/promptSessionsCreateEpicHandler.test.cjs +13 -0
- package/src/main/__tests__/pty-epic-worktree-spawn-cwd.test.cjs +21 -0
- package/src/main/__tests__/rateLimitPollerStreak.test.cjs +14 -0
- package/src/main/__tests__/runVerify-atomic-verdicts.test.cjs +26 -0
- package/src/main/__tests__/runVerify-landed-commit-outranks.test.cjs +11 -1
- package/src/main/__tests__/runVerify-transcript-commit-evidence.test.cjs +11 -1
- package/src/main/__tests__/runVerify.test.cjs +12 -1
- package/src/main/__tests__/scheduler-prd-persona-spawn.test.cjs +47 -2
- package/src/main/__tests__/transcriptsUsageFor.test.cjs +112 -1
- package/src/main/agentLibrary.cjs +86 -40
- package/src/main/build-info.json +4 -4
- package/src/main/chatRunner.cjs +50 -10
- package/src/main/git.cjs +9 -2
- package/src/main/historyAggregator.cjs +2 -19
- package/src/main/index.cjs +17 -8
- package/src/main/ipcSchemas.cjs +25 -3
- package/src/main/lib/__tests__/childWithLog.test.cjs +180 -0
- package/src/main/lib/__tests__/delegationReadiness.test.cjs +19 -0
- package/src/main/lib/__tests__/effectiveModelInfo.test.cjs +10 -5
- package/src/main/lib/__tests__/gitCacheBound.test.cjs +69 -0
- package/src/main/lib/__tests__/modelCatalog.test.cjs +202 -0
- package/src/main/lib/agentEffortResolve.cjs +74 -0
- package/src/main/lib/agentModelResolve.cjs +52 -59
- package/src/main/lib/agentPersonaSchema.cjs +5 -0
- package/src/main/lib/childWithLog.cjs +92 -51
- package/src/main/lib/delegationReadiness.cjs +3 -1
- package/src/main/lib/effectiveModelInfo.cjs +38 -20
- package/src/main/lib/epicMint.cjs +5 -2
- package/src/main/lib/epicSpawnPlan.cjs +27 -8
- package/src/main/lib/epicTranscriptPath.cjs +5 -1
- package/src/main/lib/epicWorktreeMerge.cjs +7 -6
- package/src/main/lib/headTailBuffer.cjs +43 -0
- package/src/main/lib/intradayRefresh.cjs +33 -0
- package/src/main/lib/lruCache.cjs +39 -0
- package/src/main/lib/modelCatalog.cjs +243 -0
- package/src/main/lib/openExternalApp.cjs +27 -9
- package/src/main/lib/opsErrorLog.cjs +22 -0
- package/src/main/lib/personaMerge.cjs +166 -0
- package/src/main/lib/prdCreate.cjs +23 -5
- package/src/main/lib/prdDisposition.cjs +46 -0
- package/src/main/lib/prdFrontmatter.cjs +6 -2
- package/src/main/lib/promptSessionSchema.cjs +5 -0
- package/src/main/lib/promptSessionsCreateEpic.cjs +5 -3
- package/src/main/lib/rendererRecovery.cjs +141 -0
- package/src/main/lib/scheduleJobSchema.cjs +3 -0
- package/src/main/runVerify.cjs +3 -1
- package/src/main/scheduler/prdParser.cjs +2 -0
- package/src/main/scheduler.cjs +381 -262
- package/src/main/templates/PRD_AUTHORING.md +4 -0
- package/src/main/transcripts.cjs +54 -11
- package/src/preload/api.d.ts +56 -3
- package/src/preload/index.cjs +4 -0
- package/dist/assets/AgentLibrary-Ci6u03bq.js +0 -3
- package/dist/assets/DataModel-BIqcjsv2.js +0 -1
- package/dist/assets/HostBilko-CMe5cH3H.js +0 -1
- package/dist/assets/ListDetail-CtVjrHKB.js +0 -1
- package/dist/assets/McpServers-DKN75Shn.js +0 -2
- package/dist/assets/Panel-C2YTW-qP.js +0 -1
- package/dist/assets/Plugins-DbZkJs5l.js +0 -2
- package/dist/assets/ProvenanceBadge-kJ__BOQv.js +0 -1
- package/dist/assets/Scheduler-DdEaxku8.js +0 -16
- package/dist/assets/Settings-CjywVsNB.js +0 -3
- package/dist/assets/Skills-Cd_yPO_l.js +0 -3
- package/dist/assets/SystemPrompt-2z6eGPSF.js +0 -1
- package/dist/assets/TagLibrary-DcaWQSp4.js +0 -1
- package/dist/assets/index-D5H_H5wC.js +0 -3074
- package/dist/assets/settingsSchema-JRDfjgHb.js +0 -3
|
@@ -29,4 +29,4 @@
|
|
|
29
29
|
* The original design remains. The terminal itself
|
|
30
30
|
* has been extended to include xterm CSI codes, among
|
|
31
31
|
* other features.
|
|
32
|
-
*/.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-\[10px\]{left:-10px}.-left-\[4px\]{left:-4px}.bottom-0{bottom:0}.bottom-1\.5{bottom:.375rem}.bottom-10{bottom:2.5rem}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-11{right:2.75rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-2{top:.5rem}.top-4{top:1rem}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[500\]{z-index:500}.z-\[590\]{z-index:590}.z-\[600\]{z-index:600}.z-\[700\]{z-index:700}.z-\[900\]{z-index:900}.-m-1{margin:-.25rem}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-\[18px\]{margin-left:-18px;margin-right:-18px}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-\[18px\]{margin-left:18px;margin-right:18px}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-px{margin-bottom:-1px}.-mt-2{margin-top:-.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-\[18px\]{margin-bottom:18px}.mb-\[5px\]{margin-bottom:5px}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-\[22px\]{margin-top:22px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-6{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[13px\]{height:13px}.h-\[15px\]{height:15px}.h-\[16px\]{height:16px}.h-\[19px\]{height:19px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[26px\]{height:26px}.h-\[28px\]{height:28px}.h-\[30px\]{height:30px}.h-\[31px\]{height:31px}.h-\[32px\]{height:32px}.h-\[44px\]{height:44px}.h-\[4px\]{height:4px}.h-\[5px\]{height:5px}.h-\[7px\]{height:7px}.h-\[90vh\]{height:90vh}.h-\[9px\]{height:9px}.h-\[Npx\]{height:Npx}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:6rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[120px\]{max-height:120px}.max-h-\[160px\]{max-height:160px}.max-h-\[2\.6em\]{max-height:2.6em}.max-h-\[40vh\]{max-height:40vh}.max-h-\[45vh\]{max-height:45vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[8\.5em\]{max-height:8.5em}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[10px\]{width:10px}.w-\[13px\]{width:13px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[20px\]{width:20px}.w-\[226px\]{width:226px}.w-\[26px\]{width:26px}.w-\[300px\]{width:300px}.w-\[30px\]{width:30px}.w-\[34px\]{width:34px}.w-\[352px\]{width:352px}.w-\[3px\]{width:3px}.w-\[420px\]{width:420px}.w-\[50px\]{width:50px}.w-\[600px\]{width:600px}.w-\[7px\]{width:7px}.w-\[9px\]{width:9px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[104px\]{min-width:104px}.min-w-\[150px\]{min-width:150px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[7\.5rem\]{min-width:7.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[1080px\]{max-width:1080px}.max-w-\[10rem\]{max-width:10rem}.max-w-\[1100px\]{max-width:1100px}.max-w-\[120px\]{max-width:120px}.max-w-\[12rem\]{max-width:12rem}.max-w-\[160px\]{max-width:160px}.max-w-\[16rem\]{max-width:16rem}.max-w-\[18rem\]{max-width:18rem}.max-w-\[200px\]{max-width:200px}.max-w-\[240px\]{max-width:240px}.max-w-\[24rem\]{max-width:24rem}.max-w-\[320px\]{max-width:320px}.max-w-\[420px\]{max-width:420px}.max-w-\[500px\]{max-width:500px}.max-w-\[560px\]{max-width:560px}.max-w-\[580px\]{max-width:580px}.max-w-\[640px\]{max-width:640px}.max-w-\[70\%\]{max-width:70%}.max-w-\[700px\]{max-width:700px}.max-w-\[74rem\]{max-width:74rem}.max-w-\[760px\]{max-width:760px}.max-w-\[80\%\]{max-width:80%}.max-w-\[820px\]{max-width:820px}.max-w-\[8rem\]{max-width:8rem}.max-w-\[90\%\]{max-width:90%}.max-w-\[900px\]{max-width:900px}.max-w-\[90vw\]{max-width:90vw}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[min\(96vw\,1400px\)\]{max-width:min(96vw,1400px)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-0{flex-basis:0px}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-3\.5{--tw-translate-x: .875rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-4{scroll-margin-top:1rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[116px_1fr_auto_auto\]{grid-template-columns:116px 1fr auto auto}.grid-cols-\[18px_minmax\(0\,1fr\)_auto\]{grid-template-columns:18px minmax(0,1fr) auto}.grid-cols-\[5rem_1fr_auto\]{grid-template-columns:5rem 1fr auto}.grid-cols-\[8px_minmax\(0\,1fr\)_auto\]{grid-template-columns:8px minmax(0,1fr) auto}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fit\,minmax\(160px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-end{justify-items:end}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-\[18px\]{gap:18px}.gap-\[3px\]{gap:3px}.gap-\[7px\]{gap:7px}.gap-px{gap:1px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-line>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(224 211 184 / var(--tw-divide-opacity, 1))}.divide-line\/60>:not([hidden])~:not([hidden]){border-color:#e0d3b899}.self-start{align-self:flex-start}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[13px\]{border-radius:13px}.rounded-\[14px\]{border-radius:14px}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-\[9px\]{border-radius:9px}.rounded-card{border-radius:14px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[\#8e641a\]\/40{border-color:#8e641a66}.border-\[\#b8443c\]\/40{border-color:#b8443c66}.border-accent{--tw-border-opacity: 1;border-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.border-accent-muted{--tw-border-opacity: 1;border-color:rgb(232 169 136 / var(--tw-border-opacity, 1))}.border-accent\/30{border-color:#b85c344d}.border-accent\/40{border-color:#b85c3466}.border-accent\/50{border-color:#b85c3480}.border-accent\/60{border-color:#b85c3499}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/50{border-color:#fbbf2480}.border-amber-600\/30{border-color:#d977064d}.border-amber-700{--tw-border-opacity: 1;border-color:rgb(180 83 9 / var(--tw-border-opacity, 1))}.border-amber-700\/60{border-color:#b4530999}.border-blue-900\/40{border-color:#1e3a8a66}.border-butter\/40{border-color:#e4b85a66}.border-current{border-color:currentColor}.border-delta-bad\/40{border-color:#a3441f66}.border-delta-good\/40{border-color:#566b3466}.border-fg-faint{--tw-border-opacity: 1;border-color:rgb(138 122 96 / var(--tw-border-opacity, 1))}.border-fg-faint\/70{border-color:#8a7a60b3}.border-fuchsia-500\/40{border-color:#d946ef66}.border-hive-teal{--tw-border-opacity: 1;border-color:rgb(79 125 114 / var(--tw-border-opacity, 1))}.border-honey{--tw-border-opacity: 1;border-color:rgb(211 162 60 / var(--tw-border-opacity, 1))}.border-honey-dark\/40{border-color:#7b560e66}.border-honey\/30{border-color:#d3a23c4d}.border-line{--tw-border-opacity: 1;border-color:rgb(224 211 184 / var(--tw-border-opacity, 1))}.border-line\/30{border-color:#e0d3b84d}.border-line\/50{border-color:#e0d3b880}.border-line\/60{border-color:#e0d3b899}.border-purple-900\/40{border-color:#581c8766}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/50{border-color:#ef444480}.border-red-500\/70{border-color:#ef4444b3}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.border-red-700\/30{border-color:#b91c1c4d}.border-red-700\/60{border-color:#b91c1c99}.border-red-800{--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.border-red-800\/40{border-color:#991b1b66}.border-red-900\/40{border-color:#7f1d1d66}.border-rule{--tw-border-opacity: 1;border-color:rgb(217 201 168 / var(--tw-border-opacity, 1))}.border-rule-inner{--tw-border-opacity: 1;border-color:rgb(232 224 205 / var(--tw-border-opacity, 1))}.border-rule-structural{--tw-border-opacity: 1;border-color:rgb(212 204 184 / var(--tw-border-opacity, 1))}.border-sage{--tw-border-opacity: 1;border-color:rgb(111 125 82 / var(--tw-border-opacity, 1))}.border-sage\/30{border-color:#6f7d524d}.border-sage\/60{border-color:#6f7d5299}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.border-yellow-600\/50{border-color:#ca8a0480}.border-yellow-600\/60{border-color:#ca8a0499}.border-yellow-800\/40{border-color:#854d0e66}.border-yellow-900\/40{border-color:#713f1266}.border-l-accent{--tw-border-opacity: 1;border-left-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.border-l-fg-faint\/40{border-left-color:#8a7a6066}.border-l-rule-structural{--tw-border-opacity: 1;border-left-color:rgb(212 204 184 / var(--tw-border-opacity, 1))}.border-l-sage{--tw-border-opacity: 1;border-left-color:rgb(111 125 82 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.bg-\[\#8e641a\]\/10{background-color:#8e641a1a}.bg-\[\#b8443c\]\/10{background-color:#b8443c1a}.bg-\[\#e5ecd8\]{--tw-bg-opacity: 1;background-color:rgb(229 236 216 / var(--tw-bg-opacity, 1))}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(184 92 52 / var(--tw-bg-opacity, 1))}.bg-accent-dark{--tw-bg-opacity: 1;background-color:rgb(129 64 36 / var(--tw-bg-opacity, 1))}.bg-accent-muted{--tw-bg-opacity: 1;background-color:rgb(232 169 136 / var(--tw-bg-opacity, 1))}.bg-accent-muted\/60{background-color:#e8a98899}.bg-accent\/10{background-color:#b85c341a}.bg-accent\/15{background-color:#b85c3426}.bg-accent\/20{background-color:#b85c3433}.bg-accent\/5{background-color:#b85c340d}.bg-amber-100\/40{background-color:#fef3c766}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/15{background-color:#fbbf2426}.bg-amber-400\/20{background-color:#fbbf2433}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-bg{--tw-bg-opacity: 1;background-color:rgb(246 239 225 / var(--tw-bg-opacity, 1))}.bg-bg-elev{--tw-bg-opacity: 1;background-color:rgb(239 230 211 / var(--tw-bg-opacity, 1))}.bg-bg-elev\/30{background-color:#efe6d34d}.bg-bg-elev\/40{background-color:#efe6d366}.bg-bg-elev\/50{background-color:#efe6d380}.bg-bg-elev\/60{background-color:#efe6d399}.bg-bg-elev\/80{background-color:#efe6d3cc}.bg-bg-elev\/85{background-color:#efe6d3d9}.bg-bg-hi{--tw-bg-opacity: 1;background-color:rgb(251 246 236 / var(--tw-bg-opacity, 1))}.bg-bg-hi\/40{background-color:#fbf6ec66}.bg-bg\/40{background-color:#f6efe166}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/65{background-color:#000000a6}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-950\/30{background-color:#1725544d}.bg-butter{--tw-bg-opacity: 1;background-color:rgb(228 184 90 / var(--tw-bg-opacity, 1))}.bg-butter\/10{background-color:#e4b85a1a}.bg-butter\/25{background-color:#e4b85a40}.bg-butter\/30{background-color:#e4b85a4d}.bg-butter\/60{background-color:#e4b85a99}.bg-current{background-color:currentColor}.bg-delta-bad{--tw-bg-opacity: 1;background-color:rgb(163 68 31 / var(--tw-bg-opacity, 1))}.bg-delta-bad\/10{background-color:#a3441f1a}.bg-delta-bad\/15{background-color:#a3441f26}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-fg{--tw-bg-opacity: 1;background-color:rgb(42 34 26 / var(--tw-bg-opacity, 1))}.bg-fg-dim{--tw-bg-opacity: 1;background-color:rgb(91 74 54 / var(--tw-bg-opacity, 1))}.bg-fg-dim\/10{background-color:#5b4a361a}.bg-fg-faint{--tw-bg-opacity: 1;background-color:rgb(138 122 96 / var(--tw-bg-opacity, 1))}.bg-fg-faint\/40{background-color:#8a7a6066}.bg-fg-faint\/50{background-color:#8a7a6080}.bg-fuchsia-500\/20{background-color:#d946ef33}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-hive-teal{--tw-bg-opacity: 1;background-color:rgb(79 125 114 / var(--tw-bg-opacity, 1))}.bg-hive-teal\/20{background-color:#4f7d7233}.bg-honey{--tw-bg-opacity: 1;background-color:rgb(211 162 60 / var(--tw-bg-opacity, 1))}.bg-honey\/15{background-color:#d3a23c26}.bg-honey\/20{background-color:#d3a23c33}.bg-line{--tw-bg-opacity: 1;background-color:rgb(224 211 184 / var(--tw-bg-opacity, 1))}.bg-muteband{--tw-bg-opacity: 1;background-color:rgb(222 210 189 / var(--tw-bg-opacity, 1))}.bg-muteband\/60{background-color:#ded2bd99}.bg-purple-950\/30{background-color:#3b07644d}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-950\/10{background-color:#450a0a1a}.bg-red-950\/20{background-color:#450a0a33}.bg-red-950\/30{background-color:#450a0a4d}.bg-red-950\/40{background-color:#450a0a66}.bg-red-950\/95{background-color:#450a0af2}.bg-rhythm{--tw-bg-opacity: 1;background-color:rgb(207 192 162 / var(--tw-bg-opacity, 1))}.bg-rule{--tw-bg-opacity: 1;background-color:rgb(217 201 168 / var(--tw-bg-opacity, 1))}.bg-rule-inner{--tw-bg-opacity: 1;background-color:rgb(232 224 205 / var(--tw-bg-opacity, 1))}.bg-rule-structural{--tw-bg-opacity: 1;background-color:rgb(212 204 184 / var(--tw-bg-opacity, 1))}.bg-sage{--tw-bg-opacity: 1;background-color:rgb(111 125 82 / var(--tw-bg-opacity, 1))}.bg-sage\/10{background-color:#6f7d521a}.bg-sage\/15{background-color:#6f7d5226}.bg-sage\/20{background-color:#6f7d5233}.bg-sage\/25{background-color:#6f7d5240}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/5{background-color:#eab3080d}.bg-yellow-950\/20{background-color:#42200633}.bg-yellow-950\/30{background-color:#4220064d}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.fill-fg-dim{fill:#5b4a36}.fill-fg-faint{fill:#8a7a60}.stroke-accent{stroke:#b85c34}.stroke-line{stroke:#e0d3b8}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.px-\[11px\]{padding-left:11px;padding-right:11px}.px-\[13px\]{padding-left:13px;padding-right:13px}.px-\[18px\]{padding-left:18px;padding-right:18px}.px-\[22px\]{padding-left:22px;padding-right:22px}.px-\[26px\]{padding-left:26px;padding-right:26px}.px-\[34px\]{padding-left:34px;padding-right:34px}.px-\[7px\]{padding-left:7px;padding-right:7px}.px-\[9px\]{padding-left:9px;padding-right:9px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.py-\[11px\]{padding-top:11px;padding-bottom:11px}.py-\[13px\]{padding-top:13px;padding-bottom:13px}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.py-\[15px\]{padding-top:15px;padding-bottom:15px}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[26px\]{padding-top:26px;padding-bottom:26px}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.py-\[9px\]{padding-top:9px;padding-bottom:9px}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-7{padding-bottom:1.75rem}.pb-\[10px\]{padding-bottom:10px}.pb-\[15px\]{padding-bottom:15px}.pb-\[18px\]{padding-bottom:18px}.pl-0{padding-left:0}.pl-12{padding-left:3rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[18px\]{padding-left:18px}.pl-\[3\.75rem\]{padding-left:3.75rem}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-\[11px\]{padding-top:11px}.pt-\[14px\]{padding-top:14px}.pt-\[15px\]{padding-top:15px}.pt-\[15vh\]{padding-top:15vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.font-sans{font-family:Geist,system-ui,sans-serif}.font-serif{font-family:Newsreader,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[21px\]{font-size:21px}.text-\[22px\]{font-size:22px}.text-\[25px\]{font-size:25px}.text-\[30px\]{font-size:30px}.text-\[34px\]{font-size:34px}.text-\[42px\]{font-size:42px}.text-\[52px\]{font-size:52px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.35\]{line-height:1.35}.leading-\[1\.3\]{line-height:1.3}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.5\]{line-height:1.5}.leading-\[14px\]{line-height:14px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.3px\]{letter-spacing:-.3px}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.07em\]{letter-spacing:.07em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.09em\]{letter-spacing:.09em}.tracking-\[0\.11em\]{letter-spacing:.11em}.tracking-\[0\.7px\]{letter-spacing:.7px}.tracking-\[0\.9px\]{letter-spacing:.9px}.tracking-\[1\.1px\]{letter-spacing:1.1px}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#7a5416\]{--tw-text-opacity: 1;color:rgb(122 84 22 / var(--tw-text-opacity, 1))}.text-\[\#8a2f28\]{--tw-text-opacity: 1;color:rgb(138 47 40 / var(--tw-text-opacity, 1))}.text-accent{--tw-text-opacity: 1;color:rgb(184 92 52 / var(--tw-text-opacity, 1))}.text-accent-dark{--tw-text-opacity: 1;color:rgb(129 64 36 / var(--tw-text-opacity, 1))}.text-accent\/80{color:#b85c34cc}.text-accent\/90{color:#b85c34e6}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-300\/90{color:#fcd34de6}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/70{color:#fbbf24b3}.text-amber-400\/90{color:#fbbf24e6}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-bg{--tw-text-opacity: 1;color:rgb(246 239 225 / var(--tw-text-opacity, 1))}.text-bg-hi{--tw-text-opacity: 1;color:rgb(251 246 236 / var(--tw-text-opacity, 1))}.text-blue-300\/90{color:#93c5fde6}.text-blue-400\/80{color:#60a5facc}.text-butter{--tw-text-opacity: 1;color:rgb(228 184 90 / var(--tw-text-opacity, 1))}.text-butter\/90{color:#e4b85ae6}.text-delta-bad{--tw-text-opacity: 1;color:rgb(163 68 31 / var(--tw-text-opacity, 1))}.text-delta-good{--tw-text-opacity: 1;color:rgb(86 107 52 / var(--tw-text-opacity, 1))}.text-fg{--tw-text-opacity: 1;color:rgb(42 34 26 / var(--tw-text-opacity, 1))}.text-fg-dim{--tw-text-opacity: 1;color:rgb(91 74 54 / var(--tw-text-opacity, 1))}.text-fg-faint{--tw-text-opacity: 1;color:rgb(138 122 96 / var(--tw-text-opacity, 1))}.text-fg-faint\/40{color:#8a7a6066}.text-fg-faint\/50{color:#8a7a6080}.text-fg-faint\/60{color:#8a7a6099}.text-fg-faint\/70{color:#8a7a60b3}.text-fg-faint\/80{color:#8a7a60cc}.text-fg\/40{color:#2a221a66}.text-fg\/50{color:#2a221a80}.text-fg\/70{color:#2a221ab3}.text-fg\/85{color:#2a221ad9}.text-fuchsia-300{--tw-text-opacity: 1;color:rgb(240 171 252 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-400\/70{color:#4ade80b3}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-500\/70{color:#22c55eb3}.text-hive-teal{--tw-text-opacity: 1;color:rgb(79 125 114 / var(--tw-text-opacity, 1))}.text-honey-dark{--tw-text-opacity: 1;color:rgb(123 86 14 / var(--tw-text-opacity, 1))}.text-line{--tw-text-opacity: 1;color:rgb(224 211 184 / var(--tw-text-opacity, 1))}.text-purple-400\/80{color:#c084fccc}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-300\/70{color:#fca5a5b3}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/70{color:#f87171b3}.text-red-400\/80{color:#f87171cc}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-sage{--tw-text-opacity: 1;color:rgb(111 125 82 / var(--tw-text-opacity, 1))}.text-sage-dark{--tw-text-opacity: 1;color:rgb(78 87 57 / var(--tw-text-opacity, 1))}.text-sage\/90{color:#6f7d52e6}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-400\/70{color:#facc15b3}.text-yellow-400\/80{color:#facc15cc}.text-yellow-500\/70{color:#eab308b3}.text-yellow-500\/80{color:#eab308cc}.text-yellow-500\/90{color:#eab308e6}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-fg-faint::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(138 122 96 / var(--tw-placeholder-opacity, 1))}.placeholder-fg-faint::placeholder{--tw-placeholder-opacity: 1;color:rgb(138 122 96 / var(--tw-placeholder-opacity, 1))}.accent-accent{accent-color:#b85c34}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_rgba\(184\,92\,52\,\.09\)\]{--tw-shadow: 0 0 0 3px rgba(184,92,52,.09);--tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow: inset 0 0 0 1px rgba(0,0,0,.06);--tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_2px_0_theme\(colors\.accent\.DEFAULT\)\]{--tw-shadow: inset 0 2px 0 #b85c34;--tw-shadow-colored: inset 0 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-accent{--tw-ring-opacity: 1;--tw-ring-color: rgb(184 92 52 / var(--tw-ring-opacity, 1))}.ring-accent-dark\/40{--tw-ring-color: rgb(129 64 36 / .4)}.ring-amber-400\/40{--tw-ring-color: rgb(251 191 36 / .4)}.ring-fg-faint\/40{--tw-ring-color: rgb(138 122 96 / .4)}.ring-hive-teal\/40{--tw-ring-color: rgb(79 125 114 / .4)}.ring-honey\/40{--tw-ring-color: rgb(211 162 60 / .4)}.ring-line{--tw-ring-opacity: 1;--tw-ring-color: rgb(224 211 184 / var(--tw-ring-opacity, 1))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.ring-sage\/40{--tw-ring-color: rgb(111 125 82 / .4)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[filter\]{transition-property:filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-width\]{transition-property:max-width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.duration-\[220ms\]{transition-duration:.22s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[animation-delay\:0ms\]{animation-delay:0ms}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}.burn-proj-stripe{background-image:repeating-linear-gradient(45deg,#6f7d52 0px,#6f7d52 4px,transparent 4px,transparent 8px)}.tiptap-content h1{font-size:1.5rem;font-weight:600;margin:.75rem 0 .5rem;line-height:1.3;color:#2a221a;font-family:Newsreader,Georgia,serif}.tiptap-content h2{font-size:1.25rem;font-weight:600;margin:.75rem 0 .4rem;line-height:1.3;color:#2a221a;font-family:Newsreader,Georgia,serif}.tiptap-content h3{font-size:1.1rem;font-weight:600;margin:.6rem 0 .3rem;line-height:1.3;color:#2a221a;font-family:Newsreader,Georgia,serif}.tiptap-content p{margin:.4rem 0;color:#2a221a;line-height:1.6}.tiptap-content ul{list-style:disc;padding-left:1.5rem;margin:.4rem 0;color:#2a221a}.tiptap-content ol{list-style:decimal;padding-left:1.5rem;margin:.4rem 0;color:#2a221a}.tiptap-content li{margin:.15rem 0}.tiptap-content blockquote{border-left:3px solid #d9c9a8;padding-left:.75rem;color:#5b4a36;margin:.4rem 0;font-style:italic}.tiptap-content code{background:#fbf6ec;color:#b85c34;padding:.1em .35em;border-radius:3px;font-size:.88em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.tiptap-content pre{background:#fbf6ec;color:#2a221a;padding:.75rem 1rem;border-radius:6px;overflow-x:auto;margin:.5rem 0;font-size:.85em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.tiptap-content pre code{background:none;padding:0;color:inherit;font-size:inherit;border:0}.tiptap-content a{color:#b85c34;text-decoration:underline}.tiptap-content hr{border:none;border-top:1px solid #d9c9a8;margin:.75rem 0}.tiptap-content strong{font-weight:600}.tiptap-content em{font-style:italic}.tiptap-content:focus{outline:none}.markdown-body,.prose-chat{overflow-wrap:anywhere}.markdown-body code,.prose-chat code{word-break:break-word}.markdown-body{color:#2a221a}.markdown-body h1{font-size:1.9rem;font-weight:600;margin:1.4rem 0 .7rem;line-height:1.25;font-family:Newsreader,Georgia,serif}.markdown-body h2{font-size:1.5rem;font-weight:600;margin:1.2rem 0 .6rem;line-height:1.3;font-family:Newsreader,Georgia,serif;border-bottom:1px solid #e6dcc4;padding-bottom:.2rem}.markdown-body h3{font-size:1.2rem;font-weight:600;margin:1rem 0 .4rem;line-height:1.3;font-family:Newsreader,Georgia,serif}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;margin:.8rem 0 .3rem;font-family:Newsreader,Georgia,serif}.markdown-body p{margin:.6rem 0;line-height:1.7}.markdown-body ul{list-style:disc;padding-left:1.6rem;margin:.5rem 0}.markdown-body ol{list-style:decimal;padding-left:1.6rem;margin:.5rem 0}.markdown-body li{margin:.2rem 0;line-height:1.6}.markdown-body li>input[type=checkbox]{margin-right:.4rem}.markdown-body blockquote{border-left:3px solid #d9c9a8;padding-left:.85rem;color:#5b4a36;margin:.6rem 0;font-style:italic}.markdown-body code,.prose-chat code{background:#fbf6ec;color:#b85c34;padding:.1em .35em;border-radius:3px;font-size:.88em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.markdown-body pre,.prose-chat pre{background:#fbf6ec;color:#2a221a;padding:.8rem 1rem;border-radius:6px;overflow-x:auto;margin:.7rem 0;font-size:.85em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.markdown-body pre code,.prose-chat pre code{background:none;padding:0;color:inherit;font-size:inherit;border:0}.markdown-body a{color:#b85c34;text-decoration:underline}.markdown-body hr{border:none;border-top:1px solid #d9c9a8;margin:1rem 0}.markdown-body strong{font-weight:600}.markdown-body em{font-style:italic}.markdown-body img{max-width:100%;border-radius:4px}.markdown-body table,.prose-chat table{border-collapse:collapse;margin:.7rem 0;font-size:.9em}.markdown-body th,.markdown-body td,.prose-chat th,.prose-chat td{border:1px solid #e0d3b8;padding:.35rem .6rem;text-align:left}.markdown-body th,.prose-chat th{background:#f1e7d2;font-weight:600}.prose-chat-table-wrap{overflow-x:auto}.markdown-body h1[id],.markdown-body h2[id],.markdown-body h3[id]{scroll-margin-top:1rem}.prose-chat .chat-file-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;color:#b85c34}.prose-chat--plan{border:1px solid #8e641a40;border-radius:14px;background:#8e641a0d}.prose-chat--plan ul,.prose-chat--plan ol{list-style:none;padding-left:1.4rem;margin:.4rem 0}.prose-chat--plan li{position:relative;margin:.3rem 0}.prose-chat--plan li:before{content:"✓";position:absolute;left:-1.4rem;color:#4d7a4d;font-weight:600}html,body,#root{height:100%;margin:0;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#efe6d3}::-webkit-scrollbar-thumb{background:#d9c9a8;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#c8b88f}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{width:0;height:0}.placeholder\:text-fg-faint::-moz-placeholder{--tw-text-opacity: 1;color:rgb(138 122 96 / var(--tw-text-opacity, 1))}.placeholder\:text-fg-faint::placeholder{--tw-text-opacity: 1;color:rgb(138 122 96 / var(--tw-text-opacity, 1))}.first\:border-l-0:first-child{border-left-width:0px}.first\:border-t-0:first-child{border-top-width:0px}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0px}.even\:bg-bg-elev\/40:nth-child(2n){background-color:#efe6d366}.hover\:border-accent:hover{--tw-border-opacity: 1;border-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.hover\:border-accent\/40:hover{border-color:#b85c3466}.hover\:border-fg:hover{--tw-border-opacity: 1;border-color:rgb(42 34 26 / var(--tw-border-opacity, 1))}.hover\:border-fg-faint:hover{--tw-border-opacity: 1;border-color:rgb(138 122 96 / var(--tw-border-opacity, 1))}.hover\:border-line:hover{--tw-border-opacity: 1;border-color:rgb(224 211 184 / var(--tw-border-opacity, 1))}.hover\:border-red-400\/50:hover{border-color:#f8717180}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(184 92 52 / var(--tw-bg-opacity, 1))}.hover\:bg-accent-dark:hover{--tw-bg-opacity: 1;background-color:rgb(129 64 36 / var(--tw-bg-opacity, 1))}.hover\:bg-accent\/10:hover{background-color:#b85c341a}.hover\:bg-accent\/25:hover{background-color:#b85c3440}.hover\:bg-accent\/40:hover{background-color:#b85c3466}.hover\:bg-accent\/90:hover{background-color:#b85c34e6}.hover\:bg-amber-900\/20:hover{background-color:#78350f33}.hover\:bg-bg:hover{--tw-bg-opacity: 1;background-color:rgb(246 239 225 / var(--tw-bg-opacity, 1))}.hover\:bg-bg-elev:hover{--tw-bg-opacity: 1;background-color:rgb(239 230 211 / var(--tw-bg-opacity, 1))}.hover\:bg-bg-elev\/20:hover{background-color:#efe6d333}.hover\:bg-bg-elev\/40:hover{background-color:#efe6d366}.hover\:bg-bg-elev\/50:hover{background-color:#efe6d380}.hover\:bg-bg-elev\/60:hover{background-color:#efe6d399}.hover\:bg-bg-hi:hover{--tw-bg-opacity: 1;background-color:rgb(251 246 236 / var(--tw-bg-opacity, 1))}.hover\:bg-bg-hi\/40:hover{background-color:#fbf6ec66}.hover\:bg-bg-hi\/50:hover{background-color:#fbf6ec80}.hover\:bg-bg-hi\/60:hover{background-color:#fbf6ec99}.hover\:bg-bg-hi\/80:hover{background-color:#fbf6eccc}.hover\:bg-bg\/40:hover{background-color:#f6efe166}.hover\:bg-bg\/60:hover{background-color:#f6efe199}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-900\/40:hover{background-color:#1e3a8a66}.hover\:bg-delta-bad\/10:hover{background-color:#a3441f1a}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-hive-teal\/10:hover{background-color:#4f7d721a}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(184 92 52 / var(--tw-text-opacity, 1))}.hover\:text-accent\/80:hover{color:#b85c34cc}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-bg:hover{--tw-text-opacity: 1;color:rgb(246 239 225 / var(--tw-text-opacity, 1))}.hover\:text-delta-bad\/80:hover{color:#a3441fcc}.hover\:text-fg:hover{--tw-text-opacity: 1;color:rgb(42 34 26 / var(--tw-text-opacity, 1))}.hover\:text-fg-dim:hover{--tw-text-opacity: 1;color:rgb(91 74 54 / var(--tw-text-opacity, 1))}.hover\:text-honey:hover{--tw-text-opacity: 1;color:rgb(211 162 60 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-125:hover{--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:brightness-95:hover{--tw-brightness: brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-accent:focus{--tw-border-opacity: 1;border-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.focus\:border-accent\/40:focus{border-color:#b85c3466}.focus\:border-accent\/50:focus{border-color:#b85c3480}.focus\:border-fg-faint:focus{--tw-border-opacity: 1;border-color:rgb(138 122 96 / var(--tw-border-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-accent:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(184 92 52 / var(--tw-ring-opacity, 1))}.active\:bg-accent\/60:active{background-color:#b85c3499}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-70{opacity:.7}@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&\>span\]\:w-full>span{width:100%}.\[\&_\*\]\:m-0 *{margin:0}.\[\&_\*\]\:inline *{display:inline}
|
|
32
|
+
*/.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-\[10px\]{left:-10px}.-left-\[4px\]{left:-4px}.bottom-0{bottom:0}.bottom-1\.5{bottom:.375rem}.bottom-10{bottom:2.5rem}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-11{right:2.75rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-2{top:.5rem}.top-4{top:1rem}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[500\]{z-index:500}.z-\[590\]{z-index:590}.z-\[600\]{z-index:600}.z-\[700\]{z-index:700}.z-\[900\]{z-index:900}.-m-1{margin:-.25rem}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-\[18px\]{margin-left:-18px;margin-right:-18px}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-\[18px\]{margin-left:18px;margin-right:18px}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-px{margin-bottom:-1px}.-mt-2{margin-top:-.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-\[18px\]{margin-bottom:18px}.mb-\[5px\]{margin-bottom:5px}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-\[22px\]{margin-top:22px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-6{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[13px\]{height:13px}.h-\[15px\]{height:15px}.h-\[16px\]{height:16px}.h-\[19px\]{height:19px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[26px\]{height:26px}.h-\[28px\]{height:28px}.h-\[30px\]{height:30px}.h-\[31px\]{height:31px}.h-\[32px\]{height:32px}.h-\[44px\]{height:44px}.h-\[4px\]{height:4px}.h-\[5px\]{height:5px}.h-\[7px\]{height:7px}.h-\[90vh\]{height:90vh}.h-\[9px\]{height:9px}.h-\[Npx\]{height:Npx}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:6rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[120px\]{max-height:120px}.max-h-\[160px\]{max-height:160px}.max-h-\[2\.6em\]{max-height:2.6em}.max-h-\[40vh\]{max-height:40vh}.max-h-\[45vh\]{max-height:45vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[8\.5em\]{max-height:8.5em}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[10px\]{width:10px}.w-\[13px\]{width:13px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[20px\]{width:20px}.w-\[226px\]{width:226px}.w-\[26px\]{width:26px}.w-\[300px\]{width:300px}.w-\[30px\]{width:30px}.w-\[34px\]{width:34px}.w-\[352px\]{width:352px}.w-\[3px\]{width:3px}.w-\[420px\]{width:420px}.w-\[50px\]{width:50px}.w-\[600px\]{width:600px}.w-\[7px\]{width:7px}.w-\[9px\]{width:9px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[104px\]{min-width:104px}.min-w-\[150px\]{min-width:150px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[7\.5rem\]{min-width:7.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[1080px\]{max-width:1080px}.max-w-\[10rem\]{max-width:10rem}.max-w-\[1100px\]{max-width:1100px}.max-w-\[120px\]{max-width:120px}.max-w-\[12rem\]{max-width:12rem}.max-w-\[160px\]{max-width:160px}.max-w-\[16rem\]{max-width:16rem}.max-w-\[18rem\]{max-width:18rem}.max-w-\[200px\]{max-width:200px}.max-w-\[240px\]{max-width:240px}.max-w-\[24rem\]{max-width:24rem}.max-w-\[320px\]{max-width:320px}.max-w-\[420px\]{max-width:420px}.max-w-\[500px\]{max-width:500px}.max-w-\[560px\]{max-width:560px}.max-w-\[580px\]{max-width:580px}.max-w-\[640px\]{max-width:640px}.max-w-\[70\%\]{max-width:70%}.max-w-\[700px\]{max-width:700px}.max-w-\[74rem\]{max-width:74rem}.max-w-\[760px\]{max-width:760px}.max-w-\[80\%\]{max-width:80%}.max-w-\[820px\]{max-width:820px}.max-w-\[8rem\]{max-width:8rem}.max-w-\[90\%\]{max-width:90%}.max-w-\[900px\]{max-width:900px}.max-w-\[90vw\]{max-width:90vw}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[min\(96vw\,1400px\)\]{max-width:min(96vw,1400px)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-0{flex-basis:0px}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-3\.5{--tw-translate-x: .875rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-4{scroll-margin-top:1rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[116px_1fr_auto_auto\]{grid-template-columns:116px 1fr auto auto}.grid-cols-\[18px_minmax\(0\,1fr\)_auto\]{grid-template-columns:18px minmax(0,1fr) auto}.grid-cols-\[5rem_1fr_auto\]{grid-template-columns:5rem 1fr auto}.grid-cols-\[8px_minmax\(0\,1fr\)_auto\]{grid-template-columns:8px minmax(0,1fr) auto}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fit\,minmax\(160px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-end{justify-items:end}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-\[18px\]{gap:18px}.gap-\[3px\]{gap:3px}.gap-\[7px\]{gap:7px}.gap-px{gap:1px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-line>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(224 211 184 / var(--tw-divide-opacity, 1))}.divide-line\/60>:not([hidden])~:not([hidden]){border-color:#e0d3b899}.self-start{align-self:flex-start}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[13px\]{border-radius:13px}.rounded-\[14px\]{border-radius:14px}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-\[9px\]{border-radius:9px}.rounded-card{border-radius:14px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[\#8e641a\]\/40{border-color:#8e641a66}.border-\[\#b8443c\]\/40{border-color:#b8443c66}.border-accent{--tw-border-opacity: 1;border-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.border-accent-muted{--tw-border-opacity: 1;border-color:rgb(232 169 136 / var(--tw-border-opacity, 1))}.border-accent\/30{border-color:#b85c344d}.border-accent\/40{border-color:#b85c3466}.border-accent\/50{border-color:#b85c3480}.border-accent\/60{border-color:#b85c3499}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/50{border-color:#fbbf2480}.border-amber-600\/30{border-color:#d977064d}.border-amber-700{--tw-border-opacity: 1;border-color:rgb(180 83 9 / var(--tw-border-opacity, 1))}.border-amber-700\/60{border-color:#b4530999}.border-blue-900\/40{border-color:#1e3a8a66}.border-butter\/40{border-color:#e4b85a66}.border-current{border-color:currentColor}.border-delta-bad\/40{border-color:#a3441f66}.border-delta-good\/40{border-color:#566b3466}.border-fg-faint{--tw-border-opacity: 1;border-color:rgb(138 122 96 / var(--tw-border-opacity, 1))}.border-fg-faint\/70{border-color:#8a7a60b3}.border-fuchsia-500\/40{border-color:#d946ef66}.border-hive-teal{--tw-border-opacity: 1;border-color:rgb(79 125 114 / var(--tw-border-opacity, 1))}.border-honey{--tw-border-opacity: 1;border-color:rgb(211 162 60 / var(--tw-border-opacity, 1))}.border-honey-dark\/40{border-color:#7b560e66}.border-honey\/30{border-color:#d3a23c4d}.border-line{--tw-border-opacity: 1;border-color:rgb(224 211 184 / var(--tw-border-opacity, 1))}.border-line\/30{border-color:#e0d3b84d}.border-line\/50{border-color:#e0d3b880}.border-line\/60{border-color:#e0d3b899}.border-purple-900\/40{border-color:#581c8766}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/50{border-color:#ef444480}.border-red-500\/70{border-color:#ef4444b3}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.border-red-700\/30{border-color:#b91c1c4d}.border-red-700\/60{border-color:#b91c1c99}.border-red-800{--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.border-red-800\/40{border-color:#991b1b66}.border-red-900\/40{border-color:#7f1d1d66}.border-rule{--tw-border-opacity: 1;border-color:rgb(217 201 168 / var(--tw-border-opacity, 1))}.border-rule-inner{--tw-border-opacity: 1;border-color:rgb(232 224 205 / var(--tw-border-opacity, 1))}.border-rule-structural{--tw-border-opacity: 1;border-color:rgb(212 204 184 / var(--tw-border-opacity, 1))}.border-sage{--tw-border-opacity: 1;border-color:rgb(111 125 82 / var(--tw-border-opacity, 1))}.border-sage\/30{border-color:#6f7d524d}.border-sage\/60{border-color:#6f7d5299}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.border-yellow-600\/50{border-color:#ca8a0480}.border-yellow-600\/60{border-color:#ca8a0499}.border-yellow-800\/40{border-color:#854d0e66}.border-yellow-900\/40{border-color:#713f1266}.border-l-accent{--tw-border-opacity: 1;border-left-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.border-l-fg-faint\/40{border-left-color:#8a7a6066}.border-l-rule-structural{--tw-border-opacity: 1;border-left-color:rgb(212 204 184 / var(--tw-border-opacity, 1))}.border-l-sage{--tw-border-opacity: 1;border-left-color:rgb(111 125 82 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.bg-\[\#8e641a\]\/10{background-color:#8e641a1a}.bg-\[\#b8443c\]\/10{background-color:#b8443c1a}.bg-\[\#e5ecd8\]{--tw-bg-opacity: 1;background-color:rgb(229 236 216 / var(--tw-bg-opacity, 1))}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(184 92 52 / var(--tw-bg-opacity, 1))}.bg-accent-dark{--tw-bg-opacity: 1;background-color:rgb(129 64 36 / var(--tw-bg-opacity, 1))}.bg-accent-muted{--tw-bg-opacity: 1;background-color:rgb(232 169 136 / var(--tw-bg-opacity, 1))}.bg-accent-muted\/60{background-color:#e8a98899}.bg-accent\/10{background-color:#b85c341a}.bg-accent\/15{background-color:#b85c3426}.bg-accent\/20{background-color:#b85c3433}.bg-accent\/5{background-color:#b85c340d}.bg-amber-100\/40{background-color:#fef3c766}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/15{background-color:#fbbf2426}.bg-amber-400\/20{background-color:#fbbf2433}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-bg{--tw-bg-opacity: 1;background-color:rgb(246 239 225 / var(--tw-bg-opacity, 1))}.bg-bg-elev{--tw-bg-opacity: 1;background-color:rgb(239 230 211 / var(--tw-bg-opacity, 1))}.bg-bg-elev\/30{background-color:#efe6d34d}.bg-bg-elev\/40{background-color:#efe6d366}.bg-bg-elev\/50{background-color:#efe6d380}.bg-bg-elev\/60{background-color:#efe6d399}.bg-bg-elev\/80{background-color:#efe6d3cc}.bg-bg-elev\/85{background-color:#efe6d3d9}.bg-bg-hi{--tw-bg-opacity: 1;background-color:rgb(251 246 236 / var(--tw-bg-opacity, 1))}.bg-bg-hi\/40{background-color:#fbf6ec66}.bg-bg\/40{background-color:#f6efe166}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/65{background-color:#000000a6}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-950\/30{background-color:#1725544d}.bg-butter{--tw-bg-opacity: 1;background-color:rgb(228 184 90 / var(--tw-bg-opacity, 1))}.bg-butter\/10{background-color:#e4b85a1a}.bg-butter\/25{background-color:#e4b85a40}.bg-butter\/30{background-color:#e4b85a4d}.bg-butter\/60{background-color:#e4b85a99}.bg-current{background-color:currentColor}.bg-delta-bad{--tw-bg-opacity: 1;background-color:rgb(163 68 31 / var(--tw-bg-opacity, 1))}.bg-delta-bad\/10{background-color:#a3441f1a}.bg-delta-bad\/15{background-color:#a3441f26}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-fg{--tw-bg-opacity: 1;background-color:rgb(42 34 26 / var(--tw-bg-opacity, 1))}.bg-fg-dim{--tw-bg-opacity: 1;background-color:rgb(91 74 54 / var(--tw-bg-opacity, 1))}.bg-fg-dim\/10{background-color:#5b4a361a}.bg-fg-faint{--tw-bg-opacity: 1;background-color:rgb(138 122 96 / var(--tw-bg-opacity, 1))}.bg-fg-faint\/40{background-color:#8a7a6066}.bg-fg-faint\/50{background-color:#8a7a6080}.bg-fuchsia-500\/20{background-color:#d946ef33}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-hive-teal{--tw-bg-opacity: 1;background-color:rgb(79 125 114 / var(--tw-bg-opacity, 1))}.bg-hive-teal\/20{background-color:#4f7d7233}.bg-honey{--tw-bg-opacity: 1;background-color:rgb(211 162 60 / var(--tw-bg-opacity, 1))}.bg-honey\/15{background-color:#d3a23c26}.bg-honey\/20{background-color:#d3a23c33}.bg-line{--tw-bg-opacity: 1;background-color:rgb(224 211 184 / var(--tw-bg-opacity, 1))}.bg-muteband{--tw-bg-opacity: 1;background-color:rgb(222 210 189 / var(--tw-bg-opacity, 1))}.bg-muteband\/60{background-color:#ded2bd99}.bg-purple-950\/30{background-color:#3b07644d}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-950\/10{background-color:#450a0a1a}.bg-red-950\/20{background-color:#450a0a33}.bg-red-950\/30{background-color:#450a0a4d}.bg-red-950\/40{background-color:#450a0a66}.bg-red-950\/95{background-color:#450a0af2}.bg-rhythm{--tw-bg-opacity: 1;background-color:rgb(207 192 162 / var(--tw-bg-opacity, 1))}.bg-rule{--tw-bg-opacity: 1;background-color:rgb(217 201 168 / var(--tw-bg-opacity, 1))}.bg-rule-inner{--tw-bg-opacity: 1;background-color:rgb(232 224 205 / var(--tw-bg-opacity, 1))}.bg-rule-structural{--tw-bg-opacity: 1;background-color:rgb(212 204 184 / var(--tw-bg-opacity, 1))}.bg-sage{--tw-bg-opacity: 1;background-color:rgb(111 125 82 / var(--tw-bg-opacity, 1))}.bg-sage\/10{background-color:#6f7d521a}.bg-sage\/15{background-color:#6f7d5226}.bg-sage\/20{background-color:#6f7d5233}.bg-sage\/25{background-color:#6f7d5240}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/5{background-color:#eab3080d}.bg-yellow-950\/20{background-color:#42200633}.bg-yellow-950\/30{background-color:#4220064d}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.fill-fg-dim{fill:#5b4a36}.fill-fg-faint{fill:#8a7a60}.stroke-accent{stroke:#b85c34}.stroke-line{stroke:#e0d3b8}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.px-\[11px\]{padding-left:11px;padding-right:11px}.px-\[13px\]{padding-left:13px;padding-right:13px}.px-\[18px\]{padding-left:18px;padding-right:18px}.px-\[22px\]{padding-left:22px;padding-right:22px}.px-\[26px\]{padding-left:26px;padding-right:26px}.px-\[34px\]{padding-left:34px;padding-right:34px}.px-\[7px\]{padding-left:7px;padding-right:7px}.px-\[9px\]{padding-left:9px;padding-right:9px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.py-\[11px\]{padding-top:11px;padding-bottom:11px}.py-\[13px\]{padding-top:13px;padding-bottom:13px}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.py-\[15px\]{padding-top:15px;padding-bottom:15px}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[26px\]{padding-top:26px;padding-bottom:26px}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.py-\[9px\]{padding-top:9px;padding-bottom:9px}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-7{padding-bottom:1.75rem}.pb-\[10px\]{padding-bottom:10px}.pb-\[15px\]{padding-bottom:15px}.pb-\[18px\]{padding-bottom:18px}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-3\.5{padding-left:.875rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[18px\]{padding-left:18px}.pl-\[3\.75rem\]{padding-left:3.75rem}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-\[11px\]{padding-top:11px}.pt-\[14px\]{padding-top:14px}.pt-\[15px\]{padding-top:15px}.pt-\[15vh\]{padding-top:15vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.font-sans{font-family:Geist,system-ui,sans-serif}.font-serif{font-family:Newsreader,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[21px\]{font-size:21px}.text-\[22px\]{font-size:22px}.text-\[25px\]{font-size:25px}.text-\[30px\]{font-size:30px}.text-\[34px\]{font-size:34px}.text-\[42px\]{font-size:42px}.text-\[52px\]{font-size:52px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.35\]{line-height:1.35}.leading-\[1\.3\]{line-height:1.3}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.5\]{line-height:1.5}.leading-\[14px\]{line-height:14px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.3px\]{letter-spacing:-.3px}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.07em\]{letter-spacing:.07em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.09em\]{letter-spacing:.09em}.tracking-\[0\.11em\]{letter-spacing:.11em}.tracking-\[0\.7px\]{letter-spacing:.7px}.tracking-\[0\.9px\]{letter-spacing:.9px}.tracking-\[1\.1px\]{letter-spacing:1.1px}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#7a5416\]{--tw-text-opacity: 1;color:rgb(122 84 22 / var(--tw-text-opacity, 1))}.text-\[\#8a2f28\]{--tw-text-opacity: 1;color:rgb(138 47 40 / var(--tw-text-opacity, 1))}.text-accent{--tw-text-opacity: 1;color:rgb(184 92 52 / var(--tw-text-opacity, 1))}.text-accent-dark{--tw-text-opacity: 1;color:rgb(129 64 36 / var(--tw-text-opacity, 1))}.text-accent\/80{color:#b85c34cc}.text-accent\/90{color:#b85c34e6}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-300\/90{color:#fcd34de6}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/70{color:#fbbf24b3}.text-amber-400\/90{color:#fbbf24e6}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-bg{--tw-text-opacity: 1;color:rgb(246 239 225 / var(--tw-text-opacity, 1))}.text-bg-hi{--tw-text-opacity: 1;color:rgb(251 246 236 / var(--tw-text-opacity, 1))}.text-blue-300\/90{color:#93c5fde6}.text-blue-400\/80{color:#60a5facc}.text-butter{--tw-text-opacity: 1;color:rgb(228 184 90 / var(--tw-text-opacity, 1))}.text-butter\/90{color:#e4b85ae6}.text-delta-bad{--tw-text-opacity: 1;color:rgb(163 68 31 / var(--tw-text-opacity, 1))}.text-delta-good{--tw-text-opacity: 1;color:rgb(86 107 52 / var(--tw-text-opacity, 1))}.text-fg{--tw-text-opacity: 1;color:rgb(42 34 26 / var(--tw-text-opacity, 1))}.text-fg-dim{--tw-text-opacity: 1;color:rgb(91 74 54 / var(--tw-text-opacity, 1))}.text-fg-faint{--tw-text-opacity: 1;color:rgb(138 122 96 / var(--tw-text-opacity, 1))}.text-fg-faint\/40{color:#8a7a6066}.text-fg-faint\/50{color:#8a7a6080}.text-fg-faint\/60{color:#8a7a6099}.text-fg-faint\/70{color:#8a7a60b3}.text-fg-faint\/80{color:#8a7a60cc}.text-fg\/40{color:#2a221a66}.text-fg\/50{color:#2a221a80}.text-fg\/70{color:#2a221ab3}.text-fg\/85{color:#2a221ad9}.text-fuchsia-300{--tw-text-opacity: 1;color:rgb(240 171 252 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-400\/70{color:#4ade80b3}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-500\/70{color:#22c55eb3}.text-hive-teal{--tw-text-opacity: 1;color:rgb(79 125 114 / var(--tw-text-opacity, 1))}.text-honey-dark{--tw-text-opacity: 1;color:rgb(123 86 14 / var(--tw-text-opacity, 1))}.text-line{--tw-text-opacity: 1;color:rgb(224 211 184 / var(--tw-text-opacity, 1))}.text-purple-400\/80{color:#c084fccc}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-300\/70{color:#fca5a5b3}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/70{color:#f87171b3}.text-red-400\/80{color:#f87171cc}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-sage{--tw-text-opacity: 1;color:rgb(111 125 82 / var(--tw-text-opacity, 1))}.text-sage-dark{--tw-text-opacity: 1;color:rgb(78 87 57 / var(--tw-text-opacity, 1))}.text-sage\/90{color:#6f7d52e6}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-400\/70{color:#facc15b3}.text-yellow-400\/80{color:#facc15cc}.text-yellow-500\/70{color:#eab308b3}.text-yellow-500\/80{color:#eab308cc}.text-yellow-500\/90{color:#eab308e6}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-fg-faint::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(138 122 96 / var(--tw-placeholder-opacity, 1))}.placeholder-fg-faint::placeholder{--tw-placeholder-opacity: 1;color:rgb(138 122 96 / var(--tw-placeholder-opacity, 1))}.accent-accent{accent-color:#b85c34}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_rgba\(184\,92\,52\,\.09\)\]{--tw-shadow: 0 0 0 3px rgba(184,92,52,.09);--tw-shadow-colored: 0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow: inset 0 0 0 1px rgba(0,0,0,.06);--tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_2px_0_theme\(colors\.accent\.DEFAULT\)\]{--tw-shadow: inset 0 2px 0 #b85c34;--tw-shadow-colored: inset 0 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-accent{--tw-ring-opacity: 1;--tw-ring-color: rgb(184 92 52 / var(--tw-ring-opacity, 1))}.ring-accent-dark\/40{--tw-ring-color: rgb(129 64 36 / .4)}.ring-amber-400\/40{--tw-ring-color: rgb(251 191 36 / .4)}.ring-fg-faint\/40{--tw-ring-color: rgb(138 122 96 / .4)}.ring-hive-teal\/40{--tw-ring-color: rgb(79 125 114 / .4)}.ring-honey\/40{--tw-ring-color: rgb(211 162 60 / .4)}.ring-line{--tw-ring-opacity: 1;--tw-ring-color: rgb(224 211 184 / var(--tw-ring-opacity, 1))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.ring-sage\/40{--tw-ring-color: rgb(111 125 82 / .4)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[filter\]{transition-property:filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-width\]{transition-property:max-width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.duration-\[220ms\]{transition-duration:.22s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[animation-delay\:0ms\]{animation-delay:0ms}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}.burn-proj-stripe{background-image:repeating-linear-gradient(45deg,#6f7d52 0px,#6f7d52 4px,transparent 4px,transparent 8px)}.tiptap-content h1{font-size:1.5rem;font-weight:600;margin:.75rem 0 .5rem;line-height:1.3;color:#2a221a;font-family:Newsreader,Georgia,serif}.tiptap-content h2{font-size:1.25rem;font-weight:600;margin:.75rem 0 .4rem;line-height:1.3;color:#2a221a;font-family:Newsreader,Georgia,serif}.tiptap-content h3{font-size:1.1rem;font-weight:600;margin:.6rem 0 .3rem;line-height:1.3;color:#2a221a;font-family:Newsreader,Georgia,serif}.tiptap-content p{margin:.4rem 0;color:#2a221a;line-height:1.6}.tiptap-content ul{list-style:disc;padding-left:1.5rem;margin:.4rem 0;color:#2a221a}.tiptap-content ol{list-style:decimal;padding-left:1.5rem;margin:.4rem 0;color:#2a221a}.tiptap-content li{margin:.15rem 0}.tiptap-content blockquote{border-left:3px solid #d9c9a8;padding-left:.75rem;color:#5b4a36;margin:.4rem 0;font-style:italic}.tiptap-content code{background:#fbf6ec;color:#b85c34;padding:.1em .35em;border-radius:3px;font-size:.88em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.tiptap-content pre{background:#fbf6ec;color:#2a221a;padding:.75rem 1rem;border-radius:6px;overflow-x:auto;margin:.5rem 0;font-size:.85em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.tiptap-content pre code{background:none;padding:0;color:inherit;font-size:inherit;border:0}.tiptap-content a{color:#b85c34;text-decoration:underline}.tiptap-content hr{border:none;border-top:1px solid #d9c9a8;margin:.75rem 0}.tiptap-content strong{font-weight:600}.tiptap-content em{font-style:italic}.tiptap-content:focus{outline:none}.markdown-body,.prose-chat{overflow-wrap:anywhere}.markdown-body code,.prose-chat code{word-break:break-word}.markdown-body{color:#2a221a}.markdown-body h1{font-size:1.9rem;font-weight:600;margin:1.4rem 0 .7rem;line-height:1.25;font-family:Newsreader,Georgia,serif}.markdown-body h2{font-size:1.5rem;font-weight:600;margin:1.2rem 0 .6rem;line-height:1.3;font-family:Newsreader,Georgia,serif;border-bottom:1px solid #e6dcc4;padding-bottom:.2rem}.markdown-body h3{font-size:1.2rem;font-weight:600;margin:1rem 0 .4rem;line-height:1.3;font-family:Newsreader,Georgia,serif}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;margin:.8rem 0 .3rem;font-family:Newsreader,Georgia,serif}.markdown-body p{margin:.6rem 0;line-height:1.7}.markdown-body ul{list-style:disc;padding-left:1.6rem;margin:.5rem 0}.markdown-body ol{list-style:decimal;padding-left:1.6rem;margin:.5rem 0}.markdown-body li{margin:.2rem 0;line-height:1.6}.markdown-body li>input[type=checkbox]{margin-right:.4rem}.markdown-body blockquote{border-left:3px solid #d9c9a8;padding-left:.85rem;color:#5b4a36;margin:.6rem 0;font-style:italic}.markdown-body code,.prose-chat code{background:#fbf6ec;color:#b85c34;padding:.1em .35em;border-radius:3px;font-size:.88em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.markdown-body pre,.prose-chat pre{background:#fbf6ec;color:#2a221a;padding:.8rem 1rem;border-radius:6px;overflow-x:auto;margin:.7rem 0;font-size:.85em;font-family:IBM Plex Mono,ui-monospace,monospace;border:1px solid #e0d3b8}.markdown-body pre code,.prose-chat pre code{background:none;padding:0;color:inherit;font-size:inherit;border:0}.markdown-body a{color:#b85c34;text-decoration:underline}.markdown-body hr{border:none;border-top:1px solid #d9c9a8;margin:1rem 0}.markdown-body strong{font-weight:600}.markdown-body em{font-style:italic}.markdown-body img{max-width:100%;border-radius:4px}.markdown-body table,.prose-chat table{border-collapse:collapse;margin:.7rem 0;font-size:.9em}.markdown-body th,.markdown-body td,.prose-chat th,.prose-chat td{border:1px solid #e0d3b8;padding:.35rem .6rem;text-align:left}.markdown-body th,.prose-chat th{background:#f1e7d2;font-weight:600}.prose-chat-table-wrap{overflow-x:auto}.markdown-body h1[id],.markdown-body h2[id],.markdown-body h3[id]{scroll-margin-top:1rem}.prose-chat .chat-file-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;color:#b85c34}.prose-chat--plan{border:1px solid #8e641a40;border-radius:14px;background:#8e641a0d}.prose-chat--plan ul,.prose-chat--plan ol{list-style:none;padding-left:1.4rem;margin:.4rem 0}.prose-chat--plan li{position:relative;margin:.3rem 0}.prose-chat--plan li:before{content:"✓";position:absolute;left:-1.4rem;color:#4d7a4d;font-weight:600}html,body,#root{height:100%;margin:0;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#efe6d3}::-webkit-scrollbar-thumb{background:#d9c9a8;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#c8b88f}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{width:0;height:0}.placeholder\:text-fg-faint::-moz-placeholder{--tw-text-opacity: 1;color:rgb(138 122 96 / var(--tw-text-opacity, 1))}.placeholder\:text-fg-faint::placeholder{--tw-text-opacity: 1;color:rgb(138 122 96 / var(--tw-text-opacity, 1))}.first\:border-l-0:first-child{border-left-width:0px}.first\:border-t-0:first-child{border-top-width:0px}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-width:0px}.even\:bg-bg-elev\/40:nth-child(2n){background-color:#efe6d366}.hover\:border-accent:hover{--tw-border-opacity: 1;border-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.hover\:border-accent\/40:hover{border-color:#b85c3466}.hover\:border-fg:hover{--tw-border-opacity: 1;border-color:rgb(42 34 26 / var(--tw-border-opacity, 1))}.hover\:border-fg-faint:hover{--tw-border-opacity: 1;border-color:rgb(138 122 96 / var(--tw-border-opacity, 1))}.hover\:border-line:hover{--tw-border-opacity: 1;border-color:rgb(224 211 184 / var(--tw-border-opacity, 1))}.hover\:border-red-400\/50:hover{border-color:#f8717180}.hover\:bg-accent:hover{--tw-bg-opacity: 1;background-color:rgb(184 92 52 / var(--tw-bg-opacity, 1))}.hover\:bg-accent-dark:hover{--tw-bg-opacity: 1;background-color:rgb(129 64 36 / var(--tw-bg-opacity, 1))}.hover\:bg-accent\/10:hover{background-color:#b85c341a}.hover\:bg-accent\/25:hover{background-color:#b85c3440}.hover\:bg-accent\/40:hover{background-color:#b85c3466}.hover\:bg-accent\/90:hover{background-color:#b85c34e6}.hover\:bg-amber-900\/20:hover{background-color:#78350f33}.hover\:bg-bg:hover{--tw-bg-opacity: 1;background-color:rgb(246 239 225 / var(--tw-bg-opacity, 1))}.hover\:bg-bg-elev:hover{--tw-bg-opacity: 1;background-color:rgb(239 230 211 / var(--tw-bg-opacity, 1))}.hover\:bg-bg-elev\/20:hover{background-color:#efe6d333}.hover\:bg-bg-elev\/40:hover{background-color:#efe6d366}.hover\:bg-bg-elev\/50:hover{background-color:#efe6d380}.hover\:bg-bg-elev\/60:hover{background-color:#efe6d399}.hover\:bg-bg-hi:hover{--tw-bg-opacity: 1;background-color:rgb(251 246 236 / var(--tw-bg-opacity, 1))}.hover\:bg-bg-hi\/40:hover{background-color:#fbf6ec66}.hover\:bg-bg-hi\/50:hover{background-color:#fbf6ec80}.hover\:bg-bg-hi\/60:hover{background-color:#fbf6ec99}.hover\:bg-bg-hi\/80:hover{background-color:#fbf6eccc}.hover\:bg-bg\/40:hover{background-color:#f6efe166}.hover\:bg-bg\/60:hover{background-color:#f6efe199}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-900\/40:hover{background-color:#1e3a8a66}.hover\:bg-delta-bad\/10:hover{background-color:#a3441f1a}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-hive-teal\/10:hover{background-color:#4f7d721a}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(184 92 52 / var(--tw-text-opacity, 1))}.hover\:text-accent\/80:hover{color:#b85c34cc}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-bg:hover{--tw-text-opacity: 1;color:rgb(246 239 225 / var(--tw-text-opacity, 1))}.hover\:text-delta-bad\/80:hover{color:#a3441fcc}.hover\:text-fg:hover{--tw-text-opacity: 1;color:rgb(42 34 26 / var(--tw-text-opacity, 1))}.hover\:text-fg-dim:hover{--tw-text-opacity: 1;color:rgb(91 74 54 / var(--tw-text-opacity, 1))}.hover\:text-honey:hover{--tw-text-opacity: 1;color:rgb(211 162 60 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-125:hover{--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:brightness-95:hover{--tw-brightness: brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-accent:focus{--tw-border-opacity: 1;border-color:rgb(184 92 52 / var(--tw-border-opacity, 1))}.focus\:border-accent\/40:focus{border-color:#b85c3466}.focus\:border-accent\/50:focus{border-color:#b85c3480}.focus\:border-fg-faint:focus{--tw-border-opacity: 1;border-color:rgb(138 122 96 / var(--tw-border-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-accent:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(184 92 52 / var(--tw-ring-opacity, 1))}.active\:bg-accent\/60:active{background-color:#b85c3499}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-70{opacity:.7}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&\>span\]\:w-full>span{width:100%}.\[\&_\*\]\:m-0 *{margin:0}.\[\&_\*\]\:inline *{display:inline}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{az as b,ak as n,S as N,aO as O,ax as K}from"./index-CCl4tz-u.js";function T({node:e,targetScope:r,onOverride:s,schema:a,rootLabel:m}){const[f,x]=b.useState(""),[u,o]=b.useState(!0),g=[],d=e.kind==="object"&&Object.keys(e.children).length===0,y=((a==null?void 0:a.rootKeys())??[]).length>0;return n.jsxs("div",{className:"h-full flex flex-col",children:[n.jsxs("div",{className:"shrink-0 border-b border-line bg-bg-elev px-3 py-1.5 flex items-center gap-2 text-xs",children:[n.jsxs("span",{className:"text-fg-faint",children:["merged · overrides → ",n.jsx("span",{className:"text-fg-dim",children:N[r].label})]}),y&&n.jsxs("label",{className:"flex items-center gap-1 text-fg-faint cursor-pointer",children:[n.jsx("input",{type:"checkbox",checked:u,onChange:t=>o(t.target.checked),className:"accent-accent"}),"show unset keys"]}),n.jsx("div",{className:"flex-1"}),n.jsx("input",{value:f,onChange:t=>x(t.target.value),placeholder:"filter keys or descriptions…",className:"bg-bg border border-line rounded px-2 py-0.5 text-xs text-fg w-56"})]}),n.jsx("div",{className:"flex-1 overflow-auto px-3 py-2 font-mono text-xs",children:d&&!u?n.jsx("div",{className:"text-fg-faint italic px-2 py-4",children:"no settings resolved — all scope files empty or missing"}):n.jsx(E,{node:e,path:g,label:m??"(root)",targetScope:r,onOverride:s,filter:f,depth:0,schema:a,showGhosts:u,defaultOpen:!0})})]})}function E(e){return e.node.kind==="object"?n.jsx(P,{...e,node:e.node}):e.node.kind==="array"?n.jsx(J,{...e,node:e.node}):n.jsx(R,{...e,node:e.node})}function A(e,r){return r.trim()?e.toLowerCase().includes(r.toLowerCase()):!0}function w(e,r,s){return!!(!s.trim()||e.some(a=>A(a,s))||r!=null&&r.description&&A(r.description,s))}function P({node:e,path:r,label:s,targetScope:a,onOverride:m,filter:f,depth:x,schema:u,showGhosts:o,defaultOpen:g}){const[d,h]=b.useState(g??x<2),y=(u==null?void 0:u.at(r))??null,t=new Set(Object.keys(e.children)),i=o?(y==null?void 0:y.knownChildren)??[]:[],c=Array.from(new Set([...t,...i])).sort(),l=b.useMemo(()=>f.trim()?c.filter(p=>{const v=(u==null?void 0:u.at([...r,p]))??null;return w([...r,p],v,f)?!0:t.has(p)?L(e.children[p],[...r,p],f,u):!1}):c,[c.join(","),f,e,r.join("."),u]);if(f.trim()&&l.length===0&&!w(r,y,f))return null;if(r.length===0)return n.jsx("div",{children:l.map(p=>j(p))});return n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-1 py-0.5 hover:bg-bg-elev/50 rounded cursor-pointer",style:{paddingLeft:x*14},onClick:()=>h(!d),children:[n.jsx("span",{className:"text-fg-faint w-3 shrink-0",children:d?"▾":"▸"}),n.jsx("span",{className:"text-fg",children:s}),n.jsxs("span",{className:"text-fg-faint",children:[" {",t.size,i.length>t.size?`/${new Set([...t,...i]).size}`:"","}"]}),(y==null?void 0:y.description)&&n.jsxs("span",{className:"text-fg-faint truncate max-w-md",title:y.description,children:["— ",y.description]})]}),d&&l.map(p=>j(p))]});function j(p){if(t.has(p))return n.jsx(E,{node:e.children[p],path:[...r,p],label:p,targetScope:a,onOverride:m,filter:f,depth:x+1,schema:u,showGhosts:o},p);const v=(u==null?void 0:u.at([...r,p]))??null;return v?n.jsx(I,{path:[...r,p],label:p,info:v,targetScope:a,onSet:m,depth:x+1,filter:f},p):null}}function L(e,r,s,a){const m=(a==null?void 0:a.at(r))??null;if(w(r,m,s))return!0;if(e.kind!=="object")return!1;for(const f of Object.keys(e.children))if(L(e.children[f],[...r,f],s,a))return!0;return!1}function J({node:e,path:r,label:s,filter:a,depth:m,schema:f}){const[x,u]=b.useState(!0),o=(f==null?void 0:f.at(r))??null;return w(r,o,a)?n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-1 py-0.5 hover:bg-bg-elev/50 rounded cursor-pointer",style:{paddingLeft:m*14},onClick:()=>u(!x),children:[n.jsx("span",{className:"text-fg-faint w-3 shrink-0",children:x?"▾":"▸"}),n.jsx("span",{className:"text-fg",children:s}),n.jsxs("span",{className:"text-fg-faint",children:[" [",e.items.length,"]"]}),n.jsx(S,{tone:"warn",children:"accumulated"}),(o==null?void 0:o.description)&&n.jsxs("span",{className:"text-fg-faint truncate max-w-md",title:o.description,children:["— ",o.description]})]}),x&&e.items.map((g,d)=>n.jsxs("div",{className:"flex items-start gap-2 py-0.5",style:{paddingLeft:(m+1)*14},children:[n.jsx("span",{className:"text-fg-faint w-3 shrink-0"}),n.jsxs("span",{className:"text-fg-faint",children:[d,":"]}),n.jsx("span",{className:"text-fg-dim truncate max-w-xl",children:k(g.value)}),n.jsx(C,{scope:g.fromScope})]},d))]}):null}function R({node:e,path:r,label:s,targetScope:a,onOverride:m,filter:f,depth:x,schema:u}){const[o,g]=b.useState(!1),d=(u==null?void 0:u.at(r))??null;if(!w(r,d,f))return null;const h=e.winner!==a,y=e.shadowed.length>0;return n.jsxs("div",{children:[n.jsxs("div",{className:"group flex items-center gap-2 py-0.5 hover:bg-bg-elev/50 rounded",style:{paddingLeft:x*14},children:[n.jsx("span",{className:`w-3 shrink-0 ${y?"text-fg-faint cursor-pointer":""}`,onClick:()=>y&&g(!o),children:y?o?"▾":"▸":""}),n.jsxs("span",{className:"text-fg",children:[s,":"]}),n.jsx("span",{className:"text-fg-dim truncate max-w-md",children:k(e.value)}),n.jsx(C,{scope:e.winner}),(d==null?void 0:d.deprecated)&&n.jsx(S,{tone:"warn",children:"deprecated"}),(d==null?void 0:d.default)!==void 0&&_(e.value,d.default)&&n.jsx(S,{tone:"dim",children:"= default"}),e.typeMismatch&&n.jsx("span",{className:"text-yellow-500/80",title:"shadowed scopes have a different value type",children:"⚠"}),(d==null?void 0:d.description)&&n.jsxs("span",{className:"text-fg-faint truncate max-w-md",title:d.description,children:["— ",d.description]}),n.jsx("div",{className:"flex-1"}),(d==null?void 0:d.enum)&&n.jsx(F,{values:d.enum}),n.jsx("button",{disabled:!h,onClick:()=>m(r,e.value),className:`opacity-0 group-hover:opacity-100 px-1.5 py-0 text-[10px] border rounded transition-opacity ${h?"border-accent/50 text-accent hover:bg-accent hover:text-bg":"border-line text-fg-faint cursor-not-allowed"}`,title:h?`copy into ${N[a].label} draft`:`already winning in ${N[a].label}`,children:"override"})]}),o&&e.shadowed.map((t,i)=>n.jsxs("div",{className:"flex items-center gap-2 py-0.5 text-fg-faint line-through",style:{paddingLeft:(x+1)*14+12},children:[n.jsx("span",{children:"shadowed:"}),n.jsx("span",{className:"truncate max-w-xl",children:k(t.value)}),n.jsx(C,{scope:t.scope,dim:!0})]},i))]})}function I({path:e,label:r,info:s,targetScope:a,onSet:m,depth:f,filter:x}){if(!w(e,s,x))return null;const u=s.default!==void 0?s.default:M(s.type),o=Array.isArray(s.type)?s.type.join("|"):s.type??"?";return n.jsxs("div",{className:"group flex items-center gap-2 py-0.5 hover:bg-bg-elev/50 rounded opacity-60",style:{paddingLeft:f*14},children:[n.jsx("span",{className:"w-3 shrink-0"}),n.jsx("span",{className:"text-fg-dim",children:r}),n.jsx(S,{tone:"dim",children:o}),s.required&&n.jsx(S,{tone:"warn",children:"required"}),s.default!==void 0&&n.jsxs("span",{className:"text-fg-faint",children:["default: ",k(s.default)]}),s.description&&n.jsxs("span",{className:"text-fg-faint truncate max-w-md",title:s.description,children:["— ",s.description]}),n.jsx("div",{className:"flex-1"}),s.enum&&n.jsx(F,{values:s.enum}),n.jsx("button",{onClick:()=>m(e,u),className:"opacity-0 group-hover:opacity-100 px-1.5 py-0 text-[10px] border border-accent/50 rounded text-accent hover:bg-accent hover:text-bg transition-opacity",title:`write to ${N[a].label} draft`,children:"set"})]})}function _(e,r){return e===r?!0:typeof e!=typeof r?!1:e&&r&&typeof e=="object"?JSON.stringify(e)===JSON.stringify(r):!1}function M(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};case"null":return null;default:return null}}function k(e){if(typeof e=="string")return JSON.stringify(e);if(e===null)return"null";if(typeof e=="object"){const r=JSON.stringify(e);return r.length>100?r.slice(0,100)+"…":r}return String(e)}function C({scope:e,dim:r}){const s=e==="user"?"bg-bg-hi text-fg-dim border-line":e==="project"?"bg-blue-950/30 text-blue-400/80 border-blue-900/40":"bg-purple-950/30 text-purple-400/80 border-purple-900/40";return n.jsx("span",{className:`text-[10px] px-1 py-0 rounded border uppercase tracking-wide shrink-0 ${s} ${r?"opacity-60":""}`,children:N[e].label})}function S({children:e,tone:r="default"}){const s={default:"bg-bg-hi text-fg-dim border-line",warn:"bg-yellow-950/30 text-yellow-500/80 border-yellow-900/40",dim:"bg-bg-elev text-fg-faint border-line"}[r];return n.jsx("span",{className:`text-[10px] px-1 py-0 rounded border uppercase tracking-wide shrink-0 ${s}`,children:e})}function F({values:e}){const r=e.map(s=>String(s)).join(" | ");return n.jsxs("span",{className:"text-[10px] text-fg-faint truncate max-w-xs",title:`allowed: ${r}`,children:["∈ ",r.length>30?r.slice(0,30)+"…":r]})}function G(e,r,s){const a=O(o=>o.files),m=O(o=>o.loadJson),f=O(o=>o.watchFile),x=O(o=>o.unwatchFile),u=b.useMemo(()=>{const o={};for(const g of e.scopes){const d=e.resolve(g,r??"",s);d&&(o[g]=d)}return o},[e,r,s]);return b.useEffect(()=>{const o=Object.values(u).filter(Boolean);return o.forEach(g=>{a[g]||m(g),f(g)}),()=>{o.forEach(g=>x(g))}},[JSON.stringify(u)]),u}function z(e){const r=e??{},s={...r.$defs??{},...r.definitions??{}},a=t=>{if(!t)return{};if(!t.$ref)return x(t);const i=/^#\/(\$defs|definitions)\/(.+)$/.exec(t.$ref);if(!i)return x(t);const c=s[i[2]];return c?a({...c,...u(t)}):x(t)},m=new Set(["__proto__","constructor","prototype"]),f=t=>{if(!t)return{};const i={};for(const[c,l]of Object.entries(t))m.has(c)||(i[c]=l);return i},x=t=>{if(!t.allOf||t.allOf.length===0)return t;const i={...t};delete i.allOf;for(const c of t.allOf){const l=a(c);Object.assign(i,{properties:{...f(i.properties),...f(l.properties)},required:B([...i.required??[],...l.required??[]])}),!i.description&&l.description&&(i.description=l.description),i.default===void 0&&l.default!==void 0&&(i.default=l.default),!i.type&&l.type&&(i.type=l.type)}return i},u=t=>{const{$ref:i,...c}=t;return c},o=(t,i)=>{let c=a(t);for(const l of i){if(!c)return null;if(/^\d+$/.test(l)){const v=Array.isArray(c.items)?c.items[Number(l)]:c.items;c=v?a(v):null;continue}const j=c.properties;if(j&&!m.has(l)&&l in j){c=a(j[l]);continue}const p=c.additionalProperties;if(p&&typeof p=="object"){c=a(p);continue}return null}return c},g=(t,i,c)=>{if(!t)return null;const l={};if(t.description&&(l.description=t.description),t.type&&(l.type=t.type),t.default!==void 0&&(l.default=t.default),t.enum&&(l.enum=t.enum),t.const!==void 0&&(l.const=t.const),t.deprecated&&(l.deprecated=!0),t.examples&&(l.examples=t.examples),t.properties&&(l.knownChildren=Object.keys(t.properties)),c&&(i!=null&&i.includes(c))&&(l.required=!0),t.items&&!Array.isArray(t.items)){const j=a(t.items),p=g(j,void 0,null);p&&(l.itemsInfo=p)}return(t.additionalProperties===!0||typeof t.additionalProperties=="object")&&(l.open=!0),l},d=t=>i=>{if(i.length===0)return g(a(t),void 0,null);const c=o(t,i.slice(0,-1));if(!c)return null;const l=i[i.length-1],j=o(c,[l]);return g(j,c.required,l)},h=t=>{const i=a(t);return Object.keys(i.properties??{})},y=t=>({at:d(t),rootKeys:()=>h(t),rootedAt:i=>{const c=o(t,i);return y(c??{})}});return y(r)}function B(e){return Array.from(new Set(e))}let $=null;function V(){return $||($=z(K)),$}export{T as E,V as s,G as u};
|
package/dist/index.html
CHANGED
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400&family=Geist:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-CCl4tz-u.js"></script>
|
|
11
11
|
<link rel="modulepreload" crossorigin href="./assets/monaco-editor-BW5C4Iv1.js">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="./assets/monaco-editor-BTnBOi8r.css">
|
|
13
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
13
|
+
<link rel="stylesheet" crossorigin href="./assets/index-CKH5Uxik.css">
|
|
14
14
|
</head>
|
|
15
15
|
<body class="bg-bg text-fg font-sans antialiased">
|
|
16
16
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-session-manager",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.94.0",
|
|
4
4
|
"description": "Local cockpit for the Claude Code CLI — multi-tab terminal, full config surface, scheduler, voice dictation, and live observability.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/main/index.cjs",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"dev:renderer": "vite",
|
|
34
34
|
"dev:electron": "wait-on http://localhost:5173 && SM_DEV=1 electron .",
|
|
35
35
|
"build": "vite build",
|
|
36
|
-
"typecheck": "tsc --noEmit",
|
|
36
|
+
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.main.json",
|
|
37
37
|
"start": "electron .",
|
|
38
38
|
"postinstall": "node scripts/postinstall.cjs",
|
|
39
39
|
"prepack": "node scripts/write-build-info.cjs",
|
|
@@ -53,7 +53,10 @@
|
|
|
53
53
|
"lint:unregistered-tests": "node scripts/check-unregistered-tests.cjs",
|
|
54
54
|
"lint:docs": "node scripts/check-doc-hierarchy.cjs",
|
|
55
55
|
"lint:paths": "node scripts/check-ops-path-literals.cjs",
|
|
56
|
-
"lint": "
|
|
56
|
+
"lint:any": "node scripts/check-explicit-any.cjs",
|
|
57
|
+
"lint:main-ts-check": "node scripts/check-main-ts-check.cjs",
|
|
58
|
+
"lint:filenames": "node scripts/check-tracked-filenames.cjs",
|
|
59
|
+
"lint": "npm run lint:selectors && npm run lint:hooks && npm run lint:unregistered-tests && npm run lint:docs && npm run lint:paths && npm run lint:any && npm run lint:main-ts-check && npm run lint:filenames",
|
|
57
60
|
"sync:settings-schema": "node scripts/sync-settings-schema.cjs"
|
|
58
61
|
},
|
|
59
62
|
"keywords": [
|
package/scripts/README.md
CHANGED
|
@@ -12,6 +12,9 @@ scripts/lib was moved into src/main/lib (2026-09); nothing under src/ may requir
|
|
|
12
12
|
| check-conditional-hooks.cjs | `npm run lint:hooks` (in `lint`) | no |
|
|
13
13
|
| check-epic-transcripts.cjs | manual read-only diagnostic (`--json`); also surfaced as a non-fatal warning in `npm run health` | no |
|
|
14
14
|
| check-doc-hierarchy.cjs | `npm run lint:docs` (in `lint`) | no |
|
|
15
|
+
| check-explicit-any.cjs | `npm run lint:any` (in `lint`) — bans explicit `any`/`@ts-ignore` in renderer+preload; per-line `// lint-allow-any: <reason>` | no |
|
|
16
|
+
| check-main-ts-check.cjs | `npm run lint:main-ts-check` (in `lint`) — `tsconfig.main.json` `include` ⇔ `// @ts-check` first line, both directions; explicit list only, `checkJs` false | no |
|
|
17
|
+
| check-tracked-filenames.cjs | `npm run lint:filenames` (in `lint`) — fails on tracked paths with Windows-illegal chars, trailing dot/space, or reserved device names | no |
|
|
15
18
|
| check-unregistered-tests.cjs | `npm run lint:unregistered-tests` (in `lint`) | no |
|
|
16
19
|
| check-unstable-selectors.cjs | `npm run lint:selectors` (in `lint`) | no |
|
|
17
20
|
| cleanup-nested-queue-stubs.cjs | manual one-shot; dispatches to cleanup-worktree-ops-stubs.cjs | no |
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agentEffortResolve.test.cjs — the effort twin of agentModelResolve.test.cjs:
|
|
3
|
+
* persona `effort:` wins (overlay beats global), inherit/absent/dangling → no flag.
|
|
4
|
+
*
|
|
5
|
+
* Run: timeout 120 npx vitest run src/main/__tests__/agentEffortResolve.test.cjs
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
import { test, expect, afterEach } from 'vitest';
|
|
11
|
+
const fs = require('node:fs');
|
|
12
|
+
const fsp = require('node:fs/promises');
|
|
13
|
+
const os = require('node:os');
|
|
14
|
+
const path = require('node:path');
|
|
15
|
+
const { resolveEpicEffort, effortArgs } = require('../lib/agentEffortResolve.cjs');
|
|
16
|
+
|
|
17
|
+
const tmpDirs = [];
|
|
18
|
+
afterEach(async () => {
|
|
19
|
+
while (tmpDirs.length) await fsp.rm(tmpDirs.pop(), { recursive: true, force: true });
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
async function mkTmpDir(prefix) {
|
|
23
|
+
const dir = await fsp.mkdtemp(path.join(os.tmpdir(), prefix));
|
|
24
|
+
tmpDirs.push(dir);
|
|
25
|
+
return dir;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function writeIndex(cwd, sessions) {
|
|
29
|
+
const dir = path.join(cwd, 'session-manager-operations', 'prompt-sessions');
|
|
30
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
31
|
+
fs.writeFileSync(path.join(dir, 'active-index.json'), JSON.stringify({ sessions, events: {} }));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function writePersona(dir, name, frontmatter) {
|
|
35
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
36
|
+
fs.writeFileSync(path.join(dir, `${name}.md`), ['---', `name: ${name}`, ...frontmatter, '---', 'body'].join('\n'));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const noopValidatePath = (p) => p;
|
|
40
|
+
|
|
41
|
+
test('persona effort wins (global) for a matching Epic', async () => {
|
|
42
|
+
const cwd = await mkTmpDir('sm-effort-cwd-');
|
|
43
|
+
const globalDir = await mkTmpDir('sm-effort-agents-');
|
|
44
|
+
writeIndex(cwd, { e1: { id: 'e1', claudeSessionId: 's1', agentType: 'p' } });
|
|
45
|
+
writePersona(globalDir, 'p', ['effort: high']);
|
|
46
|
+
expect(resolveEpicEffort({ cwd, claudeSessionId: 's1', deps: { globalDir, validatePath: noopValidatePath } }))
|
|
47
|
+
.toEqual({ effort: 'high', source: 'persona' });
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('project overlay beats global', async () => {
|
|
51
|
+
const cwd = await mkTmpDir('sm-effort-cwd-');
|
|
52
|
+
const globalDir = await mkTmpDir('sm-effort-agents-');
|
|
53
|
+
const projectDir = await mkTmpDir('sm-effort-proj-');
|
|
54
|
+
writePersona(globalDir, 'p', ['effort: low']);
|
|
55
|
+
writePersona(projectDir, 'p', ['effort: max']);
|
|
56
|
+
expect(resolveEpicEffort({ cwd, agentType: 'p', deps: { globalDir, projectDir, validatePath: noopValidatePath } }))
|
|
57
|
+
.toEqual({ effort: 'max', source: 'persona-overlay' });
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('inherit and absent resolve to null effort', async () => {
|
|
61
|
+
const cwd = await mkTmpDir('sm-effort-cwd-');
|
|
62
|
+
const globalDir = await mkTmpDir('sm-effort-agents-');
|
|
63
|
+
writePersona(globalDir, 'inh', ['effort: inherit']);
|
|
64
|
+
writePersona(globalDir, 'none', []);
|
|
65
|
+
const deps = { globalDir, validatePath: noopValidatePath };
|
|
66
|
+
expect(resolveEpicEffort({ cwd, agentType: 'inh', deps })).toEqual({ effort: null, source: 'inherit' });
|
|
67
|
+
expect(resolveEpicEffort({ cwd, agentType: 'none', deps })).toEqual({ effort: null, source: 'inherit' });
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test('a persona effort of `auto` (a /effort reset verb) resolves to no flag', async () => {
|
|
71
|
+
const cwd = await mkTmpDir('sm-effort-cwd-');
|
|
72
|
+
const globalDir = await mkTmpDir('sm-effort-agents-');
|
|
73
|
+
writePersona(globalDir, 'au', ['effort: auto']);
|
|
74
|
+
const deps = { globalDir, validatePath: noopValidatePath };
|
|
75
|
+
const r = resolveEpicEffort({ cwd, agentType: 'au', deps });
|
|
76
|
+
expect(r.effort).toBeNull();
|
|
77
|
+
expect(effortArgs(r.effort)).toEqual([]);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
test('dangling agentType / unknown Epic / empty opts resolve to null without throwing', async () => {
|
|
81
|
+
const cwd = await mkTmpDir('sm-effort-cwd-');
|
|
82
|
+
const globalDir = await mkTmpDir('sm-effort-agents-');
|
|
83
|
+
writeIndex(cwd, {});
|
|
84
|
+
const deps = { globalDir, validatePath: noopValidatePath };
|
|
85
|
+
expect(resolveEpicEffort({ cwd, agentType: 'gone', deps })).toEqual({ effort: null, source: null });
|
|
86
|
+
expect(resolveEpicEffort({ cwd, claudeSessionId: 'nope', deps })).toEqual({ effort: null, source: null });
|
|
87
|
+
expect(resolveEpicEffort({})).toEqual({ effort: null, source: null });
|
|
88
|
+
expect(resolveEpicEffort({ cwd, agentType: '../../etc/passwd', deps })).toEqual({ effort: null, source: null });
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test('an unknown level is passed through unchanged (CLI warns and degrades)', async () => {
|
|
92
|
+
const cwd = await mkTmpDir('sm-effort-cwd-');
|
|
93
|
+
const globalDir = await mkTmpDir('sm-effort-agents-');
|
|
94
|
+
writePersona(globalDir, 'odd', ['effort: turbo']);
|
|
95
|
+
expect(resolveEpicEffort({ cwd, agentType: 'odd', deps: { globalDir, validatePath: noopValidatePath } }).effort).toBe('turbo');
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
test('effortArgs emits the pair only for a real level', () => {
|
|
99
|
+
expect(effortArgs('high')).toEqual(['--effort', 'high']);
|
|
100
|
+
for (const v of [null, undefined, '', 'inherit']) expect(effortArgs(v)).toEqual([]);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Epic-level override (New Session card) > persona frontmatter > no flag.
|
|
104
|
+
test('an Epic-level effort override beats the persona effort; an Epic without the field resolves unchanged', async () => {
|
|
105
|
+
const cwd = await mkTmpDir('sm-effort-ovr-cwd-');
|
|
106
|
+
const globalDir = await mkTmpDir('sm-effort-ovr-agents-');
|
|
107
|
+
writeIndex(cwd, {
|
|
108
|
+
withOverride: { id: 'withOverride', claudeSessionId: 's-ovr', agentType: 'p', effort: 'max' },
|
|
109
|
+
legacy: { id: 'legacy', claudeSessionId: 's-old', agentType: 'p' },
|
|
110
|
+
noPersona: { id: 'noPersona', claudeSessionId: 's-np', effort: 'low' },
|
|
111
|
+
});
|
|
112
|
+
writePersona(globalDir, 'p', ['effort: low']);
|
|
113
|
+
const deps = { globalDir, validatePath: noopValidatePath };
|
|
114
|
+
expect(resolveEpicEffort({ cwd, claudeSessionId: 's-ovr', deps })).toEqual({ effort: 'max', source: 'epic' });
|
|
115
|
+
expect(resolveEpicEffort({ cwd, claudeSessionId: 's-old', deps })).toEqual({ effort: 'low', source: 'persona' });
|
|
116
|
+
expect(resolveEpicEffort({ cwd, claudeSessionId: 's-np', deps })).toEqual({ effort: 'low', source: 'epic' });
|
|
117
|
+
});
|
|
@@ -253,3 +253,24 @@ test('a persona with no Action fields reports them as empty/null rather than und
|
|
|
253
253
|
expect(p.action).toBeNull();
|
|
254
254
|
expect(p.actionLabel).toBeNull();
|
|
255
255
|
});
|
|
256
|
+
|
|
257
|
+
test('effort: written when set, omitted for inherit/unset, round-trips, and untouched personas gain no line', async () => {
|
|
258
|
+
const globalDir = await mkTmp('sm-agent-library-effort-');
|
|
259
|
+
const base = { tools: [], color: '', tags: [], body: 'B.', globalDir, validatePath: identityValidatePath, writeTextAtomic: fakeWriteTextAtomic };
|
|
260
|
+
await savePersona({ ...base, name: 'with-effort', model: 'opus', effort: 'xhigh' });
|
|
261
|
+
await savePersona({ ...base, name: 'inherit-effort', model: 'opus', effort: 'inherit' });
|
|
262
|
+
await savePersona({ ...base, name: 'unset-effort', model: 'opus' });
|
|
263
|
+
const raw = (n) => fsp.readFile(path.join(globalDir, `${n}.md`), 'utf8');
|
|
264
|
+
expect(await raw('with-effort')).toContain('effort: xhigh');
|
|
265
|
+
expect(await raw('inherit-effort')).not.toContain('effort:');
|
|
266
|
+
expect(await raw('unset-effort')).not.toContain('effort:');
|
|
267
|
+
|
|
268
|
+
const ps = await listPersonas({ globalDir, loadSessions: async () => ({ tabs: [] }), validatePath: identityValidatePath });
|
|
269
|
+
const by = Object.fromEntries(ps.map((p) => [p.name, p]));
|
|
270
|
+
expect(by['with-effort'].effort).toBe('xhigh');
|
|
271
|
+
expect(by['unset-effort'].effort).toBeNull();
|
|
272
|
+
|
|
273
|
+
// Untouched save of a no-effort persona (UI maps null -> 'inherit') must not add a line.
|
|
274
|
+
await savePersona({ ...base, name: 'unset-effort', model: 'opus', effort: by['unset-effort'].effort ?? 'inherit' });
|
|
275
|
+
expect(await raw('unset-effort')).not.toContain('effort:');
|
|
276
|
+
});
|
|
@@ -293,3 +293,19 @@ test('resolvePrdPersonaForSpawn caps the persona body at 6000 characters with a
|
|
|
293
293
|
expect(result.systemPrompt.toLowerCase()).toContain('truncat');
|
|
294
294
|
expect(result.systemPrompt).toContain('/home/user/.claude/agents/dev-lead.md');
|
|
295
295
|
});
|
|
296
|
+
|
|
297
|
+
// Epic-level override (New Session card) > persona frontmatter > fallback.
|
|
298
|
+
test('an Epic-level model override beats the persona model; an Epic without the field resolves unchanged', async () => {
|
|
299
|
+
const cwd = await mkTmpDir('sm-model-ovr-cwd-');
|
|
300
|
+
const globalDir = await mkTmpDir('sm-model-ovr-agents-');
|
|
301
|
+
writeIndex(cwd, {
|
|
302
|
+
withOverride: { id: 'withOverride', claudeSessionId: 's-ovr', agentType: 'p', model: 'claude-opus-5' },
|
|
303
|
+
legacy: { id: 'legacy', claudeSessionId: 's-old', agentType: 'p' },
|
|
304
|
+
inheritOverride: { id: 'inheritOverride', claudeSessionId: 's-inh', agentType: 'p', model: 'inherit' },
|
|
305
|
+
});
|
|
306
|
+
writePersona(globalDir, 'p', ['model: haiku']);
|
|
307
|
+
const deps = { globalDir, validatePath: (p) => p };
|
|
308
|
+
expect(resolveEpicModel({ cwd, claudeSessionId: 's-ovr', deps })).toBe('claude-opus-5');
|
|
309
|
+
expect(resolveEpicModel({ cwd, claudeSessionId: 's-old', deps })).toBe('haiku');
|
|
310
|
+
expect(resolveEpicModel({ cwd, claudeSessionId: 's-inh', deps })).toBe('haiku');
|
|
311
|
+
});
|