@muhgholy/next-drive 4.23.22 → 4.23.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{chunk-P5U4E6MG.js → chunk-CPMMHIQM.js} +46 -5
  2. package/dist/chunk-CPMMHIQM.js.map +1 -0
  3. package/dist/{chunk-SDOFFTZ5.cjs → chunk-IVSBLEMY.cjs} +46 -5
  4. package/dist/chunk-IVSBLEMY.cjs.map +1 -0
  5. package/dist/client/components/drive/dnd/context.d.ts.map +1 -1
  6. package/dist/client/components/drive/explorer.d.ts.map +1 -1
  7. package/dist/client/components/drive/file-grid.d.ts.map +1 -1
  8. package/dist/client/components/drive/upload.d.ts.map +1 -1
  9. package/dist/client/file-chooser.d.ts.map +1 -1
  10. package/dist/client/hooks/use-marquee.d.ts +14 -0
  11. package/dist/client/hooks/use-marquee.d.ts.map +1 -0
  12. package/dist/client/hooks/use-upload.d.ts +5 -2
  13. package/dist/client/hooks/use-upload.d.ts.map +1 -1
  14. package/dist/client/index.cjs +156 -24
  15. package/dist/client/index.cjs.map +1 -1
  16. package/dist/client/index.css +1 -1
  17. package/dist/client/index.js +156 -24
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/client/upload.d.ts.map +1 -1
  20. package/dist/server/actions/drive.d.ts.map +1 -1
  21. package/dist/server/express.cjs +11 -11
  22. package/dist/server/express.js +2 -2
  23. package/dist/server/hono.cjs +11 -11
  24. package/dist/server/hono.js +2 -2
  25. package/dist/server/index.cjs +18 -18
  26. package/dist/server/index.d.ts.map +1 -1
  27. package/dist/server/index.js +1 -1
  28. package/dist/server/zod/schemas.d.ts +5 -0
  29. package/dist/server/zod/schemas.d.ts.map +1 -1
  30. package/dist/types/client/index.d.ts +3 -1
  31. package/dist/types/client/index.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/chunk-P5U4E6MG.js.map +0 -1
  34. package/dist/chunk-SDOFFTZ5.cjs.map +0 -1
