ocean-brain 0.13.3 → 0.15.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/README.md +66 -2
- package/dist/mcp.js +439 -480
- package/package.json +3 -2
- package/server/client/dist/assets/ArrowClockwise.es-BwtKWcmj.js +1 -0
- package/server/client/dist/assets/{ArrowRight.es-BlNsZQFs.js → ArrowRight.es-E09Lfefr.js} +1 -1
- package/server/client/dist/assets/{AuxiliaryPanelHeader-HAttwVby.js → AuxiliaryPanelHeader-Bys98BJJ.js} +1 -1
- package/server/client/dist/assets/Calendar-BOhJYi8K.js +25 -0
- package/server/client/dist/assets/Callout-CAH1ua9B.js +1 -0
- package/server/client/dist/assets/{CaretUp.es-C8iY5OlB.js → CaretUp.es-DSWjIa-J.js} +1 -1
- package/server/client/dist/assets/{CheckCircle.es-Dqr3WImn.js → CheckCircle.es-Cou6rItm.js} +1 -1
- package/server/client/dist/assets/{Copy.es-fMv0ETir.js → Copy.es-ftEldGIL.js} +1 -1
- package/server/client/dist/assets/{File.es-CHtXXafR.js → File.es-DlKAX1uO.js} +1 -1
- package/server/client/dist/assets/{FileText.es-DPIwDCEe.js → FileText.es-D6JM_MqM.js} +1 -1
- package/server/client/dist/assets/{FlowArrow.es-Dxee98ir.js → FlowArrow.es-BRWXqf9A.js} +1 -1
- package/server/client/dist/assets/{Graph-hVj6vAYJ.js → Graph-BaqGi3M7.js} +1 -1
- package/server/client/dist/assets/{Graph-CdEu8eAn.js → Graph-L-d0cdMk.js} +1 -1
- package/server/client/dist/assets/{Image.es-CjXY1JVf.js → Image.es-Bh2mTNtr.js} +1 -1
- package/server/client/dist/assets/{Info.es-CYxg-Vku.js → Info.es-Bwz4CSvS.js} +1 -1
- package/server/client/dist/assets/Integration-C-rva2X9.js +1 -0
- package/server/client/dist/assets/{LinkSimple.es-B-P-7Iem.js → LinkSimple.es-iJvLf-MB.js} +1 -1
- package/server/client/dist/assets/Note-OO_uh2a7.js +19 -0
- package/server/client/dist/assets/{NotePropertiesPanel-6P7UfRBR.js → NotePropertiesPanel-BFWjxL_w.js} +1 -1
- package/server/client/dist/assets/{Plus.es-Dy6onD-Z.js → Plus.es-Dmb3oijD.js} +1 -1
- package/server/client/dist/assets/{Reminders-DnuALBL6.js → Reminders-CtpFtvu6.js} +1 -1
- package/server/client/dist/assets/{Search-AaD1Mt0d.js → Search-t48pkUg-.js} +2 -2
- package/server/client/dist/assets/{SurfaceCard-D5QxOte_.js → SurfaceCard-zdJ8k1o0.js} +1 -1
- package/server/client/dist/assets/{Tag-B2Qiq1Hv.js → Tag-BL2h3ZaX.js} +1 -1
- package/server/client/dist/assets/TagNotes-BpRTCEBf.js +1 -0
- package/server/client/dist/assets/Trash.es-DFnO8iF5.js +1 -0
- package/server/client/dist/assets/{ViewChip-BVkZAXyx.js → ViewChip-BdPhSEvG.js} +1 -1
- package/server/client/dist/assets/{Views-B5oh8GVM.js → Views-BoO6vgnF.js} +1 -1
- package/server/client/dist/assets/WarningCircle.es-BAvgGuQK.js +1 -0
- package/server/client/dist/assets/{abnfDiagram-N423BO3Z-D44O4T7q.js → abnfDiagram-N423BO3Z-CPgGmCbn.js} +1 -1
- package/server/client/dist/assets/app-OGsLwSqJ.js +151 -0
- package/server/client/dist/assets/app-yYMsgUrz.css +1 -0
- package/server/client/dist/assets/{arc-Cil9fXuW.js → arc-DqTgRpuF.js} +1 -1
- package/server/client/dist/assets/{architectureDiagram-T3A2C74G-Cjq6ayF2.js → architectureDiagram-T3A2C74G-rTYMAQ-J.js} +1 -1
- package/server/client/dist/assets/{blockDiagram-VBNYF7ZC-B2Xm5N0i.js → blockDiagram-VBNYF7ZC-BOluytVz.js} +1 -1
- package/server/client/dist/assets/{c4Diagram-5PPSVZJV-Dp0y-lCR.js → c4Diagram-5PPSVZJV-C8gbPpcb.js} +1 -1
- package/server/client/dist/assets/{calendar-data-wB0ifXdo.js → calendar-data-CwVF7Pz3.js} +1 -1
- package/server/client/dist/assets/channel--aI9fJWX.js +1 -0
- package/server/client/dist/assets/{chunk-2GRJ4B5K-CWaaNkFx.js → chunk-2GRJ4B5K-CRER5Ka0.js} +1 -1
- package/server/client/dist/assets/{chunk-2Q5K7J3B-Ces-xz2S.js → chunk-2Q5K7J3B-hxmJWGu_.js} +1 -1
- package/server/client/dist/assets/{chunk-5RXB4S5H-B-4Chlfc.js → chunk-5RXB4S5H-Bpr5Us8Y.js} +1 -1
- package/server/client/dist/assets/{chunk-5VM5RSS4-C8_HVwuz.js → chunk-5VM5RSS4-CKUz9fAb.js} +1 -1
- package/server/client/dist/assets/{chunk-6Q2QTUOP-xZ8ofRqk.js → chunk-6Q2QTUOP-B8XEOHPN.js} +1 -1
- package/server/client/dist/assets/{chunk-GF5L2VYU-Bpa43a7s.js → chunk-GF5L2VYU-BBUD-HJi.js} +1 -1
- package/server/client/dist/assets/{chunk-JWPE2WC7-DsyTXbuq.js → chunk-JWPE2WC7-Dq6_B8-d.js} +1 -1
- package/server/client/dist/assets/{chunk-KBJHAD2P-BDhjm9-8.js → chunk-KBJHAD2P--2VZEwNJ.js} +1 -1
- package/server/client/dist/assets/{chunk-RYQCIY6F-Cn-jdp6I.js → chunk-RYQCIY6F-CKCwnKiC.js} +1 -1
- package/server/client/dist/assets/{chunk-XXDRQBXY-BKsc_0wh.js → chunk-XXDRQBXY-VDufR1Oi.js} +1 -1
- package/server/client/dist/assets/classDiagram-JCYQIIEL-BsbwE38V.js +1 -0
- package/server/client/dist/assets/classDiagram-v2-OCEON4UE-BsbwE38V.js +1 -0
- package/server/client/dist/assets/{cose-bilkent-JH36ORCC-jmn3Q4zj.js → cose-bilkent-JH36ORCC-D4nqOx8S.js} +1 -1
- package/server/client/dist/assets/{cynefinDiagram-MW4NZA55-BpLstuBJ.js → cynefinDiagram-MW4NZA55-CUuLMs-6.js} +1 -1
- package/server/client/dist/assets/{dagre-VZM6K2ZE-B5ft5Yzm.js → dagre-VZM6K2ZE-CUSkhZgS.js} +1 -1
- package/server/client/dist/assets/{diagram-7IWD3JNH-B_W9IsWZ.js → diagram-7IWD3JNH-D95eVcKx.js} +4 -4
- package/server/client/dist/assets/{diagram-B4RE2ZJO-32chS3GX.js → diagram-B4RE2ZJO-7OH_fb0K.js} +1 -1
- package/server/client/dist/assets/{diagram-LBJQPF4R-Bqupdb3-.js → diagram-LBJQPF4R-D9UwEIMd.js} +1 -1
- package/server/client/dist/assets/{diagram-Q27KOJAE-BD8jKBsv.js → diagram-Q27KOJAE-Dx7WFDuX.js} +1 -1
- package/server/client/dist/assets/{diagram-UB23O5K3-C40jAU8D.js → diagram-UB23O5K3-D2BYwAKT.js} +1 -1
- package/server/client/dist/assets/{ebnfDiagram-BXEA7PRR-BQfW9mFA.js → ebnfDiagram-BXEA7PRR-DbeA-fk4.js} +1 -1
- package/server/client/dist/assets/{erDiagram-JOGREHBK-ILZnLzz2.js → erDiagram-JOGREHBK-jWW-ICGO.js} +1 -1
- package/server/client/dist/assets/{flowDiagram-UKHOOZJN-CDmwr2dI.js → flowDiagram-UKHOOZJN-68iZdxxw.js} +1 -1
- package/server/client/dist/assets/{ganttDiagram-PKOTCBZU-DBcrUc49.js → ganttDiagram-PKOTCBZU-CxwY3VXg.js} +1 -1
- package/server/client/dist/assets/{gitGraphDiagram-DS77QQ5N-_xO6__FK.js → gitGraphDiagram-DS77QQ5N-Ci6o5MfZ.js} +1 -1
- package/server/client/dist/assets/{image.api-ChvlfuZg.js → image.api-CHuhmq_G.js} +1 -1
- package/server/client/dist/assets/index-CuCzOHJ6.js +1 -0
- package/server/client/dist/assets/{infoDiagram-6WML65LV-CuIIcu-L.js → infoDiagram-6WML65LV-DY7aMdjV.js} +1 -1
- package/server/client/dist/assets/integrations-B5SIEnG_.js +1 -0
- package/server/client/dist/assets/{ishikawaDiagram-WSZJBQD7-BVtRGTOj.js → ishikawaDiagram-WSZJBQD7-Bh5qKh1d.js} +1 -1
- package/server/client/dist/assets/{journeyDiagram-NVQOT4AX-D5-Nzb2N.js → journeyDiagram-NVQOT4AX-B_svXTTT.js} +1 -1
- package/server/client/dist/assets/{kanban-definition-27J2QSJJ-DmOhgC8H.js → kanban-definition-27J2QSJJ-CaJslHGg.js} +1 -1
- package/server/client/dist/assets/manage-image-Kd-7IGfB.js +1 -0
- package/server/client/dist/assets/{manage-image-detail-Dw3tAW3h.js → manage-image-detail-HU0QLP-t.js} +1 -1
- package/server/client/dist/assets/mcp-BQ418pyx.js +5 -0
- package/server/client/dist/assets/{mcp-admin-adapter-D0R8p9az.js → mcp-admin-adapter-CUakQ_Xm.js} +1 -1
- package/server/client/dist/assets/{mermaid.core-C2tL9tq7.js → mermaid.core-BfUQM5vF.js} +4 -4
- package/server/client/dist/assets/{mindmap-definition-FAOFIHXS-DuvsPqrh.js → mindmap-definition-FAOFIHXS-DGbkJda2.js} +1 -1
- package/server/client/dist/assets/{note-core-YhYEmI_R.js → note-core-DRBsBf9H.js} +9 -9
- package/server/client/dist/assets/{note-runtime-B3ats-dC.js → note-runtime-ztZvXRIu.js} +16 -16
- package/server/client/dist/assets/{note-ui-BtzPk8gA.js → note-ui-CRcP5BjO.js} +1 -1
- package/server/client/dist/assets/{pegDiagram-VL7TDLO6-D64crEZV.js → pegDiagram-VL7TDLO6-Bip6zQct.js} +1 -1
- package/server/client/dist/assets/{pieDiagram-7S7Q4E2Y--kl7vopC.js → pieDiagram-7S7Q4E2Y-CjfjGY8Y.js} +1 -1
- package/server/client/dist/assets/{placeholder-B5uPsE7-.js → placeholder-D7JKnpuh.js} +1 -1
- package/server/client/dist/assets/{properties-B7Fv95qY.js → properties-CtagYHMr.js} +1 -1
- package/server/client/dist/assets/{quadrantDiagram-CIZ2JOQS-DuvJ4M2y.js → quadrantDiagram-CIZ2JOQS-B6F1yUT-.js} +1 -1
- package/server/client/dist/assets/{railroadDiagram-AXF67PYL-BMKmCOY7.js → railroadDiagram-AXF67PYL-D-0fLe0F.js} +1 -1
- package/server/client/dist/assets/{requirementDiagram-LRYGKXZP-DY1eJcy0.js → requirementDiagram-LRYGKXZP-tm4mnCyJ.js} +1 -1
- package/server/client/dist/assets/route-preload.js +2 -2
- package/server/client/dist/assets/{sankeyDiagram-W5VNT64P-C3Ka4GKM.js → sankeyDiagram-W5VNT64P-DSBWFurb.js} +1 -1
- package/server/client/dist/assets/search-B5tCkhwj.js +1 -0
- package/server/client/dist/assets/{search-admin-adapter-Daf7e2YQ.js → search-admin-adapter-Be9xSY88.js} +1 -1
- package/server/client/dist/assets/{sequenceDiagram-SI44F4Z6-Bhpwtk2s.js → sequenceDiagram-SI44F4Z6-KrwjjJIV.js} +1 -1
- package/server/client/dist/assets/{sizeCapture-X5ZJPWSS-BFta71TW.js → sizeCapture-X5ZJPWSS-DL2cn_Q6.js} +1 -1
- package/server/client/dist/assets/{stateDiagram-OKZ733FA-D6GCn1io.js → stateDiagram-OKZ733FA-CKuNDH85.js} +1 -1
- package/server/client/dist/assets/{stateDiagram-v2-UEYNNEHI-g4yinGDn.js → stateDiagram-v2-UEYNNEHI-BFaj2wbM.js} +1 -1
- package/server/client/dist/assets/{swimlanes-SLNWSIFB-DLFvOjUl.js → swimlanes-SLNWSIFB-5S17nqhK.js} +2 -2
- package/server/client/dist/assets/swimlanesDiagram-ULZ7WXOC-dexsHJq2.js +8 -0
- package/server/client/dist/assets/{tag.api-DEUROVKQ.js → tag.api-DGfi8hWL.js} +1 -1
- package/server/client/dist/assets/time-Kh6oav5R.js +361 -0
- package/server/client/dist/assets/{timeline-definition-Z64GVDOM-DTSIekSM.js → timeline-definition-Z64GVDOM-CU1hp_7d.js} +3 -3
- package/server/client/dist/assets/{trash-BHida7BG.js → trash-Di2BWyUO.js} +1 -1
- package/server/client/dist/assets/url-Bp8sXMb4.js +1 -0
- package/server/client/dist/assets/{useNoteMutate-BjvZUmtX.js → useNoteMutate-BQj6jHhV.js} +3 -3
- package/server/client/dist/assets/{useReminderMutate-C5n-5LM-.js → useReminderMutate-jubqwSD9.js} +1 -1
- package/server/client/dist/assets/{vennDiagram-T6HMQDX7-CMNqSI2X.js → vennDiagram-T6HMQDX7-MoiVLnil.js} +1 -1
- package/server/client/dist/assets/{wardleyDiagram-T6FBY63Y-DV-JOYqB.js → wardleyDiagram-T6FBY63Y-cZkfdI6C.js} +1 -1
- package/server/client/dist/assets/{xychartDiagram-ELKLHX3M-BUIniF4m.js → xychartDiagram-ELKLHX3M-B63hxD-r.js} +1 -1
- package/server/client/dist/index.html +6 -6
- package/server/dist/app.js +11 -1
- package/server/dist/features/app-gateway/access.js +73 -0
- package/server/dist/features/app-gateway/database.js +20 -0
- package/server/dist/features/app-gateway/gateway.js +208 -0
- package/server/dist/features/integration/access-events.js +17 -0
- package/server/dist/features/integration/auth.js +21 -0
- package/server/dist/features/integration/manifest.js +116 -0
- package/server/dist/features/integration/note-sync.js +156 -0
- package/server/dist/features/integration/schema.js +54 -0
- package/server/dist/features/integration/service.js +246 -0
- package/server/dist/features/integration/status-report.js +22 -0
- package/server/dist/features/mcp-admin/service.js +19 -83
- package/server/dist/features/note/graphql/note.field.resolver.js +1 -1
- package/server/dist/features/note/graphql/note.mutation.resolver.js +20 -12
- package/server/dist/features/note/graphql/note.query.resolver.js +10 -1
- package/server/dist/features/note/graphql/note.type-defs.js +13 -1
- package/server/dist/features/note/http/authoring.js +493 -0
- package/server/dist/features/note/http/mcp.js +15 -463
- package/server/dist/features/note/services/authoring.js +17 -1
- package/server/dist/features/note/services/change-events.js +26 -0
- package/server/dist/features/note/services/markdown-intent-write.js +1 -0
- package/server/dist/features/note/services/markdown-read.js +85 -0
- package/server/dist/features/note/services/properties.js +36 -30
- package/server/dist/features/note/services/search.js +17 -0
- package/server/dist/features/search/graphql/resolver.js +10 -1
- package/server/dist/features/search/graphql/type-defs.js +3 -0
- package/server/dist/features/search/search-manager.js +4 -7
- package/server/dist/features/tag/graphql/tag.query.resolver.js +10 -0
- package/server/dist/features/tag/graphql/tag.type-defs.js +1 -0
- package/server/dist/features/view/graphql/mcp.query.resolver.js +22 -0
- package/server/dist/features/view/graphql/view.query.resolver.js +2 -0
- package/server/dist/features/view/graphql/view.type-defs.js +27 -0
- package/server/dist/features/view/services/mcp-read.js +142 -0
- package/server/dist/features/view/services/workspace.js +12 -4
- package/server/dist/modules/auth-guard.js +24 -1
- package/server/dist/modules/integration-token.js +27 -0
- package/server/dist/modules/mcp-auth.js +37 -23
- package/server/dist/modules/mcp-token.js +6 -25
- package/server/dist/modules/server-events.js +3 -0
- package/server/dist/routes/api.js +2 -0
- package/server/dist/routes/apps.js +163 -0
- package/server/dist/routes/graphql.js +2 -1
- package/server/dist/routes/index.js +2 -0
- package/server/dist/routes/integrations.js +137 -0
- package/server/dist/routes/mcp.js +29 -9
- package/server/prisma/migrations/20260917120000_0020_plugin_installations/migration.sql +39 -0
- package/server/prisma/migrations/20260917150000_0021_integration_connections/migration.sql +29 -0
- package/server/prisma/migrations/20260919090000_0022_integration_proxy_url/migration.sql +2 -0
- package/server/prisma/schema.prisma +36 -10
- package/server/client/dist/assets/Calendar-DwQBllfw.js +0 -25
- package/server/client/dist/assets/Callout-CcYyvHQP.js +0 -1
- package/server/client/dist/assets/Note-CpzLtGVM.js +0 -19
- package/server/client/dist/assets/TagNotes-B27G1ZVg.js +0 -1
- package/server/client/dist/assets/Trash.es-XEcWG_aq.js +0 -1
- package/server/client/dist/assets/app-EwvT7bMw.css +0 -1
- package/server/client/dist/assets/app-NgiBDISG.js +0 -151
- package/server/client/dist/assets/channel-DZFalh-h.js +0 -1
- package/server/client/dist/assets/classDiagram-JCYQIIEL-CkEhFvVV.js +0 -1
- package/server/client/dist/assets/classDiagram-v2-OCEON4UE-CkEhFvVV.js +0 -1
- package/server/client/dist/assets/index-CIEap4bu.js +0 -1
- package/server/client/dist/assets/manage-image-CSJ3Flgc.js +0 -1
- package/server/client/dist/assets/mcp-D8footel.js +0 -5
- package/server/client/dist/assets/search-ddYl3qH-.js +0 -1
- package/server/client/dist/assets/swimlanesDiagram-ULZ7WXOC-Ci4mcvmo.js +0 -8
- package/server/client/dist/assets/time-PxWila4-.js +0 -361
- package/server/client/dist/assets/url-DKUMNVCI.js +0 -1
- package/server/dist/features/search/note-change.js +0 -16
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-C2tL9tq7.js","assets/preload-helper-BXl3LOEh.js","assets/floating-ui.react-dom-BWTnA00G.js","assets/transform-BUB79_za.js","assets/katex-DywYRkvg.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as o,j as a}from"./floating-ui.react-dom-BWTnA00G.js";import{al as jn,A as vt,T as S,i as Ye,m as An,q as L,M as B,B as k,am as En,an as kn,c as V,N as wt,K as Ct,V as Tn,e as je,u as Qe,ao as Mn,ap as Dn,aq as Ln,J as _n,s as Pn,ar as On,a1 as Nt,ah as St,as as ze,at as Bn,W as Fn,ai as Hn,aj as $n,au as In,Q as qe,P as Ge,av as Je,h as Un,l as ie,D as zn}from"./time-PxWila4-.js";import{M as Ae,h as Rt,m as Zn,a as Fe,b as Vn,d as G,s as Wn,l as jt,o as Kn,p as At,k as Et,q as Yn,r as rt,e as Qn}from"./useNoteMutate-BjvZUmtX.js";import{m as qn,C as st}from"./Callout-CcYyvHQP.js";import{J as kt,g as Gn,A as Tt,S as Jn,i as Xn,U as at,F as er,N as tr}from"./NotePropertiesPanel-6P7UfRBR.js";import{c as nr}from"./Info.es-CYxg-Vku.js";import{N as Ee,T as rr,S as sr}from"./url-DKUMNVCI.js";import{S as ar}from"./SurfaceCard-D5QxOte_.js";import{b as or,c as ir,u as cr,R as lr}from"./useReminderMutate-C5n-5LM-.js";import{n as dr}from"./Plus.es-Dy6onD-Z.js";import{h as Xe,m as ur,L as Mt,Z as Dt,M as fr,K as pr,a as mr}from"./note-ui-BtzPk8gA.js";import{u as hr}from"./image.api-ChvlfuZg.js";import{L as gr,t as ot,q as xr,B as he,G as br,y as it}from"./note-core-YhYEmI_R.js";import{s as Lt}from"./FlowArrow.es-Dxee98ir.js";import{_ as Ze}from"./preload-helper-BXl3LOEh.js";import{s as yr}from"./Copy.es-fMv0ETir.js";import{A as vr}from"./AuxiliaryPanelHeader-HAttwVby.js";import{f as wr,c as Cr}from"./tag.api-DEUROVKQ.js";import{cn as ct}from"./note-runtime-B3ats-dC.js";import{s as Nr}from"./File.es-CHtXXafR.js";import{p as Sr}from"./LinkSimple.es-B-P-7Iem.js";function Rr(e,n){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if("shouldBlockFn"in e)return e;if(typeof e=="function")return{shouldBlockFn:async()=>await e(),enableBeforeUnload:!0,withResolver:!1};const t=!!(e.condition??!0),s=e.blockerFn;return{shouldBlockFn:async()=>t&&s!==void 0?await s():t,enableBeforeUnload:t,withResolver:s===void 0}}function jr(e,n){const{shouldBlockFn:t,enableBeforeUnload:s=!0,disabled:r=!1,withResolver:i=!1}=Rr(e),c=jn(),{history:l}=c,[f,d]=o.useState({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return o.useEffect(()=>{const m=async x=>{function b(A){const w=c.parseLocation(A),p=c.getMatchedRoutes(w.pathname);return p.foundRoute===void 0?{routeId:"__notFound__",fullPath:w.pathname,pathname:w.pathname,params:p.routeParams,search:c.options.parseSearch(A.search)}:{routeId:p.foundRoute.id,fullPath:p.foundRoute.fullPath,pathname:w.pathname,params:p.routeParams,search:c.options.parseSearch(A.search)}}const u=b(x.currentLocation),h=b(x.nextLocation);if(u.routeId==="__notFound__"&&h.routeId!=="__notFound__")return!1;const v=await t({action:x.action,current:u,next:h});if(!i)return v;if(!v)return!1;const R=await new Promise(A=>{d({status:"blocked",current:u,next:h,action:x.action,proceed:()=>A(!1),reset:()=>A(!0)})});return d({status:"idle",current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),R};return r?void 0:l.block({blockerFn:m,enableBeforeUnload:s})},[t,s,r,i,l,c]),f}const Ar=new Map([["bold",o.createElement(o.Fragment,null,o.createElement("path",{d:"M212,40a12,12,0,0,1-12,12H170.71A20,20,0,0,0,151,68.42L142.38,116H184a12,12,0,0,1,0,24H138l-9.44,51.87A44,44,0,0,1,85.29,228H56a12,12,0,0,1,0-24H85.29A20,20,0,0,0,105,187.58L113.62,140H72a12,12,0,0,1,0-24h46l9.44-51.87A44,44,0,0,1,170.71,28H200A12,12,0,0,1,212,40Z"}))],["duotone",o.createElement(o.Fragment,null,o.createElement("path",{d:"M200,40V200a16,16,0,0,1-16,16H56V56A16,16,0,0,1,72,40Z",opacity:"0.2"}),o.createElement("path",{d:"M208,40a8,8,0,0,1-8,8H170.71a24,24,0,0,0-23.62,19.71L137.59,120H184a8,8,0,0,1,0,16H134.68l-10,55.16A40,40,0,0,1,85.29,224H56a8,8,0,0,1,0-16H85.29a24,24,0,0,0,23.62-19.71l9.5-52.29H72a8,8,0,0,1,0-16h49.32l10-55.16A40,40,0,0,1,170.71,32H200A8,8,0,0,1,208,40Z"}))],["fill",o.createElement(o.Fragment,null,o.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM176,72H159.92a16,16,0,0,0-15.73,13l-6.55,35H168a8,8,0,0,1,0,16H134.64l-7.11,37.9A32,32,0,0,1,96.08,200H80a8,8,0,0,1,0-16H96.08A16,16,0,0,0,111.81,171L118.36,136H88a8,8,0,0,1,0-16h33.36l7.11-37.9A32,32,0,0,1,159.92,56H176a8,8,0,0,1,0,16Z"}))],["light",o.createElement(o.Fragment,null,o.createElement("path",{d:"M206,40a6,6,0,0,1-6,6H170.71a26,26,0,0,0-25.58,21.35L135.19,122H184a6,6,0,0,1,0,12H133l-10.33,56.8A38,38,0,0,1,85.29,222H56a6,6,0,0,1,0-12H85.29a26,26,0,0,0,25.58-21.35L120.81,134H72a6,6,0,0,1,0-12h51l10.33-56.8A38,38,0,0,1,170.71,34H200A6,6,0,0,1,206,40Z"}))],["regular",o.createElement(o.Fragment,null,o.createElement("path",{d:"M208,40a8,8,0,0,1-8,8H170.71a24,24,0,0,0-23.62,19.71L137.59,120H184a8,8,0,0,1,0,16H134.68l-10,55.16A40,40,0,0,1,85.29,224H56a8,8,0,0,1,0-16H85.29a24,24,0,0,0,23.62-19.71l9.5-52.29H72a8,8,0,0,1,0-16h49.32l10-55.16A40,40,0,0,1,170.71,32H200A8,8,0,0,1,208,40Z"}))],["thin",o.createElement(o.Fragment,null,o.createElement("path",{d:"M204,40a4,4,0,0,1-4,4H170.71a28,28,0,0,0-27.55,23l-10.37,57H184a4,4,0,0,1,0,8H131.34l-10.63,58.44A36,36,0,0,1,85.29,220H56a4,4,0,0,1,0-8H85.29a28,28,0,0,0,27.55-23l10.37-57H72a4,4,0,0,1,0-8h52.66l10.63-58.44A36,36,0,0,1,170.71,36H200A4,4,0,0,1,204,40Z"}))]]),Er=new Map([["bold",o.createElement(o.Fragment,null,o.createElement("path",{d:"M230.15,70.54,185.46,25.86a20,20,0,0,0-28.28,0L33.86,149.17A19.86,19.86,0,0,0,28,163.31V208a20,20,0,0,0,20,20H216a12,12,0,0,0,0-24H125L230.15,98.83A20,20,0,0,0,230.15,70.54ZM136,81l11,11L76,163,65,152ZM52,204V173l15.52,15.51h0L83,204Zm52-13L93,180l71-71,11,11Zm88-88L153,64l18.34-18.34,39,39Z"}))],["duotone",o.createElement(o.Fragment,null,o.createElement("path",{d:"M221.66,90.34,192,120,136,64l29.66-29.66a8,8,0,0,1,11.31,0L221.66,79A8,8,0,0,1,221.66,90.34Z",opacity:"0.2"}),o.createElement("path",{d:"M227.32,73.37,182.63,28.69a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H216a8,8,0,0,0,0-16H115.32l112-112A16,16,0,0,0,227.32,73.37ZM79.32,188,164,103.31,180.69,120,96,204.69ZM68,176.69,51.31,160,136,75.31,152.69,92Zm-20,2.62L76.69,208H48Zm144-70.62L147.32,64l24-24L216,84.69Z"}))],["fill",o.createElement(o.Fragment,null,o.createElement("path",{d:"M227.32,73.37,182.63,28.69a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H216a8,8,0,0,0,0-16H115.32l112-112A16,16,0,0,0,227.32,73.37ZM79.32,188l90.34-90.34,16.69,16.68L96,204.69Zm79-101.66h0L68,176.69,51.31,160l90.35-90.34ZM48,179.31,76.69,208H48Z"}))],["light",o.createElement(o.Fragment,null,o.createElement("path",{d:"M225.91,74.79,181.22,30.1a14,14,0,0,0-19.8,0L38.1,153.41a13.94,13.94,0,0,0-4.1,9.9V208a14,14,0,0,0,14,14H216a6,6,0,0,0,0-12H110.49L225.91,94.59A14,14,0,0,0,225.91,74.79ZM76.49,188,164,100.48,183.52,120,96,207.51ZM68,179.52,48.49,160,136,72.49,155.52,92ZM46,208V174.48L81.52,210H48A2,2,0,0,1,46,208ZM217.42,86.1,192,111.52,144.49,64,169.9,38.59a2,2,0,0,1,2.83,0l44.69,44.68A2,2,0,0,1,217.42,86.1Z"}))],["regular",o.createElement(o.Fragment,null,o.createElement("path",{d:"M227.32,73.37,182.63,28.69a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H216a8,8,0,0,0,0-16H115.32l112-112A16,16,0,0,0,227.32,73.37ZM136,75.31,152.69,92,68,176.69,51.31,160ZM48,208V179.31L76.69,208Zm48-3.31L79.32,188,164,103.31,180.69,120Zm96-96L147.32,64l24-24L216,84.69Z"}))],["thin",o.createElement(o.Fragment,null,o.createElement("path",{d:"M224.49,76.2,179.8,31.51a12,12,0,0,0-17,0L39.51,154.83A12,12,0,0,0,36,163.31V208a12,12,0,0,0,12,12H216a4,4,0,0,0,0-8H105.66L224.49,93.17A12,12,0,0,0,224.49,76.2ZM73.66,188,164,97.66,186.35,120,96,210.34ZM68,182.34,45.66,160,136,69.66,158.35,92ZM44,208V169.66l21.17,21.17h0L86.34,212H48A4,4,0,0,1,44,208ZM218.83,87.51,192,114.34,141.66,64l26.83-26.83a4,4,0,0,1,5.66,0l44.68,44.69A4,4,0,0,1,218.83,87.51Z"}))]]),_t=o.forwardRef((e,n)=>o.createElement(vt,{ref:n,...e,weights:Ar}));_t.displayName="FunctionIcon";const Pt=_t,Ot=o.forwardRef((e,n)=>o.createElement(vt,{ref:n,...e,weights:Er}));Ot.displayName="PencilLineIcon";const kr=Ot;function Tr({title:e,description:n,selected:t=!1,onClick:s,children:r}){return a.jsxs("button",{type:"button","aria-pressed":t,className:`focus-ring-soft flex w-full items-start justify-between gap-3 p-3 text-left transition-colors sm:p-4 ${t?"surface-floating bg-elevated":"rounded-[14px] border border-border-subtle bg-transparent hover:border-border-secondary hover:bg-hover-subtle"}`,onClick:s,children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx(S,{as:"div",variant:"body",weight:"semibold",tone:t?"default":"secondary",children:e}),a.jsx(S,{as:"div",variant:"meta",weight:"medium",tone:t?"secondary":"tertiary",className:"mt-1",children:n})]}),r?a.jsx("div",{className:"shrink-0",children:r}):null]})}const Mr=e=>{const{data:n}=Ye({queryKey:L.notes.backReferences(e.noteId),async queryFn(){const t=await An(e.noteId);if(t.type==="error")throw t;return t.backReferences}});return e.render(n)};function Dr({noteId:e,searchParams:n,render:t}){const{data:s}=Ye({queryKey:e?L.reminders.note(e,n):L.reminders.upcoming(n),queryFn:async()=>{if(e){const i=await or(e,n);if(i.type==="error")throw i;return i.noteReminders}const r=await ir(n);if(r.type==="error")throw r;return r.upcomingReminders}});return a.jsx(a.Fragment,{children:t(s)})}const Lr=[{value:"narrow",label:"Narrow",description:"Optimized for reading long-form content"},{value:"wide",label:"Wide",description:"Balanced width suitable for most content"},{value:"full",label:"Full Width",description:"Maximize screen space utilization"}];function _r({isOpen:e,onClose:n,onSave:t,currentLayout:s="wide"}){const[r,i]=o.useState(s);o.useEffect(()=>{e&&i(s)},[e,s]);const c=()=>{t(r),n()};return a.jsxs(B,{isOpen:e,onClose:n,variant:"compact",children:[a.jsx(B.Header,{title:"Layout Settings",onClose:n}),a.jsx(B.Body,{children:a.jsx("div",{className:"flex flex-col gap-3 sm:gap-4",children:a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx(S,{as:"div",variant:"body",weight:"semibold",tone:"secondary",children:"Note layout"}),a.jsx("div",{className:"flex flex-col gap-2",children:Lr.map(l=>a.jsx(Tr,{title:l.label,description:l.description,selected:r===l.value,onClick:()=>i(l.value)},l.value))})]})})}),a.jsx(B.Footer,{children:a.jsxs(Ae,{children:[a.jsx(k,{variant:"ghost",size:"sm",onClick:n,children:"Cancel"}),a.jsx(k,{variant:"primary",size:"sm",onClick:c,children:"Apply"})]})})]})}const ge=e=>{const n=/^\d+$/.test(e)?Number(e):Date.parse(e);return Number.isFinite(n)?n:null},Se=(e,n)=>{const t=ge(e),s=ge(n);return t===null||s===null?e===n?0:null:t===s?0:t<s?-1:1},Pr=2200;function Or({status:e,savedAt:n,savedVersion:t,confirmationRevision:s}){const[r,i]=o.useState(()=>Date.now()),[c,l]=o.useState(!1);o.useEffect(()=>{if(e!=="saved")return;const u=window.setTimeout(()=>i(Date.now()),En(ge(t),r));return()=>window.clearTimeout(u)},[r,t,e]),o.useEffect(()=>{if(s===0)return;l(!0);const u=window.setTimeout(()=>l(!1),Pr);return()=>window.clearTimeout(u)},[s]);const f=e==="saved"&&c,d=e==="pending"?"Saving...":e==="saving"?"Saving now...":e==="error"?"Save failed. Try again.":e==="conflict"?"Save paused: changed elsewhere":`Saved ${kn(ge(t),r)}`,m=V("inline-flex items-center gap-2 transition-colors",e==="saved"&&!f&&"text-fg-secondary",f&&"text-accent-success",(e==="pending"||e==="saving")&&"text-fg-default",(e==="error"||e==="conflict")&&"text-fg-error"),x=V("save-progress-ring flex h-4 w-4 shrink-0 items-center justify-center rounded-full",(e==="pending"||e==="saving")&&"save-progress-ring-active",e==="saved"&&f&&"save-progress-ring-complete",(e==="error"||e==="conflict")&&"save-progress-ring-error"),b=e==="error"||e==="conflict"?a.jsx(qn,{className:"h-3.5 w-3.5",weight:"fill"}):a.jsx("span",{className:x,"aria-hidden":!0,children:a.jsx("span",{className:"h-2 w-2 rounded-full bg-elevated"})});return a.jsxs(S,{as:"span",variant:"label",weight:"medium",className:m,role:"status","aria-live":"polite",title:n,children:[b,d]})}function Br({title:e,titleRef:n,isPinned:t,createdAt:s,saveStatus:r,savedAt:i,savedVersion:c,saveConfirmationRevision:l,onTitleChange:f,onCopyMarkdown:d,onDownloadDocument:m,onTogglePinned:x,onChangeLayout:b,onCloneNote:u,onRestoreVersion:h,onDelete:v,onSave:N}){return a.jsx("div",{className:"surface-floating sticky top-20 z-[1001] mb-7 px-5 pt-4 pb-3.5",children:a.jsxs("div",{className:"flex flex-col gap-3.5",children:[a.jsxs("div",{className:"flex items-start justify-between gap-5",children:[a.jsxs("div",{className:"min-w-0 flex-1 pt-0.5",children:[a.jsx(S,{as:"div",variant:"micro",weight:"semibold",tracking:"widest",transform:"uppercase",tone:"tertiary",className:"mb-1.5",children:"Thought in progress"}),a.jsx("input",{ref:n,"aria-label":"Note title",placeholder:"Title",className:"text-heading sm:text-display w-full bg-transparent font-semibold leading-[1.25] tracking-[-0.02em] outline-none",type:"text",value:e,onChange:R=>f(R.target.value)})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[a.jsx(wt,{button:a.jsx(Rt,{label:"Note actions",size:"lg"}),items:[{name:"Copy Markdown",onClick:d},{name:"Download document",onClick:m},{type:"separator",key:"export-separator"},{name:t?"Unpin":"Pin",onClick:x},{name:"Change layout",onClick:b},{type:"separator"},{name:"Clone this note",onClick:u},{name:"Restore previous version",onClick:h},{type:"separator"},{name:"Delete",onClick:v}]}),a.jsx(k,{size:"sm",variant:"subtle",isLoading:r==="saving",disabled:r==="conflict",onClick:N,children:"Save"})]})]}),a.jsxs("div",{className:"flex flex-wrap items-center gap-x-2.5 gap-y-1.5 border-t border-border-subtle/80 pt-3",children:[t&&a.jsxs(S,{as:"span",variant:"label",weight:"medium",tone:"secondary",className:"inline-flex items-center gap-1.5",children:[a.jsx(Zn,{className:"h-3 w-3",weight:"fill"}),"Pinned"]}),t&&a.jsx("span",{className:"h-1 w-1 rounded-full bg-border-secondary"}),a.jsx(Or,{status:r,savedAt:i,savedVersion:c,confirmationRevision:l}),a.jsx("span",{className:"h-1 w-1 rounded-full bg-border-secondary"}),a.jsxs(S,{as:"span",variant:"micro",weight:"medium",tone:"tertiary",children:["Created ",s]})]})]})})}const Fr="/assets/images/",Hr=120,$r=100,Bt=/^(?:con|prn|aux|nul|com[1-9\u00b9\u00b2\u00b3]|lpt[1-9\u00b9\u00b2\u00b3])(?:\.|$)/i,Ft=e=>{const n=e.codePointAt(0)??0;return n<=31||n>=127&&n<=159},Ht=(e,n)=>{const t=new TextEncoder;let s=0,r="";for(const i of e){const c=t.encode(i).byteLength;if(s+c>n)break;r+=i,s+=c}return r},Ve=e=>e.replace(/^[.\s-]+|[.\s-]+$/g,""),Ir=e=>{let n=Array.from(e.normalize("NFC").trim().toLowerCase(),t=>Ft(t)||/[\\/:*?"<>|\s]/.test(t)?"-":t).join("").replace(/-+/g,"-").replace(/^[.-]+|[.-]+$/g,"");return Bt.test(n)&&(n=`note-${n}`),n=Ve(Ht(n,Hr)),n||"untitled-note"},Ce=e=>JSON.stringify(e),Ne=e=>{const n=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/--/g,"--");return Array.from(n,t=>Ft(t)?`&#${t.codePointAt(0)};`:t).join("")},Re=e=>{if(!e)return;const n=Number(e);if(!Number.isFinite(n))return e;const t=new Date(n);return Number.isNaN(t.getTime())?e:t.toISOString()},et=()=>typeof window>"u"||!window.location?.origin?"http://localhost":window.location.origin,ke=(e,n=et())=>{try{const t=new URL(e,n);return t.origin===n&&t.pathname.startsWith(Fr)}catch{return!1}},$t=(e,n=et())=>{const t=new URL(e,n);return`${t.pathname}${t.search}`},Ur=e=>e.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase()??"",zr=(e,n)=>{let t=e.normalize("NFC").trim().replace(/[^\p{L}\p{M}\p{N}._-]+/gu,"-").replace(/-+/g,"-");return t=Ve(t),Bt.test(t)&&(t=`image-${t}`),Ve(Ht(t,$r))||n},Zr=e=>{const n=e.lastIndexOf(".");return n<=0||n===e.length-1?{baseName:e,extension:""}:{baseName:e.slice(0,n),extension:e.slice(n)}},Vr=e=>{try{return decodeURIComponent(e)}catch{return e}},Wr=(e,n,t,s)=>{const i=new URL(e,et()).pathname.split("/").filter(Boolean),c=Vr(i[i.length-1]??""),l=`image-${n+1}`,{baseName:f}=Zr(c||l),d=zr(f,l);let m=`${d}.${t}`,x=2;for(;s.has(m.normalize("NFC").toLowerCase());)m=`${d}-${x}.${t}`,x+=1;return s.add(m.normalize("NFC").toLowerCase()),`assets/${m}`},It=e=>e.replace(/\\([!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~])/g,"$1"),Ut=async(e,n,t,s,r)=>{const i=s.get(n);if(i)return i;const c=await t(n,{credentials:"same-origin"});if(!c.ok)throw new Error(`Failed to fetch image asset: ${n}`);const l=Gn(Ur(c));if(!l)throw new Error(`Image asset did not return image content: ${n}`);const f=Wr(n,s.size,l,r);return e.file(f,new Uint8Array(await c.arrayBuffer())),s.set(n,f),f},Kr=(e,n)=>{let t=null;for(let s=n;s<e.length;s+=1){const r=e[s];if(t){r===t&&(t=null);continue}if(r==='"'||r==="'"){t=r;continue}if(r===">")return s}return-1},Yr=(e,n)=>{let t=n;for(;t<e.length;){const s=e.toLowerCase().indexOf("<img",t);if(s===-1)return-1;const r=e[s+4],i=s===0?-1:e.lastIndexOf("<",s-1),c=s===0?-1:e.lastIndexOf(">",s-1);if(i<=c&&(!r||/[\s/>]/.test(r)))return s;t=s+4}return-1},Qr=(e,n,t,s)=>{let r=n;for(;r<t;){for(;r<t&&/[\s/]/.test(e[r]);)r+=1;const i=r;for(;r<t&&/[^\s=/>]/.test(e[r]);)r+=1;const c=e.slice(i,r).toLowerCase();for(;r<t&&/\s/.test(e[r]);)r+=1;if(e[r]!=="=")continue;for(r+=1;r<t&&/\s/.test(e[r]);)r+=1;const l=e[r];if(l==='"'||l==="'"){const d=r+1,m=e.indexOf(l,d);if(m===-1||m>t)return;if(r=m+1,c===s)return{end:m,start:d,value:e.slice(d,m)};continue}const f=r;for(;r<t&&/[^\s>]/.test(e[r]);)r+=1;if(c===s)return{end:r,start:f,value:e.slice(f,r)}}},zt=e=>{const n=[];let t=0;for(;t<e.length;){const s=Yr(e,t);if(s===-1)break;const r=Kr(e,s+4);if(r===-1)break;const i=Qr(e,s+4,r,"src");i&&n.push({end:r+1,source:i,start:s}),t=r+1}return n},Zt=(e,n)=>{let t=e;for(const s of[...n].sort((r,i)=>i.start-r.start))t=`${t.slice(0,s.start)}${s.value}${t.slice(s.end)}`;return t},Vt=(e,n)=>{let t=e;for(const s of[...n].sort((r,i)=>i.start-r.start))t=`${t.slice(0,s.start)}${s.value}${t.slice(s.end)}`;return t},Wt=e=>{const n=[];let t=0;for(;t<e.length;){const s=e.indexOf("![",t);if(s===-1)break;let r=s+2,i=1;for(;r<e.length&&i>0&&e[r]!==`
|
|
3
|
-
`;){if(e[r]==="\\"){r+=2;continue}e[r]==="["?i+=1:e[r]==="]"&&(i-=1),r+=1}if(i!==0||e[r]!=="("){t=s+2;continue}const c=r+1;let l=c;for(;l<e.length&&e[l]!==`
|
|
4
|
-
`&&/\s/.test(e[l]);)l+=1;if(l>=e.length||e[l]===`
|
|
5
|
-
`){t=s+2;continue}let f=l,d=l,m=l;if(e[l]==="<"){for(r=l+1;r<e.length&&e[r]!==">"&&e[r]!==`
|
|
6
|
-
`;)r+=e[r]==="\\"?2:1;if(e[r]!==">"){t=s+2;continue}f=r+1,d=l+1,m=r}else{let x=0;for(r=l;r<e.length&&e[r]!==`
|
|
7
|
-
`;){const b=e[r];if(b==="\\"){r+=2;continue}if(/\s/.test(b)&&x===0)break;if(b==="(")x+=1;else if(b===")"){if(x===0)break;x-=1}r+=1}f=r,d=l,m=f}if(m<=d){t=s+2;continue}for(r=f;r<e.length&&e[r]!==`
|
|
8
|
-
`&&/\s/.test(e[r]);)r+=1;if(e[r]==='"'||e[r]==="'"){const x=e[r];for(r+=1;r<e.length&&e[r]!==`
|
|
9
|
-
`;){if(e[r]==="\\"){r+=2;continue}if(e[r]===x){r+=1;break}r+=1}}for(;r<e.length&&e[r]!==`
|
|
10
|
-
`&&/\s/.test(e[r]);)r+=1;if(e[r]!==")"){t=s+2;continue}n.push({end:r+1,source:{end:f,start:c,value:e.slice(d,m)},start:s}),t=r+1}return n},qr=(e,n)=>`${Ir(e)}.${n}`,Gr=({id:e,title:n,createdAt:t,updatedAt:s})=>{const r=["---",`title: ${Ce(n)}`,`note_id: ${Ce(e)}`],i=Re(t),c=Re(s);return i&&r.push(`created_at: ${Ce(i)}`),c&&r.push(`updated_at: ${Ce(c)}`),r.push("source: ocean-brain","---"),r.join(`
|
|
11
|
-
`)},Kt=(e,n,t=!1)=>t?`${Gr(n)}
|
|
12
|
-
|
|
13
|
-
${e}`:e,Yt=(e,n,{includeMetadata:t=!1}={})=>{const s=Kt(e,n,t),r=Wt(s).filter(i=>ke(It(i.source.value))).map(i=>({end:i.end,start:i.start,value:""}));return Vt(s,r)},Qt=(e,n,{includeMetadata:t=!1}={})=>`${t?["<!--","source: ocean-brain",`note_id: ${Ne(n.id)}`,`title: ${Ne(n.title)}`,`created_at: ${Ne(Re(n.createdAt)??"")}`,`updated_at: ${Ne(Re(n.updatedAt)??"")}`,"-->",""].join(`
|
|
14
|
-
`):""}${e}`,Jr=(e,n,{includeMetadata:t=!1}={})=>{const s=Qt(e,n,{includeMetadata:t}),r=zt(s).filter(i=>ke(i.source.value)).map(i=>({end:i.end,start:i.start,value:""}));return Zt(s,r)},Xr=async(e,n,{fetchImpl:t=fetch,includeMetadata:s=!1}={})=>{const r=new kt,i=Qt(e,n,{includeMetadata:s}),c=zt(i),l=[],f=new Set,d=new Map;for(const{source:m}of c){if(!ke(m.value))continue;const x=$t(m.value),b=await Ut(r,x,t,d,f);l.push({end:m.end,start:m.start,value:`./${b}`})}return r.file("note.html",Zt(i,l)),r.generateAsync({type:"blob"})},es=async(e,n,{fetchImpl:t=fetch,includeMetadata:s=!1}={})=>{const r=new kt,i=Kt(e,n,s),c=Wt(i),l=[],f=new Set,d=new Map;for(const{source:m}of c){const x=It(m.value);if(!ke(x))continue;const b=$t(x),u=await Ut(r,b,t,d,f);l.push({end:m.end,start:m.start,value:`./${u}`})}return r.file("note.md",Vt(i,l)),r.generateAsync({type:"blob"})},ts=(e,n)=>{const t=document.createElement("a"),s=URL.createObjectURL(e);try{t.href=s,t.download=n,document.body.appendChild(t),t.click()}finally{t.remove(),URL.revokeObjectURL(s)}},qt={html:{extension:"html",getContent:e=>e.getHtml(),createDocumentBlob:(e,n)=>new Blob([Jr(e,n.metadata,{includeMetadata:n.includeMetadata})],{type:"text/html;charset=utf-8"}),createZipBlob:(e,n)=>Xr(e,n.metadata,{fetchImpl:n.fetchImpl,includeMetadata:n.includeMetadata})},markdown:{extension:"md",getContent:e=>e.getMarkdown(),createDocumentBlob:(e,n)=>new Blob([Yt(e,n.metadata,{includeMetadata:n.includeMetadata})],{type:"text/markdown;charset=utf-8"}),createZipBlob:(e,n)=>es(e,n.metadata,{fetchImpl:n.fetchImpl,includeMetadata:n.includeMetadata})}},Gt=(e,n)=>n?"zip":qt[e].extension,ns=async e=>{const n=qt[e.format],t=n.getContent(e.source);if(t===void 0)return{type:"not-ready",format:e.format};const s=Gt(e.format,e.includeAssets);return{type:"success",blob:e.includeAssets?await n.createZipBlob(t,e):n.createDocumentBlob(t,e),filename:qr(e.metadata.title,s)}},rs=e=>e==="markdown"?"Markdown is not ready yet.":"HTML is not ready yet.",lt=({checked:e,description:n,id:t,label:s,onChange:r})=>{const i=`${t}-label`;return a.jsxs("div",{className:"flex min-h-6 items-center gap-2",children:[a.jsx(Ct,{id:t,size:"sm",checked:e,onChange:c=>r(c.target.checked),"aria-labelledby":i}),a.jsx("label",{id:i,htmlFor:t,className:"min-w-0 cursor-pointer",children:a.jsx(S,{as:"span",variant:"label",weight:"medium",tone:"secondary",className:"block",children:s})}),a.jsx(Tn,{content:a.jsx("span",{className:"block max-w-[240px] leading-4",children:n}),side:"top",children:a.jsx("button",{type:"button",className:"focus-ring-soft inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-fg-tertiary transition-colors hover:bg-hover-subtle hover:text-fg-secondary","aria-label":`${s} help`,children:a.jsx(nr,{className:"h-3.5 w-3.5"})})})]})};function ss({isOpen:e,metadata:n,getHtml:t,getMarkdown:s,onClose:r}){const i=je(),[c,l]=o.useState("html"),[f,d]=o.useState(!0),[m,x]=o.useState(!1),[b,u]=o.useState(!1),h=Gt(c,f),v=async()=>{u(!0);try{const N=await ns({format:c,includeAssets:f,includeMetadata:m,metadata:n,source:{getHtml:t,getMarkdown:s}});if(N.type==="not-ready"){i(rs(N.format));return}ts(N.blob,N.filename),r(),i("Downloaded note.")}catch{i("Failed to download note.")}finally{u(!1)}};return a.jsxs(B,{isOpen:e,onClose:r,variant:"compact",children:[a.jsx(B.Header,{title:"Download document",onClose:r}),a.jsx(B.Body,{children:a.jsxs("div",{className:"flex flex-col gap-5",children:[a.jsxs("div",{className:"flex flex-col gap-3",role:"radiogroup","aria-label":"Format",children:[a.jsx(S,{as:"span",variant:"meta",weight:"bold",tone:"muted",children:"Format"}),a.jsxs("div",{className:"flex flex-wrap gap-4",children:[a.jsxs("label",{className:"flex cursor-pointer items-center gap-2",children:[a.jsx("input",{type:"radio",name:"note-export-format",value:"html",checked:c==="html",onChange:()=>l("html"),className:"h-4 w-4 accent-cta"}),a.jsx(S,{as:"span",variant:"label",weight:"medium",tone:"secondary",children:".html"})]}),a.jsxs("label",{className:"flex cursor-pointer items-center gap-2",children:[a.jsx("input",{type:"radio",name:"note-export-format",value:"markdown",checked:c==="markdown",onChange:()=>l("markdown"),className:"h-4 w-4 accent-cta"}),a.jsx(S,{as:"span",variant:"label",weight:"medium",tone:"secondary",children:".md"})]})]})]}),a.jsxs("div",{className:"flex flex-col gap-3",role:"group","aria-label":"Options",children:[a.jsx(S,{as:"span",variant:"meta",weight:"bold",tone:"muted",children:"Options"}),a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx(lt,{id:"note-export-include-assets",label:"Include local image assets",checked:f,onChange:d,description:"Bundle uploaded Ocean Brain images with the document. Without assets, local images are omitted."}),a.jsx(lt,{id:"note-export-include-metadata",label:"Include metadata",checked:m,onChange:x,description:"Add the note title, note id, timestamps, and Ocean Brain source information."})]})]})]})}),a.jsx(B.Footer,{children:a.jsxs(Ae,{children:[a.jsx(k,{variant:"ghost",size:"sm",onClick:r,children:"Cancel"}),a.jsx(k,{variant:"primary",size:"sm",onClick:v,disabled:b,children:b?"Downloading...":`Download .${h}`})]})})]})}const Jt=e=>e==="mcp"?{actor:"An MCP client",place:"through MCP",target:"the MCP update"}:e==="web"?{actor:"Another browser tab",place:"in another tab",target:"the tab update"}:{actor:"Another editor",place:"elsewhere",target:"the outside change"},as=({isDeleted:e,isConflict:n,source:t})=>{const s=Jt(t);return e?`This note was moved to trash ${s.place}`:n?`Save paused: note changed ${s.place}`:`This note changed ${s.place}`},os=({isDeleted:e,isConflict:n,hasDraft:t,source:s})=>{const r=Jt(s);return e?`${r.actor} moved this note to trash. Open trash to review or restore it.`:n&&t?`Your draft is saved locally. Reload the latest note, overwrite ${r.target}, or clone your draft into a new note.`:n?`The layout change is paused because the note changed ${r.place}. Reload the latest note or overwrite only the layout.`:`${r.actor} changed this note while it was open here. Reload the latest version before continuing.`};function is({isOpen:e,isDeleted:n,isConflict:t,hasDraft:s,source:r,isReloading:i,onReload:c,onOverwrite:l,onCloneDraft:f,onOpenTrash:d}){return a.jsxs(B,{isOpen:e,onClose:()=>{},variant:"inspect",children:[a.jsx(B.Header,{title:as({isDeleted:n,isConflict:t,source:r})}),a.jsx(B.Body,{children:a.jsx(S,{as:"p",variant:"body",tone:"secondary",className:"leading-6",children:os({isDeleted:n,isConflict:t,hasDraft:s,source:r})})}),a.jsx(B.Footer,{children:a.jsx(Ae,{children:n?a.jsx(k,{type:"button",variant:"primary",size:"sm",onClick:d,children:"Open trash"}):t?a.jsxs(a.Fragment,{children:[a.jsx(k,{type:"button",variant:"subtle",size:"sm",isLoading:i,onClick:c,children:"Reload latest"}),s&&a.jsx(k,{type:"button",variant:"ghost",size:"sm",onClick:f,children:"Clone draft"}),a.jsx(k,{type:"button",variant:"danger",size:"sm",onClick:l,children:"Overwrite"})]}):a.jsx(k,{type:"button",variant:"primary",size:"sm",isLoading:i,onClick:c,children:"Reload latest"})})})]})}function cs({localDraftCreatedAt:e,hasSaveError:n,onRestoreDraft:t,onDiscardDraft:s,onRetrySave:r,onSaveAsNewNote:i}){return a.jsxs(a.Fragment,{children:[e&&a.jsx(st,{tone:"danger",className:"mb-6",children:a.jsxs("div",{className:"flex w-full flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[a.jsxs("span",{children:["A draft from ",e," is saved only in this browser."]}),a.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.jsx(k,{type:"button",size:"sm",variant:"subtle",className:"self-start",onClick:t,children:"Restore draft"}),a.jsx(k,{type:"button",size:"sm",variant:"ghost",className:"self-start",onClick:s,children:"Discard"})]})]})}),n&&a.jsx(st,{tone:"danger",className:"mb-6",children:a.jsxs("div",{className:"flex w-full flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[a.jsx("span",{children:"Save failed. Your latest draft is still available here. Retry before leaving this note."}),a.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.jsx(k,{type:"button",size:"sm",variant:"subtle",className:"self-start",onClick:r,children:"Retry save"}),a.jsx(k,{type:"button",size:"sm",variant:"ghost",className:"self-start",onClick:i,children:"Save as new note"})]})]})})]})}const dt=(e,n)=>e||(n==="mobile"?"Mobile browser":n==="mcp"?"MCP":"Web browser");function ls({isOpen:e,noteId:n,onClose:t,restoreSnapshot:s,onRestored:r}){const i=je(),c=Qe(),[l,f]=o.useState(null),[d,m]=o.useState("diff"),x=o.useRef(null),b=Fe({queryKey:L.notes.snapshots(n),queryFn:async()=>{const p=await Mn(n);if(p.type==="error")throw p;return p.noteSnapshots},enabled:e}),u=Vn({mutationFn:s,onSuccess:async p=>{if(p){if(p.type==="error"){i(p.errors[0].message);return}await Promise.all([c.invalidateQueries({queryKey:L.notes.detail(n),exact:!0}),c.invalidateQueries({queryKey:L.notes.listAll(),exact:!1}),c.invalidateQueries({queryKey:L.notes.tagListAll(),exact:!1}),c.invalidateQueries({queryKey:L.notes.tagNameListAll(),exact:!1}),c.invalidateQueries({queryKey:L.notes.pinned(),exact:!0}),c.invalidateQueries({queryKey:L.notes.backReferencesAll(),exact:!1}),c.invalidateQueries({queryKey:L.notes.graph(),exact:!0}),c.invalidateQueries({queryKey:L.notes.snapshots(n),exact:!1}),c.invalidateQueries({queryKey:L.views.sectionNotesAll(),exact:!1}),c.invalidateQueries({queryKey:L.views.sectionCalendarsAll(),exact:!1}),c.invalidateQueries({queryKey:L.tags.all(),exact:!1})]),i("Previous version restored."),r?.(p.restoreNoteSnapshot),f(null),t()}}}),h=b.data?.find(p=>p.id===l)??null,v=Fe({queryKey:[...L.notes.snapshotDetail(l??"pending"),"diff"],queryFn:async()=>{if(!l)throw new Error("SNAPSHOT_NOT_SELECTED");const p=await Dn(l,"current");if(p.type==="error")throw p;if(!p.noteSnapshotDiff)throw new Error("SNAPSHOT_DIFF_NOT_FOUND");return p.noteSnapshotDiff},enabled:!!l&&d==="diff"}),N=Fe({queryKey:L.notes.snapshotDetail(l??"pending"),queryFn:async()=>{if(!l)throw new Error("SNAPSHOT_NOT_SELECTED");const p=await Ln(l);if(p.type==="error")throw p;if(!p.noteSnapshot)throw new Error("SNAPSHOT_NOT_FOUND");return p.noteSnapshot},enabled:!!l&&d==="content"}),R=N.data?.contentAsMarkdown.trim()??"";o.useEffect(()=>{l&&x.current?.focus()},[l]);const A=(p,y)=>{m(y),f(p)},w=()=>{f(null),m("diff"),t()};return a.jsxs(B,{isOpen:e,onClose:w,variant:"inspect",children:[a.jsx(B.Header,{title:h?d==="diff"?"Snapshot Diff":"Snapshot Content":"Restore Previous Version",onClose:w}),a.jsx(B.Description,{className:"sr-only",children:h?d==="diff"?"Review the markdown diff between this snapshot and the current note.":"Read this snapshot content before restoring it.":"Choose a previous snapshot to restore."}),a.jsx(B.Body,{children:h?a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx(S,{as:"p",variant:"body",weight:"semibold",truncate:!0,children:h.title}),a.jsxs(S,{as:"p",variant:"label",tone:"tertiary",children:["Before"," ",dt(h.meta.label,h.meta.entrypoint)," ","edit - ",G(h.createdAt).format("YYYY-MM-DD HH:mm:ss")]})]}),a.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.jsx(k,{variant:d==="diff"?"primary":"subtle",size:"sm",onClick:()=>m("diff"),children:"Show diff"}),a.jsx(k,{variant:d==="content"?"primary":"subtle",size:"sm",onClick:()=>m("content"),children:"View content"})]}),d==="diff"?v.isLoading?a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3",children:"Loading snapshot diff..."}):v.isError?a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3",children:"Snapshot diff could not be loaded."}):v.data?a.jsxs("div",{className:"flex flex-col gap-2",children:[a.jsx(S,{as:"p",variant:"meta",tone:"secondary",children:"Changes from this snapshot to the current note. Red lines were in the snapshot; green lines are in the current note."}),a.jsx("pre",{className:"max-h-[60vh] overflow-y-auto overflow-x-hidden whitespace-pre-wrap break-words rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-0 py-3 text-xs leading-5 text-fg-secondary",children:v.data.diff.markdown.split(`
|
|
15
|
-
`).map((p,y)=>{const T=p.startsWith("+")&&!p.startsWith("+++")?"bg-emerald-500/12 text-emerald-700 dark:text-emerald-200":p.startsWith("-")&&!p.startsWith("---")?"bg-rose-500/12 text-rose-700 dark:text-rose-200":p.startsWith("@@")?"bg-sky-500/12 text-sky-700 dark:text-sky-200":"text-fg-secondary";return a.jsx("span",{className:`block min-w-full whitespace-pre-wrap break-words px-4 ${T}`,children:p||" "},`${y}-${p}`)})})]}):null:N.isLoading?a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3",children:"Loading snapshot content..."}):N.isError?a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3",children:"Snapshot content could not be loaded."}):R?a.jsx("pre",{className:"max-h-[60vh] overflow-auto whitespace-pre-wrap break-words rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3 text-sm leading-6 text-fg-secondary",children:R}):a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3",children:"No readable content was found for this snapshot."})]}):a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsx(S,{as:"p",variant:"meta",tone:"secondary",children:"Choose a previous snapshot to restore this note back to that state."}),b.isLoading&&a.jsx(S,{as:"div",variant:"meta",tone:"secondary",children:"Loading previous versions..."}),!b.isLoading&&b.data?.length===0&&a.jsx(S,{as:"div",variant:"meta",tone:"secondary",className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-4 py-3",children:"A recovery snapshot appears before the first edit in a session. Up to 10 recent snapshots are kept for 7 days, and identical versions are skipped."}),!b.isLoading&&b.data&&b.data.length>0&&a.jsx("div",{className:"flex flex-col gap-2",children:b.data.map(p=>a.jsx(ar,{padding:"compact",children:a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsxs(S,{as:"p",variant:"body",weight:"semibold",children:["Before"," ",dt(p.meta.label,p.meta.entrypoint)," ","edit"]}),a.jsx(S,{as:"p",variant:"meta",truncate:!0,tone:"secondary",children:p.title}),a.jsx(S,{as:"p",variant:"label",tone:"tertiary",children:G(p.createdAt).format("YYYY-MM-DD HH:mm:ss")})]}),a.jsxs("div",{className:"flex shrink-0 flex-wrap gap-2 sm:justify-end",children:[a.jsx(k,{variant:"subtle",size:"sm",onClick:()=>A(p.id,"diff"),children:"Compare"}),a.jsx(k,{size:"sm",isLoading:u.isPending,onClick:()=>u.mutate(p.id),children:"Restore"})]})]}),p.contentPreview&&a.jsx("div",{className:"rounded-[14px] border border-border-subtle bg-hover-subtle/50 px-3 py-2",children:a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"line-clamp-4 whitespace-pre-wrap break-words",children:p.contentPreview})})]})},p.id))})]})}),h&&a.jsx(B.Footer,{children:a.jsxs(Ae,{children:[a.jsx(k,{ref:x,variant:"subtle",onClick:()=>{f(null),m("diff")},children:"Back"}),a.jsx(k,{isLoading:u.isPending,onClick:()=>u.mutate(h.id),children:"Restore this version"})]})})]})}function ds({noteId:e}){const[n,t]=o.useState(!1),[s,r]=o.useState(!1),[i,c]=o.useState("create"),[l,f]=o.useState(void 0),{onCreate:d,onUpdate:m,onDelete:x}=cr(),b=()=>{c("create"),f(void 0),r(!0)},u=w=>{c("edit"),f(w),r(!0)},h=(w,p,y)=>{i==="create"?d(e,w,p,()=>{r(!1)},y):i==="edit"&&l&&m(l.id,e,{reminderDate:w,priority:p,content:y},()=>{r(!1)})},v=w=>{m(w.id,e,{completed:!w.completed})},N=w=>{const p=G(Number(w)),y=G();return p.isSame(y,"day")?`Today at ${p.format("HH:mm")}`:p.isSame(y.add(1,"day"),"day")?`Tomorrow at ${p.format("HH:mm")}`:p.format("YYYY-MM-DD HH:mm")},R=w=>{const p=G(Number(w)),y=G(),T=p.diff(y,"hour");return T<=6?"high":T<=24?"medium":"low"},A=w=>{const p=G(Number(w)),y=G(),T=p.diff(y,"hour"),H=p.diff(y,"minute")%60;return T<0||H<0?"Overdue":T===0?`${H}m remaining`:`${T}h ${H}m remaining`};return a.jsxs(a.Fragment,{children:[a.jsx(Tt,{title:"Reminders",icon:a.jsx(Wn,{className:"h-3.5 w-3.5"}),action:a.jsxs(a.Fragment,{children:[!n&&a.jsxs(k,{size:"sm",variant:"ghost",onClick:b,children:[a.jsx(dr,{className:"w-3 h-3"}),a.jsx(S,{as:"span",variant:"label",className:"hidden sm:inline",children:"Add"})]}),a.jsxs(k,{type:"button",size:"sm",variant:"ghost","aria-label":n?"Expand reminders":"Collapse reminders","aria-expanded":!n,onClick:()=>t(!n),children:[n?a.jsx(_n,{className:"h-3.5 w-3.5"}):a.jsx(Pn,{className:"h-3.5 w-3.5"}),n?"Expand":"Collapse"]})]}),children:!n&&a.jsx(Dr,{noteId:e,searchParams:{offset:0,limit:9999},render:({reminders:w,totalCount:p})=>a.jsx("div",{className:"flex flex-col gap-2",children:w.length===0?a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"py-3 text-center",children:p===0?"No reminders yet":"All reminders complete"}):a.jsx("div",{className:"flex flex-col",children:w.map(y=>{const T=y.priority||R(y.reminderDate),H=A(y.reminderDate),M=H==="Overdue";return a.jsxs("div",{className:V("flex items-center gap-2.5 px-2 py-1.5"),children:[a.jsx(Ct,{checked:y.completed,onChange:()=>v(y),size:"sm","aria-label":`Reminder: ${y.content||N(y.reminderDate)}`}),a.jsx(S,{as:"div",variant:"body",weight:"medium",className:V("truncate flex-1 min-w-0",y.completed&&"line-through opacity-40"),children:y.content||N(y.reminderDate)}),a.jsxs("div",{className:V("shrink-0 flex items-center gap-1",y.completed&&"opacity-40"),children:[y.content&&a.jsx(S,{as:"span",variant:"meta",tone:"secondary",children:N(y.reminderDate)}),!y.completed&&a.jsx(S,{as:"span",variant:"label",weight:"medium",tone:M||T==="high"?"error":"tertiary",className:V(y.content&&'before:content-["·"] before:mr-1'),children:H})]}),a.jsx(wt,{button:a.jsx(Rt,{label:"Reminder actions"}),items:[{name:"Edit",onClick:()=>u(y)},{name:"Delete",onClick:()=>x(y.id,e)}]})]},y.id)})})})})}),a.jsx(lr,{isOpen:s,onClose:()=>r(!1),onSave:h,reminder:l,mode:i})]})}const us=e=>[{title:"Diagram",subtext:"Create a flowchart or diagram with Mermaid syntax",onItemClick:()=>{ot(e,{type:"codeBlock",props:{language:"mermaid"}})},aliases:["mermaid","diagram","flowchart","sequence"],group:"Other",icon:a.jsx(Lt,{})},{title:"Math Formula",subtext:"Write a formula with KaTeX or LaTeX",onItemClick:()=>{ot(e,{type:"codeBlock",props:{language:"math"}})},aliases:["math","formula","equation","katex","latex"],group:"Other",icon:a.jsx(Pt,{})}],fs=({editor:e})=>a.jsx(Xe,{triggerCharacter:"/",getItems:async n=>gr([...ur(e).filter(t=>t.title!=="Audio"&&t.title!=="Video"&&t.title!=="File"),...us(e),{title:"Table of Contents",subtext:"Insert a table of contents based on headings",onItemClick:()=>{e.insertBlocks([{type:"tableOfContents"}],e.getTextCursorPosition().block,"after")},aliases:["toc","table of contents","contents","outline","index"],group:"Other",icon:a.jsx(jt,{})}],n)}),ps=(e,n)=>n?e.filter(t=>t.id!==n):e,ms=({currentNoteId:e,onClick:n})=>a.jsx(Xe,{triggerCharacter:"[",getItems:async t=>{const s=await On({query:t,limit:5});return s.type==="error"?[]:ps(s.allNotes.notes,e).map(i=>({title:i.title,onItemClick:()=>n({type:"reference",props:{id:i.id,title:i.title}})}))}});let ut,ft;const hs=()=>(ut??=Ze(async()=>{const{default:e}=await import("./mermaid.core-C2tL9tq7.js").then(n=>n.bc);return{default:e}},__vite__mapDeps([0,1,2,3])).then(({default:e})=>e),ut),gs=()=>(ft??=Promise.all([Ze(()=>import("./katex-x288kqHd.js"),[]),Ze(()=>Promise.resolve({}),__vite__mapDeps([4]))]).then(([{default:e}])=>e),ft),xs=e=>{const n=e?.trim().toLowerCase();return n==="mermaid"?"mermaid":n==="math"||n==="katex"||n==="latex"?"math":null},bs=e=>`ocean-brain-mermaid-${e.replace(/[^a-zA-Z0-9_-]/g,"")||"diagram"}`,ys=async(e,n,t,s="light")=>{if(e==="mermaid"){const i=await hs();i.initialize({securityLevel:"strict",startOnLoad:!1,suppressErrorRendering:!0,theme:s==="dark"?"dark":"default"});const c=await i.render(bs(t),n);return{html:c.svg,bindFunctions:c.bindFunctions}}return{html:(await gs()).renderToString(n,{displayMode:!0,output:"htmlAndMathml",strict:"warn",throwOnError:!0,trust:!1})}},vs={floating:"pointer-events-auto inline-flex h-7 cursor-pointer select-none items-center gap-1.5 rounded-[8px] border border-white/10 bg-white/10 px-2.5 text-xs font-medium text-white/60 opacity-75 shadow-[0_8px_18px_-14px_rgba(0,0,0,0.45)] backdrop-blur-sm transition-colors hover:bg-white/20 hover:text-white/90 hover:opacity-100 focus-ring-soft focus:text-white/90 focus:opacity-100",toolbar:"focus-ring-soft inline-flex h-8 cursor-pointer select-none items-center gap-1.5 rounded-[8px] border border-transparent px-2.5 text-xs font-semibold text-fg-secondary outline-none transition-colors hover:border-border-subtle hover:bg-hover-subtle hover:text-fg-default"},ws={idle:"",copied:"text-accent-success hover:text-accent-success focus:text-accent-success",failed:"text-fg-error hover:text-fg-error focus:text-fg-error"},Cs={idle:"Copy",copied:"Copied",failed:"Copy failed"},pt=({getText:e,resetDelayMs:n=2e3,variant:t="floating"})=>{const[s,r]=o.useState("idle"),i=o.useRef(null),c=o.useCallback(()=>{i.current&&(clearTimeout(i.current),i.current=null)},[]),l=o.useCallback(()=>{c(),i.current=setTimeout(()=>{r("idle"),i.current=null},n)},[c,n]);o.useEffect(()=>c,[c]);const f=x=>{x.stopPropagation()},d=x=>{x.preventDefault(),x.stopPropagation()},m=async x=>{f(x);try{await navigator.clipboard.writeText(e()),r("copied")}catch{r("failed")}l()};return a.jsx("div",{className:V(t==="floating"&&"pointer-events-none absolute right-3 top-2 z-[1]"),contentEditable:!1,onMouseDown:d,children:a.jsxs("button",{type:"button",className:V(vs[t],ws[s]),contentEditable:!1,onClick:m,children:[a.jsx(yr,{className:"h-3.5 w-3.5"}),a.jsx("span",{"aria-live":"polite",children:Cs[s]})]})})},Ns=({kind:e,source:n})=>{const t=o.useId(),s=o.useRef(null),r=Nt(d=>d.theme),[i,c]=o.useState(()=>typeof IntersectionObserver>"u"),[l,f]=o.useState({status:"idle"});return o.useEffect(()=>{const d=s.current;if(i||!d||typeof IntersectionObserver>"u"){c(!0);return}const m=new IntersectionObserver(([x])=>{x?.isIntersecting&&(c(!0),m.disconnect())},{rootMargin:"240px"});return m.observe(d),()=>m.disconnect()},[i]),o.useEffect(()=>{if(!i)return;let d=!1;return f({status:"loading"}),ys(e,n,t,r).then(m=>{d||f({status:"success",...m})}).catch(()=>{d||f({status:"error"})}),()=>{d=!0}},[e,t,i,n,r]),o.useEffect(()=>{l.status==="success"&&l.bindFunctions&&s.current&&l.bindFunctions(s.current)},[l]),a.jsxs("div",{ref:s,"data-rich-code-preview":!0,className:"min-h-24 w-full overflow-auto bg-surface px-4 py-5 text-fg-default sm:px-6 sm:py-6",contentEditable:!1,"aria-label":e==="mermaid"?"Mermaid diagram preview":"Math formula preview",children:[l.status==="success"&&a.jsx("div",{className:"[&_.katex-display]:m-0 [&_svg]:mx-auto [&_svg]:block [&_svg]:h-auto [&_svg]:max-h-[min(68vh,640px)] [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:l.html}}),(l.status==="idle"||l.status==="loading")&&a.jsx("div",{className:"flex min-h-8 items-center justify-center text-sm text-black/55",children:"Rendering preview…"}),l.status==="error"&&a.jsxs("div",{className:"text-left",children:[a.jsx("p",{className:"mb-3 text-sm text-red-700",children:"Preview could not be rendered. The source is preserved."}),a.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap rounded-[6px] bg-black/5 p-4 text-sm text-black",children:a.jsx("code",{children:n})})]})]})},mt="focus-ring-soft inline-flex h-8 cursor-pointer select-none items-center gap-1.5 rounded-[8px] border px-2.5 text-xs font-semibold outline-none transition-colors",We=e=>typeof e=="string"?e:!e||typeof e!="object"?"":"text"in e&&typeof e.text=="string"?e.text:"content"in e?Array.isArray(e.content)?e.content.map(We).join(""):We(e.content):"",Ss=({block:e,contentRef:n})=>{const t=o.useRef(null),s=xs(e.props.language),r=e.content.map(We).join(""),[i,c]=o.useState(r),[l,f]=o.useState(r.length===0),d=s!==null&&!l,m=s==="mermaid"?"Diagram":"Math Formula",x=`${m} controls`,b=o.useCallback(h=>{t.current=h,n(h)},[n]);o.useEffect(()=>{const h=t.current;if(!h)return;const v=()=>c(h.textContent??""),N=new MutationObserver(v);return N.observe(h,{characterData:!0,childList:!0,subtree:!0}),()=>N.disconnect()},[]);const u=h=>{h.preventDefault(),h.stopPropagation()};return a.jsxs(a.Fragment,{children:[s&&a.jsxs("div",{role:"toolbar","aria-label":x,"data-rich-code-toolbar":!0,className:"flex min-h-11 w-full flex-wrap items-center justify-between gap-2 border-b border-border-subtle bg-elevated px-3 py-1.5 text-fg-secondary",contentEditable:!1,onMouseDown:u,children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-2 px-1 text-xs font-semibold text-fg-secondary",children:[s==="mermaid"?a.jsx(Lt,{className:"h-4 w-4 shrink-0 text-fg-tertiary"}):a.jsx(Pt,{className:"h-4 w-4 shrink-0 text-fg-tertiary"}),a.jsx("span",{className:"truncate",children:m})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsxs("div",{className:"flex items-center gap-0.5 rounded-[10px] border border-border-subtle bg-hover-subtle/55 p-0.5",children:[a.jsxs("button",{type:"button","aria-pressed":l,className:V(mt,l?"border-border-secondary/70 bg-elevated text-fg-default shadow-[0_8px_18px_-16px_rgba(15,18,24,0.28)]":"border-transparent text-fg-secondary hover:bg-hover-subtle hover:text-fg-default"),contentEditable:!1,onClick:h=>{h.stopPropagation(),f(!0)},children:[a.jsx(kr,{className:"h-3.5 w-3.5"}),"Edit"]}),a.jsxs("button",{type:"button","aria-pressed":d,className:V(mt,d?"border-border-secondary/70 bg-elevated text-fg-default shadow-[0_8px_18px_-16px_rgba(15,18,24,0.28)]":"border-transparent text-fg-secondary hover:bg-hover-subtle hover:text-fg-default"),contentEditable:!1,onClick:h=>{h.stopPropagation(),f(!1)},children:[a.jsx(Kn,{className:"h-3.5 w-3.5"}),"Preview"]})]}),a.jsx(pt,{variant:"toolbar",getText:()=>t.current?.textContent?.trimEnd()??""})]})]}),a.jsx("pre",{className:V(d&&"hidden",s&&"bg-[#181b20]"),children:a.jsx("code",{ref:b})}),s&&d&&a.jsx(Ns,{kind:s,source:i}),!s&&a.jsx(pt,{getText:()=>t.current?.textContent?.trimEnd()??""})]})},Rs="focus-ring-soft inline-flex cursor-pointer items-center rounded-[8px] border border-border-subtle bg-[color-mix(in_srgb,var(--elevated)_72%,var(--hover-subtle))] px-2 py-0.5 text-xs font-semibold text-fg-secondary transition-colors hover:border-border-secondary hover:bg-elevated hover:text-fg-default dark:bg-[color-mix(in_srgb,var(--elevated)_82%,var(--hover-subtle))]",js={type:"reference",propSchema:{id:{default:""},title:{default:"Unknown"}},content:"none"};function As(e){const n=St(),t=()=>{e.editor.blur(),n({to:Ee,params:{id:e.inlineContent.props.id}})},s=r=>{r.preventDefault(),r.stopPropagation()};return a.jsx("span",{role:"link",tabIndex:0,contentEditable:!1,className:Rs,onMouseDown:s,onClick:r=>{s(r),t()},onKeyDown:r=>{r.key!=="Enter"&&r.key!==" "||(s(r),t())},children:a.jsxs("span",{children:["[",e.inlineContent.props.title,"]"]})})}const Es=Mt(js,{render:e=>a.jsx(As,{...e})}),ks=()=>{const e=fr(),[n,t]=o.useState([]),s={1:"pl-3",2:"pl-[26px]",3:"pl-[40px]",4:"pl-[54px]",5:"pl-[68px]",6:"pl-[82px]"};o.useEffect(()=>{const c=()=>{const f=e.document,d=[],m=x=>{for(const b of x){if(b.type==="heading"){const u=b,h=u.props.level||1,v=u.content?.map(N=>N.text||"").join("")||"";v.trim()&&d.push({id:b.id,level:h,text:v})}b.children&&Array.isArray(b.children)&&m(b.children)}};m(f),t(d)};c();const l=e.onChange?.(c);return()=>{l&&l()}},[e]);const r=c=>{e.setTextCursorPosition(c);const l=document.querySelector(`[data-id="${c}"]`);if(l){const f=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1;l.scrollIntoView({behavior:f?"auto":"smooth",block:"center"})}},i=a.jsx(vr,{icon:a.jsx(jt,{className:"h-3.5 w-3.5"}),title:"Table of Contents",className:"text-fg-tertiary"});return n.length===0?a.jsxs("div",{className:"surface-base w-full p-4",children:[i,a.jsx(S,{as:"p",variant:"meta",tone:"secondary",className:"mt-2",children:"Add headings to your document to generate a table of contents"})]}):a.jsxs("div",{className:"surface-base w-full p-4",children:[a.jsx("div",{className:"mb-2",children:i}),a.jsx("nav",{className:"space-y-0.5",children:n.map(c=>{const l=c.level===1;return a.jsxs("button",{type:"button",onClick:()=>r(c.id),className:V("focus-ring-soft","flex","w-full","items-center","gap-2","rounded-[10px]","px-2.5","py-1.5",s[c.level]??"pl-2.5","text-left","transition-colors","hover:bg-hover-subtle",l?"text-fg-default":"text-fg-secondary"),children:[a.jsxs(S,{as:"span",variant:"label",weight:"medium",tone:"tertiary",className:"min-w-[1.5rem]",children:["H",c.level]}),a.jsx(S,{as:"span",variant:"body",weight:l?"semibold":"medium",className:"line-clamp-2 text-current",children:c.text})]},c.id)})})]})},Ts=Dt({type:"tableOfContents",propSchema:{},content:"none"},{render:()=>a.jsx(ks,{})})(),Ms="focus-ring-soft inline-flex cursor-pointer items-center rounded-[8px] border border-border-subtle bg-emphasis px-2 py-0.5 text-xs font-semibold text-fg-secondary transition-colors hover:border-border-secondary hover:bg-hover-subtle hover:text-fg-default dark:bg-emphasis",Ds={type:"tag",propSchema:{id:{default:""},tag:{default:"@Unknown"}},content:"none"};function Ls(e){const n=St(),t=()=>{e.editor.blur(),n({to:rr,params:{id:e.inlineContent.props.id},search:{page:1}})},s=r=>{r.preventDefault(),r.stopPropagation()};return a.jsx("span",{role:"link",tabIndex:0,contentEditable:!1,className:Ms,onMouseDown:s,onClick:r=>{s(r),t()},onKeyDown:r=>{r.key!=="Enter"&&r.key!==" "||(s(r),t())},children:a.jsx("span",{children:e.inlineContent.props.tag})})}const _s=Mt(Ds,{render:e=>a.jsx(Ls,{...e})}),Ps=e=>e,Os=e=>e,Bs=Ps({tag:_s,reference:Es}),Fs=Os({tableOfContents:Ts}),ce=he.codeBlock,ht=Dt(ce.config,{meta:ce.implementation.meta,parse:ce.implementation.parse,parseContent:ce.implementation.parseContent,runsBefore:ce.implementation.runsBefore,render:Ss})(),Hs={...ht,extensions:ce.extensions,implementation:{...ht.implementation,toExternalHTML:ce.implementation.toExternalHTML}},$s={...he.image,implementation:{...he.image.implementation,meta:{...he.image.implementation.meta,fileBlockAccept:[...Jn]}}},Is=xr.create({inlineContentSpecs:{...br,...Bs},blockSpecs:{...he,image:$s,codeBlock:Hs,...Fs}}),Us=(e,n)=>n.some(t=>t.name===`@${e}`),zs=({onClick:e})=>a.jsx(Xe,{triggerCharacter:"@",getItems:async n=>{const t=await wr({query:n,limit:5});if(t.type==="error")return[];const{tags:s}=t.allTags,r=Us(n,s),i=[{title:"Add a new tag",onItemClick:async()=>{const c=await Cr({name:"@"+n});if(c.type==="error")return;const{id:l,name:f}=c.createTag;e({type:"tag",props:{id:l,tag:f}})}}];return s.length===0?i:s.map(c=>({title:c.name,onItemClick:()=>e({type:"tag",props:{id:c.id,tag:c.name}})})).concat(n&&!r?i:[])}}),Zs=/^ {0,3}(`{3,}|~{3,})/,Vs=/<[^<>\n]*>/g,Xt=/~+/g,en=/[\p{L}\p{M}\p{N}\p{Sc}%‰.,+\-/:°℃℉µμ·²³^]/u,Ke=new RegExp("^(?:[+-]?\\p{Sc}?|\\p{Sc}[+-]?)\\p{N}","u"),tn=/&#(?:x[0-9a-f]+|\d+);/giu,Ws=new Set(["Files","blocknote/html","vscode-editor-data"]),gt="OBTILDE",xt="",Ks=[/(^|\n) {0,3}#{1,6} {1,8}[^\n]{1,64}\r?\n\r?\n\s{0,32}\S/,/(_|__|\*|\*\*|~~|==|\+\+)(?!\s)(?:[^\s](?:.{0,62}[^\s])?|\S)(?=\1)/,/\[[^\]]{1,128}\]\(https?:\/\/\S{1,999}\)/,/(?:\s|^)`(?!\s)(?:[^\s`](?:[^`]{0,46}[^\s`])?|[^\s`])`([^\w]|$)/,/(?:^|\n)\s{0,5}-\s{1}[^\n]+\n\s{0,15}-\s/,/(?:^|\n)\s{0,5}\d+\.\s{1}[^\n]+\n\s{0,15}\d+\.\s/,/\n{2} {0,3}-{2,48}\n{2}/,/(?:\n|^)(```|~~~|\$\$)(?!`|~)[^\s]{0,64} {0,64}[^\n]{0,64}\n[\s\S]{0,9999}?\s*\1 {0,64}(?:\n+|$)/,/(?:\n|^)(?!\s)\w[^\n]{0,64}\n(-|=)\1{0,64}\n\n\s{0,64}(\w|$)/,/(?:^|(\r?\n\r?\n))( {0,3}>[^\n]{1,333}\n){1,999}($|(\r?\n))/],Ys=e=>e.split(`
|
|
16
|
-
`).some(n=>{const t=n.trim();return t.length>2&&t.startsWith("|")&&t.endsWith("|")}),Qs=e=>Ks.some(n=>n.test(e))||Ys(e),qs=e=>e.endsWith(`\r
|
|
17
|
-
`)?{body:e.slice(0,-2),ending:`\r
|
|
18
|
-
`}:e.endsWith(`
|
|
19
|
-
`)||e.endsWith("\r")?{body:e.slice(0,-1),ending:e.slice(-1)}:{body:e,ending:""},nn=(e,n,t)=>{let s=n;for(;e[s]===t;)s+=1;return s-n},rn=e=>{const n=e.slice(2,-1),t=n[0]?.toLowerCase()==="x",s=Number.parseInt(t?n.slice(1):n,t?16:10);return!Number.isSafeInteger(s)||s<0||s>1114111?e:String.fromCodePoint(s)},Gs=e=>{const n=e.replace(tn,rn),t=e.toLowerCase();let s=0,r=`${gt}${s}${xt}`;for(;e.includes(r)||t.includes(encodeURIComponent(r).toLowerCase())||n.includes(r);)s+=1,r=`${gt}${s}${xt}`;return r},Js=(e,n,t)=>t-n>2?!1:sn(e,n)&&ea(e,t),bt=(e,n)=>{let t=n;for(;t>0&&en.test(e[t-1]??"");)t-=1;return{start:t,token:e.slice(t,n)}},Xs=(e,n)=>{let t=n;for(;t<e.length&&en.test(e[t]??"");)t+=1;return e.slice(n,t)},sn=(e,n)=>{const t=bt(e,n);if(Ke.test(t.token))return!0;if(!t.token)return!1;let s=t.start;for(;s>0&&(e[s-1]===" "||e[s-1]===" ");)s-=1;return s===t.start?!1:Ke.test(bt(e,s).token)},ea=(e,n)=>Ke.test(Xs(e,n)),an=e=>{const n=[],t=new Set;for(const s of e.matchAll(Xt)){const r=s.index,i=s[0].length,c=r+i;if(i>2)continue;const l=c<e.length&&!/\s/u.test(e[c]??""),f=r>0&&!/\s/u.test(e[r-1]??"");if(Js(e,r,c)){if(f&&t.delete(i))continue;n.push({length:i,start:r});continue}f&&t.delete(i)||l&&sn(e,r)&&t.add(i)}return n},He=(e,n)=>{let t="",s=0;const r=new Set(an(e).map(i=>i.start));for(const i of e.matchAll(Xt)){const c=i.index,l=c+i[0].length;t+=e.slice(s,c),t+=r.has(c)?n.repeat(i[0].length):i[0],s=l}return t+e.slice(s)},ta=e=>{const n=e.slice(1,-1),t=/^[a-z][a-z0-9.+-]{1,31}:[^\s<>]*$/i.test(n)||/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(n),s=/^<\/?[a-z][\w:-]*(?:\s[^<>]*)?\/?\s*>$/i.test(e)||/^<![^<>]*>$/.test(e);return t||s},na=(e,n)=>{let t="",s=0;for(const r of e.matchAll(Vs)){const i=r.index;t+=He(e.slice(s,i),n),t+=ta(r[0])?r[0]:He(r[0],n),s=i+r[0].length}return t+He(e.slice(s),n)},on=e=>an(e).length>0,ra=e=>{if(!on(e))return it(e);const n=Gs(e),t=na(e,n),s=encodeURIComponent(n);return it(t).split(n).join("~").split(s).join("~")},sa=(e,n)=>{let t=0;for(let s=n-1;s>=0&&e[s]==="\\";s-=1)t+=1;return t%2===1},aa=(e,n,t)=>{let s=n+t;for(;s<e.length;){const r=e.indexOf("`",s);if(r===-1)return null;const i=nn(e,r,"`");if(i===t)return r+i;s=r+i}return null},oa=(e,n)=>{let t=e.indexOf("`",n);for(;t!==-1;){const s=nn(e,t,"`");if(!sa(e,t)){const r=aa(e,t,s);if(r!==null)return{start:t,end:r}}t=e.indexOf("`",t+s)}return null},ia=(e,n)=>{let t="",s=0;for(;s<e.length;){const r=oa(e,s);if(!r){t+=n(e.slice(s));break}t+=n(e.slice(s,r.start)),t+=e.slice(r.start,r.end),s=r.end}return t},cn=(e,n)=>{let t=null;return e.split(new RegExp("(?<=\\n)")).map(s=>{const{body:r,ending:i}=qs(s);if(t)return new RegExp(`^ {0,3}${t.marker}{${t.length},} *$`).test(r)&&(t=null),s;const c=r.match(Zs)?.[1];return c?(t={marker:c[0],length:c.length},s):`${ia(r,n)}${i}`}).join("")},ca=(e,n)=>{let t=0;for(let s=n;s<e.length;s+=1){const r=e[s];if(r==="\\"){s+=1;continue}if(r==="("){t+=1;continue}if(r===")"){if(t>0){t-=1;continue}return s}}return null},ln=e=>{let n="",t=0;for(;t<e.length;){const s=e.indexOf("](",t);if(s===-1){n+=e.slice(t);break}const r=s+2,i=ca(e,r);if(i===null){n+=e.slice(t);break}n+=e.slice(t,r),n+=e.slice(r,i).split("\\&").join("&"),n+=")",t=i+1}return n},la=(e,n)=>{const t=e[n-1];if(t!=="*"&&t!=="_")return!1;let s=n-1;for(;s>0&&e[s-1]===t;)s-=1;const r=e.slice(s,n),i=e.lastIndexOf(r,s-1);return i!==-1&&i+r.length<s},da=(e,n)=>{const t=e[n];if(t!=="*"&&t!=="_")return!1;let s=n+1;for(;s<e.length&&e[s]===t;)s+=1;const r=e.slice(n,s),i=e.indexOf(r,s);return i!==-1&&s<i},ua=(e,n,t)=>la(e,n)||da(e,n+t),fa=e=>cn(e,n=>{const t=n.replace(tn,(s,r,i)=>ua(i,r,s.length)?rn(s):s);return ln(t)}),pa=e=>cn(e,ln),ma=e=>{const n=e.getData("text/plain");n&&(e.setData("text/markdown",n),e.setData("text/plain",fa(n)))},ha=({event:e,editor:n,defaultPasteHandler:t})=>{const s=e.clipboardData;if(!s||n.getTextCursorPosition().block.type==="codeBlock")return t();const r=Array.from(s.types);if(r.some(l=>Ws.has(l)))return t();const i=r.includes("text/markdown"),c=s.getData(i?"text/markdown":"text/plain");return!c||!on(c)||!i&&r.includes("text/html")&&!Qs(c)?t():(n.pasteHTML(ra(c)),!0)},ga=new Set(["tableOfContents"]),xa="OCEAN_BRAIN_TAG_",ba="_TOKEN",yt=e=>`${xa}${e}${ba}`,ya=e=>{const n=JSON.stringify(e);let t=0;return()=>{let s=yt(t);for(;n.includes(s);)t+=1,s=yt(t);return t+=1,s}},va=e=>!Array.isArray(e)&&e?.type==="tableContent",wa=(e,n)=>Array.isArray(e)?e.map(n):va(e)?{...e,rows:e.rows?.map(t=>({...t,cells:t.cells?.map(s=>({...s,content:s.content?.map(n)}))}))}:e,dn=(e,n)=>e.filter(t=>!ga.has(t.type)).map(t=>({...t,content:n(t.content),children:t.children?.length?dn(t.children,n):[]}));function Ca(e){const n=new Map,t=ya(e);return{blocks:dn(e,r=>wa(r,i=>{if(i.type==="reference"){const c=String(i.props?.id||""),l=String(i.props?.title||i.props?.id||"");return{type:"text",text:c?`[[${l}]](note:${c})`:`[[${l}]]`,styles:{}}}if(i.type==="tag"){const c=i.props?.tag||"",l=t();return n.set(l,c),{type:"text",text:l,styles:{}}}return i})),placeholderToTag:n}}function Na(e,n){let t=e;for(const[s,r]of n.entries())t=t.split(s).join(`[${r}]`);return t}async function Sa(e){return new Promise((n,t)=>{const s=new FileReader;s.readAsDataURL(e),s.onload=()=>n(s.result),s.onerror=r=>t(r)})}const Ra=o.forwardRef(({content:e,currentNoteId:n,editable:t,onChange:s},r)=>{const{theme:i}=Nt(d=>d),c=je(),l=pr({schema:Is,initialContent:e&&JSON.parse(e)||void 0,pasteHandler:d=>ha(d),uploadFile:async(d,m)=>{const x=()=>{m&&l.getBlock(m)&&l.removeBlocks([m])};if(!Xn(d.type))throw x(),c(at),new Error(at);try{return await hr({base64:await Sa(d)})}catch(b){throw x(),c(er),b}}},[c]);o.useImperativeHandle(r,()=>({getContent:()=>JSON.stringify(l.document),getMarkdown:()=>{const d=Ca(l.document),m=l.blocksToMarkdownLossy(d.blocks);return pa(Na(m,d.placeholderToTag))},getHtml:()=>l.blocksToHTMLLossy(l.document)}));const f=d=>{ma(d.clipboardData)};return a.jsxs(mr,{slashMenu:!1,theme:i,editor:l,editable:t,onChange:s,onCopy:f,onCut:f,children:[a.jsx(fs,{editor:l}),a.jsx(ms,{currentNoteId:n,onClick:d=>{l.insertInlineContent([d," "])}}),a.jsx(zs,{onClick:d=>{l.insertInlineContent([d," "])}})]})}),ja=({event:e,noteId:n,editSessionId:t,loadedUpdatedAt:s,acceptedUpdatedAt:r,hasUnsavedChanges:i})=>{if(e.noteId!==n||e.type==="mcp.note.created")return{type:"ignore"};if(e.source==="web"&&e.editSessionId===t)return{type:"ignore"};if(e.type==="mcp.note.deleted")return{type:"notify",change:{type:"deleted",source:e.source},shouldPauseSave:!1};const c=Se(e.updatedAt,s),l=Se(e.updatedAt,r);return c!==null&&c<=0||l!==null&&l<=0?{type:"ignore"}:{type:"notify",change:{type:"updated",updatedAt:e.updatedAt,source:e.source},shouldPauseSave:i}},Aa=({change:e,isConflict:n,loadedUpdatedAt:t})=>e?!(e.type==="updated"&&!n&&e.updatedAt===t):!1;function Ea({allowNextNavigationRef:e,hasExternalPendingChanges:n,saveStatus:t,flushPendingChanges:s,notify:r}){const i=o.useCallback(async()=>{if(e.current)return e.current=!1,!1;if(t==="conflict")return r("Resolve the note conflict before leaving."),!0;const c=await s();return c==="error"?(r("Save failed. Stay on this note and try again."),!0):c==="conflict"},[e,s,r,t]);jr({disabled:t==="saved"&&!n,enableBeforeUnload:!1,shouldBlockFn:i})}const tt=e=>`ocean-brain.note-draft.${e}`,ka=e=>{if(typeof window>"u")return null;try{const n=window.localStorage.getItem(tt(e));if(!n)return null;const t=JSON.parse(n);return typeof t.title!="string"||typeof t.content!="string"||typeof t.baseUpdatedAt!="string"?null:{title:t.title,content:t.content,baseUpdatedAt:t.baseUpdatedAt,createdAt:typeof t.createdAt=="number"?t.createdAt:Date.now(),...t.layout==="narrow"||t.layout==="wide"||t.layout==="full"?{layout:t.layout}:{}}}catch{return null}},$e=(e,n)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(tt(e),JSON.stringify(n))}catch{}},Ie=e=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(tt(e))}catch{}},Ta=1e3,Ma="NOTE_UPDATE_CONFLICT";function Da({noteId:e,initialContent:n,initialUpdatedAt:t,editSessionIdRef:s,getContent:r,beforeSave:i,hasExternalPendingChanges:c,serverVersionRef:l,executeWrite:f,onSaved:d,onConflict:m,onError:x}){const b=Qe(),u=o.useRef(null),h=o.useRef(null),v=o.useRef(!1),N=o.useRef(null),R=o.useRef(!1),A=o.useRef(t),w=l??A,p=o.useRef(0),y=o.useRef(!1),T=o.useRef(!0),H=o.useRef(d),M=o.useRef(m),W=o.useRef(x),xe=o.useRef(i),X=o.useRef(c),me=o.useRef(f),[re,ee]=o.useState("saved"),[Te,le]=o.useState(null),$=o.useCallback(()=>{u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),P=o.useCallback(E=>{T.current&&ee(E)},[]),Me=o.useCallback(E=>{w.current=E},[]),be=o.useCallback((E,O={})=>({title:E,content:r()??n,createdAt:Date.now(),baseUpdatedAt:w.current,...O.layout?{layout:O.layout}:{}}),[r,n]),de=o.useCallback(()=>{h.current&&$e(e,h.current)},[e]),se=o.useCallback(E=>{y.current=!0,P("conflict"),M.current(E??w.current)},[P]),_=o.useCallback(async({ignoreConflict:E=!1,silent:O=!1}={})=>{if(v.current)return R.current=!0,N.current??"idle";const Le=h.current!==null,ae=X.current?.()??!1;if(!Le&&!ae)return R.current=!1,"idle";const I=p.current;R.current=!1,$(),v.current=!0,O||P("saving");const F=(async()=>{const ue=await xe.current?.()??"idle";if(I!==p.current)return"idle";if(ue==="error")return v.current=!1,N.current=null,h.current?P("error"):P("saved"),"error";const D=h.current;if(!D)return v.current=!1,N.current=null,P("saved"),ue;h.current=null;const Q=async()=>{if(I!==p.current)return"idle";let Z;try{Z=await ze({id:e,title:D.title,content:D.content,...D.layout?{layout:D.layout}:{},editSessionId:s.current,...E?{force:!0}:{expectedUpdatedAt:w.current}})}catch{Z={type:"error",category:"network",errors:[{code:"NETWORK_ERROR",message:"Failed to save note."}]}}if(I!==p.current)return"idle";if(Z.type==="error"){v.current=!1,N.current=null,h.current||(h.current=D),de();const U=Z.errors[0];if(U.code===Ma&&!E){const oe=U.details?.extensions?.currentUpdatedAt;return y.current=!0,!O&&T.current&&(P("conflict"),M.current(oe??w.current)),"conflict"}return!O&&T.current&&(P("error"),W.current(U.message)),"error"}const ve=!O&&T.current,J=L.notes.detail(e);if(await b.cancelQueries({queryKey:J,exact:!0}),I!==p.current)return"idle";v.current=!1,N.current=null,y.current=!1,w.current=Z.updateNote.updatedAt,ve&&H.current(Z.updateNote.updatedAt),b.setQueryData(J,U=>U&&{...U,title:Z.updateNote.title,content:D.content,...D.layout?{layout:D.layout}:{},updatedAt:Z.updateNote.updatedAt}),At({noteId:e,updatedAt:Z.updateNote.updatedAt,editSessionId:s.current});const fe=h.current;return fe?.baseUpdatedAt===D.baseUpdatedAt?(h.current={...fe,baseUpdatedAt:Z.updateNote.updatedAt},de()):fe||Ie(e),h.current||Et(b),ve&&(h.current?ee("pending"):ee("saved")),"saved"},z=me.current?await me.current(Q):await Q();return z?z==="saved"&&(h.current||R.current)?_({silent:O}):z:(h.current||(h.current=D),de(),v.current=!1,N.current=null,P("pending"),"idle")})();return N.current=F,F},[$,s,e,de,b,w,P]),te=o.useCallback((E,O={})=>{if(h.current=E,$e(e,E),y.current){P("conflict");return}if(P("pending"),$(),O.immediate){_();return}u.current=window.setTimeout(()=>{_()},Ta)},[$,_,e,P]),ne=o.useCallback(E=>{if(h.current=E,$e(e,E),le(null),E.baseUpdatedAt!==w.current){se(w.current);return}te(E)},[e,te,se]),ye=o.useCallback(()=>{p.current+=1,$(),h.current=null,v.current=!1,N.current=null,R.current=!1,y.current=!1,Ie(e),le(null),ee("saved")},[$,e]),De=o.useCallback(()=>{$(),N.current=null,R.current=!1,y.current=!1,P(h.current?"pending":"saved")},[$,P]),q=o.useCallback(()=>{Ie(e),le(null)},[e]),Y=o.useCallback(()=>h.current,[]),K=o.useCallback(E=>{$(),se(E)},[$,se]);return o.useEffect(()=>{xe.current=i,me.current=f,X.current=c,M.current=m,W.current=x,H.current=d},[i,f,c,m,x,d]),o.useEffect(()=>(T.current=!0,()=>{T.current=!1}),[]),o.useEffect(()=>{h.current||v.current||y.current||(w.current=t,ee("saved"))},[t]),o.useEffect(()=>{p.current+=1,h.current=null,v.current=!1,N.current=null,R.current=!1,y.current=!1,w.current=t,le(ka(e)),ee("saved")},[e]),o.useEffect(()=>{const E=O=>{!h.current&&!v.current&&!y.current&&!X.current?.()||(O.preventDefault(),O.returnValue="")};return window.addEventListener("beforeunload",E),()=>{window.removeEventListener("beforeunload",E)}},[]),o.useEffect(()=>()=>{$(),h.current&&!y.current&&_({silent:!0})},[$,_]),{saveStatus:re,localDraft:Te,serverUpdatedAtRef:w,hasUnsavedChanges:re!=="saved",buildDraft:be,queueSave:te,flushPendingSave:_,restoreLocalDraft:ne,discardLocalDraft:q,clearDrafts:ye,resolveConflict:De,pauseForConflict:K,getPendingDraft:Y,setServerUpdatedAt:Me}}function La(){const e=o.useRef(Promise.resolve()),n=o.useRef(0),t=o.useRef(0),[s,r]=o.useState(!1),i=o.useCallback(d=>{t.current+=1,r(!0);const m=n.current,x=()=>m===n.current?d():void 0,b=e.current.then(x,x);e.current=b.then(()=>{},()=>{});const u=()=>{t.current-=1,t.current===0&&r(!1)};return b.then(u,u),b},[]),c=o.useCallback(()=>{n.current+=1},[]),l=o.useCallback(()=>e.current,[]),f=o.useCallback(()=>t.current>0,[]);return o.useMemo(()=>({execute:i,invalidatePending:c,drain:l,isBusy:s,hasPendingWrites:f}),[l,i,f,c,s])}const _a="NOTE_UPDATE_CONFLICT",Ue=e=>{const n=ge(e);return G(n??Number(e)).format("YYYY-MM-DD HH:mm:ss")},Pa=e=>e?.extensions?.currentUpdatedAt;function Oa({noteId:e,navigateToNote:n,notify:t}){const s=Qe(),r=o.useRef(null),i=o.useRef(null),[c]=o.useState(ct),l=o.useRef(c),f=o.useRef(null),d=o.useRef(null),m=o.useRef(!1),x=o.useRef(0),b=Ye({queryKey:L.notes.detail(e),queryFn:async()=>{const g=await Bn(e);if(g.type==="error")throw g;return g.note},gcTime:0}),u=b.data,h=b.refetch,v=o.useRef(u.updatedAt),N=o.useRef(u.updatedAt),[R,A]=o.useState(u.title),[w,p]=o.useState(u.pinned),[y,T]=o.useState(u.layout||"wide"),H=o.useRef(y),[M,W]=o.useState(null),[xe,X]=o.useState(null),[me,re]=o.useState(0),[ee,Te]=o.useState(()=>Ue(u.updatedAt)),[le,$]=o.useState(u.updatedAt),[P,Me]=o.useState(0),[be,de]=o.useState(!1),se=o.useRef(!1),{execute:_,invalidatePending:te,drain:ne,isBusy:ye,hasPendingWrites:De}=La(),q=o.useCallback(g=>{H.current=g,T(g)},[]),Y=o.useCallback((g,C={})=>{v.current=g,N.current=g,Te(Ue(g)),$(g),C.confirmSave&&Me(j=>j+1)},[]),K=o.useCallback(async({updatedAt:g,patch:C,confirmSave:j=!0})=>{const pe=L.notes.detail(e),Oe=x.current;return await s.cancelQueries({queryKey:pe,exact:!0}),Oe!==x.current?!1:(Y(g,{confirmSave:j}),s.setQueryData(pe,Be=>Be&&{...Be,...C,updatedAt:g}),At({noteId:e,updatedAt:g,editSessionId:l.current}),Et(s),!0)},[Y,e,s]),E=o.useCallback(g=>{se.current=g,de(g)},[]),O=o.useCallback(()=>f.current?.flushPendingSave({expectedUpdatedAt:v.current})??Promise.resolve("idle"),[]),Le=Da({noteId:e,initialContent:u.content,initialUpdatedAt:u.updatedAt,editSessionIdRef:l,serverVersionRef:v,executeWrite:_,getContent:()=>r.current?.getContent(),beforeSave:O,hasExternalPendingChanges:()=>se.current||De(),onSaved:g=>{d.current=null,Y(g,{confirmSave:!0})},onConflict:g=>{W({type:"updated",updatedAt:g,source:"unknown"}),t("This note changed elsewhere. Choose how to resolve the draft.")},onError:t}),{saveStatus:ae,localDraft:I,serverUpdatedAtRef:F,hasUnsavedChanges:ue,buildDraft:D,queueSave:Q,flushPendingSave:z,restoreLocalDraft:Z,discardLocalDraft:ve,clearDrafts:J,resolveConflict:fe,pauseForConflict:U,getPendingDraft:oe}=Le,we=ue||be||ye,nt=o.useCallback(async g=>{const C=await z(g);return C==="error"||C==="conflict"||await ne(),C},[ne,z]),fn=o.useCallback(g=>_(async()=>{const C=await Fn({...g,expectedUpdatedAt:v.current});return C.type==="success"&&await K({updatedAt:C.updateNoteProperties.updatedAt,patch:{properties:C.updateNoteProperties.properties}}),C}),[K,_]);Ea({allowNextNavigationRef:m,hasExternalPendingChanges:be||ye,saveStatus:ae,flushPendingChanges:nt,notify:t}),o.useEffect(()=>{if(we){u.updatedAt!==F.current&&(Se(u.updatedAt,F.current)??0)>0&&U(u.updatedAt);return}const g=N.current;if(!(g&&u.updatedAt!==g&&(Se(u.updatedAt,g)??0)<0)&&(p(u.pinned),q(u.layout||"wide"),A(u.title),g!==u.updatedAt)){const C=r.current?.getContent();Y(u.updatedAt),(C===void 0||C!==u.content)&&(X(null),re(j=>j+1))}},[Y,we,u.content,u.layout,u.pinned,u.title,u.updatedAt,U,F]),o.useEffect(()=>{M?.type!=="updated"||ae==="conflict"||M.updatedAt!==u.updatedAt||(Y(u.updatedAt),W(null))},[Y,M,u.updatedAt,ae]),o.useEffect(()=>Yn(g=>{const C=ja({event:g,noteId:e,editSessionId:l.current,loadedUpdatedAt:u.updatedAt,acceptedUpdatedAt:F.current,hasUnsavedChanges:we});C.type!=="ignore"&&(C.shouldPauseSave&&C.change.type==="updated"&&U(C.change.updatedAt),W(C.change))}),[we,u.updatedAt,e,U,F]);const pn=o.useCallback(()=>{Q(D(R))},[D,Q,R]),mn=o.useCallback(g=>{A(g),Q(D(g))},[D,Q]),hn=o.useCallback(()=>{Q(D(R),{immediate:!0})},[D,Q,R]),gn=o.useCallback(async g=>{if(ue){q(g),Q(D(R,{layout:g}),{immediate:!0}),t("Layout will be saved with your draft.");return}const C=await z();C==="error"||C==="conflict"||await _(async()=>{const j=await ze({id:e,layout:g,editSessionId:l.current,expectedUpdatedAt:F.current});if(j.type==="error"){j.errors[0].code===_a&&(d.current=g,q(g),U(Pa(j.errors[0].details)??F.current)),t(j.errors[0].message);return}await K({updatedAt:j.updateNote.updatedAt,patch:{layout:g}})&&(d.current=null,q(g),t("Layout has been updated."))})},[K,D,_,z,ue,e,t,U,Q,F,R]),xn=o.useCallback(async()=>{const g=await z();if(g==="error"||g==="conflict")return;const C=!w;await _(async()=>{const j=await Hn(e,C);if(j.type==="error"){t(j.errors[0].message);return}await K({updatedAt:j.pinNote.updatedAt,patch:{pinned:C},confirmSave:!1})&&p(C)})},[K,_,z,w,e,t]),_e=o.useCallback(()=>({id:e,title:R,createdAt:u.createdAt,updatedAt:F.current||u.updatedAt}),[u.createdAt,u.updatedAt,e,F,R]),bn=o.useCallback(async()=>{const g=r.current?.getMarkdown();if(g===void 0){t("Markdown is not ready yet.");return}try{await navigator.clipboard.writeText(Yt(g,_e())),t("Copied note as Markdown.")}catch{t("Failed to copy Markdown.")}},[_e,t]),yn=o.useCallback(async()=>{f.current?.invalidateInFlightSave(),te(),await ne(),x.current+=1;const g=await h();if(g.error||!g.data){t("Failed to reload the latest note state.");return}f.current?.discardPendingChanges(),J(),d.current=null,Y(g.data.updatedAt),A(g.data.title),q(g.data.layout||"wide"),X(null),re(C=>C+1),W(null)},[J,Y,ne,te,t,h]),vn=o.useCallback(async()=>{if(oe()){d.current=null,W(null),await z({ignoreConflict:!0});return}const C=d.current;if(!C){W(null),await z({ignoreConflict:!0});return}await _(async()=>{const j=await ze({id:e,layout:C,editSessionId:l.current,force:!0});if(j.type==="error"){t(j.errors[0].message);return}await K({updatedAt:j.updateNote.updatedAt,patch:{layout:C}})&&(d.current=null,fe(),W(null),q(C))})},[K,_,z,oe,e,t,fe]),wn=o.useCallback(async()=>{const g=oe();if(!g||await O()==="error")return;const j=await $n({title:rt(g.title||"untitled"),content:rt(g.content),layout:g.layout??y});if(j.type==="error"){t(j.errors[0].message);return}m.current=!0,d.current=null,W(null),J(),Promise.resolve(n(j.createNote.id)).finally(()=>{m.current=!1})},[J,O,oe,y,n,t]),Cn=o.useCallback(()=>{I&&(A(I.title),I.layout&&q(I.layout),X(I.content),re(g=>g+1),Z(I))},[I,Z]),Nn=o.useCallback(()=>{},[]),Sn=o.useCallback(async g=>(f.current?.invalidateInFlightSave(),te(),await ne(),x.current+=1,_(async()=>{const C=await In(g,F.current);if(C.type==="error")return C;const j=C.restoreNoteSnapshot;return await K({updatedAt:j.updatedAt,patch:{title:j.title,content:j.content,layout:j.layout,pinned:j.pinned}})&&(l.current=ct(),f.current?.discardPendingChanges(),J(),d.current=null,W(null),A(j.title),q(j.layout||"wide"),p(j.pinned),X(j.content),re(Oe=>Oe+1)),C})),[K,J,ne,_,te]),Pe=ae==="conflict"&&M?.type==="updated",Rn=Pe?oe():null;return{document:{title:R,titleRef:i,isPinned:w,layout:y,getLayout:()=>H.current,properties:u.properties,createdAt:Ue(u.createdAt),onTitleChange:mn,onLayoutSave:gn,onTogglePinned:xn},editor:{ref:r,key:`${e}:${me}`,content:xe??u.content,getContent:()=>r.current?.getContent()??"",getHtml:()=>r.current?.getHtml(),getMarkdown:()=>r.current?.getMarkdown(),onChange:pn},save:{status:ae,lastSavedAt:ee,lastSavedVersion:le,confirmationRevision:P,onManualSave:hn,flushPendingChanges:nt},recovery:{localDraftCreatedAt:I?G(I.createdAt).format("YYYY-MM-DD HH:mm:ss"):null,onRestoreLocalDraft:Cn,onDiscardLocalDraft:ve,onClonePendingDraft:wn},externalChange:{value:M,isConflict:Pe,hasConflictDraft:Rn!==null,isBlocking:Aa({change:M,isConflict:Pe,loadedUpdatedAt:u.updatedAt}),isReloading:b.isRefetching,onReload:yn,onOverwrite:vn},properties:{ref:f,expectedUpdatedAt:F.current,editSessionId:l.current,saveProperties:fn,onPendingChange:E,onSaved:Nn},exportDocument:{metadata:_e(),onCopyMarkdown:bn},snapshots:{restore:Sn}}}const un=Un(Ee),Ba={narrow:"max-w-[640px]",wide:"max-w-[896px]",full:"max-w-full px-4"},Fa=a.jsx(Ge,{title:"Loading note",variant:"none",children:a.jsxs("main",{className:"mx-auto max-w-[896px]",children:[a.jsx(ie,{className:"mb-8",height:123}),a.jsxs("div",{className:"flex flex-col gap-5",children:[a.jsx(ie,{height:135}),a.jsx(ie,{className:"ml-12",height:320}),a.jsx(ie,{height:107}),a.jsx(ie,{height:100})]})]})});function Ha({noteId:e}){return a.jsx(qe,{fallback:a.jsx(ie,{height:107}),errorTitle:"Failed to load reminders",errorDescription:"Retry loading reminder details for this note.",renderError:({error:n,retry:t})=>a.jsx(Je,{title:"Failed to load reminders",description:"Retry loading reminder details for this note.",error:n,onRetry:t,showBackAction:!1,showHomeAction:!1}),children:a.jsx(ds,{noteId:e})})}function $a({noteId:e}){return a.jsx(qe,{fallback:a.jsx(ie,{height:100}),errorTitle:"Failed to load back references",errorDescription:"Retry loading notes that link back here.",renderError:({error:n,retry:t})=>a.jsx(Je,{title:"Failed to load back references",description:"Retry loading notes that link back here.",error:n,onRetry:t,showBackAction:!1,showHomeAction:!1}),children:a.jsx(Mr,{noteId:e,render:n=>n?.length?a.jsx(Tt,{icon:a.jsx(Sr,{className:"h-3.5 w-3.5"}),title:"Back References",children:a.jsx("ul",{className:"flex flex-col",children:n.map(t=>a.jsx("li",{children:a.jsxs(zn,{to:Ee,params:{id:t.id},className:"flex items-center gap-2 rounded-[10px] px-2.5 py-1.5 text-fg-secondary transition-colors hover:bg-hover-subtle hover:text-fg-default",children:[a.jsx(Nr,{className:"h-3.5 w-3.5 shrink-0 text-fg-tertiary"}),a.jsx(S,{as:"span",variant:"body",weight:"medium",className:"text-current",children:t.title})]})},t.id))})}):null})})}function Ia({id:e}){const n=je(),t=un.useNavigate(),[s,r]=o.useState(!1),[i,c]=o.useState(!1),[l,f]=o.useState(!1),d=Oa({noteId:e,notify:n,navigateToNote:M=>t({to:Ee,params:{id:M}})}),{onCreate:m,onDelete:x,deleteWarningDialog:b}=Qn(),{document:u,editor:h,save:v,recovery:N,externalChange:R,properties:A,exportDocument:w,snapshots:p}=d,y=()=>t({to:sr,search:{page:1}}),T=async()=>{const M=await v.flushPendingChanges();M==="error"||M==="conflict"||await x(e,y)},H=async()=>{const M=await v.flushPendingChanges();M==="error"||M==="conflict"||await m(u.titleRef.current?.value||"untitled",h.getContent(),u.getLayout())};return a.jsx(Ge,{title:u.title,variant:"none",children:a.jsxs("main",{className:V("mx-auto",Ba[u.layout]),children:[a.jsx(Br,{title:u.title,titleRef:u.titleRef,isPinned:u.isPinned,createdAt:u.createdAt,saveStatus:v.status,savedAt:v.lastSavedAt,savedVersion:v.lastSavedVersion,saveConfirmationRevision:v.confirmationRevision,onTitleChange:u.onTitleChange,onCopyMarkdown:()=>{w.onCopyMarkdown()},onDownloadDocument:()=>f(!0),onTogglePinned:()=>{u.onTogglePinned()},onChangeLayout:()=>r(!0),onCloneNote:()=>{H()},onRestoreVersion:()=>c(!0),onDelete:()=>{T()},onSave:v.onManualSave}),a.jsx(cs,{localDraftCreatedAt:N.localDraftCreatedAt,hasSaveError:v.status==="error",onRestoreDraft:N.onRestoreLocalDraft,onDiscardDraft:N.onDiscardLocalDraft,onRetrySave:v.onManualSave,onSaveAsNewNote:()=>{N.onClonePendingDraft()}}),a.jsxs("div",{className:"flex flex-col gap-5",children:[a.jsx(tr,{ref:A.ref,noteId:e,properties:u.properties,expectedUpdatedAt:A.expectedUpdatedAt,editSessionId:A.editSessionId,disabled:v.status!=="saved",saveProperties:A.saveProperties,onPendingChange:A.onPendingChange,onSaved:A.onSaved}),a.jsx(Ra,{ref:h.ref,content:h.content,currentNoteId:e,onChange:h.onChange},h.key),a.jsx(Ha,{noteId:e}),a.jsx($a,{noteId:e})]}),a.jsx(_r,{isOpen:s,onClose:()=>r(!1),onSave:u.onLayoutSave,currentLayout:u.layout}),a.jsx(is,{isOpen:R.isBlocking,isDeleted:R.value?.type==="deleted",isConflict:R.isConflict,hasDraft:R.hasConflictDraft,source:R.value?.source??"unknown",isReloading:R.isReloading,onReload:()=>{R.onReload()},onOverwrite:()=>{R.onOverwrite()},onCloneDraft:()=>{N.onClonePendingDraft()},onOpenTrash:()=>{y()}}),a.jsx(ss,{isOpen:l,metadata:w.metadata,getHtml:h.getHtml,getMarkdown:h.getMarkdown,onClose:()=>f(!1)}),a.jsx(ls,{isOpen:i,noteId:e,onClose:()=>c(!1),restoreSnapshot:p.restore}),b]})})}function lo(){const{id:e}=un.useParams();if(!e)throw new Error("Note id is required.");return a.jsx(qe,{fallback:Fa,errorTitle:"Failed to load note",errorDescription:"Retry loading the note editor.",resetKeys:[e],renderError:({error:n,retry:t})=>a.jsx(Ge,{title:"Note",variant:"none",children:a.jsx(Je,{title:"Failed to load note",description:"Retry loading the note editor.",error:n,onRetry:t})}),children:a.jsx(Ia,{id:e},e)})}export{Ia as NoteContent,lo as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./floating-ui.react-dom-BWTnA00G.js";import{i as x,C as N,q as j,Q as y,P as c,k as P,E as T,l as o,h as v}from"./time-PxWila4-.js";import{F as h,N as k}from"./app-NgiBDISG.js";import{T as q}from"./url-DKUMNVCI.js";import"./NotePropertiesPanel-6P7UfRBR.js";import{e as w}from"./useNoteMutate-BjvZUmtX.js";import"./preload-helper-BXl3LOEh.js";import"./Graph-hVj6vAYJ.js";import"./AuxiliaryPanelHeader-HAttwVby.js";import"./LinkSimple.es-B-P-7Iem.js";import"./Plus.es-Dy6onD-Z.js";const R=s=>{const{data:r}=x({queryKey:j.notes.tagList(s.searchParams),async queryFn(){const t=await N({query:s.searchParams.query,offset:s.searchParams.offset,limit:s.searchParams.limit});if(t.type==="error")throw t;return t.tagNotes}});return s.render(r)},g=v(q);function B(){const s=g.useNavigate(),{id:r}=g.useParams(),{page:t}=g.useSearch(),i=25,{onDelete:m,onPinned:u,deleteWarningDialog:f}=w();return e.jsxs(y,{fallback:e.jsx(c,{title:"Tagged Notes",heading:e.jsx(o,{width:148,height:24,className:"rounded-full"}),description:e.jsx(o,{width:196,height:16,className:"rounded-full"}),variant:"default",children:e.jsxs("div",{className:"grid-auto-cards grid gap-5",children:[e.jsx(o,{height:"112px"}),e.jsx(o,{height:"112px"}),e.jsx(o,{height:"112px"})]})}),errorTitle:"Failed to load tagged notes",errorDescription:"Retry loading notes for this tag",resetKeys:[r,t,i],children:[e.jsx(R,{searchParams:{query:r,offset:(t-1)*i,limit:i},render:({notes:l,totalCount:n})=>{const d=l.flatMap(a=>a.tags).find(a=>a.id===r)?.name;return e.jsx(c,{title:d??"Tagged Notes",heading:d?n>0?`${d} (${n})`:d:"Tagged Notes",description:"Browse every note linked to this tag",variant:"default",children:e.jsx(h,{fallback:e.jsx(T,{title:"No tagged notes yet",description:"Notes tagged with this label will appear here"}),children:l.length>0&&e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"grid-auto-cards grid gap-5",children:l.map(a=>e.jsx(k,{...a,onPinned:()=>u(a.id,a.pinned),onDelete:()=>m(a.id)},a.id))}),e.jsx(h,{fallback:null,children:n&&i<n&&e.jsx(P,{page:t,last:Math.ceil(n/i),onChange:a=>{s({search:p=>({...p,page:a})})}})})]})})})}}),f]})}export{B as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a}from"./floating-ui.react-dom-BWTnA00G.js";import{A as l}from"./time-PxWila4-.js";const r=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M218.34,119.6,183.6,154.34a46.58,46.58,0,0,1-44.31,12.26c-.31.34-.62.67-.95,1L103.6,202.34A46.63,46.63,0,1,1,37.66,136.4L72.4,101.66A46.6,46.6,0,0,1,116.71,89.4c.31-.34.62-.67,1-1L152.4,53.66a46.63,46.63,0,0,1,65.94,65.94Z",opacity:"0.2"}),a.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,7.78,8.22H152a8,8,0,0,0,8-7.78A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z"}))]]),m=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z",opacity:"0.2"}),a.createElement("path",{d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z"}))]]),n=a.forwardRef((e,t)=>a.createElement(l,{ref:t,...e,weights:r}));n.displayName="LinkIcon";const V=n,h=a.forwardRef((e,t)=>a.createElement(l,{ref:t,...e,weights:m}));h.displayName="TrashIcon";const Z=h;export{V as c,Z as n};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.ProseMirror a{color:var(--fg-muted);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-secondary);text-underline-offset:2px;transition:color .15s ease,text-decoration-color .15s ease}.ProseMirror a:hover{color:var(--fg-default);text-decoration-color:var(--fg-muted)}.bn-editor{background:transparent!important;padding-inline:54px 0!important;overflow-wrap:anywhere!important}.bn-container{--bn-font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;font-family:var(--bn-font-family)!important}.bn-mantine .bn-suggestion-menu{width:min(368px,100vw - 32px);max-height:min(424px,100vh - 96px);padding:6px;background:var(--elevated);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 18px 36px -28px #171d2657,0 1px 2px #171d260f;color:var(--fg-default);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}html.dark .bn-mantine .bn-suggestion-menu{box-shadow:0 20px 42px -30px #000000b8,0 1px 2px #00000052}.bn-mantine .mantine-Menu-dropdown,.bn-mantine .bn-menu-dropdown{min-width:148px;padding:5px;background:var(--elevated);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 14px 28px -24px #171d264d,0 1px 2px #171d260f;color:var(--fg-default)}html.dark .bn-mantine .mantine-Menu-dropdown,html.dark .bn-mantine .bn-menu-dropdown{box-shadow:0 18px 34px -28px #000000ad,0 1px 2px #00000052}.bn-mantine .mantine-Menu-item{min-height:32px;height:auto;padding:7px 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--fg-secondary);font-size:.8125rem;font-weight:600;line-height:1.35;transition:background .15s ease,border-color .15s ease,color .15s ease}.bn-mantine .mantine-Menu-item[aria-selected=true],.bn-mantine .mantine-Menu-item:hover,.bn-mantine .mantine-Menu-item:focus-visible{background:var(--hover-subtle);border-color:var(--border-subtle);color:var(--fg-default)}.bn-mantine .mantine-Menu-itemLabel{color:inherit}.bn-mantine .bn-suggestion-menu-label{padding:8px 10px 5px;color:var(--fg-tertiary);font-size:.75rem;font-weight:700;line-height:1.2}.bn-mantine .bn-suggestion-menu-label:not(:first-child){margin-top:4px;padding-top:10px;border-top:1px solid var(--border-subtle)}.bn-mantine .bn-suggestion-menu-item{min-height:52px;height:auto;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--fg-default);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.bn-mantine .bn-suggestion-menu-item:hover,.bn-mantine .bn-suggestion-menu-item[aria-selected=true]{background:var(--hover-subtle);border-color:var(--border-subtle)}.bn-mantine .bn-suggestion-menu-item-small{min-height:34px;padding:7px 10px}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-body{min-width:0;padding-right:10px}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=left]{flex:0 0 32px;width:32px;height:32px;margin-inline-end:10px;padding:0;background:var(--muted);border:1px solid var(--border-subtle);border-radius:8px;color:var(--fg-secondary)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=left] svg{width:16px;height:16px}.bn-mantine .bn-suggestion-menu-item:hover .bn-mt-suggestion-menu-item-section[data-position=left],.bn-mantine .bn-suggestion-menu-item[aria-selected=true] .bn-mt-suggestion-menu-item-section[data-position=left]{background:var(--surface);border-color:var(--border-secondary);color:var(--fg-default)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=right]{flex:0 0 auto;margin-inline-start:8px;color:var(--fg-tertiary)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=right] .mantine-Badge-root{height:20px;padding:0 6px;background:var(--muted);border:1px solid var(--border-subtle);border-radius:7px;color:var(--fg-tertiary);font-size:.6875rem;font-weight:600;line-height:18px;letter-spacing:0;text-transform:none;white-space:nowrap}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-title,.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-title{color:var(--fg-default);font-size:.875rem;font-weight:600;line-height:1.35}.bn-mantine .bn-suggestion-menu-item-small .bn-mt-suggestion-menu-item-title{font-size:.8125rem}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-subtitle{color:var(--fg-tertiary);font-size:.75rem;line-height:1.35}@media(max-width:640px){.bn-mantine .bn-suggestion-menu{width:calc(100vw - 24px);max-height:min(360px,100vh - 80px)}.bn-mantine .bn-suggestion-menu .bn-mt-suggestion-menu-item-section[data-position=right] .mantine-Badge-root{max-width:84px;overflow:hidden;text-overflow:ellipsis}}.bn-default-styles,.bn-default-styles p,.bn-default-styles li,.bn-default-styles h1,.bn-default-styles h2,.bn-default-styles h3,.bn-default-styles h4,.bn-default-styles h5,.bn-default-styles h6,.bn-container button,.bn-container input,.bn-container select,.bn-container textarea{font-family:var(--bn-font-family)!important}.bn-inline-content code{color:var(--fg-muted);background:color-mix(in srgb,var(--highlight) 72%,transparent);border:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);border-radius:6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em;letter-spacing:0;padding:.08em .34em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.bn-file-block-content-wrapper{max-width:100%}.bn-block-content[data-content-type=codeBlock]{background-color:#181b20;border:1px solid rgba(255,255,255,.08);border-radius:10px}.bn-block-content[data-content-type=codeBlock]:has(>[data-rich-code-toolbar]){flex-direction:column;overflow:hidden;background-color:var(--elevated);border-color:var(--border-subtle);color:var(--fg-default)}.bn-block-content[data-content-type=codeBlock]:has(>[data-rich-code-toolbar])>div>select{display:none}[data-rich-code-preview] svg foreignObject p{font-family:inherit!important;line-height:inherit}.bn-block-content[data-content-type=codeBlock]>pre{color:#ffffffd6;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1rem;line-height:1.65}.bn-block-content[data-content-type=codeBlock]>div>select{border-radius:6px;color:#ffffffb8}.bn-editor [data-content-type=table] .tableWrapper{--default-cell-min-width: 112px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}.bn-editor [data-content-type=table] table{overflow:hidden;background:var(--elevated);border:1px solid var(--border-subtle);border-radius:10px;border-collapse:separate;border-spacing:0}.bn-editor [data-content-type=table] th,.bn-editor [data-content-type=table] td{min-width:112px;padding:8px 10px;background:var(--elevated);border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);color:var(--fg-default);vertical-align:top}.bn-editor [data-content-type=table] th{background:var(--muted);color:var(--fg-muted);font-weight:600}.bn-editor [data-content-type=table] tr>:last-child{border-right:0}.bn-editor [data-content-type=table] tr:last-child>*{border-bottom:0}.bn-editor [data-content-type=table] th:hover,.bn-editor [data-content-type=table] td:hover{background:var(--hover-subtle)}.ProseMirror .selectedCell:after{background:color-mix(in srgb,var(--accent-soft-primary) 58%,transparent);box-shadow:inset 0 0 0 1px var(--border-focus);pointer-events:none}.ProseMirror .column-resize-handle,.bn-table-drop-cursor{background:var(--accent-primary)}.bn-mantine .bn-table-handle,.bn-mantine .bn-extend-button,.bn-mantine .bn-table-cell-handle{background:var(--elevated);border:1px solid var(--border-subtle);border-radius:7px;box-shadow:0 8px 18px -16px #171d2638;color:var(--fg-tertiary);transition:background .15s ease,border-color .15s ease,color .15s ease}.bn-mantine .bn-table-handle:hover,.bn-mantine .bn-table-handle-dragging,.bn-mantine .bn-extend-button:hover,.bn-mantine .bn-extend-button-editing,.bn-mantine .bn-table-cell-handle:hover{background:var(--hover-subtle);border-color:var(--border-secondary);color:var(--fg-default)}.bn-default-styles [data-content-type=heading]{--level: 1.375rem;--ob-heading-color: var(--fg-default);--ob-heading-letter-spacing: -.01em;--ob-heading-line-height: 1.35;--ob-heading-weight: 700}.bn-default-styles [data-content-type=heading][data-level="2"]{--level: 1.1875rem;--ob-heading-letter-spacing: -.005em;--ob-heading-line-height: 1.4;--ob-heading-weight: 650}.bn-default-styles [data-content-type=heading][data-level="3"]{--level: 1.0625rem;--ob-heading-letter-spacing: 0;--ob-heading-line-height: 1.45;--ob-heading-weight: 620}.bn-default-styles [data-content-type=heading][data-level="4"]{--level: 1rem;--ob-heading-letter-spacing: 0;--ob-heading-line-height: 1.5;--ob-heading-weight: 600}.bn-default-styles [data-content-type=heading][data-level="5"]{--level: 1rem;--ob-heading-color: var(--fg-muted);--ob-heading-letter-spacing: 0;--ob-heading-line-height: 1.5;--ob-heading-weight: 560}.bn-default-styles [data-content-type=heading][data-level="6"]{--level: 1rem;--ob-heading-color: var(--fg-secondary);--ob-heading-letter-spacing: .01em;--ob-heading-line-height: 1.5;--ob-heading-weight: 520}.bn-default-styles [data-prev-level="1"]{--prev-level: 1.375rem;--ob-prev-heading-letter-spacing: -.01em;--ob-prev-heading-line-height: 1.35;--ob-prev-heading-weight: 700}.bn-default-styles [data-prev-level="2"]{--prev-level: 1.1875rem;--ob-prev-heading-letter-spacing: -.005em;--ob-prev-heading-line-height: 1.4;--ob-prev-heading-weight: 650}.bn-default-styles [data-prev-level="3"]{--prev-level: 1.0625rem;--ob-prev-heading-letter-spacing: 0;--ob-prev-heading-line-height: 1.45;--ob-prev-heading-weight: 620}.bn-default-styles [data-prev-level="4"]{--prev-level: 1rem;--ob-prev-heading-letter-spacing: 0;--ob-prev-heading-line-height: 1.5;--ob-prev-heading-weight: 600}.bn-default-styles [data-prev-level="5"]{--prev-level: 1rem;--ob-prev-heading-letter-spacing: 0;--ob-prev-heading-line-height: 1.5;--ob-prev-heading-weight: 560}.bn-default-styles [data-prev-level="6"]{--prev-level: 1rem;--ob-prev-heading-letter-spacing: .01em;--ob-prev-heading-line-height: 1.5;--ob-prev-heading-weight: 520}.bn-default-styles .bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=heading],.bn-default-styles .bn-block-outer:not([data-prev-type])>.bn-block>div[data-type=modification]>div[data-type=modification]>.bn-block-content[data-content-type=heading]{color:var(--ob-heading-color, var(--fg-default));font-size:var(--level);font-weight:var(--ob-heading-weight, 600);letter-spacing:var(--ob-heading-letter-spacing, 0);line-height:var(--ob-heading-line-height, 1.5)}.bn-default-styles .bn-block-outer[data-prev-type=heading]>.bn-block>.bn-block-content{font-size:var(--prev-level);font-weight:var(--ob-prev-heading-weight, 600);letter-spacing:var(--ob-prev-heading-letter-spacing, 0);line-height:var(--ob-prev-heading-line-height, 1.5)}.bn-default-styles p{line-height:1.7}.bn-default-styles li{line-height:1.65}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=numberedListItem]:before{content:var(--index) ".";white-space:nowrap}.bn-mantine .bn-side-menu[data-block-type=heading][data-level="1"]{height:36px}.bn-mantine .bn-side-menu[data-block-type=heading][data-level="2"]{height:33px}.bn-mantine .bn-side-menu[data-block-type=heading][data-level="3"]{height:31px}.bn-mantine .bn-side-menu[data-block-type=heading][data-level="4"],.bn-mantine .bn-side-menu[data-block-type=heading][data-level="5"],.bn-mantine .bn-side-menu[data-block-type=heading][data-level="6"]{height:30px}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:local("Pretendard Bold"),url(/fonts/Pretendard-Bold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:local("Pretendard Regular"),url(/fonts/Pretendard-Regular.woff2) format("woff2")}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}html{background:var(--page-bg);color:var(--fg-default)}html.dark{background-color:var(--page-bg);color:var(--fg-default)}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--page-bg);color:var(--fg-default);word-wrap:break-word;word-break:keep-all;overflow-wrap:anywhere}div:focus:not(:focus-visible){outline:none}.window-modal__container{z-index:1002}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-700:oklch(51.4% .222 16.935);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-normal:1.5;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-pastel-yellow-200:#d8c4a8;--color-pastel-green-200:#9fb39d;--color-pastel-pink-200:#d6a3a0;--color-pastel-orange-200:#cfa88d;--color-pastel-blue-200:#9cafb9;--color-pastel-lavender-200:#c0b7c6;--color-priority-high:#e4a29f;--color-priority-medium:#deb07e;--color-priority-low:#dec988;--color-surface:var(--surface);--color-muted:var(--muted);--color-subtle:var(--subtle);--color-elevated:var(--elevated);--color-emphasis:var(--emphasis);--color-hover:var(--hover);--color-hover-subtle:var(--hover-subtle);--color-active:var(--active);--color-fg-default:var(--fg-default);--color-fg-muted:var(--fg-muted);--color-fg-secondary:var(--fg-secondary);--color-fg-tertiary:var(--fg-tertiary);--color-fg-disabled:var(--fg-disabled);--color-fg-placeholder:var(--fg-placeholder);--color-fg-error:var(--fg-error);--color-fg-on-filled:var(--fg-on-filled);--color-fg-weekend:var(--fg-weekend);--color-border:var(--border);--color-border-secondary:var(--border-secondary);--color-border-subtle:var(--border-subtle);--color-border-focus:var(--border-focus);--color-border-error:var(--border-error);--color-accent-primary:var(--accent-primary);--color-accent-secondary:var(--accent-secondary);--color-accent-secondary-hover:var(--accent-secondary-hover);--color-accent-danger:var(--accent-danger);--color-accent-danger-hover:var(--accent-danger-hover);--color-accent-success:var(--accent-success);--color-accent-soft-primary:var(--accent-soft-primary);--color-accent-soft-danger:var(--accent-soft-danger);--color-accent-soft-danger-hover:var(--accent-soft-danger-hover);--color-accent-soft-success:var(--accent-soft-success);--color-accent-soft-success-hover:var(--accent-soft-success-hover);--color-cta:var(--cta);--color-cta-hover:var(--cta-hover);--color-overlay:var(--overlay);--color-divider:var(--divider);--radius-full:9999px;--animate-fade-in:fade-in .2s ease-out;--animate-zoom-in:zoom-in .2s ease-out;--animate-shimmer:shimmer 1.5s infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-10{top:calc(var(--spacing) * -10)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-20{top:calc(var(--spacing) * 20)}.-right-10{right:calc(var(--spacing) * -10)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[-14px\]{right:-14px}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[-4px\]{bottom:-4px}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[1001\]{z-index:1001}.z-\[1002\]{z-index:1002}.z-\[1003\]{z-index:1003}.z-\[1090\]{z-index:1090}.z-\[1100\]{z-index:1100}.z-\[1200\]{z-index:1200}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-4{margin:calc(var(--spacing) * 4)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.\!mt-0{margin-top:calc(var(--spacing) * 0)!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[2px\]{margin-top:2px}.mt-\[6px\]{margin-top:6px}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-3{margin-left:calc(var(--spacing) * -3)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-12{margin-left:calc(var(--spacing) * 12)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-28{height:calc(var(--spacing) * 28)}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[34px\]{height:34px}.h-\[72px\]{height:72px}.h-\[98px\]{height:98px}.h-\[248px\]{height:248px}.h-\[300px\]{height:300px}.h-\[320px\]{height:320px}.h-\[400px\]{height:400px}.h-\[clamp\(36rem\,calc\(100dvh-8rem\)\,72rem\)\]{height:clamp(36rem,100dvh - 8rem,72rem)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[calc\(100dvh-0\.75rem\)\]{max-height:calc(100dvh - .75rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[38px\]{min-height:38px}.min-h-\[60px\]{min-height:60px}.min-h-\[72px\]{min-height:72px}.min-h-\[80px\]{min-height:80px}.min-h-\[84px\]{min-height:84px}.min-h-\[100px\]{min-height:100px}.min-h-\[112px\]{min-height:112px}.min-h-\[248px\]{min-height:248px}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-28{width:calc(var(--spacing) * 28)}.w-\[17rem\]{width:17rem}.w-\[18px\]{width:18px}.w-\[18rem\]{width:18rem}.w-\[34px\]{width:34px}.w-\[148px\]{width:148px}.w-\[220px\]{width:220px}.w-\[min\(22rem\,calc\(100vw-2rem\)\)\]{width:min(22rem,100vw - 2rem)}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[34rem\]{max-width:34rem}.max-w-\[44rem\]{max-width:44rem}.max-w-\[72\%\]{max-width:72%}.max-w-\[72px\]{max-width:72px}.max-w-\[72vw\]{max-width:72vw}.max-w-\[116px\]{max-width:116px}.max-w-\[132px\]{max-width:132px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[400px\]{max-width:400px}.max-w-\[640px\]{max-width:640px}.max-w-\[896px\]{max-width:896px}.max-w-\[min\(420px\,calc\(100vw-32px\)\)\]{max-width:min(420px,100vw - 32px)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-26{min-width:calc(var(--spacing) * 26)}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[19rem\]{min-width:19rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-\[0_0_300px\]{flex:0 0 300px}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-\[28rem\]{flex-basis:28rem}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[38\%\]{--tw-translate-y: -38% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-fade-in{animation:var(--animate-fade-in)}.animate-pulse{animation:var(--animate-pulse)}.animate-shimmer{animation:var(--animate-shimmer)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type: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-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,5\.5rem\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,5.5rem) minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border-subtle>:not(:last-child)),:where(.divide-border-subtle\/70>:not(:last-child)){border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){:where(.divide-border-subtle\/70>:not(:last-child)){border-color:color-mix(in oklab,var(--color-border-subtle) 70%,transparent)}}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-y-contain{overscroll-behavior-y:contain}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[12px\]{border-radius:12px}.rounded-\[13px\]{border-radius:13px}.rounded-\[14px\]{border-radius:14px}.rounded-\[15px\]{border-radius:15px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:var(--radius-full)}.rounded-t-\[18px\]{border-top-left-radius:18px;border-top-right-radius:18px}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent-primary\/45{border-color:var(--color-accent-primary)}@supports (color:color-mix(in lab,red,red)){.border-accent-primary\/45{border-color:color-mix(in oklab,var(--color-accent-primary) 45%,transparent)}}.border-accent-primary\/50{border-color:var(--color-accent-primary)}@supports (color:color-mix(in lab,red,red)){.border-accent-primary\/50{border-color:color-mix(in oklab,var(--color-accent-primary) 50%,transparent)}}.border-amber-200\/70{border-color:#fee685b3}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/70{border-color:color-mix(in oklab,var(--color-amber-200) 70%,transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.border-black\/5{border-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.border-border{border-color:var(--color-border)}.border-border-error,.border-border-error\/70{border-color:var(--color-border-error)}@supports (color:color-mix(in lab,red,red)){.border-border-error\/70{border-color:color-mix(in oklab,var(--color-border-error) 70%,transparent)}}.border-border-secondary,.border-border-secondary\/70{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.border-border-secondary\/70{border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.border-border-secondary\/80{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.border-border-secondary\/80{border-color:color-mix(in oklab,var(--color-border-secondary) 80%,transparent)}}.border-border-subtle,.border-border-subtle\/60{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/60{border-color:color-mix(in oklab,var(--color-border-subtle) 60%,transparent)}}.border-border-subtle\/65{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/65{border-color:color-mix(in oklab,var(--color-border-subtle) 65%,transparent)}}.border-border-subtle\/70{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/70{border-color:color-mix(in oklab,var(--color-border-subtle) 70%,transparent)}}.border-border-subtle\/75{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/75{border-color:color-mix(in oklab,var(--color-border-subtle) 75%,transparent)}}.border-border-subtle\/80{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle\/80{border-color:color-mix(in oklab,var(--color-border-subtle) 80%,transparent)}}.border-cta{border-color:var(--color-cta)}.border-fg-muted{border-color:var(--color-fg-muted)}.border-sky-200\/75{border-color:#b8e6febf}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/75{border-color:color-mix(in oklab,var(--color-sky-200) 75%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/14{border-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.border-white\/14{border-color:color-mix(in oklab,var(--color-white) 14%,transparent)}}.bg-\[\#181b20\]{background-color:#181b20}.bg-\[color-mix\(in_srgb\,var\(--elevated\)_72\%\,var\(--hover-subtle\)\)\]{background-color:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--elevated\)_72\%\,var\(--hover-subtle\)\)\]{background-color:color-mix(in srgb,var(--elevated) 72%,var(--hover-subtle))}}.bg-\[var\(--page-bg\)\]{background-color:var(--page-bg)}.bg-accent-danger{background-color:var(--color-accent-danger)}.bg-accent-primary\/6{background-color:var(--color-accent-primary)}@supports (color:color-mix(in lab,red,red)){.bg-accent-primary\/6{background-color:color-mix(in oklab,var(--color-accent-primary) 6%,transparent)}}.bg-accent-secondary{background-color:var(--color-accent-secondary)}.bg-accent-soft-danger,.bg-accent-soft-danger\/40{background-color:var(--color-accent-soft-danger)}@supports (color:color-mix(in lab,red,red)){.bg-accent-soft-danger\/40{background-color:color-mix(in oklab,var(--color-accent-soft-danger) 40%,transparent)}}.bg-accent-soft-danger\/60{background-color:var(--color-accent-soft-danger)}@supports (color:color-mix(in lab,red,red)){.bg-accent-soft-danger\/60{background-color:color-mix(in oklab,var(--color-accent-soft-danger) 60%,transparent)}}.bg-accent-soft-danger\/70{background-color:var(--color-accent-soft-danger)}@supports (color:color-mix(in lab,red,red)){.bg-accent-soft-danger\/70{background-color:color-mix(in oklab,var(--color-accent-soft-danger) 70%,transparent)}}.bg-accent-soft-primary{background-color:var(--color-accent-soft-primary)}.bg-accent-soft-success{background-color:var(--color-accent-soft-success)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/24{background-color:#0000003d}@supports (color:color-mix(in lab,red,red)){.bg-black\/24{background-color:color-mix(in oklab,var(--color-black) 24%,transparent)}}.bg-border-secondary{background-color:var(--color-border-secondary)}.bg-border-subtle,.bg-border-subtle\/70{background-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-border-subtle\/70{background-color:color-mix(in oklab,var(--color-border-subtle) 70%,transparent)}}.bg-cta{background-color:var(--color-cta)}.bg-divider{background-color:var(--color-divider)}.bg-elevated,.bg-elevated\/60{background-color:var(--color-elevated)}@supports (color:color-mix(in lab,red,red)){.bg-elevated\/60{background-color:color-mix(in oklab,var(--color-elevated) 60%,transparent)}}.bg-emerald-500\/12{background-color:#00bb7f1f}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/12{background-color:color-mix(in oklab,var(--color-emerald-500) 12%,transparent)}}.bg-emphasis{background-color:var(--color-emphasis)}.bg-fg-placeholder{background-color:var(--color-fg-placeholder)}.bg-fg-secondary{background-color:var(--color-fg-secondary)}.bg-hover-subtle,.bg-hover-subtle\/40{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/40{background-color:color-mix(in oklab,var(--color-hover-subtle) 40%,transparent)}}.bg-hover-subtle\/50{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/50{background-color:color-mix(in oklab,var(--color-hover-subtle) 50%,transparent)}}.bg-hover-subtle\/55{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/55{background-color:color-mix(in oklab,var(--color-hover-subtle) 55%,transparent)}}.bg-hover-subtle\/60{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/60{background-color:color-mix(in oklab,var(--color-hover-subtle) 60%,transparent)}}.bg-hover-subtle\/70{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/70{background-color:color-mix(in oklab,var(--color-hover-subtle) 70%,transparent)}}.bg-hover-subtle\/75{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-hover-subtle\/75{background-color:color-mix(in oklab,var(--color-hover-subtle) 75%,transparent)}}.bg-muted,.bg-muted\/25{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/25{background-color:color-mix(in oklab,var(--color-muted) 25%,transparent)}}.bg-muted\/30{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.bg-muted\/40{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--color-muted) 40%,transparent)}}.bg-muted\/70{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/70{background-color:color-mix(in oklab,var(--color-muted) 70%,transparent)}}.bg-overlay{background-color:var(--color-overlay)}.bg-pastel-blue-200{background-color:var(--color-pastel-blue-200)}.bg-pastel-green-200{background-color:var(--color-pastel-green-200)}.bg-pastel-orange-200{background-color:var(--color-pastel-orange-200)}.bg-pastel-pink-200{background-color:var(--color-pastel-pink-200)}.bg-priority-high{background-color:var(--color-priority-high)}.bg-priority-low{background-color:var(--color-priority-low)}.bg-priority-medium{background-color:var(--color-priority-medium)}.bg-red-200{background-color:var(--color-red-200)}.bg-rose-500\/12{background-color:#ff23571f}@supports (color:color-mix(in lab,red,red)){.bg-rose-500\/12{background-color:color-mix(in oklab,var(--color-rose-500) 12%,transparent)}}.bg-sky-500\/12{background-color:#00a5ef1f}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/12{background-color:color-mix(in oklab,var(--color-sky-500) 12%,transparent)}}.bg-subtle,.bg-subtle\/30{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/30{background-color:color-mix(in oklab,var(--color-subtle) 30%,transparent)}}.bg-subtle\/35{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/35{background-color:color-mix(in oklab,var(--color-subtle) 35%,transparent)}}.bg-subtle\/40{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/40{background-color:color-mix(in oklab,var(--color-subtle) 40%,transparent)}}.bg-subtle\/45{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/45{background-color:color-mix(in oklab,var(--color-subtle) 45%,transparent)}}.bg-subtle\/50{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/50{background-color:color-mix(in oklab,var(--color-subtle) 50%,transparent)}}.bg-subtle\/55{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/55{background-color:color-mix(in oklab,var(--color-subtle) 55%,transparent)}}.bg-subtle\/65{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/65{background-color:color-mix(in oklab,var(--color-subtle) 65%,transparent)}}.bg-subtle\/70{background-color:var(--color-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-subtle\/70{background-color:color-mix(in oklab,var(--color-subtle) 70%,transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/55{background-color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.bg-white\/55{background-color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(135deg\,\#f8fbff_0\%\,\#f1efff_54\%\,\#eafaf4_100\%\)\]{background-image:linear-gradient(135deg,#f8fbff,#f1efff 54%,#eafaf4)}.bg-\[linear-gradient\(135deg\,\#fffaf0_0\%\,\#eef7ff_58\%\,\#e7f6fb_100\%\)\]{background-image:linear-gradient(135deg,#fffaf0,#eef7ff 58%,#e7f6fb)}.from-pastel-lavender-200\/30{--tw-gradient-from:#c0b7c64d}@supports (color:color-mix(in lab,red,red)){.from-pastel-lavender-200\/30{--tw-gradient-from:color-mix(in oklab, var(--color-pastel-lavender-200) 30%, transparent)}}.from-pastel-lavender-200\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-pastel-yellow-200\/20{--tw-gradient-via:#d8c4a833}@supports (color:color-mix(in lab,red,red)){.via-pastel-yellow-200\/20{--tw-gradient-via:color-mix(in oklab, var(--color-pastel-yellow-200) 20%, transparent)}}.via-pastel-yellow-200\/20{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-pastel-lavender-200\/30{--tw-gradient-to:#c0b7c64d}@supports (color:color-mix(in lab,red,red)){.to-pastel-lavender-200\/30{--tw-gradient-to:color-mix(in oklab, var(--color-pastel-lavender-200) 30%, transparent)}}.to-pastel-lavender-200\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-right-bottom{object-position:right bottom}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-44{padding-right:calc(var(--spacing) * 44)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-\[26px\]{padding-left:26px}.pl-\[40px\]{padding-left:40px}.pl-\[54px\]{padding-left:54px}.pl-\[68px\]{padding-left:68px}.pl-\[82px\]{padding-left:82px}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[10px\]{font-size:10px!important}.\!text-\[11px\]{font-size:11px!important}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.\!leading-3{--tw-leading:calc(var(--spacing) * 3)!important;line-height:calc(var(--spacing) * 3)!important}.\!leading-4{--tw-leading:calc(var(--spacing) * 4)!important;line-height:calc(var(--spacing) * 4)!important}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-success{color:var(--color-accent-success)}.text-black{color:var(--color-black)}.text-black\/55{color:#0000008c}@supports (color:color-mix(in lab,red,red)){.text-black\/55{color:color-mix(in oklab,var(--color-black) 55%,transparent)}}.text-current,.text-current\/70{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\/70{color:color-mix(in oklab,currentcolor 70%,transparent)}}.text-emerald-700{color:var(--color-emerald-700)}.text-fg-default,.text-fg-default\/70{color:var(--color-fg-default)}@supports (color:color-mix(in lab,red,red)){.text-fg-default\/70{color:color-mix(in oklab,var(--color-fg-default) 70%,transparent)}}.text-fg-disabled{color:var(--color-fg-disabled)}.text-fg-error{color:var(--color-fg-error)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-on-filled{color:var(--color-fg-on-filled)}.text-fg-placeholder{color:var(--color-fg-placeholder)}.text-fg-secondary{color:var(--color-fg-secondary)}.text-fg-tertiary,.text-fg-tertiary\/85{color:var(--color-fg-tertiary)}@supports (color:color-mix(in lab,red,red)){.text-fg-tertiary\/85{color:color-mix(in oklab,var(--color-fg-tertiary) 85%,transparent)}}.text-fg-weekend{color:var(--color-fg-weekend)}.text-red-700{color:var(--color-red-700)}.text-rose-700{color:var(--color-rose-700)}.text-sky-700{color:var(--color-sky-700)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-border-secondary{-webkit-text-decoration-color:var(--color-border-secondary);text-decoration-color:var(--color-border-secondary)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-cta{accent-color:var(--color-cta)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-95{opacity:.95}.shadow-\[0_8px_18px_-14px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 8px 18px -14px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_-14px_rgba\(23\,29\,38\,0\.32\)\]{--tw-shadow:0 8px 18px -14px var(--tw-shadow-color,#171d2652);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_-16px_rgba\(15\,18\,24\,0\.28\)\]{--tw-shadow:0 8px 18px -16px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_18px_-18px_rgba\(15\,18\,24\,0\.28\)\]{--tw-shadow:0 8px 18px -18px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_24px_-18px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 12px 24px -18px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_36px_-24px_rgba\(15\,18\,24\,0\.24\)\]{--tw-shadow:0 16px 36px -24px var(--tw-shadow-color,#0f12183d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_44px_-28px_rgba\(15\,18\,24\,0\.28\)\]{--tw-shadow:0 18px 44px -28px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_22px_56px_-30px_rgba\(15\,18\,24\,0\.32\)\]{--tw-shadow:0 22px 56px -30px var(--tw-shadow-color,#0f121852);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_64px_-30px_rgba\(15\,18\,24\,0\.34\)\]{--tw-shadow:0 24px 64px -30px var(--tw-shadow-color,#0f121857);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_64px_-32px_rgba\(15\,18\,24\,0\.36\)\]{--tw-shadow:0 24px 64px -32px var(--tw-shadow-color,#0f12185c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--border-secondary\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--border-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--border-subtle\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--border-subtle));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent-primary\/10{--tw-ring-color:var(--color-accent-primary)}@supports (color:color-mix(in lab,red,red)){.ring-accent-primary\/10{--tw-ring-color:color-mix(in oklab, var(--color-accent-primary) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-2xl{--tw-blur:blur(var(--blur-2xl));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,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-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(var(--blur-sm));-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\]{transition-property:background-color,border-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background-color\]{transition-property:border-color,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,background-color\,border-color\]{transition-property:opacity,background-color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[scrollbar-color\:var\(--border-secondary\)_transparent\]{scrollbar-color:var(--border-secondary) transparent}.\[scrollbar-gutter\:stable\]{scrollbar-gutter:stable}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-\[1\.01\]:is(:where(.group):hover *){scale:1.01}.group-hover\:scale-\[1\.025\]:is(:where(.group):hover *){scale:1.025}.group-hover\:border-border-secondary\/70:is(:where(.group):hover *){border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.group-hover\:border-border-secondary\/70:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.group-hover\:bg-hover-subtle:is(:where(.group):hover *){background-color:var(--color-hover-subtle)}.group-hover\:bg-muted:is(:where(.group):hover *){background-color:var(--color-muted)}.group-hover\:text-fg-default:is(:where(.group):hover *){color:var(--color-fg-default)}.group-hover\:text-fg-secondary:is(:where(.group):hover *){color:var(--color-fg-secondary)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:border-cta:is(:where(.peer):checked~*){border-color:var(--color-cta)}.peer-checked\:bg-cta:is(:where(.peer):checked~*){background-color:var(--color-cta)}.peer-focus-visible\:border-border-focus:is(:where(.peer):focus-visible~*){border-color:var(--color-border-focus)}.peer-focus-visible\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:is(:where(.peer):focus-visible~*){--tw-shadow:0 0 0 4px var(--tw-shadow-color,var(--accent-soft-primary))}@supports (color:color-mix(in lab,red,red)){.peer-focus-visible\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:is(:where(.peer):focus-visible~*){--tw-shadow:0 0 0 4px var(--tw-shadow-color,color-mix(in srgb,var(--accent-soft-primary) 90%,transparent))}}.peer-focus-visible\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:is(:where(.peer):focus-visible~*){box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker{display:none}.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-xs::placeholder{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.placeholder\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-fg-placeholder::placeholder{color:var(--color-fg-placeholder)}.before\:mr-1:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 1)}.before\:content-\[\"·\"\]:before{--tw-content:"·";content:var(--tw-content)}.after\:block:after{content:var(--tw-content);display:block}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing) * 4)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:start:first-child{inset-inline-start:var(--spacing)}.first\:end:first-child{inset-inline-end:var(--spacing)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}.focus-within\:border-border-focus:focus-within{border-color:var(--color-border-focus)}.focus-within\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:focus-within{--tw-shadow:0 0 0 4px var(--tw-shadow-color,var(--accent-soft-primary))}@supports (color:color-mix(in lab,red,red)){.focus-within\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:focus-within{--tw-shadow:0 0 0 4px var(--tw-shadow-color,color-mix(in srgb,var(--accent-soft-primary) 90%,transparent))}}.focus-within\:shadow-\[0_0_0_4px_color-mix\(in_srgb\,var\(--accent-soft-primary\)_90\%\,transparent\)\]:focus-within{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-amber-300\/80:hover{border-color:#ffd236cc}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-300\/80:hover{border-color:color-mix(in oklab,var(--color-amber-300) 80%,transparent)}}.hover\:border-border-secondary:hover,.hover\:border-border-secondary\/70:hover{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border-secondary\/70:hover{border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.hover\:border-border-secondary\/80:hover{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border-secondary\/80:hover{border-color:color-mix(in oklab,var(--color-border-secondary) 80%,transparent)}}.hover\:border-border-subtle:hover,.hover\:border-border-subtle\/80:hover{border-color:var(--color-border-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:border-border-subtle\/80:hover{border-color:color-mix(in oklab,var(--color-border-subtle) 80%,transparent)}}.hover\:border-sky-300\/80:hover{border-color:#77d4ffcc}@supports (color:color-mix(in lab,red,red)){.hover\:border-sky-300\/80:hover{border-color:color-mix(in oklab,var(--color-sky-300) 80%,transparent)}}.hover\:bg-accent-danger-hover:hover{background-color:var(--color-accent-danger-hover)}.hover\:bg-accent-secondary-hover:hover{background-color:var(--color-accent-secondary-hover)}.hover\:bg-accent-soft-danger-hover:hover{background-color:var(--color-accent-soft-danger-hover)}.hover\:bg-accent-soft-success-hover:hover{background-color:var(--color-accent-soft-success-hover)}.hover\:bg-black\/34:hover{background-color:#00000057}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/34:hover{background-color:color-mix(in oklab,var(--color-black) 34%,transparent)}}.hover\:bg-cta-hover:hover{background-color:var(--color-cta-hover)}.hover\:bg-elevated:hover{background-color:var(--color-elevated)}.hover\:bg-hover:hover{background-color:var(--color-hover)}.hover\:bg-hover-subtle:hover,.hover\:bg-hover-subtle\/25:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/25:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 25%,transparent)}}.hover\:bg-hover-subtle\/35:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/35:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 35%,transparent)}}.hover\:bg-hover-subtle\/70:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/70:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 70%,transparent)}}.hover\:bg-hover-subtle\/80:hover{background-color:var(--color-hover-subtle)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-hover-subtle\/80:hover{background-color:color-mix(in oklab,var(--color-hover-subtle) 80%,transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-accent-primary:hover{color:var(--color-accent-primary)}.hover\:text-accent-success:hover{color:var(--color-accent-success)}.hover\:text-fg-default:hover,.hover\:text-fg-default\/80:hover{color:var(--color-fg-default)}@supports (color:color-mix(in lab,red,red)){.hover\:text-fg-default\/80:hover{color:color-mix(in oklab,var(--color-fg-default) 80%,transparent)}}.hover\:text-fg-default\/85:hover{color:var(--color-fg-default)}@supports (color:color-mix(in lab,red,red)){.hover\:text-fg-default\/85:hover{color:color-mix(in oklab,var(--color-fg-default) 85%,transparent)}}.hover\:text-fg-error:hover{color:var(--color-fg-error)}.hover\:text-fg-secondary:hover{color:var(--color-fg-secondary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/90:hover{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\:text-white\/90:hover{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_18px_42px_-34px_rgba\(15\,23\,42\,0\.42\)\]:hover{--tw-shadow:0 18px 42px -34px var(--tw-shadow-color,#0f172a6b);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-hover-subtle:focus{background-color:var(--color-hover-subtle)}.focus\:text-accent-success:focus{color:var(--color-accent-success)}.focus\:text-fg-default:focus{color:var(--color-fg-default)}.focus\:text-fg-error:focus{color:var(--color-fg-error)}.focus\:text-white\/90:focus{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.focus\:text-white\/90:focus{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.focus\:opacity-100:focus{opacity:1}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:opacity-100:focus-visible{opacity:1}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-accent-danger-hover:active{background-color:var(--color-accent-danger-hover)}.active\:bg-accent-secondary-hover:active{background-color:var(--color-accent-secondary-hover)}.active\:bg-accent-soft-danger-hover:active{background-color:var(--color-accent-soft-danger-hover)}.active\:bg-accent-soft-success-hover:active{background-color:var(--color-accent-soft-success-hover)}.active\:bg-active:active{background-color:var(--color-active)}.active\:bg-cta-hover:active{background-color:var(--color-cta-hover)}.active\:bg-hover:active{background-color:var(--color-hover)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.aria-expanded\:bg-hover-subtle[aria-expanded=true]{background-color:var(--color-hover-subtle)}.aria-expanded\:text-fg-default[aria-expanded=true]{color:var(--color-fg-default)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-hover-subtle[data-highlighted]{background-color:var(--color-hover-subtle)}.data-\[highlighted\]\:text-fg-default[data-highlighted]{color:var(--color-fg-default)}.data-\[state\=on\]\:border-border-secondary[data-state=on],.data-\[state\=on\]\:border-border-secondary\/70[data-state=on]{border-color:var(--color-border-secondary)}@supports (color:color-mix(in lab,red,red)){.data-\[state\=on\]\:border-border-secondary\/70[data-state=on]{border-color:color-mix(in oklab,var(--color-border-secondary) 70%,transparent)}}.data-\[state\=on\]\:bg-cta[data-state=on]{background-color:var(--color-cta)}.data-\[state\=on\]\:bg-elevated[data-state=on]{background-color:var(--color-elevated)}.data-\[state\=on\]\:text-fg-default[data-state=on]{color:var(--color-fg-default)}.data-\[state\=on\]\:text-fg-on-filled[data-state=on]{color:var(--color-fg-on-filled)}.data-\[state\=on\]\:shadow-\[0_8px_18px_-16px_rgba\(15\,18\,24\,0\.28\)\][data-state=on]{--tw-shadow:0 8px 18px -16px var(--tw-shadow-color,#0f121847);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:var(--animate-fade-in)}.data-\[state\=open\]\:animate-zoom-in[data-state=open]{animation:var(--animate-zoom-in)}.data-\[state\=open\]\:bg-hover-subtle[data-state=open]{background-color:var(--color-hover-subtle)}.data-\[state\=open\]\:text-fg-default[data-state=open]{color:var(--color-fg-default)}@media not all and (min-width:999px){.max-\[999px\]\:after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.max-\[999px\]\:after\:absolute:after{content:var(--tw-content);position:absolute}.max-\[999px\]\:after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.max-\[999px\]\:after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.max-\[999px\]\:after\:h-24:after{content:var(--tw-content);height:calc(var(--spacing) * 24)}.max-\[999px\]\:after\:w-12:after{content:var(--tw-content);width:calc(var(--spacing) * 12)}.max-\[999px\]\:after\:bg-\[linear-gradient\(to_right\,transparent\,var\(--page-bg\)\)\]:after{content:var(--tw-content);background-image:linear-gradient(to right,transparent,var(--page-bg))}.max-\[999px\]\:after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}}@media not all and (min-width:40rem){.max-sm\:disabled\:opacity-100:disabled{opacity:1}}@media(min-width:1000px){.min-\[1000px\]\:pointer-events-auto{pointer-events:auto}.min-\[1000px\]\:static{position:static}.min-\[1000px\]\:hidden{display:none}.min-\[1000px\]\:w-auto{width:auto}.min-\[1000px\]\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.min-\[1000px\]\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}@media(min-width:1200px){.min-\[1200px\]\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}@media(min-width:40rem){.sm\:col-start-1{grid-column-start:1}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-auto{grid-column-start:auto}.sm\:row-start-1{grid-row-start:1}.sm\:row-start-2{grid-row-start:2}.sm\:row-start-auto{grid-row-start:auto}.sm\:mx-0{margin-inline:calc(var(--spacing) * 0)}.sm\:mt-2{margin-top:calc(var(--spacing) * 2)}.sm\:-mr-4{margin-right:calc(var(--spacing) * -4)}.sm\:ml-10{margin-left:calc(var(--spacing) * 10)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-7{height:calc(var(--spacing) * 7)}.sm\:h-11{height:calc(var(--spacing) * 11)}.sm\:h-\[352px\]{height:352px}.sm\:max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.sm\:min-h-8{min-height:calc(var(--spacing) * 8)}.sm\:min-h-9{min-height:calc(var(--spacing) * 9)}.sm\:min-h-20{min-height:calc(var(--spacing) * 20)}.sm\:min-h-24{min-height:calc(var(--spacing) * 24)}.sm\:w-\[18rem\]{width:18rem}.sm\:w-\[300px\]{width:300px}.sm\:w-auto{width:auto}.sm\:max-w-\[176px\]{max-width:176px}.sm\:max-w-\[336px\]{max-width:336px}.sm\:max-w-\[480px\]{max-width:480px}.sm\:max-w-\[560px\]{max-width:560px}.sm\:max-w-\[640px\]{max-width:640px}.sm\:max-w-\[720px\]{max-width:720px}.sm\:min-w-7{min-width:calc(var(--spacing) * 7)}.sm\:min-w-9{min-width:calc(var(--spacing) * 9)}.sm\:flex-1{flex:1}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.sm\:grid-cols-\[auto_minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:auto minmax(0,1fr) auto auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:grid-cols-\[minmax\(0\,180px\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,180px) minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-x-4{column-gap:calc(var(--spacing) * 4)}.sm\:gap-y-0{row-gap:calc(var(--spacing) * 0)}.sm\:self-auto{align-self:auto}.sm\:self-center{align-self:center}.sm\:justify-self-end{justify-self:flex-end}.sm\:rounded-\[16px\]{border-radius:16px}.sm\:rounded-\[18px\]{border-radius:18px}.sm\:rounded-\[20px\]{border-radius:20px}.sm\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.sm\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.sm\:p-2{padding:calc(var(--spacing) * 2)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-2{padding-block:calc(var(--spacing) * 2)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:pr-48{padding-right:calc(var(--spacing) * 48)}.sm\:text-\[2\.15rem\]{font-size:2.15rem}.sm\:opacity-0{opacity:0}@media(hover:hover){.sm\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.sm\:focus-visible\:opacity-100:focus-visible{opacity:1}}@media(min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:h-10{height:calc(var(--spacing) * 10)}.md\:w-10{width:calc(var(--spacing) * 10)}.md\:w-auto{width:auto}.md\:basis-auto{flex-basis:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_120px_120px_auto\]{grid-template-columns:minmax(0,1fr) 120px 120px auto}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(10\.5rem\,12rem\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(10.5rem,12rem) minmax(0,1fr) auto}.md\:items-center{align-items:center}.md\:justify-self-end{justify-self:flex-end}.md\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:left-0{left:calc(var(--spacing) * 0)}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-h-\[142px\]{min-height:142px}.lg\:w-72{width:calc(var(--spacing) * 72)}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:p-2\.5{padding:calc(var(--spacing) * 2.5)}.lg\:\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}}@media(min-width:80rem){.xl\:block{display:block}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}.xl\:pr-5{padding-right:calc(var(--spacing) * 5)}}@media(min-width:96rem){.\32xl\:grid-cols-\[minmax\(0\,1fr\)_22rem\]{grid-template-columns:minmax(0,1fr) 22rem}}.dark\:border-amber-200\/20:where(html.dark *){border-color:#fee68533}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-200\/20:where(html.dark *){border-color:color-mix(in oklab,var(--color-amber-200) 20%,transparent)}}.dark\:border-sky-200\/20:where(html.dark *){border-color:#b8e6fe33}@supports (color:color-mix(in lab,red,red)){.dark\:border-sky-200\/20:where(html.dark *){border-color:color-mix(in oklab,var(--color-sky-200) 20%,transparent)}}.dark\:bg-\[color-mix\(in_srgb\,var\(--elevated\)_82\%\,var\(--hover-subtle\)\)\]:where(html.dark *){background-color:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-\[color-mix\(in_srgb\,var\(--elevated\)_82\%\,var\(--hover-subtle\)\)\]:where(html.dark *){background-color:color-mix(in srgb,var(--elevated) 82%,var(--hover-subtle))}}.dark\:bg-emphasis:where(html.dark *),.dark\:bg-emphasis\/70:where(html.dark *){background-color:var(--color-emphasis)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emphasis\/70:where(html.dark *){background-color:color-mix(in oklab,var(--color-emphasis) 70%,transparent)}}.dark\:bg-white\/8:where(html.dark *){background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/8:where(html.dark *){background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.dark\:bg-\[linear-gradient\(135deg\,rgba\(23\,35\,52\,0\.72\)_0\%\,rgba\(35\,31\,62\,0\.62\)_54\%\,rgba\(20\,50\,39\,0\.58\)_100\%\)\]:where(html.dark *){background-image:linear-gradient(135deg,#172334b8,#231f3e9e 54%,#14322794)}.dark\:bg-\[linear-gradient\(135deg\,rgba\(44\,34\,18\,0\.58\)_0\%\,rgba\(20\,34\,48\,0\.72\)_58\%\,rgba\(19\,50\,62\,0\.62\)_100\%\)\]:where(html.dark *){background-image:linear-gradient(135deg,#2c221294,#142230b8 58%,#13323e9e)}.dark\:text-emerald-200:where(html.dark *){color:var(--color-emerald-200)}.dark\:text-rose-200:where(html.dark *){color:var(--color-rose-200)}.dark\:text-sky-200:where(html.dark *){color:var(--color-sky-200)}.dark\:brightness-\[0\.85\]:where(html.dark *){--tw-brightness:brightness(.85);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,)}.dark\:saturate-\[0\.9\]:where(html.dark *){--tw-saturate:saturate(.9);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,)}.\[\&_\.katex-display\]\:m-0 .katex-display{margin:calc(var(--spacing) * 0)}.\[\&_svg\]\:mx-auto svg{margin-inline:auto}.\[\&_svg\]\:block svg{display:block}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-h-\[min\(68vh\,640px\)\] svg{max-height:min(68vh,640px)}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:var(--radius-full)}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-border-secondary::-webkit-scrollbar-thumb{background-color:var(--color-border-secondary)}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\:first-child\]\:-translate-x-\[3px\]>svg:first-child{--tw-translate-x: -3px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\:last-child\]\:translate-x-\[3px\]>svg:last-child{--tw-translate-x:3px;translate:var(--tw-translate-x) var(--tw-translate-y)}}@keyframes save-ring-spin{to{transform:rotate(360deg)}}:root{color-scheme:light;--surface:#f7f8fa;--muted:#f1f3f6;--subtle:#f8fafceb;--elevated:#fbfcfd;--emphasis:#e7ebf0;--hover:#1b1f250f;--hover-subtle:#1b1f2509;--active:#1b1f251a;--ghost:#1b1f250f;--fg:#151922;--fg-default:#202631;--fg-muted:#485160;--fg-secondary:#626d7c;--fg-tertiary:#8993a2;--fg-disabled:#bcc5d0;--fg-placeholder:#98a2b0;--fg-error:#a24545;--fg-on-accent:#f6f8fb;--fg-on-filled:#f6f8fb;--fg-weekend:#c24b62;--border:#a4acb8;--border-secondary:#c9d0d8;--border-subtle:#e5e9ee;--border-focus:#757f8d;--border-error:#d47777;--accent-primary:#5d6672;--accent-primary-hover:#4f5762;--accent-secondary:#5d6672;--accent-secondary-hover:#4f5762;--accent-danger:#b94a4a;--accent-danger-hover:#a53e3e;--accent-success:#7f9c94;--accent-success-hover:#6e8a82;--accent-soft-primary:#5d66721f;--accent-soft-primary-hover:#5d66722e;--accent-soft-danger:#d68d872e;--accent-soft-danger-hover:#d68d8742;--accent-soft-success:#7f9b862e;--accent-soft-success-hover:#7f9b8642;--cta:#23272d;--cta-hover:#171a1f;--overlay:#13181f5c;--highlight:#5d66721a;--highlight-fg:#202631;--divider:#d9e1e8;--page-bg:#f2f5f8}html.dark{color-scheme:dark;--surface:#16191e;--muted:#1b2026;--subtle:#20252db3;--elevated:#1d2229;--emphasis:#262c34;--hover:#eff3f712;--hover-subtle:#eff3f70a;--active:#eff3f71a;--ghost:#eff3f712;--fg:#eef2f7;--fg-default:#e6ebf2;--fg-muted:#c7cfdb;--fg-secondary:#a9b3c2;--fg-tertiary:#7f8998;--fg-disabled:#545d69;--fg-placeholder:#717b88;--fg-error:#efaaaa;--fg-on-accent:#12161c;--fg-on-filled:#12161c;--fg-weekend:#f19aa9;--border:#48515d;--border-secondary:#5a6471;--border-subtle:#29303a;--border-focus:#b4c0cf;--border-error:#efaaaa;--accent-primary:#b8c0ca;--accent-primary-hover:#c9d0d8;--accent-secondary:#b8c0ca;--accent-secondary-hover:#c9d0d8;--accent-danger:#d36f6f;--accent-danger-hover:#e08383;--accent-success:#90aea4;--accent-success-hover:#a4c0b7;--accent-soft-primary:#b8c0ca1f;--accent-soft-primary-hover:#b8c0ca2e;--accent-soft-danger:#d7928b24;--accent-soft-danger-hover:#d7928b38;--accent-soft-success:#88a99524;--accent-soft-success-hover:#88a99538;--cta:#edf1f5;--cta-hover:#f8fafc;--overlay:#080c108f;--highlight:#b8c0ca1f;--highlight-fg:#eef2f7;--divider:#2b3440;--page-bg:#101318}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes zoom-in{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoom-out{0%{transform:scale(1)}to{transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes slide-in-from-bottom{0%{transform:translateY(8px)}to{transform:translateY(0)}}@keyframes slide-in-from-left{0%{transform:translate(-8px)}to{transform:translate(0)}}@keyframes slide-in-from-right{0%{transform:translate(8px)}to{transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rounded-sketchy-xs{border-radius:6px}.rounded-sketchy-sm{border-radius:10px}.rounded-sketchy-md{border-radius:14px}.rounded-sketchy-lg{border-radius:18px}.rounded-sketchy-xl{border-radius:28px}.sketchy{border:1px solid var(--border);border-radius:18px}.sketchy-sm{border:1px solid var(--border);border-radius:12px}.sketchy-hover:hover{border-radius:18px}.text-display{font-size:1.375rem;line-height:1.3}.text-heading{font-size:1.125rem;line-height:1.4}.text-subheading{font-size:1rem;line-height:1.5}.text-body{font-size:1rem;line-height:1.6}.text-meta{font-size:.875rem;line-height:1.5}.text-label{font-size:.75rem;line-height:1.4}.text-micro{font-size:.625rem;line-height:1.4}.surface-base{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:inset 0 1px #ffffff1a,0 1px 4px -2px #171d260a}.surface-elevated,.surface-floating{background:var(--elevated)}@supports (color:color-mix(in lab,red,red)){.surface-floating{background:color-mix(in srgb,var(--elevated) 90%,transparent)}}.surface-floating{border:1px solid var(--border-secondary)}@supports (color:color-mix(in lab,red,red)){.surface-floating{border:1px solid color-mix(in srgb,var(--border-secondary) 45%,transparent)}}.surface-floating{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;box-shadow:0 12px 24px -22px #171d2624}.focus-ring-soft:focus-visible{box-shadow:0 0 0 4px var(--accent-soft-primary);outline:none}@supports (color:color-mix(in lab,red,red)){.focus-ring-soft:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft-primary) 90%,transparent)}}.focus-ring-soft:focus-visible{border-color:var(--border-focus)}html.dark .surface-base{box-shadow:inset 0 1px #ffffff08,0 1px 4px -2px #0000002e}.grid-auto-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid-search-bar{grid-template-columns:32px 1fr 24px}.progress-fill{width:var(--progress-width)}.save-progress-ring{--save-progress:100%;--save-ring-color:var(--border-secondary);background:conic-gradient(from -90deg,var(--save-ring-color) var(--save-progress),var(--hover-subtle) 0)}.save-progress-ring-active{--save-progress:28%;--save-ring-color:var(--accent-primary);animation:.8s linear infinite save-ring-spin}.save-progress-ring-complete{--save-progress:100%;--save-ring-color:var(--accent-success)}.save-progress-ring-error{--save-progress:100%;--save-ring-color:var(--accent-danger)}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.save-progress-ring-active{--save-progress:100%;animation:none}}.skeleton-sized{width:var(--skeleton-width,auto);height:var(--skeleton-height,30px);opacity:var(--skeleton-opacity,1)}.graph-canvas{background:var(--graph-bg);-webkit-user-select:none;user-select:none}.legend-dot{background:var(--legend-color)}html.dark .surface-floating{box-shadow:0 18px 36px -28px #0000006b}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|