@@ -360,6 +360,7 @@ var uploadFile = (options) => {
360
360
  folderId = null,
361
361
  accountId = null,
362
362
  withCredentials = false,
363
+ conflictAction,
363
364
  signal,
364
365
  onProgress,
365
366
  onLog,
@@ -455,6 +456,7 @@ var uploadFile = (options) => {
455
456
  formData.append("fileSize", String(file.size));
456
457
  formData.append("fileType", file.type);
457
458
  formData.append("folderId", folderId || "root");
459
+ if (conflictAction) formData.append("conflictAction", conflictAction);
458
460
  if (driveId) formData.append("driveId", driveId);
459
461
  let attempts = 0;
460
462
  let success = false;
@@ -623,10 +625,11 @@ var useUpload = (apiEndpoint, activeAccountId, withCredentials = false, onUpload
623
625
  folderId: meta?.folderId ?? null,
624
626
  accountId: activeAccountId,
625
627
  withCredentials,
628
+ conflictAction: meta?.conflictAction,
626
629
  id: item.id,
627
630
  onLog: ({ type, message }) => addLog(item.id, type, message),
628
631
  onProgress: ({ percent, currentChunk, totalChunks }) => updateUpload(item.id, { percent, currentChunk, totalChunks }),
629
- onComplete: (uploaded) => onUploadComplete?.(uploaded)
632
+ onComplete: (uploaded) => onUploadComplete?.(uploaded, meta?.conflictAction === "replace")
630
633
  });
631
634
  handles.current.set(item.id, { cancel: handle.cancel });
632
635
  handle.promise.then((result) => {
@@ -642,16 +645,19 @@ var useUpload = (apiEndpoint, activeAccountId, withCredentials = false, onUpload
642
645
  },
643
646
  [apiEndpoint, activeAccountId, withCredentials, onUploadComplete, addLog, updateUpload]
644
647
  );
645
- const uploadFiles2 = React3.useCallback(async (files, folderId) => {
648
+ const uploadFiles2 = React3.useCallback((files, folderId, existingItems) => {
649
+ const takenNames = new Set(existingItems.filter((i) => i.information.type === "FILE" && i.parentId === folderId).map((i) => i.name));
646
650
  const newUploads = files.map((file) => {
647
651
  const id = `upload_${Date.now()}_${Math.random().toString(36).slice(2)}`;
648
652
  filesRef.current.set(id, file);
649
653
  metaRef.current.set(id, { folderId });
654
+ const conflicts = takenNames.has(file.name);
655
+ takenNames.add(file.name);
650
656
  return {
651
657
  id,
652
658
  name: file.name,
653
659
  size: file.size,
654
- status: "queued",
660
+ status: conflicts ? "conflict" : "queued",
655
661
  currentChunk: 0,
656
662
  totalChunks: 1,
657
663
  percent: 0,
@@ -660,6 +666,24 @@ var useUpload = (apiEndpoint, activeAccountId, withCredentials = false, onUpload
660
666
  });
661
667
  setUploads((prev) => [...prev, ...newUploads]);
662
668
  }, []);
669
+ const resolveConflict = React3.useCallback((id, action) => {
670
+ if (action === "skip") {
671
+ updateUpload(id, { status: "cancelled" });
672
+ return;
673
+ }
674
+ const meta = metaRef.current.get(id);
675
+ if (meta) metaRef.current.set(id, { ...meta, conflictAction: action });
676
+ updateUpload(id, { status: "queued" });
677
+ }, [updateUpload]);
678
+ const resolveAllConflicts = React3.useCallback((action) => {
679
+ setUploads((prev) => prev.map((u) => {
680
+ if (u.status !== "conflict") return u;
681
+ if (action === "skip") return { ...u, status: "cancelled" };
682
+ const meta = metaRef.current.get(u.id);
683
+ if (meta) metaRef.current.set(u.id, { ...meta, conflictAction: action });
684
+ return { ...u, status: "queued" };
685
+ }));
686
+ }, []);
663
687
  const cancelUpload = React3.useCallback(
664
688
  (id) => {
665
689
  const handle = handles.current.get(id);
@@ -670,7 +694,7 @@ var useUpload = (apiEndpoint, activeAccountId, withCredentials = false, onUpload
670
694
  );
671
695
  const cancelAllUploads = React3.useCallback(async () => {
672
696
  uploads.forEach((u) => {
673
- if (["queued", "uploading", "pending"].includes(u.status)) {
697
+ if (["conflict", "queued", "uploading", "pending"].includes(u.status)) {
674
698
  cancelUpload(u.id);
675
699
  }
676
700
  });
@@ -684,9 +708,9 @@ var useUpload = (apiEndpoint, activeAccountId, withCredentials = false, onUpload
684
708
  startUpload(queued);
685
709
  }
686
710
  }, [uploads, startUpload]);
687
- return { uploads, uploadFiles: uploadFiles2, cancelUpload, cancelAllUploads };
711
+ return { uploads, uploadFiles: uploadFiles2, cancelUpload, cancelAllUploads, resolveConflict, resolveAllConflicts };
688
712
  };
689
- var cssContent = ".nd-drive-root,.nd-drive-root *,.nd-drive-root ::backdrop,.nd-drive-root :after,.nd-drive-root :before{--nd-tw-translate-x:0;--nd-tw-translate-y:0;--nd-tw-translate-z:0;--nd-tw-scale-x:1;--nd-tw-scale-y:1;--nd-tw-scale-z:1;--nd-tw-space-y-reverse:0;--nd-tw-divide-y-reverse:0;--nd-tw-border-style:solid;--nd-tw-gradient-from:#0000;--nd-tw-gradient-via:#0000;--nd-tw-gradient-to:#0000;--nd-tw-gradient-from-position:0%;--nd-tw-gradient-via-position:50%;--nd-tw-gradient-to-position:100%;--nd-tw-shadow:0 0 #0000;--nd-tw-shadow-alpha:100%;--nd-tw-inset-shadow:0 0 #0000;--nd-tw-inset-shadow-alpha:100%;--nd-tw-ring-shadow:0 0 #0000;--nd-tw-inset-ring-shadow:0 0 #0000;--nd-tw-ring-offset-width:0px;--nd-tw-ring-offset-color:#fff;--nd-tw-ring-offset-shadow:0 0 #0000;--nd-tw-space-x-reverse:0}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.nd\\:pointer-events-none{pointer-events:none}.nd\\:sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}.nd\\:absolute,.nd\\:sr-only{position:absolute}.nd\\:fixed{position:fixed}.nd\\:relative{position:relative}.nd\\:sticky{position:sticky}.nd\\:inset-0{inset:calc(var(--nd-spacing)*0)}.nd\\:inset-x-0{inset-inline:calc(var(--nd-spacing)*0)}.nd\\:inset-y-0{inset-block:calc(var(--nd-spacing)*0)}.nd\\:-top-1\\.5{top:calc(var(--nd-spacing)*-1.5)}.nd\\:top-0{top:calc(var(--nd-spacing)*0)}.nd\\:top-1\\.5{top:calc(var(--nd-spacing)*1.5)}.nd\\:top-1\\/2{top:50%}.nd\\:top-2{top:calc(var(--nd-spacing)*2)}.nd\\:top-3{top:calc(var(--nd-spacing)*3)}.nd\\:top-4{top:calc(var(--nd-spacing)*4)}.nd\\:top-\\[50\\%\\]{top:50%}.nd\\:-right-1\\.5{right:calc(var(--nd-spacing)*-1.5)}.nd\\:right-0{right:calc(var(--nd-spacing)*0)}.nd\\:right-0\\.5{right:calc(var(--nd-spacing)*.5)}.nd\\:right-1\\.5{right:calc(var(--nd-spacing)*1.5)}.nd\\:right-2{right:calc(var(--nd-spacing)*2)}.nd\\:right-3{right:calc(var(--nd-spacing)*3)}.nd\\:right-4{right:calc(var(--nd-spacing)*4)}.nd\\:bottom-0{bottom:calc(var(--nd-spacing)*0)}.nd\\:bottom-1\\.5{bottom:calc(var(--nd-spacing)*1.5)}.nd\\:bottom-2{bottom:calc(var(--nd-spacing)*2)}.nd\\:left-0{left:calc(var(--nd-spacing)*0)}.nd\\:left-2{left:calc(var(--nd-spacing)*2)}.nd\\:left-2\\.5{left:calc(var(--nd-spacing)*2.5)}.nd\\:left-\\[50\\%\\]{left:50%}.nd\\:z-10{z-index:10}.nd\\:z-50{z-index:50}.nd\\:col-start-2{grid-column-start:2}.nd\\:container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.nd\\:mx-auto{margin-inline:auto}.nd\\:my-1{margin-block:calc(var(--nd-spacing)*1)}.nd\\:mt-0\\.5{margin-top:calc(var(--nd-spacing)*.5)}.nd\\:mt-1{margin-top:calc(var(--nd-spacing)*1)}.nd\\:mt-1\\.5{margin-top:calc(var(--nd-spacing)*1.5)}.nd\\:mt-2{margin-top:calc(var(--nd-spacing)*2)}.nd\\:mt-4{margin-top:calc(var(--nd-spacing)*4)}.nd\\:mr-2{margin-right:calc(var(--nd-spacing)*2)}.nd\\:mb-1\\.5{margin-bottom:calc(var(--nd-spacing)*1.5)}.nd\\:mb-2{margin-bottom:calc(var(--nd-spacing)*2)}.nd\\:mb-3{margin-bottom:calc(var(--nd-spacing)*3)}.nd\\:mb-4{margin-bottom:calc(var(--nd-spacing)*4)}.nd\\:ml-5\\.5{margin-left:calc(var(--nd-spacing)*5.5)}.nd\\:ml-auto{margin-left:auto}.nd\\:line-clamp-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.nd\\:flex{display:flex}.nd\\:grid{display:grid}.nd\\:hidden{display:none}.nd\\:inline-flex{display:inline-flex}.nd\\:aspect-square{aspect-ratio:1/1}.nd\\:size-1\\.5{height:calc(var(--nd-spacing)*1.5);width:calc(var(--nd-spacing)*1.5)}.nd\\:size-2{height:calc(var(--nd-spacing)*2);width:calc(var(--nd-spacing)*2)}.nd\\:size-2\\.5{height:calc(var(--nd-spacing)*2.5);width:calc(var(--nd-spacing)*2.5)}.nd\\:size-3{height:calc(var(--nd-spacing)*3);width:calc(var(--nd-spacing)*3)}.nd\\:size-3\\.5{height:calc(var(--nd-spacing)*3.5);width:calc(var(--nd-spacing)*3.5)}.nd\\:size-4{height:calc(var(--nd-spacing)*4);width:calc(var(--nd-spacing)*4)}.nd\\:size-5{height:calc(var(--nd-spacing)*5);width:calc(var(--nd-spacing)*5)}.nd\\:size-6{height:calc(var(--nd-spacing)*6);width:calc(var(--nd-spacing)*6)}.nd\\:size-7{height:calc(var(--nd-spacing)*7);width:calc(var(--nd-spacing)*7)}.nd\\:size-8{height:calc(var(--nd-spacing)*8);width:calc(var(--nd-spacing)*8)}.nd\\:size-9{height:calc(var(--nd-spacing)*9);width:calc(var(--nd-spacing)*9)}.nd\\:size-10{height:calc(var(--nd-spacing)*10);width:calc(var(--nd-spacing)*10)}.nd\\:size-12{height:calc(var(--nd-spacing)*12);width:calc(var(--nd-spacing)*12)}.nd\\:size-16{height:calc(var(--nd-spacing)*16);width:calc(var(--nd-spacing)*16)}.nd\\:size-full{height:100%;width:100%}.nd\\:h-1{height:calc(var(--nd-spacing)*1)}.nd\\:h-1\\.5{height:calc(var(--nd-spacing)*1.5)}.nd\\:h-2{height:calc(var(--nd-spacing)*2)}.nd\\:h-3\\.5{height:calc(var(--nd-spacing)*3.5)}.nd\\:h-4{height:calc(var(--nd-spacing)*4)}.nd\\:h-5{height:calc(var(--nd-spacing)*5)}.nd\\:h-6{height:calc(var(--nd-spacing)*6)}.nd\\:h-7{height:calc(var(--nd-spacing)*7)}.nd\\:h-8{height:calc(var(--nd-spacing)*8)}.nd\\:h-9{height:calc(var(--nd-spacing)*9)}.nd\\:h-10{height:calc(var(--nd-spacing)*10)}.nd\\:h-11{height:calc(var(--nd-spacing)*11)}.nd\\:h-12{height:calc(var(--nd-spacing)*12)}.nd\\:h-14{height:calc(var(--nd-spacing)*14)}.nd\\:h-auto{height:auto}.nd\\:h-full{height:100%}.nd\\:h-px{height:1px}.nd\\:max-h-40{max-height:calc(var(--nd-spacing)*40)}.nd\\:max-h-80{max-height:calc(var(--nd-spacing)*80)}.nd\\:max-h-\\[85vh\\]{max-height:85vh}.nd\\:min-h-0{min-height:calc(var(--nd-spacing)*0)}.nd\\:min-h-4{min-height:calc(var(--nd-spacing)*4)}.nd\\:w-1\\/3{width:33.33333%}.nd\\:w-2{width:calc(var(--nd-spacing)*2)}.nd\\:w-3\\.5{width:calc(var(--nd-spacing)*3.5)}.nd\\:w-3\\/4{width:75%}.nd\\:w-4{width:calc(var(--nd-spacing)*4)}.nd\\:w-6{width:calc(var(--nd-spacing)*6)}.nd\\:w-7{width:calc(var(--nd-spacing)*7)}.nd\\:w-8{width:calc(var(--nd-spacing)*8)}.nd\\:w-16{width:calc(var(--nd-spacing)*16)}.nd\\:w-20{width:calc(var(--nd-spacing)*20)}.nd\\:w-24{width:calc(var(--nd-spacing)*24)}.nd\\:w-40{width:calc(var(--nd-spacing)*40)}.nd\\:w-52{width:calc(var(--nd-spacing)*52)}.nd\\:w-56{width:calc(var(--nd-spacing)*56)}.nd\\:w-70{width:calc(var(--nd-spacing)*70)}.nd\\:w-72{width:calc(var(--nd-spacing)*72)}.nd\\:w-fit{width:fit-content}.nd\\:w-full{width:100%}.nd\\:w-px{width:1px}.nd\\:max-w-24{max-width:calc(var(--nd-spacing)*24)}.nd\\:max-w-25{max-width:calc(var(--nd-spacing)*25)}.nd\\:max-w-30{max-width:calc(var(--nd-spacing)*30)}.nd\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.nd\\:max-w-lg{max-width:var(--nd-container-lg)}.nd\\:min-w-0{min-width:calc(var(--nd-spacing)*0)}.nd\\:min-w-\\[8rem\\]{min-width:8rem}.nd\\:flex-1{flex:1}.nd\\:shrink-0{flex-shrink:0}.nd\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.nd\\:translate-x-\\[-50\\%\\]{--nd-tw-translate-x:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}.nd\\:-translate-y-1\\/2,.nd\\:translate-y-\\[-50\\%\\]{--nd-tw-translate-y:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}.nd\\:translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--nd-tw-translate-y:calc(-50% - 2px);translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}.nd\\:scale-105{--nd-tw-scale-x:105%;--nd-tw-scale-y:105%;--nd-tw-scale-z:105%;scale:var(--nd-tw-scale-x) var(--nd-tw-scale-y)}.nd\\:scale-\\[1\\.02\\]{scale:1.02}.nd\\:rotate-45{rotate:45deg}.nd\\:animate-\\[indeterminate_1\\.5s_ease-in-out_infinite\\]{animation:indeterminate 1.5s ease-in-out infinite}.nd\\:animate-spin{animation:var(--nd-animate-spin)}.nd\\:cursor-default{cursor:default}.nd\\:cursor-pointer{cursor:pointer}.nd\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nd\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.nd\\:grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.nd\\:flex-col{flex-direction:column}.nd\\:flex-col-reverse{flex-direction:column-reverse}.nd\\:flex-row{flex-direction:row}.nd\\:flex-nowrap{flex-wrap:nowrap}.nd\\:flex-wrap{flex-wrap:wrap}.nd\\:items-center{align-items:center}.nd\\:items-start{align-items:flex-start}.nd\\:justify-between{justify-content:space-between}.nd\\:justify-center{justify-content:center}.nd\\:justify-end{justify-content:flex-end}.nd\\:justify-start{justify-content:flex-start}.nd\\:justify-items-start{justify-items:start}.nd\\:gap-0{gap:calc(var(--nd-spacing)*0)}.nd\\:gap-0\\.5{gap:calc(var(--nd-spacing)*.5)}.nd\\:gap-1{gap:calc(var(--nd-spacing)*1)}.nd\\:gap-1\\.5{gap:calc(var(--nd-spacing)*1.5)}.nd\\:gap-2{gap:calc(var(--nd-spacing)*2)}.nd\\:gap-2\\.5{gap:calc(var(--nd-spacing)*2.5)}.nd\\:gap-3{gap:calc(var(--nd-spacing)*3)}.nd\\:gap-4{gap:calc(var(--nd-spacing)*4)}.nd\\:space-y-0{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*0*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*0*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-0\\.5{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*.5*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*.5*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-1{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*1*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*1*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-2{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*2*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*2*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-3{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*3*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*3*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-4{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*4*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*4*var(--nd-tw-space-y-reverse))}}.nd\\:gap-y-0\\.5{row-gap:calc(var(--nd-spacing)*.5)}.nd\\:divide-y{:where(&>:not(:last-child)){--nd-tw-divide-y-reverse:0;border-bottom-style:var(--nd-tw-border-style);border-bottom-width:calc(1px*(1 - var(--nd-tw-divide-y-reverse)));border-top-style:var(--nd-tw-border-style);border-top-width:calc(1px*var(--nd-tw-divide-y-reverse))}}.nd\\:divide-border\\/50{:where(&>:not(:last-child)){border-color:var(--nd-border);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-border) 50%,transparent)}}}.nd\\:truncate{text-overflow:ellipsis;white-space:nowrap}.nd\\:overflow-hidden,.nd\\:truncate{overflow:hidden}.nd\\:overflow-x-auto{overflow-x:auto}.nd\\:overflow-y-auto{overflow-y:auto}.nd\\:rounded{border-radius:.25rem}.nd\\:rounded-2xl{border-radius:calc(var(--nd-radius) + 8px)}.nd\\:rounded-\\[2px\\]{border-radius:2px}.nd\\:rounded-full{border-radius:calc(infinity*1px)}.nd\\:rounded-lg{border-radius:var(--nd-radius)}.nd\\:rounded-md{border-radius:calc(var(--nd-radius) - 2px)}.nd\\:rounded-none{border-radius:0}.nd\\:rounded-sm{border-radius:calc(var(--nd-radius) - 4px)}.nd\\:rounded-xl{border-radius:calc(var(--nd-radius) + 4px)}.nd\\:rounded-xs{border-radius:var(--nd-radius-xs)}.nd\\:border{border-style:var(--nd-tw-border-style);border-width:1px}.nd\\:border-2{border-style:var(--nd-tw-border-style);border-width:2px}.nd\\:border-t{border-top-style:var(--nd-tw-border-style);border-top-width:1px}.nd\\:border-r{border-right-style:var(--nd-tw-border-style);border-right-width:1px}.nd\\:border-b{border-bottom-style:var(--nd-tw-border-style);border-bottom-width:1px}.nd\\:border-l{border-left-style:var(--nd-tw-border-style);border-left-width:1px}.nd\\:border-dashed{--nd-tw-border-style:dashed;border-style:dashed}.nd\\:border-border{border-color:var(--nd-border)}.nd\\:border-border\\/50{border-color:var(--nd-border);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-border) 50%,transparent)}}.nd\\:border-destructive{border-color:var(--nd-destructive)}.nd\\:border-destructive\\/20{border-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-destructive) 20%,transparent)}}.nd\\:border-emerald-500\\/20{border-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-color-emerald-500) 20%,transparent)}}.nd\\:border-input{border-color:var(--nd-input)}.nd\\:border-muted-foreground\\/25{border-color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-muted-foreground) 25%,transparent)}}.nd\\:border-primary{border-color:var(--nd-primary)}.nd\\:border-primary\\/50{border-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-primary) 50%,transparent)}}.nd\\:border-transparent{border-color:transparent}.nd\\:border-yellow-500\\/20{border-color:var(--nd-color-yellow-500);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-color-yellow-500) 20%,transparent)}}.nd\\:bg-accent\\/30{background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 30%,transparent)}}.nd\\:bg-background{background-color:var(--nd-background)}.nd\\:bg-background\\/50{background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 50%,transparent)}}.nd\\:bg-background\\/95{background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 95%,transparent)}}.nd\\:bg-black\\/50{background-color:var(--nd-color-black);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-black) 50%,transparent)}}.nd\\:bg-black\\/60{background-color:var(--nd-color-black);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-black) 60%,transparent)}}.nd\\:bg-black\\/80{background-color:var(--nd-color-black);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-black) 80%,transparent)}}.nd\\:bg-blue-500\\/10{background-color:var(--nd-color-blue-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-blue-500) 10%,transparent)}}.nd\\:bg-border{background-color:var(--nd-border)}.nd\\:bg-card{background-color:var(--nd-card)}.nd\\:bg-destructive{background-color:var(--nd-destructive)}.nd\\:bg-destructive\\/5{background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 5%,transparent)}}.nd\\:bg-destructive\\/10{background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 10%,transparent)}}.nd\\:bg-emerald-500{background-color:var(--nd-color-emerald-500)}.nd\\:bg-emerald-500\\/5{background-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-emerald-500) 5%,transparent)}}.nd\\:bg-emerald-500\\/10{background-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-emerald-500) 10%,transparent)}}.nd\\:bg-foreground{background-color:var(--nd-foreground)}.nd\\:bg-muted{background-color:var(--nd-muted)}.nd\\:bg-muted-foreground{background-color:var(--nd-muted-foreground)}.nd\\:bg-muted\\/5{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 5%,transparent)}}.nd\\:bg-muted\\/20{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 20%,transparent)}}.nd\\:bg-muted\\/30{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 30%,transparent)}}.nd\\:bg-muted\\/40{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 40%,transparent)}}.nd\\:bg-muted\\/50{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 50%,transparent)}}.nd\\:bg-muted\\/80{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 80%,transparent)}}.nd\\:bg-popover{background-color:var(--nd-popover)}.nd\\:bg-primary{background-color:var(--nd-primary)}.nd\\:bg-primary-foreground{background-color:var(--nd-primary-foreground)}.nd\\:bg-primary\\/5{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 5%,transparent)}}.nd\\:bg-primary\\/10{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 10%,transparent)}}.nd\\:bg-primary\\/20{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 20%,transparent)}}.nd\\:bg-primary\\/90{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 90%,transparent)}}.nd\\:bg-secondary{background-color:var(--nd-secondary)}.nd\\:bg-transparent{background-color:transparent}.nd\\:bg-yellow-500{background-color:var(--nd-color-yellow-500)}.nd\\:bg-yellow-500\\/5{background-color:var(--nd-color-yellow-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-yellow-500) 5%,transparent)}}.nd\\:bg-yellow-500\\/10{background-color:var(--nd-color-yellow-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-yellow-500) 10%,transparent)}}.nd\\:bg-gradient-to-r{--nd-tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--nd-tw-gradient-stops))}.nd\\:from-blue-500{--nd-tw-gradient-from:var(--nd-color-blue-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:from-yellow-500{--nd-tw-gradient-from:var(--nd-color-yellow-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:to-cyan-500{--nd-tw-gradient-to:var(--nd-color-cyan-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:to-orange-500{--nd-tw-gradient-to:var(--nd-color-orange-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:to-purple-500{--nd-tw-gradient-to:var(--nd-color-purple-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:fill-blue-500\\/20{fill:var(--nd-color-blue-500);@supports (color:color-mix(in lab,red,red)){fill:color-mix(in oklab,var(--nd-color-blue-500) 20%,transparent)}}.nd\\:fill-current{fill:currentcolor}.nd\\:fill-foreground{fill:var(--nd-foreground)}.nd\\:object-contain{object-fit:contain}.nd\\:object-cover{object-fit:cover}.nd\\:p-0{padding:calc(var(--nd-spacing)*0)}.nd\\:p-0\\.5{padding:calc(var(--nd-spacing)*.5)}.nd\\:p-1{padding:calc(var(--nd-spacing)*1)}.nd\\:p-1\\.5{padding:calc(var(--nd-spacing)*1.5)}.nd\\:p-2{padding:calc(var(--nd-spacing)*2)}.nd\\:p-2\\.5{padding:calc(var(--nd-spacing)*2.5)}.nd\\:p-3{padding:calc(var(--nd-spacing)*3)}.nd\\:p-4{padding:calc(var(--nd-spacing)*4)}.nd\\:p-6{padding:calc(var(--nd-spacing)*6)}.nd\\:p-8{padding:calc(var(--nd-spacing)*8)}.nd\\:p-12{padding:calc(var(--nd-spacing)*12)}.nd\\:px-1{padding-inline:calc(var(--nd-spacing)*1)}.nd\\:px-1\\.5{padding-inline:calc(var(--nd-spacing)*1.5)}.nd\\:px-2{padding-inline:calc(var(--nd-spacing)*2)}.nd\\:px-2\\.5{padding-inline:calc(var(--nd-spacing)*2.5)}.nd\\:px-3{padding-inline:calc(var(--nd-spacing)*3)}.nd\\:px-4{padding-inline:calc(var(--nd-spacing)*4)}.nd\\:px-6{padding-inline:calc(var(--nd-spacing)*6)}.nd\\:py-1{padding-block:calc(var(--nd-spacing)*1)}.nd\\:py-1\\.5{padding-block:calc(var(--nd-spacing)*1.5)}.nd\\:py-2{padding-block:calc(var(--nd-spacing)*2)}.nd\\:py-2\\.5{padding-block:calc(var(--nd-spacing)*2.5)}.nd\\:py-3{padding-block:calc(var(--nd-spacing)*3)}.nd\\:py-4{padding-block:calc(var(--nd-spacing)*4)}.nd\\:py-6{padding-block:calc(var(--nd-spacing)*6)}.nd\\:py-8{padding-block:calc(var(--nd-spacing)*8)}.nd\\:py-12{padding-block:calc(var(--nd-spacing)*12)}.nd\\:pt-2{padding-top:calc(var(--nd-spacing)*2)}.nd\\:pr-2{padding-right:calc(var(--nd-spacing)*2)}.nd\\:pr-7{padding-right:calc(var(--nd-spacing)*7)}.nd\\:pb-1{padding-bottom:calc(var(--nd-spacing)*1)}.nd\\:pb-8{padding-bottom:calc(var(--nd-spacing)*8)}.nd\\:pl-5\\.5{padding-left:calc(var(--nd-spacing)*5.5)}.nd\\:pl-6{padding-left:calc(var(--nd-spacing)*6)}.nd\\:pl-8{padding-left:calc(var(--nd-spacing)*8)}.nd\\:text-center{text-align:center}.nd\\:text-left{text-align:left}.nd\\:text-right{text-align:right}.nd\\:text-base{font-size:var(--nd-text-base);line-height:var(--nd-tw-leading,var(--nd-text-base--line-height))}.nd\\:text-lg{font-size:var(--nd-text-lg);line-height:var(--nd-tw-leading,var(--nd-text-lg--line-height))}.nd\\:text-sm{font-size:var(--nd-text-sm);line-height:var(--nd-tw-leading,var(--nd-text-sm--line-height))}.nd\\:text-xs{font-size:var(--nd-text-xs);line-height:var(--nd-tw-leading,var(--nd-text-xs--line-height))}.nd\\:text-\\[10px\\]{font-size:10px}.nd\\:text-\\[11px\\]{font-size:11px}.nd\\:leading-none{--nd-tw-leading:1;line-height:1}.nd\\:leading-tight{--nd-tw-leading:var(--nd-leading-tight);line-height:var(--nd-leading-tight)}.nd\\:font-medium{--nd-tw-font-weight:var(--nd-font-weight-medium);font-weight:var(--nd-font-weight-medium)}.nd\\:font-normal{--nd-tw-font-weight:var(--nd-font-weight-normal);font-weight:var(--nd-font-weight-normal)}.nd\\:font-semibold{--nd-tw-font-weight:var(--nd-font-weight-semibold);font-weight:var(--nd-font-weight-semibold)}.nd\\:tracking-tight{--nd-tw-tracking:var(--nd-tracking-tight);letter-spacing:var(--nd-tracking-tight)}.nd\\:tracking-wide{--nd-tw-tracking:var(--nd-tracking-wide);letter-spacing:var(--nd-tracking-wide)}.nd\\:tracking-widest{--nd-tw-tracking:var(--nd-tracking-widest);letter-spacing:var(--nd-tracking-widest)}.nd\\:text-balance{text-wrap:balance}.nd\\:break-words{overflow-wrap:break-word}.nd\\:whitespace-nowrap{white-space:nowrap}.nd\\:whitespace-pre-wrap{white-space:pre-wrap}.nd\\:text-amber-500{color:var(--nd-color-amber-500)}.nd\\:text-amber-600{color:var(--nd-color-amber-600)}.nd\\:text-background{color:var(--nd-background)}.nd\\:text-blue-500{color:var(--nd-color-blue-500)}.nd\\:text-blue-600{color:var(--nd-color-blue-600)}.nd\\:text-card-foreground{color:var(--nd-card-foreground)}.nd\\:text-destructive{color:var(--nd-destructive)}.nd\\:text-emerald-500{color:var(--nd-color-emerald-500)}.nd\\:text-emerald-600{color:var(--nd-color-emerald-600)}.nd\\:text-foreground{color:var(--nd-foreground)}.nd\\:text-gray-400{color:var(--nd-color-gray-400)}.nd\\:text-green-500{color:var(--nd-color-green-500)}.nd\\:text-muted-foreground{color:var(--nd-muted-foreground)}.nd\\:text-muted-foreground\\/50{color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-muted-foreground) 50%,transparent)}}.nd\\:text-muted-foreground\\/60{color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-muted-foreground) 60%,transparent)}}.nd\\:text-muted-foreground\\/70{color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-muted-foreground) 70%,transparent)}}.nd\\:text-orange-500{color:var(--nd-color-orange-500)}.nd\\:text-popover-foreground{color:var(--nd-popover-foreground)}.nd\\:text-primary{color:var(--nd-primary)}.nd\\:text-primary-foreground{color:var(--nd-primary-foreground)}.nd\\:text-purple-500{color:var(--nd-color-purple-500)}.nd\\:text-red-500{color:var(--nd-color-red-500)}.nd\\:text-secondary-foreground{color:var(--nd-secondary-foreground)}.nd\\:text-slate-500{color:var(--nd-color-slate-500)}.nd\\:text-white{color:var(--nd-color-white)}.nd\\:text-yellow-500{color:var(--nd-color-yellow-500)}.nd\\:text-yellow-600{color:var(--nd-color-yellow-600)}.nd\\:uppercase{text-transform:uppercase}.nd\\:tabular-nums{--nd-tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--nd-tw-ordinal,) var(--nd-tw-slashed-zero,) var(--nd-tw-numeric-figure,) var(--nd-tw-numeric-spacing,) var(--nd-tw-numeric-fraction,)}.nd\\:underline-offset-4{text-underline-offset:4px}.nd\\:opacity-50{opacity:50%}.nd\\:opacity-60{opacity:60%}.nd\\:opacity-70{opacity:70%}.nd\\:shadow{--nd-tw-shadow:0 1px 3px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow,.nd\\:shadow-2xl{box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:shadow-2xl{--nd-tw-shadow:0 25px 50px -12px var(--nd-tw-shadow-color,rgba(0,0,0,.25))}.nd\\:shadow-lg{--nd-tw-shadow:0 10px 15px -3px var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 4px 6px -4px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow-lg,.nd\\:shadow-md{box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:shadow-md{--nd-tw-shadow:0 4px 6px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 2px 4px -2px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow-sm{--nd-tw-shadow:0 1px 3px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow-sm,.nd\\:shadow-xs{box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:shadow-xs{--nd-tw-shadow:0 1px 2px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.05))}.nd\\:ring-2{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(2px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:ring-primary{--nd-tw-ring-color:var(--nd-primary)}.nd\\:ring-offset-background{--nd-tw-ring-offset-color:var(--nd-background)}.nd\\:backdrop-blur-sm{--nd-tw-backdrop-blur:blur(var(--nd-blur-sm));-webkit-backdrop-filter:var(--nd-tw-backdrop-blur,) var(--nd-tw-backdrop-brightness,) var(--nd-tw-backdrop-contrast,) var(--nd-tw-backdrop-grayscale,) var(--nd-tw-backdrop-hue-rotate,) var(--nd-tw-backdrop-invert,) var(--nd-tw-backdrop-opacity,) var(--nd-tw-backdrop-saturate,) var(--nd-tw-backdrop-sepia,);backdrop-filter:var(--nd-tw-backdrop-blur,) var(--nd-tw-backdrop-brightness,) var(--nd-tw-backdrop-contrast,) var(--nd-tw-backdrop-grayscale,) var(--nd-tw-backdrop-hue-rotate,) var(--nd-tw-backdrop-invert,) var(--nd-tw-backdrop-opacity,) var(--nd-tw-backdrop-saturate,) var(--nd-tw-backdrop-sepia,)}.nd\\:transition{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--nd-tw-gradient-from,--nd-tw-gradient-via,--nd-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(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-\\[color\\,box-shadow\\]{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:color,box-shadow;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-all{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:all;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-colors{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--nd-tw-gradient-from,--nd-tw-gradient-via,--nd-tw-gradient-to;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-opacity{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:opacity;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-transform{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:duration-200{--nd-tw-duration:200ms;transition-duration:.2s}.nd\\:duration-300{--nd-tw-duration:300ms;transition-duration:.3s}.nd\\:duration-500{--nd-tw-duration:500ms;transition-duration:.5s}.nd\\:ease-in-out{--nd-tw-ease:var(--nd-ease-in-out);transition-timing-function:var(--nd-ease-in-out)}.nd\\:outline-none{--nd-tw-outline-style:none;outline-style:none}.nd\\:select-none{-webkit-user-select:none;user-select:none}.nd\\:hover\\:scale-110{&:hover{@media (hover:hover){--nd-tw-scale-x:110%;--nd-tw-scale-y:110%;--nd-tw-scale-z:110%;scale:var(--nd-tw-scale-x) var(--nd-tw-scale-y)}}}.nd\\:hover\\:border-border{&:hover{@media (hover:hover){border-color:var(--nd-border)}}}.nd\\:hover\\:border-primary\\/50{&:hover{@media (hover:hover){border-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-primary) 50%,transparent)}}}}.nd\\:hover\\:bg-accent{&:hover{@media (hover:hover){background-color:var(--nd-accent)}}}.nd\\:hover\\:bg-accent\\/50{&:hover{@media (hover:hover){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 50%,transparent)}}}}.nd\\:hover\\:bg-background{&:hover{@media (hover:hover){background-color:var(--nd-background)}}}.nd\\:hover\\:bg-destructive\\/15{&:hover{@media (hover:hover){background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 15%,transparent)}}}}.nd\\:hover\\:bg-destructive\\/90{&:hover{@media (hover:hover){background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 90%,transparent)}}}}.nd\\:hover\\:bg-muted{&:hover{@media (hover:hover){background-color:var(--nd-muted)}}}.nd\\:hover\\:bg-muted\\/20{&:hover{@media (hover:hover){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 20%,transparent)}}}}.nd\\:hover\\:bg-muted\\/50{&:hover{@media (hover:hover){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 50%,transparent)}}}}.nd\\:hover\\:bg-primary\\/15{&:hover{@media (hover:hover){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 15%,transparent)}}}}.nd\\:hover\\:bg-primary\\/90{&:hover{@media (hover:hover){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 90%,transparent)}}}}.nd\\:hover\\:bg-secondary\\/80{&:hover{@media (hover:hover){background-color:var(--nd-secondary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-secondary) 80%,transparent)}}}}.nd\\:hover\\:text-accent-foreground{&:hover{@media (hover:hover){color:var(--nd-accent-foreground)}}}.nd\\:hover\\:text-destructive{&:hover{@media (hover:hover){color:var(--nd-destructive)}}}.nd\\:hover\\:text-foreground{&:hover{@media (hover:hover){color:var(--nd-foreground)}}}.nd\\:hover\\:underline{&:hover{@media (hover:hover){text-decoration-line:underline}}}.nd\\:hover\\:opacity-100{&:hover{@media (hover:hover){opacity:100%}}}.nd\\:hover\\:shadow-sm{&:hover{@media (hover:hover){--nd-tw-shadow:0 1px 3px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}}.nd\\:focus\\:bg-accent{&:focus{background-color:var(--nd-accent)}}.nd\\:focus\\:text-accent-foreground{&:focus{color:var(--nd-accent-foreground)}}.nd\\:focus\\:text-destructive{&:focus{color:var(--nd-destructive)}}.nd\\:focus\\:ring-2{&:focus{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(2px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}.nd\\:focus\\:ring-primary{&:focus{--nd-tw-ring-color:var(--nd-primary)}}.nd\\:focus\\:ring-ring{&:focus{--nd-tw-ring-color:var(--nd-ring)}}.nd\\:focus\\:ring-offset-2{&:focus{--nd-tw-ring-offset-width:2px;--nd-tw-ring-offset-shadow:var(--nd-tw-ring-inset,) 0 0 0 var(--nd-tw-ring-offset-width) var(--nd-tw-ring-offset-color)}}.nd\\:focus\\:outline-hidden{&:focus{--nd-tw-outline-style:none;outline-style:none;@media (forced-colors:active){outline:2px solid transparent;outline-offset:2px}}}.nd\\:focus\\:outline-none{&:focus{--nd-tw-outline-style:none;outline-style:none}}.nd\\:focus-visible\\:border-ring{&:focus-visible{border-color:var(--nd-ring)}}.nd\\:focus-visible\\:ring-2{&:focus-visible{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(2px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}.nd\\:focus-visible\\:ring-\\[3px\\]{&:focus-visible{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(3px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}.nd\\:focus-visible\\:ring-destructive\\/20{&:focus-visible{--nd-tw-ring-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){--nd-tw-ring-color:color-mix(in oklab,var(--nd-destructive) 20%,transparent)}}}.nd\\:focus-visible\\:ring-primary{&:focus-visible{--nd-tw-ring-color:var(--nd-primary)}}.nd\\:focus-visible\\:ring-ring\\/50{&:focus-visible{--nd-tw-ring-color:var(--nd-ring);@supports (color:color-mix(in lab,red,red)){--nd-tw-ring-color:color-mix(in oklab,var(--nd-ring) 50%,transparent)}}}.nd\\:disabled\\:pointer-events-none{&:disabled{pointer-events:none}}.nd\\:disabled\\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.nd\\:disabled\\:opacity-50{&:disabled{opacity:50%}}.nd\\:has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]{&:has(>svg){grid-template-columns:calc(var(--spacing)*4) 1fr}}.nd\\:has-\\[\\>svg\\]\\:gap-x-3{&:has(>svg){column-gap:calc(var(--nd-spacing)*3)}}.nd\\:has-\\[\\>svg\\]\\:px-2\\.5{&:has(>svg){padding-inline:calc(var(--nd-spacing)*2.5)}}.nd\\:has-\\[\\>svg\\]\\:px-3{&:has(>svg){padding-inline:calc(var(--nd-spacing)*3)}}.nd\\:has-\\[\\>svg\\]\\:px-4{&:has(>svg){padding-inline:calc(var(--nd-spacing)*4)}}.nd\\:data-\\[disabled\\]\\:pointer-events-none{&[data-disabled]{pointer-events:none}}.nd\\:data-\\[disabled\\]\\:opacity-50{&[data-disabled]{opacity:50%}}.nd\\:data-\\[orientation\\=horizontal\\]\\:h-px{&[data-orientation=horizontal]{height:1px}}.nd\\:data-\\[orientation\\=horizontal\\]\\:w-full{&[data-orientation=horizontal]{width:100%}}.nd\\:data-\\[orientation\\=vertical\\]\\:h-full{&[data-orientation=vertical]{height:100%}}.nd\\:data-\\[orientation\\=vertical\\]\\:w-px{&[data-orientation=vertical]{width:1px}}.nd\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90{:is(&>*){&[data-slot=alert-description]{color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-destructive) 90%,transparent)}}}}.nd\\:data-\\[state\\=closed\\]\\:duration-300{&[data-state=closed]{--nd-tw-duration:300ms;transition-duration:.3s}}.nd\\:data-\\[state\\=open\\]\\:bg-accent{&[data-state=open]{background-color:var(--nd-accent)}}.nd\\:data-\\[state\\=open\\]\\:bg-secondary{&[data-state=open]{background-color:var(--nd-secondary)}}.nd\\:data-\\[state\\=open\\]\\:text-accent-foreground{&[data-state=open]{color:var(--nd-accent-foreground)}}.nd\\:data-\\[state\\=open\\]\\:text-muted-foreground{&[data-state=open]{color:var(--nd-muted-foreground)}}.nd\\:data-\\[state\\=open\\]\\:duration-500{&[data-state=open]{--nd-tw-duration:500ms;transition-duration:.5s}}.nd\\:sm\\:top-2{@media (width >= 40rem){top:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:right-2{@media (width >= 40rem){right:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:bottom-2{@media (width >= 40rem){bottom:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:mt-0{@media (width >= 40rem){margin-top:calc(var(--nd-spacing)*0)}}.nd\\:sm\\:mb-3{@media (width >= 40rem){margin-bottom:calc(var(--nd-spacing)*3)}}.nd\\:sm\\:inline{@media (width >= 40rem){display:inline}}.nd\\:sm\\:size-3\\.5{@media (width >= 40rem){height:calc(var(--nd-spacing)*3.5);width:calc(var(--nd-spacing)*3.5)}}.nd\\:sm\\:size-6{@media (width >= 40rem){height:calc(var(--nd-spacing)*6);width:calc(var(--nd-spacing)*6)}}.nd\\:sm\\:size-10{@media (width >= 40rem){height:calc(var(--nd-spacing)*10);width:calc(var(--nd-spacing)*10)}}.nd\\:sm\\:w-32{@media (width >= 40rem){width:calc(var(--nd-spacing)*32)}}.nd\\:sm\\:w-80{@media (width >= 40rem){width:calc(var(--nd-spacing)*80)}}.nd\\:sm\\:max-w-37\\.5{@media (width >= 40rem){max-width:calc(var(--nd-spacing)*37.5)}}.nd\\:sm\\:max-w-lg{@media (width >= 40rem){max-width:var(--nd-container-lg)}}.nd\\:sm\\:max-w-md{@media (width >= 40rem){max-width:var(--nd-container-md)}}.nd\\:sm\\:max-w-none{@media (width >= 40rem){max-width:none}}.nd\\:sm\\:max-w-sm{@media (width >= 40rem){max-width:var(--nd-container-sm)}}.nd\\:sm\\:max-w-xs{@media (width >= 40rem){max-width:var(--nd-container-xs)}}.nd\\:sm\\:min-w-50{@media (width >= 40rem){min-width:calc(var(--nd-spacing)*50)}}.nd\\:sm\\:grid-cols-3{@media (width >= 40rem){grid-template-columns:repeat(3,minmax(0,1fr))}}.nd\\:sm\\:grid-cols-4{@media (width >= 40rem){grid-template-columns:repeat(4,minmax(0,1fr))}}.nd\\:sm\\:flex-row{@media (width >= 40rem){flex-direction:row}}.nd\\:sm\\:justify-end{@media (width >= 40rem){justify-content:flex-end}}.nd\\:sm\\:gap-1\\.5{@media (width >= 40rem){gap:calc(var(--nd-spacing)*1.5)}}.nd\\:sm\\:gap-3{@media (width >= 40rem){gap:calc(var(--nd-spacing)*3)}}.nd\\:sm\\:space-y-6{@media (width >= 40rem){:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*6*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*6*var(--nd-tw-space-y-reverse))}}}.nd\\:sm\\:space-x-2{@media (width >= 40rem){:where(&>:not(:last-child)){--nd-tw-space-x-reverse:0;margin-inline-end:calc(var(--nd-spacing)*2*(1 - var(--nd-tw-space-x-reverse)));margin-inline-start:calc(var(--nd-spacing)*2*var(--nd-tw-space-x-reverse))}}}.nd\\:sm\\:rounded-lg{@media (width >= 40rem){border-radius:var(--nd-radius)}}.nd\\:sm\\:rounded-xl{@media (width >= 40rem){border-radius:calc(var(--nd-radius) + 4px)}}.nd\\:sm\\:p-2{@media (width >= 40rem){padding:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:p-3{@media (width >= 40rem){padding:calc(var(--nd-spacing)*3)}}.nd\\:sm\\:px-2{@media (width >= 40rem){padding-inline:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:px-4{@media (width >= 40rem){padding-inline:calc(var(--nd-spacing)*4)}}.nd\\:sm\\:pb-12{@media (width >= 40rem){padding-bottom:calc(var(--nd-spacing)*12)}}.nd\\:sm\\:text-left{@media (width >= 40rem){text-align:left}}.nd\\:sm\\:text-sm{@media (width >= 40rem){font-size:var(--nd-text-sm);line-height:var(--nd-tw-leading,var(--nd-text-sm--line-height))}}.nd\\:md\\:inset-auto{@media (width >= 48rem){inset:auto}}.nd\\:md\\:top-4{@media (width >= 48rem){top:calc(var(--nd-spacing)*4)}}.nd\\:md\\:top-\\[50\\%\\]{@media (width >= 48rem){top:50%}}.nd\\:md\\:right-4{@media (width >= 48rem){right:calc(var(--nd-spacing)*4)}}.nd\\:md\\:left-\\[50\\%\\]{@media (width >= 48rem){left:50%}}.nd\\:md\\:flex{@media (width >= 48rem){display:flex}}.nd\\:md\\:hidden{@media (width >= 48rem){display:none}}.nd\\:md\\:size-7{@media (width >= 48rem){height:calc(var(--nd-spacing)*7);width:calc(var(--nd-spacing)*7)}}.nd\\:md\\:size-12{@media (width >= 48rem){height:calc(var(--nd-spacing)*12);width:calc(var(--nd-spacing)*12)}}.nd\\:md\\:max-h-\\[90vh\\]{@media (width >= 48rem){max-height:90vh}}.nd\\:md\\:w-\\[95vw\\]{@media (width >= 48rem){width:95vw}}.nd\\:md\\:max-w-5xl{@media (width >= 48rem){max-width:var(--nd-container-5xl)}}.nd\\:md\\:translate-x-\\[-50\\%\\]{@media (width >= 48rem){--nd-tw-translate-x:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}}.nd\\:md\\:translate-y-\\[-50\\%\\]{@media (width >= 48rem){--nd-tw-translate-y:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}}.nd\\:md\\:grid-cols-4{@media (width >= 48rem){grid-template-columns:repeat(4,minmax(0,1fr))}}.nd\\:md\\:grid-cols-5{@media (width >= 48rem){grid-template-columns:repeat(5,minmax(0,1fr))}}.nd\\:md\\:flex-row{@media (width >= 48rem){flex-direction:row}}.nd\\:md\\:gap-4{@media (width >= 48rem){gap:calc(var(--nd-spacing)*4)}}.nd\\:md\\:rounded-md{@media (width >= 48rem){border-radius:calc(var(--nd-radius) - 2px)}}.nd\\:md\\:rounded-xl{@media (width >= 48rem){border-radius:calc(var(--nd-radius) + 4px)}}.nd\\:md\\:border{@media (width >= 48rem){border-bottom-width:1px;border-left-width:1px;border-right-width:1px;border-style:var(--nd-tw-border-style);border-top-width:1px}}.nd\\:md\\:bg-transparent{@media (width >= 48rem){background-color:transparent}}.nd\\:md\\:p-4{@media (width >= 48rem){padding:calc(var(--nd-spacing)*4)}}.nd\\:md\\:text-sm{@media (width >= 48rem){font-size:var(--nd-text-sm);line-height:var(--nd-tw-leading,var(--nd-text-sm--line-height))}}.nd\\:lg\\:flex{@media (width >= 64rem){display:flex}}.nd\\:lg\\:hidden{@media (width >= 64rem){display:none}}.nd\\:lg\\:w-56{@media (width >= 64rem){width:calc(var(--nd-spacing)*56)}}.nd\\:lg\\:grid-cols-5{@media (width >= 64rem){grid-template-columns:repeat(5,minmax(0,1fr))}}.nd\\:lg\\:grid-cols-6{@media (width >= 64rem){grid-template-columns:repeat(6,minmax(0,1fr))}}.nd\\:xl\\:grid-cols-6{@media (width >= 80rem){grid-template-columns:repeat(6,minmax(0,1fr))}}.nd\\:xl\\:grid-cols-7{@media (width >= 80rem){grid-template-columns:repeat(7,minmax(0,1fr))}}.nd\\:dark\\:border-input{&:is(.dark *){border-color:var(--nd-input)}}.nd\\:dark\\:bg-accent\\/20{&:is(.dark *){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 20%,transparent)}}}.nd\\:dark\\:bg-background\\/30{&:is(.dark *){background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 30%,transparent)}}}.nd\\:dark\\:bg-background\\/80{&:is(.dark *){background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 80%,transparent)}}}.nd\\:dark\\:bg-blue-500\\/20{&:is(.dark *){background-color:var(--nd-color-blue-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-blue-500) 20%,transparent)}}}.nd\\:dark\\:bg-card\\/50{&:is(.dark *){background-color:var(--nd-card);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-card) 50%,transparent)}}}.nd\\:dark\\:bg-destructive\\/15{&:is(.dark *){background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 15%,transparent)}}}.nd\\:dark\\:bg-emerald-500\\/20{&:is(.dark *){background-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-emerald-500) 20%,transparent)}}}.nd\\:dark\\:bg-input\\/30{&:is(.dark *){background-color:var(--nd-input);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-input) 30%,transparent)}}}.nd\\:dark\\:bg-muted\\/10{&:is(.dark *){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 10%,transparent)}}}.nd\\:dark\\:bg-muted\\/20{&:is(.dark *){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 20%,transparent)}}}.nd\\:dark\\:bg-muted\\/30{&:is(.dark *){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 30%,transparent)}}}.nd\\:dark\\:bg-primary\\/10{&:is(.dark *){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 10%,transparent)}}}.nd\\:dark\\:bg-primary\\/15{&:is(.dark *){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 15%,transparent)}}}.nd\\:dark\\:text-amber-500{&:is(.dark *){color:var(--nd-color-amber-500)}}.nd\\:dark\\:text-blue-400{&:is(.dark *){color:var(--nd-color-blue-400)}}.nd\\:dark\\:text-emerald-400{&:is(.dark *){color:var(--nd-color-emerald-400)}}.nd\\:dark\\:text-yellow-500{&:is(.dark *){color:var(--nd-color-yellow-500)}}.nd\\:dark\\:hover\\:bg-accent\\/30{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 30%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-accent\\/50{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 50%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-input\\/50{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-input);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-input) 50%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-muted\\/30{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 30%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-primary\\/20{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 20%,transparent)}}}}}.nd\\:\\[\\&_p\\]\\:leading-relaxed{& p{--nd-tw-leading:var(--nd-leading-relaxed);line-height:var(--nd-leading-relaxed)}}.nd\\:\\[\\&\\>svg\\]\\:size-4{&>svg{height:calc(var(--nd-spacing)*4);width:calc(var(--nd-spacing)*4)}}.nd\\:\\[\\&\\>svg\\]\\:translate-y-0\\.5{&>svg{--nd-tw-translate-y:calc(var(--nd-spacing)*0.5);translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}}.nd\\:\\[\\&\\>svg\\]\\:text-current{&>svg{color:currentcolor}}:host,:root{--nd-color-red-500:oklch(63.7% 0.237 25.331);--nd-color-orange-500:oklch(70.5% 0.213 47.604);--nd-color-amber-500:oklch(76.9% 0.188 70.08);--nd-color-amber-600:oklch(66.6% 0.179 58.318);--nd-color-yellow-500:oklch(79.5% 0.184 86.047);--nd-color-yellow-600:oklch(68.1% 0.162 75.834);--nd-color-green-500:oklch(72.3% 0.219 149.579);--nd-color-emerald-400:oklch(76.5% 0.177 163.223);--nd-color-emerald-500:oklch(69.6% 0.17 162.48);--nd-color-emerald-600:oklch(59.6% 0.145 163.225);--nd-color-cyan-500:oklch(71.5% 0.143 215.221);--nd-color-blue-400:oklch(70.7% 0.165 254.624);--nd-color-blue-500:oklch(62.3% 0.214 259.815);--nd-color-blue-600:oklch(54.6% 0.245 262.881);--nd-color-purple-500:oklch(62.7% 0.265 303.9);--nd-color-slate-500:oklch(55.4% 0.046 257.417);--nd-color-gray-400:oklch(70.7% 0.022 261.325);--nd-color-black:#000;--nd-color-white:#fff;--nd-spacing:0.25rem;--nd-container-xs:20rem;--nd-container-sm:24rem;--nd-container-md:28rem;--nd-container-lg:32rem;--nd-container-5xl:64rem;--nd-text-xs:0.75rem;--nd-text-xs--line-height:1.33333;--nd-text-sm:0.875rem;--nd-text-sm--line-height:1.42857;--nd-text-base:1rem;--nd-text-base--line-height:1.5;--nd-text-lg:1.125rem;--nd-text-lg--line-height:1.55556;--nd-font-weight-normal:400;--nd-font-weight-medium:500;--nd-font-weight-semibold:600;--nd-tracking-tight:-0.025em;--nd-tracking-wide:0.025em;--nd-tracking-widest:0.1em;--nd-leading-tight:1.25;--nd-leading-relaxed:1.625;--nd-radius-xs:0.125rem;--nd-ease-in-out:cubic-bezier(0.4,0,0.2,1);--nd-animate-spin:nd-spin 1s linear infinite;--nd-blur-sm:8px;--nd-default-transition-duration:150ms;--nd-default-transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.nd-drive-root{--nd-card:oklch(1 0 0);--nd-card-foreground:oklch(0.145 0 0);--nd-popover:oklch(1 0 0);--nd-popover-foreground:oklch(0.145 0 0);--nd-primary:oklch(0.205 0 0);--nd-primary-foreground:oklch(0.985 0 0);--nd-secondary:oklch(0.97 0 0);--nd-secondary-foreground:oklch(0.205 0 0);--nd-muted:oklch(0.97 0 0);--nd-muted-foreground:oklch(0.556 0 0);--nd-accent:oklch(0.97 0 0);--nd-accent-foreground:oklch(0.205 0 0);--nd-destructive:oklch(0.577 0.245 27.325);--nd-destructive-foreground:210 40% 98%;--nd-border:oklch(0.922 0 0);--nd-input:oklch(0.922 0 0);--nd-ring:oklch(0.708 0 0);--nd-radius:0.625rem;--nd-background:oklch(1 0 0);--nd-foreground:oklch(0.145 0 0);--nd-chart-1:oklch(0.646 0.222 41.116);--nd-chart-2:oklch(0.6 0.118 184.704);--nd-chart-3:oklch(0.398 0.07 227.392);--nd-chart-4:oklch(0.828 0.189 84.429);--nd-chart-5:oklch(0.769 0.188 70.08);--nd-sidebar:oklch(0.985 0 0);--nd-sidebar-foreground:oklch(0.145 0 0);--nd-sidebar-primary:oklch(0.205 0 0);--nd-sidebar-primary-foreground:oklch(0.985 0 0);--nd-sidebar-accent:oklch(0.97 0 0);--nd-sidebar-accent-foreground:oklch(0.205 0 0);--nd-sidebar-border:oklch(0.922 0 0);--nd-sidebar-ring:oklch(0.708 0 0)}.dark .nd-drive-root{--nd-background:oklch(0.145 0 0);--nd-foreground:oklch(0.985 0 0);--nd-card:oklch(0.205 0 0);--nd-card-foreground:oklch(0.985 0 0);--nd-popover:oklch(0.205 0 0);--nd-popover-foreground:oklch(0.985 0 0);--nd-primary:oklch(0.922 0 0);--nd-primary-foreground:oklch(0.205 0 0);--nd-secondary:oklch(0.269 0 0);--nd-secondary-foreground:oklch(0.985 0 0);--nd-muted:oklch(0.269 0 0);--nd-muted-foreground:oklch(0.708 0 0);--nd-accent:oklch(0.269 0 0);--nd-accent-foreground:oklch(0.985 0 0);--nd-destructive:oklch(0.704 0.191 22.216);--nd-destructive-foreground:210 40% 98%;--nd-border:oklch(1 0 0/10%);--nd-input:oklch(1 0 0/15%);--nd-ring:oklch(0.556 0 0);--nd-chart-1:oklch(0.488 0.243 264.376);--nd-chart-2:oklch(0.696 0.17 162.48);--nd-chart-3:oklch(0.769 0.188 70.08);--nd-chart-4:oklch(0.627 0.265 303.9);--nd-chart-5:oklch(0.645 0.246 16.439);--nd-sidebar:oklch(0.205 0 0);--nd-sidebar-foreground:oklch(0.985 0 0);--nd-sidebar-primary:oklch(0.488 0.243 264.376);--nd-sidebar-primary-foreground:oklch(0.985 0 0);--nd-sidebar-accent:oklch(0.269 0 0);--nd-sidebar-accent-foreground:oklch(0.985 0 0);--nd-sidebar-border:oklch(1 0 0/10%);--nd-sidebar-ring:oklch(0.556 0 0)}@keyframes nd-indeterminate{0%{transform:translateX(-100%)}50%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes nd-spin{to{transform:rotate(1turn)}}@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.nd-drive-root,.nd-drive-root *,.nd-drive-root ::backdrop,.nd-drive-root :after,.nd-drive-root :before{--nd-tw-translate-x:0;--nd-tw-translate-y:0;--nd-tw-translate-z:0;--nd-tw-scale-x:1;--nd-tw-scale-y:1;--nd-tw-scale-z:1;--nd-tw-space-y-reverse:0;--nd-tw-divide-y-reverse:0;--nd-tw-border-style:solid;--nd-tw-gradient-position:initial;--nd-tw-gradient-from:#0000;--nd-tw-gradient-via:#0000;--nd-tw-gradient-to:#0000;--nd-tw-gradient-stops:initial;--nd-tw-gradient-via-stops:initial;--nd-tw-gradient-from-position:0%;--nd-tw-gradient-via-position:50%;--nd-tw-gradient-to-position:100%;--nd-tw-leading:initial;--nd-tw-font-weight:initial;--nd-tw-tracking:initial;--nd-tw-ordinal:initial;--nd-tw-slashed-zero:initial;--nd-tw-numeric-figure:initial;--nd-tw-numeric-spacing:initial;--nd-tw-numeric-fraction:initial;--nd-tw-shadow:0 0 #0000;--nd-tw-shadow-color:initial;--nd-tw-shadow-alpha:100%;--nd-tw-inset-shadow:0 0 #0000;--nd-tw-inset-shadow-color:initial;--nd-tw-inset-shadow-alpha:100%;--nd-tw-ring-color:initial;--nd-tw-ring-shadow:0 0 #0000;--nd-tw-inset-ring-color:initial;--nd-tw-inset-ring-shadow:0 0 #0000;--nd-tw-ring-inset:initial;--nd-tw-ring-offset-width:0px;--nd-tw-ring-offset-color:#fff;--nd-tw-ring-offset-shadow:0 0 #0000;--nd-tw-backdrop-blur:initial;--nd-tw-backdrop-brightness:initial;--nd-tw-backdrop-contrast:initial;--nd-tw-backdrop-grayscale:initial;--nd-tw-backdrop-hue-rotate:initial;--nd-tw-backdrop-invert:initial;--nd-tw-backdrop-opacity:initial;--nd-tw-backdrop-saturate:initial;--nd-tw-backdrop-sepia:initial;--nd-tw-duration:initial;--nd-tw-ease:initial;--nd-tw-space-x-reverse:0}}";
713
+ var cssContent = ".nd-drive-root,.nd-drive-root *,.nd-drive-root ::backdrop,.nd-drive-root :after,.nd-drive-root :before{--nd-tw-translate-x:0;--nd-tw-translate-y:0;--nd-tw-translate-z:0;--nd-tw-scale-x:1;--nd-tw-scale-y:1;--nd-tw-scale-z:1;--nd-tw-space-y-reverse:0;--nd-tw-divide-y-reverse:0;--nd-tw-border-style:solid;--nd-tw-gradient-from:#0000;--nd-tw-gradient-via:#0000;--nd-tw-gradient-to:#0000;--nd-tw-gradient-from-position:0%;--nd-tw-gradient-via-position:50%;--nd-tw-gradient-to-position:100%;--nd-tw-shadow:0 0 #0000;--nd-tw-shadow-alpha:100%;--nd-tw-inset-shadow:0 0 #0000;--nd-tw-inset-shadow-alpha:100%;--nd-tw-ring-shadow:0 0 #0000;--nd-tw-inset-ring-shadow:0 0 #0000;--nd-tw-ring-offset-width:0px;--nd-tw-ring-offset-color:#fff;--nd-tw-ring-offset-shadow:0 0 #0000;--nd-tw-space-x-reverse:0}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.nd\\:pointer-events-none{pointer-events:none}.nd\\:sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}.nd\\:absolute,.nd\\:sr-only{position:absolute}.nd\\:fixed{position:fixed}.nd\\:relative{position:relative}.nd\\:sticky{position:sticky}.nd\\:inset-0{inset:calc(var(--nd-spacing)*0)}.nd\\:inset-x-0{inset-inline:calc(var(--nd-spacing)*0)}.nd\\:inset-y-0{inset-block:calc(var(--nd-spacing)*0)}.nd\\:-top-1\\.5{top:calc(var(--nd-spacing)*-1.5)}.nd\\:top-0{top:calc(var(--nd-spacing)*0)}.nd\\:top-1\\.5{top:calc(var(--nd-spacing)*1.5)}.nd\\:top-1\\/2{top:50%}.nd\\:top-2{top:calc(var(--nd-spacing)*2)}.nd\\:top-3{top:calc(var(--nd-spacing)*3)}.nd\\:top-4{top:calc(var(--nd-spacing)*4)}.nd\\:top-\\[50\\%\\]{top:50%}.nd\\:-right-1\\.5{right:calc(var(--nd-spacing)*-1.5)}.nd\\:right-0{right:calc(var(--nd-spacing)*0)}.nd\\:right-0\\.5{right:calc(var(--nd-spacing)*.5)}.nd\\:right-1\\.5{right:calc(var(--nd-spacing)*1.5)}.nd\\:right-2{right:calc(var(--nd-spacing)*2)}.nd\\:right-3{right:calc(var(--nd-spacing)*3)}.nd\\:right-4{right:calc(var(--nd-spacing)*4)}.nd\\:bottom-0{bottom:calc(var(--nd-spacing)*0)}.nd\\:bottom-1\\.5{bottom:calc(var(--nd-spacing)*1.5)}.nd\\:bottom-2{bottom:calc(var(--nd-spacing)*2)}.nd\\:left-0{left:calc(var(--nd-spacing)*0)}.nd\\:left-2{left:calc(var(--nd-spacing)*2)}.nd\\:left-2\\.5{left:calc(var(--nd-spacing)*2.5)}.nd\\:left-\\[50\\%\\]{left:50%}.nd\\:z-10{z-index:10}.nd\\:z-50{z-index:50}.nd\\:col-start-2{grid-column-start:2}.nd\\:container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.nd\\:mx-auto{margin-inline:auto}.nd\\:my-1{margin-block:calc(var(--nd-spacing)*1)}.nd\\:mt-0\\.5{margin-top:calc(var(--nd-spacing)*.5)}.nd\\:mt-1{margin-top:calc(var(--nd-spacing)*1)}.nd\\:mt-1\\.5{margin-top:calc(var(--nd-spacing)*1.5)}.nd\\:mt-2{margin-top:calc(var(--nd-spacing)*2)}.nd\\:mt-4{margin-top:calc(var(--nd-spacing)*4)}.nd\\:mr-2{margin-right:calc(var(--nd-spacing)*2)}.nd\\:mb-1\\.5{margin-bottom:calc(var(--nd-spacing)*1.5)}.nd\\:mb-2{margin-bottom:calc(var(--nd-spacing)*2)}.nd\\:mb-3{margin-bottom:calc(var(--nd-spacing)*3)}.nd\\:mb-4{margin-bottom:calc(var(--nd-spacing)*4)}.nd\\:ml-5\\.5{margin-left:calc(var(--nd-spacing)*5.5)}.nd\\:ml-auto{margin-left:auto}.nd\\:line-clamp-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.nd\\:flex{display:flex}.nd\\:grid{display:grid}.nd\\:hidden{display:none}.nd\\:inline-flex{display:inline-flex}.nd\\:aspect-square{aspect-ratio:1/1}.nd\\:size-1\\.5{height:calc(var(--nd-spacing)*1.5);width:calc(var(--nd-spacing)*1.5)}.nd\\:size-2{height:calc(var(--nd-spacing)*2);width:calc(var(--nd-spacing)*2)}.nd\\:size-2\\.5{height:calc(var(--nd-spacing)*2.5);width:calc(var(--nd-spacing)*2.5)}.nd\\:size-3{height:calc(var(--nd-spacing)*3);width:calc(var(--nd-spacing)*3)}.nd\\:size-3\\.5{height:calc(var(--nd-spacing)*3.5);width:calc(var(--nd-spacing)*3.5)}.nd\\:size-4{height:calc(var(--nd-spacing)*4);width:calc(var(--nd-spacing)*4)}.nd\\:size-5{height:calc(var(--nd-spacing)*5);width:calc(var(--nd-spacing)*5)}.nd\\:size-6{height:calc(var(--nd-spacing)*6);width:calc(var(--nd-spacing)*6)}.nd\\:size-7{height:calc(var(--nd-spacing)*7);width:calc(var(--nd-spacing)*7)}.nd\\:size-8{height:calc(var(--nd-spacing)*8);width:calc(var(--nd-spacing)*8)}.nd\\:size-9{height:calc(var(--nd-spacing)*9);width:calc(var(--nd-spacing)*9)}.nd\\:size-10{height:calc(var(--nd-spacing)*10);width:calc(var(--nd-spacing)*10)}.nd\\:size-12{height:calc(var(--nd-spacing)*12);width:calc(var(--nd-spacing)*12)}.nd\\:size-16{height:calc(var(--nd-spacing)*16);width:calc(var(--nd-spacing)*16)}.nd\\:size-full{height:100%;width:100%}.nd\\:h-1{height:calc(var(--nd-spacing)*1)}.nd\\:h-1\\.5{height:calc(var(--nd-spacing)*1.5)}.nd\\:h-2{height:calc(var(--nd-spacing)*2)}.nd\\:h-3\\.5{height:calc(var(--nd-spacing)*3.5)}.nd\\:h-4{height:calc(var(--nd-spacing)*4)}.nd\\:h-5{height:calc(var(--nd-spacing)*5)}.nd\\:h-6{height:calc(var(--nd-spacing)*6)}.nd\\:h-7{height:calc(var(--nd-spacing)*7)}.nd\\:h-8{height:calc(var(--nd-spacing)*8)}.nd\\:h-9{height:calc(var(--nd-spacing)*9)}.nd\\:h-10{height:calc(var(--nd-spacing)*10)}.nd\\:h-11{height:calc(var(--nd-spacing)*11)}.nd\\:h-12{height:calc(var(--nd-spacing)*12)}.nd\\:h-14{height:calc(var(--nd-spacing)*14)}.nd\\:h-auto{height:auto}.nd\\:h-full{height:100%}.nd\\:h-px{height:1px}.nd\\:max-h-40{max-height:calc(var(--nd-spacing)*40)}.nd\\:max-h-80{max-height:calc(var(--nd-spacing)*80)}.nd\\:max-h-\\[85vh\\]{max-height:85vh}.nd\\:min-h-0{min-height:calc(var(--nd-spacing)*0)}.nd\\:min-h-4{min-height:calc(var(--nd-spacing)*4)}.nd\\:w-1\\/3{width:33.33333%}.nd\\:w-2{width:calc(var(--nd-spacing)*2)}.nd\\:w-3\\.5{width:calc(var(--nd-spacing)*3.5)}.nd\\:w-3\\/4{width:75%}.nd\\:w-4{width:calc(var(--nd-spacing)*4)}.nd\\:w-6{width:calc(var(--nd-spacing)*6)}.nd\\:w-7{width:calc(var(--nd-spacing)*7)}.nd\\:w-8{width:calc(var(--nd-spacing)*8)}.nd\\:w-16{width:calc(var(--nd-spacing)*16)}.nd\\:w-20{width:calc(var(--nd-spacing)*20)}.nd\\:w-24{width:calc(var(--nd-spacing)*24)}.nd\\:w-40{width:calc(var(--nd-spacing)*40)}.nd\\:w-52{width:calc(var(--nd-spacing)*52)}.nd\\:w-56{width:calc(var(--nd-spacing)*56)}.nd\\:w-70{width:calc(var(--nd-spacing)*70)}.nd\\:w-72{width:calc(var(--nd-spacing)*72)}.nd\\:w-fit{width:fit-content}.nd\\:w-full{width:100%}.nd\\:w-px{width:1px}.nd\\:max-w-24{max-width:calc(var(--nd-spacing)*24)}.nd\\:max-w-25{max-width:calc(var(--nd-spacing)*25)}.nd\\:max-w-30{max-width:calc(var(--nd-spacing)*30)}.nd\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.nd\\:max-w-lg{max-width:var(--nd-container-lg)}.nd\\:min-w-0{min-width:calc(var(--nd-spacing)*0)}.nd\\:min-w-\\[8rem\\]{min-width:8rem}.nd\\:flex-1{flex:1}.nd\\:shrink-0{flex-shrink:0}.nd\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.nd\\:translate-x-\\[-50\\%\\]{--nd-tw-translate-x:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}.nd\\:-translate-y-1\\/2,.nd\\:translate-y-\\[-50\\%\\]{--nd-tw-translate-y:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}.nd\\:translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--nd-tw-translate-y:calc(-50% - 2px);translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}.nd\\:scale-105{--nd-tw-scale-x:105%;--nd-tw-scale-y:105%;--nd-tw-scale-z:105%;scale:var(--nd-tw-scale-x) var(--nd-tw-scale-y)}.nd\\:scale-\\[1\\.02\\]{scale:1.02}.nd\\:rotate-45{rotate:45deg}.nd\\:animate-\\[indeterminate_1\\.5s_ease-in-out_infinite\\]{animation:indeterminate 1.5s ease-in-out infinite}.nd\\:animate-spin{animation:var(--nd-animate-spin)}.nd\\:cursor-default{cursor:default}.nd\\:cursor-pointer{cursor:pointer}.nd\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nd\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.nd\\:grid-cols-\\[0_1fr\\]{grid-template-columns:0 1fr}.nd\\:flex-col{flex-direction:column}.nd\\:flex-col-reverse{flex-direction:column-reverse}.nd\\:flex-row{flex-direction:row}.nd\\:flex-nowrap{flex-wrap:nowrap}.nd\\:flex-wrap{flex-wrap:wrap}.nd\\:items-center{align-items:center}.nd\\:items-start{align-items:flex-start}.nd\\:justify-between{justify-content:space-between}.nd\\:justify-center{justify-content:center}.nd\\:justify-end{justify-content:flex-end}.nd\\:justify-start{justify-content:flex-start}.nd\\:justify-items-start{justify-items:start}.nd\\:gap-0{gap:calc(var(--nd-spacing)*0)}.nd\\:gap-0\\.5{gap:calc(var(--nd-spacing)*.5)}.nd\\:gap-1{gap:calc(var(--nd-spacing)*1)}.nd\\:gap-1\\.5{gap:calc(var(--nd-spacing)*1.5)}.nd\\:gap-2{gap:calc(var(--nd-spacing)*2)}.nd\\:gap-2\\.5{gap:calc(var(--nd-spacing)*2.5)}.nd\\:gap-3{gap:calc(var(--nd-spacing)*3)}.nd\\:gap-4{gap:calc(var(--nd-spacing)*4)}.nd\\:space-y-0{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*0*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*0*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-0\\.5{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*.5*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*.5*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-1{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*1*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*1*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-2{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*2*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*2*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-3{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*3*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*3*var(--nd-tw-space-y-reverse))}}.nd\\:space-y-4{:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*4*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*4*var(--nd-tw-space-y-reverse))}}.nd\\:gap-y-0\\.5{row-gap:calc(var(--nd-spacing)*.5)}.nd\\:divide-y{:where(&>:not(:last-child)){--nd-tw-divide-y-reverse:0;border-bottom-style:var(--nd-tw-border-style);border-bottom-width:calc(1px*(1 - var(--nd-tw-divide-y-reverse)));border-top-style:var(--nd-tw-border-style);border-top-width:calc(1px*var(--nd-tw-divide-y-reverse))}}.nd\\:divide-border\\/50{:where(&>:not(:last-child)){border-color:var(--nd-border);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-border) 50%,transparent)}}}.nd\\:truncate{text-overflow:ellipsis;white-space:nowrap}.nd\\:overflow-hidden,.nd\\:truncate{overflow:hidden}.nd\\:overflow-x-auto{overflow-x:auto}.nd\\:overflow-y-auto{overflow-y:auto}.nd\\:rounded{border-radius:.25rem}.nd\\:rounded-2xl{border-radius:calc(var(--nd-radius) + 8px)}.nd\\:rounded-\\[2px\\]{border-radius:2px}.nd\\:rounded-full{border-radius:calc(infinity*1px)}.nd\\:rounded-lg{border-radius:var(--nd-radius)}.nd\\:rounded-md{border-radius:calc(var(--nd-radius) - 2px)}.nd\\:rounded-none{border-radius:0}.nd\\:rounded-sm{border-radius:calc(var(--nd-radius) - 4px)}.nd\\:rounded-xl{border-radius:calc(var(--nd-radius) + 4px)}.nd\\:rounded-xs{border-radius:var(--nd-radius-xs)}.nd\\:border{border-style:var(--nd-tw-border-style);border-width:1px}.nd\\:border-2{border-style:var(--nd-tw-border-style);border-width:2px}.nd\\:border-t{border-top-style:var(--nd-tw-border-style);border-top-width:1px}.nd\\:border-r{border-right-style:var(--nd-tw-border-style);border-right-width:1px}.nd\\:border-b{border-bottom-style:var(--nd-tw-border-style);border-bottom-width:1px}.nd\\:border-l{border-left-style:var(--nd-tw-border-style);border-left-width:1px}.nd\\:border-dashed{--nd-tw-border-style:dashed;border-style:dashed}.nd\\:border-border{border-color:var(--nd-border)}.nd\\:border-border\\/50{border-color:var(--nd-border);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-border) 50%,transparent)}}.nd\\:border-destructive{border-color:var(--nd-destructive)}.nd\\:border-destructive\\/20{border-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-destructive) 20%,transparent)}}.nd\\:border-emerald-500\\/20{border-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-color-emerald-500) 20%,transparent)}}.nd\\:border-input{border-color:var(--nd-input)}.nd\\:border-muted-foreground\\/25{border-color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-muted-foreground) 25%,transparent)}}.nd\\:border-primary{border-color:var(--nd-primary)}.nd\\:border-primary\\/50{border-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-primary) 50%,transparent)}}.nd\\:border-transparent{border-color:transparent}.nd\\:border-yellow-500\\/20{border-color:var(--nd-color-yellow-500);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-color-yellow-500) 20%,transparent)}}.nd\\:bg-accent\\/30{background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 30%,transparent)}}.nd\\:bg-amber-500\\/5{background-color:var(--nd-color-amber-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-amber-500) 5%,transparent)}}.nd\\:bg-background{background-color:var(--nd-background)}.nd\\:bg-background\\/50{background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 50%,transparent)}}.nd\\:bg-background\\/95{background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 95%,transparent)}}.nd\\:bg-black\\/50{background-color:var(--nd-color-black);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-black) 50%,transparent)}}.nd\\:bg-black\\/60{background-color:var(--nd-color-black);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-black) 60%,transparent)}}.nd\\:bg-black\\/80{background-color:var(--nd-color-black);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-black) 80%,transparent)}}.nd\\:bg-blue-500\\/10{background-color:var(--nd-color-blue-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-blue-500) 10%,transparent)}}.nd\\:bg-border{background-color:var(--nd-border)}.nd\\:bg-card{background-color:var(--nd-card)}.nd\\:bg-destructive{background-color:var(--nd-destructive)}.nd\\:bg-destructive\\/5{background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 5%,transparent)}}.nd\\:bg-destructive\\/10{background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 10%,transparent)}}.nd\\:bg-emerald-500{background-color:var(--nd-color-emerald-500)}.nd\\:bg-emerald-500\\/5{background-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-emerald-500) 5%,transparent)}}.nd\\:bg-emerald-500\\/10{background-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-emerald-500) 10%,transparent)}}.nd\\:bg-foreground{background-color:var(--nd-foreground)}.nd\\:bg-muted{background-color:var(--nd-muted)}.nd\\:bg-muted-foreground{background-color:var(--nd-muted-foreground)}.nd\\:bg-muted\\/5{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 5%,transparent)}}.nd\\:bg-muted\\/20{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 20%,transparent)}}.nd\\:bg-muted\\/30{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 30%,transparent)}}.nd\\:bg-muted\\/40{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 40%,transparent)}}.nd\\:bg-muted\\/50{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 50%,transparent)}}.nd\\:bg-muted\\/80{background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 80%,transparent)}}.nd\\:bg-popover{background-color:var(--nd-popover)}.nd\\:bg-primary{background-color:var(--nd-primary)}.nd\\:bg-primary-foreground{background-color:var(--nd-primary-foreground)}.nd\\:bg-primary\\/5{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 5%,transparent)}}.nd\\:bg-primary\\/10{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 10%,transparent)}}.nd\\:bg-primary\\/20{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 20%,transparent)}}.nd\\:bg-primary\\/90{background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 90%,transparent)}}.nd\\:bg-secondary{background-color:var(--nd-secondary)}.nd\\:bg-transparent{background-color:transparent}.nd\\:bg-yellow-500{background-color:var(--nd-color-yellow-500)}.nd\\:bg-yellow-500\\/5{background-color:var(--nd-color-yellow-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-yellow-500) 5%,transparent)}}.nd\\:bg-yellow-500\\/10{background-color:var(--nd-color-yellow-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-yellow-500) 10%,transparent)}}.nd\\:bg-gradient-to-r{--nd-tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--nd-tw-gradient-stops))}.nd\\:from-blue-500{--nd-tw-gradient-from:var(--nd-color-blue-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:from-yellow-500{--nd-tw-gradient-from:var(--nd-color-yellow-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:to-cyan-500{--nd-tw-gradient-to:var(--nd-color-cyan-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:to-orange-500{--nd-tw-gradient-to:var(--nd-color-orange-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:to-purple-500{--nd-tw-gradient-to:var(--nd-color-purple-500);--nd-tw-gradient-stops:var(--nd-tw-gradient-via-stops,var(--nd-tw-gradient-position),var(--nd-tw-gradient-from) var(--nd-tw-gradient-from-position),var(--nd-tw-gradient-to) var(--nd-tw-gradient-to-position))}.nd\\:fill-blue-500\\/20{fill:var(--nd-color-blue-500);@supports (color:color-mix(in lab,red,red)){fill:color-mix(in oklab,var(--nd-color-blue-500) 20%,transparent)}}.nd\\:fill-current{fill:currentcolor}.nd\\:fill-foreground{fill:var(--nd-foreground)}.nd\\:object-contain{object-fit:contain}.nd\\:object-cover{object-fit:cover}.nd\\:p-0{padding:calc(var(--nd-spacing)*0)}.nd\\:p-0\\.5{padding:calc(var(--nd-spacing)*.5)}.nd\\:p-1{padding:calc(var(--nd-spacing)*1)}.nd\\:p-1\\.5{padding:calc(var(--nd-spacing)*1.5)}.nd\\:p-2{padding:calc(var(--nd-spacing)*2)}.nd\\:p-2\\.5{padding:calc(var(--nd-spacing)*2.5)}.nd\\:p-3{padding:calc(var(--nd-spacing)*3)}.nd\\:p-4{padding:calc(var(--nd-spacing)*4)}.nd\\:p-6{padding:calc(var(--nd-spacing)*6)}.nd\\:p-8{padding:calc(var(--nd-spacing)*8)}.nd\\:p-12{padding:calc(var(--nd-spacing)*12)}.nd\\:px-1{padding-inline:calc(var(--nd-spacing)*1)}.nd\\:px-1\\.5{padding-inline:calc(var(--nd-spacing)*1.5)}.nd\\:px-2{padding-inline:calc(var(--nd-spacing)*2)}.nd\\:px-2\\.5{padding-inline:calc(var(--nd-spacing)*2.5)}.nd\\:px-3{padding-inline:calc(var(--nd-spacing)*3)}.nd\\:px-4{padding-inline:calc(var(--nd-spacing)*4)}.nd\\:px-6{padding-inline:calc(var(--nd-spacing)*6)}.nd\\:py-1{padding-block:calc(var(--nd-spacing)*1)}.nd\\:py-1\\.5{padding-block:calc(var(--nd-spacing)*1.5)}.nd\\:py-2{padding-block:calc(var(--nd-spacing)*2)}.nd\\:py-2\\.5{padding-block:calc(var(--nd-spacing)*2.5)}.nd\\:py-3{padding-block:calc(var(--nd-spacing)*3)}.nd\\:py-4{padding-block:calc(var(--nd-spacing)*4)}.nd\\:py-6{padding-block:calc(var(--nd-spacing)*6)}.nd\\:py-8{padding-block:calc(var(--nd-spacing)*8)}.nd\\:py-12{padding-block:calc(var(--nd-spacing)*12)}.nd\\:pt-2{padding-top:calc(var(--nd-spacing)*2)}.nd\\:pr-2{padding-right:calc(var(--nd-spacing)*2)}.nd\\:pr-7{padding-right:calc(var(--nd-spacing)*7)}.nd\\:pb-1{padding-bottom:calc(var(--nd-spacing)*1)}.nd\\:pb-8{padding-bottom:calc(var(--nd-spacing)*8)}.nd\\:pl-5\\.5{padding-left:calc(var(--nd-spacing)*5.5)}.nd\\:pl-6{padding-left:calc(var(--nd-spacing)*6)}.nd\\:pl-8{padding-left:calc(var(--nd-spacing)*8)}.nd\\:text-center{text-align:center}.nd\\:text-left{text-align:left}.nd\\:text-right{text-align:right}.nd\\:text-base{font-size:var(--nd-text-base);line-height:var(--nd-tw-leading,var(--nd-text-base--line-height))}.nd\\:text-lg{font-size:var(--nd-text-lg);line-height:var(--nd-tw-leading,var(--nd-text-lg--line-height))}.nd\\:text-sm{font-size:var(--nd-text-sm);line-height:var(--nd-tw-leading,var(--nd-text-sm--line-height))}.nd\\:text-xs{font-size:var(--nd-text-xs);line-height:var(--nd-tw-leading,var(--nd-text-xs--line-height))}.nd\\:text-\\[10px\\]{font-size:10px}.nd\\:text-\\[11px\\]{font-size:11px}.nd\\:leading-none{--nd-tw-leading:1;line-height:1}.nd\\:leading-tight{--nd-tw-leading:var(--nd-leading-tight);line-height:var(--nd-leading-tight)}.nd\\:font-medium{--nd-tw-font-weight:var(--nd-font-weight-medium);font-weight:var(--nd-font-weight-medium)}.nd\\:font-normal{--nd-tw-font-weight:var(--nd-font-weight-normal);font-weight:var(--nd-font-weight-normal)}.nd\\:font-semibold{--nd-tw-font-weight:var(--nd-font-weight-semibold);font-weight:var(--nd-font-weight-semibold)}.nd\\:tracking-tight{--nd-tw-tracking:var(--nd-tracking-tight);letter-spacing:var(--nd-tracking-tight)}.nd\\:tracking-wide{--nd-tw-tracking:var(--nd-tracking-wide);letter-spacing:var(--nd-tracking-wide)}.nd\\:tracking-widest{--nd-tw-tracking:var(--nd-tracking-widest);letter-spacing:var(--nd-tracking-widest)}.nd\\:text-balance{text-wrap:balance}.nd\\:break-words{overflow-wrap:break-word}.nd\\:whitespace-nowrap{white-space:nowrap}.nd\\:whitespace-pre-wrap{white-space:pre-wrap}.nd\\:text-amber-500{color:var(--nd-color-amber-500)}.nd\\:text-amber-600{color:var(--nd-color-amber-600)}.nd\\:text-background{color:var(--nd-background)}.nd\\:text-blue-500{color:var(--nd-color-blue-500)}.nd\\:text-blue-600{color:var(--nd-color-blue-600)}.nd\\:text-card-foreground{color:var(--nd-card-foreground)}.nd\\:text-destructive{color:var(--nd-destructive)}.nd\\:text-emerald-500{color:var(--nd-color-emerald-500)}.nd\\:text-emerald-600{color:var(--nd-color-emerald-600)}.nd\\:text-foreground{color:var(--nd-foreground)}.nd\\:text-gray-400{color:var(--nd-color-gray-400)}.nd\\:text-green-500{color:var(--nd-color-green-500)}.nd\\:text-muted-foreground{color:var(--nd-muted-foreground)}.nd\\:text-muted-foreground\\/50{color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-muted-foreground) 50%,transparent)}}.nd\\:text-muted-foreground\\/60{color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-muted-foreground) 60%,transparent)}}.nd\\:text-muted-foreground\\/70{color:var(--nd-muted-foreground);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-muted-foreground) 70%,transparent)}}.nd\\:text-orange-500{color:var(--nd-color-orange-500)}.nd\\:text-popover-foreground{color:var(--nd-popover-foreground)}.nd\\:text-primary{color:var(--nd-primary)}.nd\\:text-primary-foreground{color:var(--nd-primary-foreground)}.nd\\:text-purple-500{color:var(--nd-color-purple-500)}.nd\\:text-red-500{color:var(--nd-color-red-500)}.nd\\:text-secondary-foreground{color:var(--nd-secondary-foreground)}.nd\\:text-slate-500{color:var(--nd-color-slate-500)}.nd\\:text-white{color:var(--nd-color-white)}.nd\\:text-yellow-500{color:var(--nd-color-yellow-500)}.nd\\:text-yellow-600{color:var(--nd-color-yellow-600)}.nd\\:uppercase{text-transform:uppercase}.nd\\:tabular-nums{--nd-tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--nd-tw-ordinal,) var(--nd-tw-slashed-zero,) var(--nd-tw-numeric-figure,) var(--nd-tw-numeric-spacing,) var(--nd-tw-numeric-fraction,)}.nd\\:underline-offset-4{text-underline-offset:4px}.nd\\:opacity-50{opacity:50%}.nd\\:opacity-60{opacity:60%}.nd\\:opacity-70{opacity:70%}.nd\\:shadow{--nd-tw-shadow:0 1px 3px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow,.nd\\:shadow-2xl{box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:shadow-2xl{--nd-tw-shadow:0 25px 50px -12px var(--nd-tw-shadow-color,rgba(0,0,0,.25))}.nd\\:shadow-lg{--nd-tw-shadow:0 10px 15px -3px var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 4px 6px -4px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow-lg,.nd\\:shadow-md{box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:shadow-md{--nd-tw-shadow:0 4px 6px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 2px 4px -2px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow-sm{--nd-tw-shadow:0 1px 3px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1))}.nd\\:shadow-sm,.nd\\:shadow-xs{box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:shadow-xs{--nd-tw-shadow:0 1px 2px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.05))}.nd\\:ring-2{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(2px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}.nd\\:ring-primary{--nd-tw-ring-color:var(--nd-primary)}.nd\\:ring-offset-background{--nd-tw-ring-offset-color:var(--nd-background)}.nd\\:backdrop-blur-sm{--nd-tw-backdrop-blur:blur(var(--nd-blur-sm));-webkit-backdrop-filter:var(--nd-tw-backdrop-blur,) var(--nd-tw-backdrop-brightness,) var(--nd-tw-backdrop-contrast,) var(--nd-tw-backdrop-grayscale,) var(--nd-tw-backdrop-hue-rotate,) var(--nd-tw-backdrop-invert,) var(--nd-tw-backdrop-opacity,) var(--nd-tw-backdrop-saturate,) var(--nd-tw-backdrop-sepia,);backdrop-filter:var(--nd-tw-backdrop-blur,) var(--nd-tw-backdrop-brightness,) var(--nd-tw-backdrop-contrast,) var(--nd-tw-backdrop-grayscale,) var(--nd-tw-backdrop-hue-rotate,) var(--nd-tw-backdrop-invert,) var(--nd-tw-backdrop-opacity,) var(--nd-tw-backdrop-saturate,) var(--nd-tw-backdrop-sepia,)}.nd\\:transition{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--nd-tw-gradient-from,--nd-tw-gradient-via,--nd-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(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-\\[color\\,box-shadow\\]{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:color,box-shadow;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-all{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:all;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-colors{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--nd-tw-gradient-from,--nd-tw-gradient-via,--nd-tw-gradient-to;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-opacity{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:opacity;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:transition-transform{transition-duration:var(--nd-tw-duration,var(--nd-default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--nd-tw-ease,var(--nd-default-transition-timing-function))}.nd\\:duration-200{--nd-tw-duration:200ms;transition-duration:.2s}.nd\\:duration-300{--nd-tw-duration:300ms;transition-duration:.3s}.nd\\:duration-500{--nd-tw-duration:500ms;transition-duration:.5s}.nd\\:ease-in-out{--nd-tw-ease:var(--nd-ease-in-out);transition-timing-function:var(--nd-ease-in-out)}.nd\\:outline-none{--nd-tw-outline-style:none;outline-style:none}.nd\\:select-none{-webkit-user-select:none;user-select:none}.nd\\:hover\\:scale-110{&:hover{@media (hover:hover){--nd-tw-scale-x:110%;--nd-tw-scale-y:110%;--nd-tw-scale-z:110%;scale:var(--nd-tw-scale-x) var(--nd-tw-scale-y)}}}.nd\\:hover\\:border-border{&:hover{@media (hover:hover){border-color:var(--nd-border)}}}.nd\\:hover\\:border-primary\\/50{&:hover{@media (hover:hover){border-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--nd-primary) 50%,transparent)}}}}.nd\\:hover\\:bg-accent{&:hover{@media (hover:hover){background-color:var(--nd-accent)}}}.nd\\:hover\\:bg-accent\\/50{&:hover{@media (hover:hover){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 50%,transparent)}}}}.nd\\:hover\\:bg-background{&:hover{@media (hover:hover){background-color:var(--nd-background)}}}.nd\\:hover\\:bg-destructive\\/15{&:hover{@media (hover:hover){background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 15%,transparent)}}}}.nd\\:hover\\:bg-destructive\\/90{&:hover{@media (hover:hover){background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 90%,transparent)}}}}.nd\\:hover\\:bg-muted{&:hover{@media (hover:hover){background-color:var(--nd-muted)}}}.nd\\:hover\\:bg-muted\\/20{&:hover{@media (hover:hover){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 20%,transparent)}}}}.nd\\:hover\\:bg-muted\\/50{&:hover{@media (hover:hover){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 50%,transparent)}}}}.nd\\:hover\\:bg-primary\\/15{&:hover{@media (hover:hover){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 15%,transparent)}}}}.nd\\:hover\\:bg-primary\\/90{&:hover{@media (hover:hover){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 90%,transparent)}}}}.nd\\:hover\\:bg-secondary\\/80{&:hover{@media (hover:hover){background-color:var(--nd-secondary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-secondary) 80%,transparent)}}}}.nd\\:hover\\:text-accent-foreground{&:hover{@media (hover:hover){color:var(--nd-accent-foreground)}}}.nd\\:hover\\:text-destructive{&:hover{@media (hover:hover){color:var(--nd-destructive)}}}.nd\\:hover\\:text-foreground{&:hover{@media (hover:hover){color:var(--nd-foreground)}}}.nd\\:hover\\:underline{&:hover{@media (hover:hover){text-decoration-line:underline}}}.nd\\:hover\\:opacity-100{&:hover{@media (hover:hover){opacity:100%}}}.nd\\:hover\\:shadow-sm{&:hover{@media (hover:hover){--nd-tw-shadow:0 1px 3px 0 var(--nd-tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--nd-tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}}.nd\\:focus\\:bg-accent{&:focus{background-color:var(--nd-accent)}}.nd\\:focus\\:text-accent-foreground{&:focus{color:var(--nd-accent-foreground)}}.nd\\:focus\\:text-destructive{&:focus{color:var(--nd-destructive)}}.nd\\:focus\\:ring-2{&:focus{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(2px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}.nd\\:focus\\:ring-primary{&:focus{--nd-tw-ring-color:var(--nd-primary)}}.nd\\:focus\\:ring-ring{&:focus{--nd-tw-ring-color:var(--nd-ring)}}.nd\\:focus\\:ring-offset-2{&:focus{--nd-tw-ring-offset-width:2px;--nd-tw-ring-offset-shadow:var(--nd-tw-ring-inset,) 0 0 0 var(--nd-tw-ring-offset-width) var(--nd-tw-ring-offset-color)}}.nd\\:focus\\:outline-hidden{&:focus{--nd-tw-outline-style:none;outline-style:none;@media (forced-colors:active){outline:2px solid transparent;outline-offset:2px}}}.nd\\:focus\\:outline-none{&:focus{--nd-tw-outline-style:none;outline-style:none}}.nd\\:focus-visible\\:border-ring{&:focus-visible{border-color:var(--nd-ring)}}.nd\\:focus-visible\\:ring-2{&:focus-visible{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(2px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}.nd\\:focus-visible\\:ring-\\[3px\\]{&:focus-visible{--nd-tw-ring-shadow:var(--nd-tw-ring-inset,) 0 0 0 calc(3px + var(--nd-tw-ring-offset-width)) var(--nd-tw-ring-color,currentcolor);box-shadow:var(--nd-tw-inset-shadow),var(--nd-tw-inset-ring-shadow),var(--nd-tw-ring-offset-shadow),var(--nd-tw-ring-shadow),var(--nd-tw-shadow)}}.nd\\:focus-visible\\:ring-destructive\\/20{&:focus-visible{--nd-tw-ring-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){--nd-tw-ring-color:color-mix(in oklab,var(--nd-destructive) 20%,transparent)}}}.nd\\:focus-visible\\:ring-primary{&:focus-visible{--nd-tw-ring-color:var(--nd-primary)}}.nd\\:focus-visible\\:ring-ring\\/50{&:focus-visible{--nd-tw-ring-color:var(--nd-ring);@supports (color:color-mix(in lab,red,red)){--nd-tw-ring-color:color-mix(in oklab,var(--nd-ring) 50%,transparent)}}}.nd\\:disabled\\:pointer-events-none{&:disabled{pointer-events:none}}.nd\\:disabled\\:cursor-not-allowed{&:disabled{cursor:not-allowed}}.nd\\:disabled\\:opacity-50{&:disabled{opacity:50%}}.nd\\:has-\\[\\>svg\\]\\:grid-cols-\\[calc\\(var\\(--spacing\\)\\*4\\)_1fr\\]{&:has(>svg){grid-template-columns:calc(var(--spacing)*4) 1fr}}.nd\\:has-\\[\\>svg\\]\\:gap-x-3{&:has(>svg){column-gap:calc(var(--nd-spacing)*3)}}.nd\\:has-\\[\\>svg\\]\\:px-2\\.5{&:has(>svg){padding-inline:calc(var(--nd-spacing)*2.5)}}.nd\\:has-\\[\\>svg\\]\\:px-3{&:has(>svg){padding-inline:calc(var(--nd-spacing)*3)}}.nd\\:has-\\[\\>svg\\]\\:px-4{&:has(>svg){padding-inline:calc(var(--nd-spacing)*4)}}.nd\\:data-\\[disabled\\]\\:pointer-events-none{&[data-disabled]{pointer-events:none}}.nd\\:data-\\[disabled\\]\\:opacity-50{&[data-disabled]{opacity:50%}}.nd\\:data-\\[orientation\\=horizontal\\]\\:h-px{&[data-orientation=horizontal]{height:1px}}.nd\\:data-\\[orientation\\=horizontal\\]\\:w-full{&[data-orientation=horizontal]{width:100%}}.nd\\:data-\\[orientation\\=vertical\\]\\:h-full{&[data-orientation=vertical]{height:100%}}.nd\\:data-\\[orientation\\=vertical\\]\\:w-px{&[data-orientation=vertical]{width:1px}}.nd\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90{:is(&>*){&[data-slot=alert-description]{color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,var(--nd-destructive) 90%,transparent)}}}}.nd\\:data-\\[state\\=closed\\]\\:duration-300{&[data-state=closed]{--nd-tw-duration:300ms;transition-duration:.3s}}.nd\\:data-\\[state\\=open\\]\\:bg-accent{&[data-state=open]{background-color:var(--nd-accent)}}.nd\\:data-\\[state\\=open\\]\\:bg-secondary{&[data-state=open]{background-color:var(--nd-secondary)}}.nd\\:data-\\[state\\=open\\]\\:text-accent-foreground{&[data-state=open]{color:var(--nd-accent-foreground)}}.nd\\:data-\\[state\\=open\\]\\:text-muted-foreground{&[data-state=open]{color:var(--nd-muted-foreground)}}.nd\\:data-\\[state\\=open\\]\\:duration-500{&[data-state=open]{--nd-tw-duration:500ms;transition-duration:.5s}}.nd\\:sm\\:top-2{@media (width >= 40rem){top:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:right-2{@media (width >= 40rem){right:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:bottom-2{@media (width >= 40rem){bottom:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:mt-0{@media (width >= 40rem){margin-top:calc(var(--nd-spacing)*0)}}.nd\\:sm\\:mb-3{@media (width >= 40rem){margin-bottom:calc(var(--nd-spacing)*3)}}.nd\\:sm\\:inline{@media (width >= 40rem){display:inline}}.nd\\:sm\\:size-3\\.5{@media (width >= 40rem){height:calc(var(--nd-spacing)*3.5);width:calc(var(--nd-spacing)*3.5)}}.nd\\:sm\\:size-6{@media (width >= 40rem){height:calc(var(--nd-spacing)*6);width:calc(var(--nd-spacing)*6)}}.nd\\:sm\\:size-10{@media (width >= 40rem){height:calc(var(--nd-spacing)*10);width:calc(var(--nd-spacing)*10)}}.nd\\:sm\\:w-32{@media (width >= 40rem){width:calc(var(--nd-spacing)*32)}}.nd\\:sm\\:w-80{@media (width >= 40rem){width:calc(var(--nd-spacing)*80)}}.nd\\:sm\\:max-w-37\\.5{@media (width >= 40rem){max-width:calc(var(--nd-spacing)*37.5)}}.nd\\:sm\\:max-w-lg{@media (width >= 40rem){max-width:var(--nd-container-lg)}}.nd\\:sm\\:max-w-md{@media (width >= 40rem){max-width:var(--nd-container-md)}}.nd\\:sm\\:max-w-none{@media (width >= 40rem){max-width:none}}.nd\\:sm\\:max-w-sm{@media (width >= 40rem){max-width:var(--nd-container-sm)}}.nd\\:sm\\:max-w-xs{@media (width >= 40rem){max-width:var(--nd-container-xs)}}.nd\\:sm\\:min-w-50{@media (width >= 40rem){min-width:calc(var(--nd-spacing)*50)}}.nd\\:sm\\:grid-cols-3{@media (width >= 40rem){grid-template-columns:repeat(3,minmax(0,1fr))}}.nd\\:sm\\:grid-cols-4{@media (width >= 40rem){grid-template-columns:repeat(4,minmax(0,1fr))}}.nd\\:sm\\:flex-row{@media (width >= 40rem){flex-direction:row}}.nd\\:sm\\:justify-end{@media (width >= 40rem){justify-content:flex-end}}.nd\\:sm\\:gap-1\\.5{@media (width >= 40rem){gap:calc(var(--nd-spacing)*1.5)}}.nd\\:sm\\:gap-3{@media (width >= 40rem){gap:calc(var(--nd-spacing)*3)}}.nd\\:sm\\:space-y-6{@media (width >= 40rem){:where(&>:not(:last-child)){--nd-tw-space-y-reverse:0;margin-block-end:calc(var(--nd-spacing)*6*(1 - var(--nd-tw-space-y-reverse)));margin-block-start:calc(var(--nd-spacing)*6*var(--nd-tw-space-y-reverse))}}}.nd\\:sm\\:space-x-2{@media (width >= 40rem){:where(&>:not(:last-child)){--nd-tw-space-x-reverse:0;margin-inline-end:calc(var(--nd-spacing)*2*(1 - var(--nd-tw-space-x-reverse)));margin-inline-start:calc(var(--nd-spacing)*2*var(--nd-tw-space-x-reverse))}}}.nd\\:sm\\:rounded-lg{@media (width >= 40rem){border-radius:var(--nd-radius)}}.nd\\:sm\\:rounded-xl{@media (width >= 40rem){border-radius:calc(var(--nd-radius) + 4px)}}.nd\\:sm\\:p-2{@media (width >= 40rem){padding:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:p-3{@media (width >= 40rem){padding:calc(var(--nd-spacing)*3)}}.nd\\:sm\\:px-2{@media (width >= 40rem){padding-inline:calc(var(--nd-spacing)*2)}}.nd\\:sm\\:px-4{@media (width >= 40rem){padding-inline:calc(var(--nd-spacing)*4)}}.nd\\:sm\\:pb-12{@media (width >= 40rem){padding-bottom:calc(var(--nd-spacing)*12)}}.nd\\:sm\\:text-left{@media (width >= 40rem){text-align:left}}.nd\\:sm\\:text-sm{@media (width >= 40rem){font-size:var(--nd-text-sm);line-height:var(--nd-tw-leading,var(--nd-text-sm--line-height))}}.nd\\:md\\:inset-auto{@media (width >= 48rem){inset:auto}}.nd\\:md\\:top-4{@media (width >= 48rem){top:calc(var(--nd-spacing)*4)}}.nd\\:md\\:top-\\[50\\%\\]{@media (width >= 48rem){top:50%}}.nd\\:md\\:right-4{@media (width >= 48rem){right:calc(var(--nd-spacing)*4)}}.nd\\:md\\:left-\\[50\\%\\]{@media (width >= 48rem){left:50%}}.nd\\:md\\:flex{@media (width >= 48rem){display:flex}}.nd\\:md\\:hidden{@media (width >= 48rem){display:none}}.nd\\:md\\:size-7{@media (width >= 48rem){height:calc(var(--nd-spacing)*7);width:calc(var(--nd-spacing)*7)}}.nd\\:md\\:size-12{@media (width >= 48rem){height:calc(var(--nd-spacing)*12);width:calc(var(--nd-spacing)*12)}}.nd\\:md\\:max-h-\\[90vh\\]{@media (width >= 48rem){max-height:90vh}}.nd\\:md\\:w-\\[95vw\\]{@media (width >= 48rem){width:95vw}}.nd\\:md\\:max-w-5xl{@media (width >= 48rem){max-width:var(--nd-container-5xl)}}.nd\\:md\\:translate-x-\\[-50\\%\\]{@media (width >= 48rem){--nd-tw-translate-x:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}}.nd\\:md\\:translate-y-\\[-50\\%\\]{@media (width >= 48rem){--nd-tw-translate-y:-50%;translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}}.nd\\:md\\:grid-cols-4{@media (width >= 48rem){grid-template-columns:repeat(4,minmax(0,1fr))}}.nd\\:md\\:grid-cols-5{@media (width >= 48rem){grid-template-columns:repeat(5,minmax(0,1fr))}}.nd\\:md\\:flex-row{@media (width >= 48rem){flex-direction:row}}.nd\\:md\\:gap-4{@media (width >= 48rem){gap:calc(var(--nd-spacing)*4)}}.nd\\:md\\:rounded-md{@media (width >= 48rem){border-radius:calc(var(--nd-radius) - 2px)}}.nd\\:md\\:rounded-xl{@media (width >= 48rem){border-radius:calc(var(--nd-radius) + 4px)}}.nd\\:md\\:border{@media (width >= 48rem){border-bottom-width:1px;border-left-width:1px;border-right-width:1px;border-style:var(--nd-tw-border-style);border-top-width:1px}}.nd\\:md\\:bg-transparent{@media (width >= 48rem){background-color:transparent}}.nd\\:md\\:p-4{@media (width >= 48rem){padding:calc(var(--nd-spacing)*4)}}.nd\\:md\\:text-sm{@media (width >= 48rem){font-size:var(--nd-text-sm);line-height:var(--nd-tw-leading,var(--nd-text-sm--line-height))}}.nd\\:lg\\:flex{@media (width >= 64rem){display:flex}}.nd\\:lg\\:hidden{@media (width >= 64rem){display:none}}.nd\\:lg\\:w-56{@media (width >= 64rem){width:calc(var(--nd-spacing)*56)}}.nd\\:lg\\:grid-cols-5{@media (width >= 64rem){grid-template-columns:repeat(5,minmax(0,1fr))}}.nd\\:lg\\:grid-cols-6{@media (width >= 64rem){grid-template-columns:repeat(6,minmax(0,1fr))}}.nd\\:xl\\:grid-cols-6{@media (width >= 80rem){grid-template-columns:repeat(6,minmax(0,1fr))}}.nd\\:xl\\:grid-cols-7{@media (width >= 80rem){grid-template-columns:repeat(7,minmax(0,1fr))}}.nd\\:dark\\:border-input{&:is(.dark *){border-color:var(--nd-input)}}.nd\\:dark\\:bg-accent\\/20{&:is(.dark *){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 20%,transparent)}}}.nd\\:dark\\:bg-background\\/30{&:is(.dark *){background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 30%,transparent)}}}.nd\\:dark\\:bg-background\\/80{&:is(.dark *){background-color:var(--nd-background);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-background) 80%,transparent)}}}.nd\\:dark\\:bg-blue-500\\/20{&:is(.dark *){background-color:var(--nd-color-blue-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-blue-500) 20%,transparent)}}}.nd\\:dark\\:bg-card\\/50{&:is(.dark *){background-color:var(--nd-card);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-card) 50%,transparent)}}}.nd\\:dark\\:bg-destructive\\/15{&:is(.dark *){background-color:var(--nd-destructive);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-destructive) 15%,transparent)}}}.nd\\:dark\\:bg-emerald-500\\/20{&:is(.dark *){background-color:var(--nd-color-emerald-500);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-color-emerald-500) 20%,transparent)}}}.nd\\:dark\\:bg-input\\/30{&:is(.dark *){background-color:var(--nd-input);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-input) 30%,transparent)}}}.nd\\:dark\\:bg-muted\\/10{&:is(.dark *){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 10%,transparent)}}}.nd\\:dark\\:bg-muted\\/20{&:is(.dark *){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 20%,transparent)}}}.nd\\:dark\\:bg-muted\\/30{&:is(.dark *){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 30%,transparent)}}}.nd\\:dark\\:bg-primary\\/10{&:is(.dark *){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 10%,transparent)}}}.nd\\:dark\\:bg-primary\\/15{&:is(.dark *){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 15%,transparent)}}}.nd\\:dark\\:text-amber-500{&:is(.dark *){color:var(--nd-color-amber-500)}}.nd\\:dark\\:text-blue-400{&:is(.dark *){color:var(--nd-color-blue-400)}}.nd\\:dark\\:text-emerald-400{&:is(.dark *){color:var(--nd-color-emerald-400)}}.nd\\:dark\\:text-yellow-500{&:is(.dark *){color:var(--nd-color-yellow-500)}}.nd\\:dark\\:hover\\:bg-accent\\/30{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 30%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-accent\\/50{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-accent);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-accent) 50%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-input\\/50{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-input);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-input) 50%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-muted\\/30{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-muted);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-muted) 30%,transparent)}}}}}.nd\\:dark\\:hover\\:bg-primary\\/20{&:is(.dark *){&:hover{@media (hover:hover){background-color:var(--nd-primary);@supports (color:color-mix(in lab,red,red)){background-color:color-mix(in oklab,var(--nd-primary) 20%,transparent)}}}}}.nd\\:\\[\\&_p\\]\\:leading-relaxed{& p{--nd-tw-leading:var(--nd-leading-relaxed);line-height:var(--nd-leading-relaxed)}}.nd\\:\\[\\&\\>svg\\]\\:size-4{&>svg{height:calc(var(--nd-spacing)*4);width:calc(var(--nd-spacing)*4)}}.nd\\:\\[\\&\\>svg\\]\\:translate-y-0\\.5{&>svg{--nd-tw-translate-y:calc(var(--nd-spacing)*0.5);translate:var(--nd-tw-translate-x) var(--nd-tw-translate-y)}}.nd\\:\\[\\&\\>svg\\]\\:text-current{&>svg{color:currentcolor}}:host,:root{--nd-color-red-500:oklch(63.7% 0.237 25.331);--nd-color-orange-500:oklch(70.5% 0.213 47.604);--nd-color-amber-500:oklch(76.9% 0.188 70.08);--nd-color-amber-600:oklch(66.6% 0.179 58.318);--nd-color-yellow-500:oklch(79.5% 0.184 86.047);--nd-color-yellow-600:oklch(68.1% 0.162 75.834);--nd-color-green-500:oklch(72.3% 0.219 149.579);--nd-color-emerald-400:oklch(76.5% 0.177 163.223);--nd-color-emerald-500:oklch(69.6% 0.17 162.48);--nd-color-emerald-600:oklch(59.6% 0.145 163.225);--nd-color-cyan-500:oklch(71.5% 0.143 215.221);--nd-color-blue-400:oklch(70.7% 0.165 254.624);--nd-color-blue-500:oklch(62.3% 0.214 259.815);--nd-color-blue-600:oklch(54.6% 0.245 262.881);--nd-color-purple-500:oklch(62.7% 0.265 303.9);--nd-color-slate-500:oklch(55.4% 0.046 257.417);--nd-color-gray-400:oklch(70.7% 0.022 261.325);--nd-color-black:#000;--nd-color-white:#fff;--nd-spacing:0.25rem;--nd-container-xs:20rem;--nd-container-sm:24rem;--nd-container-md:28rem;--nd-container-lg:32rem;--nd-container-5xl:64rem;--nd-text-xs:0.75rem;--nd-text-xs--line-height:1.33333;--nd-text-sm:0.875rem;--nd-text-sm--line-height:1.42857;--nd-text-base:1rem;--nd-text-base--line-height:1.5;--nd-text-lg:1.125rem;--nd-text-lg--line-height:1.55556;--nd-font-weight-normal:400;--nd-font-weight-medium:500;--nd-font-weight-semibold:600;--nd-tracking-tight:-0.025em;--nd-tracking-wide:0.025em;--nd-tracking-widest:0.1em;--nd-leading-tight:1.25;--nd-leading-relaxed:1.625;--nd-radius-xs:0.125rem;--nd-ease-in-out:cubic-bezier(0.4,0,0.2,1);--nd-animate-spin:nd-spin 1s linear infinite;--nd-blur-sm:8px;--nd-default-transition-duration:150ms;--nd-default-transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.nd-drive-root{--nd-card:oklch(1 0 0);--nd-card-foreground:oklch(0.145 0 0);--nd-popover:oklch(1 0 0);--nd-popover-foreground:oklch(0.145 0 0);--nd-primary:oklch(0.205 0 0);--nd-primary-foreground:oklch(0.985 0 0);--nd-secondary:oklch(0.97 0 0);--nd-secondary-foreground:oklch(0.205 0 0);--nd-muted:oklch(0.97 0 0);--nd-muted-foreground:oklch(0.556 0 0);--nd-accent:oklch(0.97 0 0);--nd-accent-foreground:oklch(0.205 0 0);--nd-destructive:oklch(0.577 0.245 27.325);--nd-destructive-foreground:210 40% 98%;--nd-border:oklch(0.922 0 0);--nd-input:oklch(0.922 0 0);--nd-ring:oklch(0.708 0 0);--nd-radius:0.625rem;--nd-background:oklch(1 0 0);--nd-foreground:oklch(0.145 0 0);--nd-chart-1:oklch(0.646 0.222 41.116);--nd-chart-2:oklch(0.6 0.118 184.704);--nd-chart-3:oklch(0.398 0.07 227.392);--nd-chart-4:oklch(0.828 0.189 84.429);--nd-chart-5:oklch(0.769 0.188 70.08);--nd-sidebar:oklch(0.985 0 0);--nd-sidebar-foreground:oklch(0.145 0 0);--nd-sidebar-primary:oklch(0.205 0 0);--nd-sidebar-primary-foreground:oklch(0.985 0 0);--nd-sidebar-accent:oklch(0.97 0 0);--nd-sidebar-accent-foreground:oklch(0.205 0 0);--nd-sidebar-border:oklch(0.922 0 0);--nd-sidebar-ring:oklch(0.708 0 0)}.dark .nd-drive-root{--nd-background:oklch(0.145 0 0);--nd-foreground:oklch(0.985 0 0);--nd-card:oklch(0.205 0 0);--nd-card-foreground:oklch(0.985 0 0);--nd-popover:oklch(0.205 0 0);--nd-popover-foreground:oklch(0.985 0 0);--nd-primary:oklch(0.922 0 0);--nd-primary-foreground:oklch(0.205 0 0);--nd-secondary:oklch(0.269 0 0);--nd-secondary-foreground:oklch(0.985 0 0);--nd-muted:oklch(0.269 0 0);--nd-muted-foreground:oklch(0.708 0 0);--nd-accent:oklch(0.269 0 0);--nd-accent-foreground:oklch(0.985 0 0);--nd-destructive:oklch(0.704 0.191 22.216);--nd-destructive-foreground:210 40% 98%;--nd-border:oklch(1 0 0/10%);--nd-input:oklch(1 0 0/15%);--nd-ring:oklch(0.556 0 0);--nd-chart-1:oklch(0.488 0.243 264.376);--nd-chart-2:oklch(0.696 0.17 162.48);--nd-chart-3:oklch(0.769 0.188 70.08);--nd-chart-4:oklch(0.627 0.265 303.9);--nd-chart-5:oklch(0.645 0.246 16.439);--nd-sidebar:oklch(0.205 0 0);--nd-sidebar-foreground:oklch(0.985 0 0);--nd-sidebar-primary:oklch(0.488 0.243 264.376);--nd-sidebar-primary-foreground:oklch(0.985 0 0);--nd-sidebar-accent:oklch(0.269 0 0);--nd-sidebar-accent-foreground:oklch(0.985 0 0);--nd-sidebar-border:oklch(1 0 0/10%);--nd-sidebar-ring:oklch(0.556 0 0)}@keyframes nd-indeterminate{0%{transform:translateX(-100%)}50%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes nd-spin{to{transform:rotate(1turn)}}@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.nd-drive-root,.nd-drive-root *,.nd-drive-root ::backdrop,.nd-drive-root :after,.nd-drive-root :before{--nd-tw-translate-x:0;--nd-tw-translate-y:0;--nd-tw-translate-z:0;--nd-tw-scale-x:1;--nd-tw-scale-y:1;--nd-tw-scale-z:1;--nd-tw-space-y-reverse:0;--nd-tw-divide-y-reverse:0;--nd-tw-border-style:solid;--nd-tw-gradient-position:initial;--nd-tw-gradient-from:#0000;--nd-tw-gradient-via:#0000;--nd-tw-gradient-to:#0000;--nd-tw-gradient-stops:initial;--nd-tw-gradient-via-stops:initial;--nd-tw-gradient-from-position:0%;--nd-tw-gradient-via-position:50%;--nd-tw-gradient-to-position:100%;--nd-tw-leading:initial;--nd-tw-font-weight:initial;--nd-tw-tracking:initial;--nd-tw-ordinal:initial;--nd-tw-slashed-zero:initial;--nd-tw-numeric-figure:initial;--nd-tw-numeric-spacing:initial;--nd-tw-numeric-fraction:initial;--nd-tw-shadow:0 0 #0000;--nd-tw-shadow-color:initial;--nd-tw-shadow-alpha:100%;--nd-tw-inset-shadow:0 0 #0000;--nd-tw-inset-shadow-color:initial;--nd-tw-inset-shadow-alpha:100%;--nd-tw-ring-color:initial;--nd-tw-ring-shadow:0 0 #0000;--nd-tw-inset-ring-color:initial;--nd-tw-inset-ring-shadow:0 0 #0000;--nd-tw-ring-inset:initial;--nd-tw-ring-offset-width:0px;--nd-tw-ring-offset-color:#fff;--nd-tw-ring-offset-shadow:0 0 #0000;--nd-tw-backdrop-blur:initial;--nd-tw-backdrop-brightness:initial;--nd-tw-backdrop-contrast:initial;--nd-tw-backdrop-grayscale:initial;--nd-tw-backdrop-hue-rotate:initial;--nd-tw-backdrop-invert:initial;--nd-tw-backdrop-opacity:initial;--nd-tw-backdrop-saturate:initial;--nd-tw-backdrop-sepia:initial;--nd-tw-duration:initial;--nd-tw-ease:initial;--nd-tw-space-x-reverse:0}}";
690
714
  var styleId = "nd-injected-styles";
691
715
  var useStyleInjector = () => {
692
716
  React3.useEffect(() => {
@@ -1532,9 +1556,16 @@ var DriveDndContext = React3.createContext({
1532
1556
  var useDriveDnd = () => React3.useContext(DriveDndContext);
1533
1557
  var DriveDndProvider = (props) => {
1534
1558
  const { children } = props;
1535
- const { items, setItems, sortBy, setSortBy, moveItem, callAPI, currentView } = useDrive();
1559
+ const { items, setItems, sortBy, setSortBy, moveItem, callAPI, currentView, selectedFileIds, setSelectedFiles } = useDrive();
1536
1560
  const [dragOverFolderId, setDragOverFolderId] = React3.useState(null);
1537
1561
  const [draggingItemId, setDraggingItemId] = React3.useState(null);
1562
+ const moveSelection = React3.useCallback(async (activeId, targetFolderId) => {
1563
+ const ids = selectedFileIds.includes(activeId) && selectedFileIds.length > 1 ? selectedFileIds : [activeId];
1564
+ if (ids.length === 1) return moveItem(ids[0], targetFolderId);
1565
+ setItems((prev) => prev.filter((i) => !ids.includes(i.id)));
1566
+ setSelectedFiles([]);
1567
+ await callAPI("move", { method: "POST", body: JSON.stringify({ ids, targetFolderId }) });
1568
+ }, [selectedFileIds, moveItem, setItems, setSelectedFiles, callAPI]);
1538
1569
  const sensors = core.useSensors(
1539
1570
  core.useSensor(core.PointerSensor, { activationConstraint: { distance: 8 } }),
1540
1571
  core.useSensor(core.KeyboardSensor, { coordinateGetter: sortable.sortableKeyboardCoordinates })
@@ -1569,12 +1600,12 @@ var DriveDndProvider = (props) => {
1569
1600
  if (overId.startsWith("path-")) {
1570
1601
  const pathId = overId.slice(5);
1571
1602
  const targetFolderId = pathId === "root" || pathId === "null" ? "root" : pathId;
1572
- await moveItem(active.id, targetFolderId);
1603
+ await moveSelection(active.id, targetFolderId);
1573
1604
  return;
1574
1605
  }
1575
1606
  const overItem = items.find((i) => i.id === over.id);
1576
1607
  if (overItem?.information.type === "FOLDER") {
1577
- await moveItem(active.id, over.id);
1608
+ await moveSelection(active.id, over.id);
1578
1609
  return;
1579
1610
  }
1580
1611
  const oldIndex = items.findIndex((i) => i.id === active.id);
@@ -1584,7 +1615,7 @@ var DriveDndProvider = (props) => {
1584
1615
  setItems(reordered);
1585
1616
  if (sortBy.field !== "order") setSortBy({ field: "order", order: 1 });
1586
1617
  await callAPI("reorder", { method: "POST", body: JSON.stringify({ ids: reordered.map((i) => i.id) }) });
1587
- }, [items, setItems, sortBy, setSortBy, moveItem, callAPI]);
1618
+ }, [items, setItems, sortBy, setSortBy, moveSelection, callAPI]);
1588
1619
  const enableDnd = currentView === "BROWSE";
1589
1620
  return /* @__PURE__ */ jsxRuntime.jsx(DriveDndContext.Provider, { value: { dragOverFolderId, draggingItemId }, children: enableDnd ? /* @__PURE__ */ jsxRuntime.jsx(
1590
1621
  core.DndContext,
@@ -1950,6 +1981,49 @@ var DriveItemRename = (props) => {
1950
1981
  }
1951
1982
  ) });
1952
1983
  };
1984
+ var useMarquee = (onSelectIds) => {
1985
+ const [box, setBox] = React3.useState(null);
1986
+ const onMouseDown = (e) => {
1987
+ if (e.button !== 0 || e.target.closest("[data-marquee-id]")) return;
1988
+ const container = e.currentTarget;
1989
+ const start = { x: e.clientX, y: e.clientY };
1990
+ let moved = false;
1991
+ const handleMove = (ev) => {
1992
+ if (!moved && Math.abs(ev.clientX - start.x) < 4 && Math.abs(ev.clientY - start.y) < 4) return;
1993
+ moved = true;
1994
+ const left = Math.min(start.x, ev.clientX);
1995
+ const top = Math.min(start.y, ev.clientY);
1996
+ const right = Math.max(start.x, ev.clientX);
1997
+ const bottom = Math.max(start.y, ev.clientY);
1998
+ const cRect = container.getBoundingClientRect();
1999
+ setBox({
2000
+ left: left - cRect.left + container.scrollLeft,
2001
+ top: top - cRect.top + container.scrollTop,
2002
+ width: right - left,
2003
+ height: bottom - top
2004
+ });
2005
+ const ids = [];
2006
+ container.querySelectorAll("[data-marquee-id]").forEach((el) => {
2007
+ const r = el.getBoundingClientRect();
2008
+ if (r.left < right && r.right > left && r.top < bottom && r.bottom > top) ids.push(el.dataset.marqueeId);
2009
+ });
2010
+ onSelectIds(ids);
2011
+ };
2012
+ const handleUp = () => {
2013
+ window.removeEventListener("mousemove", handleMove);
2014
+ window.removeEventListener("mouseup", handleUp);
2015
+ if (!moved) onSelectIds([]);
2016
+ setBox(null);
2017
+ };
2018
+ window.addEventListener("mousemove", handleMove);
2019
+ window.addEventListener("mouseup", handleUp);
2020
+ };
2021
+ const overlay = box ? React3__namespace.default.createElement("div", {
2022
+ className: "nd:absolute nd:z-50 nd:rounded-sm nd:border nd:border-primary nd:bg-primary/10 nd:pointer-events-none",
2023
+ style: { left: box.left, top: box.top, width: box.width, height: box.height }
2024
+ }) : null;
2025
+ return { onMouseDown, overlay };
2026
+ };
1953
2027
  var SortableItem = (props) => {
1954
2028
  const { id, children, disabled, isDragOverTarget } = props;
1955
2029
  const { attributes, listeners, setNodeRef, transform, transition, isDragging } = sortable.useSortable({ id, disabled });
@@ -1960,7 +2034,7 @@ var SortableItem = (props) => {
1960
2034
  zIndex: isDragging ? 50 : "auto",
1961
2035
  position: "relative"
1962
2036
  };
1963
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setNodeRef, style, ...attributes, ...listeners, children });
2037
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setNodeRef, "data-marquee-id": id, style, ...attributes, ...listeners, children });
1964
2038
  };
1965
2039
  var FileItem = (props) => {
1966
2040
  const { item, isSelected, isDragOver, onSelect, onDoubleClick, onRename, onDelete, onRestore } = props;
@@ -2047,6 +2121,8 @@ var DriveFileGrid = (props) => {
2047
2121
  sortBy,
2048
2122
  selectedFileIds,
2049
2123
  toggleSelected,
2124
+ setSelectedFiles,
2125
+ selectionMode,
2050
2126
  navigateToFolder,
2051
2127
  hasMore,
2052
2128
  loadMore,
@@ -2058,6 +2134,19 @@ var DriveFileGrid = (props) => {
2058
2134
  restoreItem
2059
2135
  } = useDrive();
2060
2136
  const { dragOverFolderId } = useDriveDnd();
2137
+ const { onMouseDown: marqueeMouseDown, overlay: marqueeOverlay } = useMarquee((ids) => {
2138
+ let files = items.filter((i) => ids.includes(i.id)).map((i) => ({
2139
+ id: i.id,
2140
+ file: {
2141
+ name: i.name,
2142
+ mime: i.information.type === "FILE" ? i.information.mime : "",
2143
+ size: i.information.type === "FILE" ? i.information.sizeInBytes : 0
2144
+ }
2145
+ }));
2146
+ if (selectionMode.type === "SINGLE") files = files.slice(0, 1);
2147
+ else if (selectionMode.maxFile) files = files.slice(0, selectionMode.maxFile);
2148
+ setSelectedFiles(files);
2149
+ });
2061
2150
  const [dialogs, setDialogs] = React3__namespace.default.useState({ newFolder: false, rename: false, delete: false });
2062
2151
  const [itemToDelete, setItemToDelete] = React3__namespace.default.useState(null);
2063
2152
  const [itemToRename, setItemToRename] = React3__namespace.default.useState(null);
@@ -2180,7 +2269,8 @@ var DriveFileGrid = (props) => {
2180
2269
  indicatorClassName: "nd:bg-primary"
2181
2270
  }
2182
2271
  ) }),
2183
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkHQTC3554_cjs.cn("nd:flex-1 nd:overflow-y-auto nd:min-h-0 nd:p-2 nd:sm:p-3 nd:md:p-4", className), children: [
2272
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkHQTC3554_cjs.cn("nd:flex-1 nd:overflow-y-auto nd:min-h-0 nd:relative nd:p-2 nd:sm:p-3 nd:md:p-4", className), onMouseDown: marqueeMouseDown, children: [
2273
+ marqueeOverlay,
2184
2274
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:space-y-4 nd:sm:space-y-6", children: Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2185
2275
  groupBy !== "NONE" && /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "nd:text-xs nd:font-semibold nd:text-muted-foreground nd:uppercase nd:tracking-wide nd:mb-2 nd:sm:mb-3 nd:px-1", children: [
2186
2276
  groupName,
@@ -2634,6 +2724,8 @@ var UploadStatusIcon = (props) => {
2634
2724
  return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "nd:size-4 nd:text-muted-foreground" });
2635
2725
  case "uploading":
2636
2726
  return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-4 nd:text-primary nd:animate-spin" });
2727
+ case "conflict":
2728
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "nd:size-4 nd:text-amber-500" });
2637
2729
  default:
2638
2730
  return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "nd:size-4 nd:text-muted-foreground" });
2639
2731
  }
@@ -2720,10 +2812,11 @@ var DriveUpload = (props) => {
2720
2812
  const [manuallyOpened, setManuallyOpened] = React3.useState(false);
2721
2813
  const hasAutoClosedRef = React3.useRef(false);
2722
2814
  const inputRef = React3.useRef(null);
2723
- const { currentFolderId, setItems, apiEndpoint, activeAccountId, withCredentials, fetchItems, isLoading } = useDrive();
2724
- const { uploads, uploadFiles: uploadFiles2, cancelUpload, cancelAllUploads } = useUpload(apiEndpoint, activeAccountId, withCredentials, (uploadedItem) => {
2815
+ const { currentFolderId, setItems, items, apiEndpoint, activeAccountId, withCredentials, fetchItems, isLoading } = useDrive();
2816
+ const { uploads, uploadFiles: uploadFiles2, cancelUpload, cancelAllUploads, resolveConflict, resolveAllConflicts } = useUpload(apiEndpoint, activeAccountId, withCredentials, (uploadedItem, replaced) => {
2725
2817
  if (uploadedItem) {
2726
- setItems((prev) => [uploadedItem, ...prev]);
2818
+ const item = uploadedItem;
2819
+ setItems((prev) => [item, ...prev.filter((i) => replaced ? !(i.parentId === item.parentId && i.name === item.name) : i.id !== item.id)]);
2727
2820
  }
2728
2821
  onComplete?.(uploadedItem);
2729
2822
  });
@@ -2748,10 +2841,10 @@ var DriveUpload = (props) => {
2748
2841
  if (!files || files.length === 0) return;
2749
2842
  const filteredFiles = filterFiles(Array.from(files));
2750
2843
  if (filteredFiles.length === 0) return;
2751
- uploadFiles2(filteredFiles, currentFolderId);
2844
+ uploadFiles2(filteredFiles, currentFolderId, items);
2752
2845
  setManuallyOpened(false);
2753
2846
  setShowUploadsDialog(true);
2754
- }, [uploadFiles2, currentFolderId, filterFiles]);
2847
+ }, [uploadFiles2, currentFolderId, items, filterFiles]);
2755
2848
  const handleDrag = React3.useCallback((e, dragging) => {
2756
2849
  e.preventDefault();
2757
2850
  e.stopPropagation();
@@ -2763,8 +2856,9 @@ var DriveUpload = (props) => {
2763
2856
  setIsDragging(false);
2764
2857
  handleFiles(e.dataTransfer.files);
2765
2858
  }, [handleFiles]);
2766
- const hasUploadsInProgress = uploads.some((u) => ["uploading", "queued", "pending"].includes(u.status));
2767
- const activeUploads = uploads.filter((u) => ["uploading", "queued", "pending"].includes(u.status));
2859
+ const hasUploadsInProgress = uploads.some((u) => ["conflict", "uploading", "queued", "pending"].includes(u.status));
2860
+ const activeUploads = uploads.filter((u) => ["conflict", "uploading", "queued", "pending"].includes(u.status));
2861
+ const conflictCount = uploads.filter((u) => u.status === "conflict").length;
2768
2862
  const renderDialog = () => /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: showUploadsDialog, onOpenChange: setShowUploadsDialog, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "nd:sm:max-w-md nd:p-0 nd:gap-0", showCloseButton: false, children: [
2769
2863
  /* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { className: "nd:px-4 nd:py-3 nd:border-b nd:flex-row nd:items-center nd:justify-between nd:space-y-0", children: [
2770
2864
  /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "nd:text-base", children: "Upload Status" }),
@@ -2780,6 +2874,15 @@ var DriveUpload = (props) => {
2780
2874
  }
2781
2875
  )
2782
2876
  ] }),
2877
+ conflictCount > 1 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:px-4 nd:py-2 nd:border-b nd:bg-amber-500/5 nd:flex nd:items-center nd:gap-2", children: [
2878
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:text-xs nd:text-muted-foreground nd:flex-1", children: [
2879
+ conflictCount,
2880
+ " files already exist. Apply to all:"
2881
+ ] }),
2882
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => resolveAllConflicts("skip"), children: "Skip" }),
2883
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => resolveAllConflicts("rename"), children: "Both" }),
2884
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => resolveAllConflicts("replace"), children: "Duplicate" })
2885
+ ] }),
2783
2886
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:divide-y nd:max-h-80 nd:overflow-y-auto", children: [
2784
2887
  uploads.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:p-4 nd:text-center nd:text-sm nd:text-muted-foreground", children: "No uploads" }),
2785
2888
  uploads.map((upload) => {
@@ -2796,6 +2899,7 @@ var DriveUpload = (props) => {
2796
2899
  upload.status === "uploading" && "Uploading...",
2797
2900
  upload.status === "queued" && "Waiting in queue",
2798
2901
  upload.status === "pending" && "Preparing...",
2902
+ upload.status === "conflict" && "Already exists in this folder",
2799
2903
  upload.status === "complete" && "Upload complete",
2800
2904
  upload.status === "error" && (upload.error || "Upload failed"),
2801
2905
  upload.status === "cancelled" && "Upload cancelled"
@@ -2828,6 +2932,11 @@ var DriveUpload = (props) => {
2828
2932
  )
2829
2933
  ] })
2830
2934
  ] }),
2935
+ upload.status === "conflict" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2 nd:pl-6", children: [
2936
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => resolveConflict(upload.id, "skip"), children: "Skip" }),
2937
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => resolveConflict(upload.id, "rename"), children: "Both" }),
2938
+ /* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => resolveConflict(upload.id, "replace"), children: "Duplicate" })
2939
+ ] }),
2831
2940
  upload.status === "uploading" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:flex nd:items-center nd:gap-2 nd:pl-6", children: [
2832
2941
  /* @__PURE__ */ jsxRuntime.jsx(Progress, { value: percent, className: "nd:flex-1" }),
2833
2942
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "nd:text-xs nd:tabular-nums nd:text-muted-foreground nd:w-8", children: [
@@ -3337,7 +3446,7 @@ var DriveFileChooser = (props) => {
3337
3446
  }, [unauthenticatedMode]);
3338
3447
  const handleFilePick = React3.useCallback((e) => {
3339
3448
  const picked = Array.from(e.target.files ?? []);
3340
- if (picked.length) uploadFiles2(multiple ? picked : [picked[0]], null);
3449
+ if (picked.length) uploadFiles2(multiple ? picked : [picked[0]], null, []);
3341
3450
  e.target.value = "";
3342
3451
  }, [uploadFiles2, multiple]);
3343
3452
  const activeUploads = unauthenticatedMode ? uploads.filter((u) => ["queued", "uploading", "error"].includes(u.status)) : [];
@@ -3812,7 +3921,7 @@ var SortableItem2 = (props) => {
3812
3921
  zIndex: isDragging ? 50 : "auto",
3813
3922
  position: "relative"
3814
3923
  };
3815
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setNodeRef, style, ...attributes, ...listeners, children });
3924
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: setNodeRef, "data-marquee-id": id, style, ...attributes, ...listeners, children });
3816
3925
  };
3817
3926
  var DriveExplorer = (props) => {
3818
3927
  const { onItemClick, onItemDoubleClick, mimeFilter, className, selectableFolders = false } = props;
@@ -3829,6 +3938,8 @@ var DriveExplorer = (props) => {
3829
3938
  setSortBy,
3830
3939
  selectedFileIds,
3831
3940
  toggleSelected,
3941
+ setSelectedFiles,
3942
+ selectionMode,
3832
3943
  navigateToFolder,
3833
3944
  hasMore,
3834
3945
  loadMore,
@@ -3858,6 +3969,13 @@ var DriveExplorer = (props) => {
3858
3969
  const handleDragStart = (event) => {
3859
3970
  setDraggingItemId(event.active.id);
3860
3971
  };
3972
+ const moveSelection = async (activeId, targetFolderId) => {
3973
+ const ids = selectedFileIds.includes(activeId) && selectedFileIds.length > 1 ? selectedFileIds : [activeId];
3974
+ if (ids.length === 1) return moveItem(ids[0], targetFolderId);
3975
+ setItems((prev) => prev.filter((i) => !ids.includes(i.id)));
3976
+ setSelectedFiles([]);
3977
+ await callAPI("move", { method: "POST", body: JSON.stringify({ ids, targetFolderId }) });
3978
+ };
3861
3979
  const handleDragOver = (event) => {
3862
3980
  const { over } = event;
3863
3981
  if (!over) {
@@ -3881,13 +3999,13 @@ var DriveExplorer = (props) => {
3881
3999
  const overId = over.id;
3882
4000
  if (overId.startsWith("path-")) {
3883
4001
  const targetFolderId = overId.replace("path-", "");
3884
- await moveItem(active.id, targetFolderId === "root" ? "root" : targetFolderId);
4002
+ await moveSelection(active.id, targetFolderId === "root" ? "root" : targetFolderId);
3885
4003
  return;
3886
4004
  }
3887
4005
  const overItem = items.find((i) => i.id === over.id);
3888
4006
  const activeItem = items.find((i) => i.id === active.id);
3889
4007
  if (overItem?.information.type === "FOLDER" && activeItem) {
3890
- await moveItem(active.id, over.id);
4008
+ await moveSelection(active.id, over.id);
3891
4009
  return;
3892
4010
  }
3893
4011
  setItems((prevItems) => {
@@ -3991,6 +4109,19 @@ var DriveExplorer = (props) => {
3991
4109
  } else onItemDoubleClick?.(item);
3992
4110
  };
3993
4111
  const enableDrag = currentView === "BROWSE";
4112
+ const { onMouseDown: marqueeMouseDown, overlay: marqueeOverlay } = useMarquee((ids) => {
4113
+ let files = items.filter((i) => ids.includes(i.id)).map((i) => ({
4114
+ id: i.id,
4115
+ file: {
4116
+ name: i.name,
4117
+ mime: i.information.type === "FILE" ? i.information.mime : "",
4118
+ size: i.information.type === "FILE" ? i.information.sizeInBytes : 0
4119
+ }
4120
+ }));
4121
+ if (selectionMode.type === "SINGLE") files = files.slice(0, 1);
4122
+ else if (selectionMode.maxFile) files = files.slice(0, selectionMode.maxFile);
4123
+ setSelectedFiles(files);
4124
+ });
3994
4125
  const stateContent = (() => {
3995
4126
  if (isLoading && items.length === 0) {
3996
4127
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:flex nd:items-center nd:justify-center nd:py-12 nd:flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "nd:size-6 nd:animate-spin nd:text-muted-foreground" }) });
@@ -4021,7 +4152,8 @@ var DriveExplorer = (props) => {
4021
4152
  ] }),
4022
4153
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:lg:hidden nd:px-3 nd:py-2 nd:border-b nd:bg-background/95 nd:dark:bg-background/80 nd:backdrop-blur-sm", children: /* @__PURE__ */ jsxRuntime.jsx(DrivePathBar, {}) }),
4023
4154
  stateContent || /* @__PURE__ */ jsxRuntime.jsxs(ContextMenu, { children: [
4024
- /* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkHQTC3554_cjs.cn("nd:flex-1 nd:overflow-y-auto nd:min-h-0 nd:container nd:mx-auto nd:p-2 nd:sm:p-3 nd:md:p-4", className), children: [
4155
+ /* @__PURE__ */ jsxRuntime.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkHQTC3554_cjs.cn("nd:flex-1 nd:overflow-y-auto nd:min-h-0 nd:relative nd:container nd:mx-auto nd:p-2 nd:sm:p-3 nd:md:p-4", className), onMouseDown: marqueeMouseDown, children: [
4156
+ marqueeOverlay,
4025
4157
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "nd:space-y-4 nd:sm:space-y-6 nd:pb-8 nd:sm:pb-12", children: Object.entries(groupedItems).map(([groupName, groupItems]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "nd:space-y-3", children: [
4026
4158
  groupBy !== "NONE" && /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "nd:text-sm nd:font-medium nd:text-muted-foreground nd:flex nd:items-center nd:gap-2", children: [
4027
4159
  groupName,