auto-coder-web 0.1.23__py3-none-any.whl → 0.1.24__py3-none-any.whl

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.
@@ -416,33 +416,47 @@ async def get_current_changes(
416
416
  Returns:
417
417
  提交哈希列表
418
418
  """
419
+ logger.info(f"开始获取当前变更 - 参数: limit={limit}, hours_ago={hours_ago}, event_file_id={event_file_id}, project_path={project_path}")
419
420
  try:
420
421
  repo = get_repo(project_path)
422
+ logger.info(f"成功获取Git仓库: {project_path}")
421
423
 
422
424
  # 如果提供了事件文件ID,从事件中获取相关提交
423
425
  if event_file_id:
426
+ logger.info(f"使用事件文件模式获取提交, event_file_id={event_file_id}")
424
427
  try:
425
428
  # 获取事件文件路径
426
429
  event_file_path = get_event_file_path(event_file_id, project_path)
430
+ logger.info(f"事件文件路径: {event_file_path}")
427
431
 
428
432
  # 获取事件管理器
429
433
  event_manager = get_event_manager(event_file_path)
434
+ logger.info(f"成功获取事件管理器")
430
435
 
431
436
  # 获取所有事件
432
437
  all_events = event_manager.event_store.get_events()
433
- logger.info(f"获取事件: {len(all_events)}")
438
+ logger.info(f"获取事件总数: {len(all_events)}")
434
439
 
435
440
  # 创建ActionYmlFileManager实例
436
441
  action_manager = ActionYmlFileManager(project_path)
442
+ logger.info(f"成功创建ActionYmlFileManager实例")
437
443
 
438
444
  action_files = set()
439
445
  final_action_files = []
440
446
 
441
- for event in all_events:
447
+ # 记录事件中包含action_file字段的事件数量
448
+ action_file_count = 0
449
+
450
+ for i, event in enumerate(all_events):
451
+ logger.debug(f"处理事件 {i+1}/{len(all_events)}, 事件类型: {event.event_type}")
442
452
  # 检查元数据中是否有action_file字段
443
- if 'action_file' in event.metadata and event.metadata['action_file']:
453
+ if 'action_file' in event.metadata and event.metadata['action_file']:
454
+ action_file_count += 1
444
455
  action_file = event.metadata['action_file']
445
- if action_file in action_files:
456
+ logger.debug(f"事件 {i+1} 包含action_file: {action_file}")
457
+
458
+ if action_file in action_files:
459
+ logger.debug(f"跳过重复的action_file: {action_file}")
446
460
  continue
447
461
 
448
462
  action_files.add(action_file)
@@ -450,25 +464,58 @@ async def get_current_changes(
450
464
  # action_file 这里的值是 类似这样的 actions/000000000104_chat_action.yml
451
465
  if action_file.startswith("actions"):
452
466
  action_file = action_file[len("actions/"):]
467
+ logger.debug(f"处理后的action_file: {action_file}")
453
468
 
454
469
  final_action_files.append(action_file)
455
470
 
471
+ logger.info(f"从 {len(all_events)} 个事件中提取到 {action_file_count} 个包含action_file的事件")
472
+ logger.info(f"去重后得到 {len(action_files)} 个唯一action_file")
473
+ logger.info(f"最终处理的action_files: {final_action_files}")
474
+
456
475
  commits = []
457
- for action_file in final_action_files:
458
- commit_msg_part = action_manager.get_commit_id_from_file(action_file)
459
- commit_id = None
460
- logger.info(f"获取Action文件提交ID: {commit_msg_part}")
461
- for commit in repo.iter_commits():
462
- if commit_msg_part in commit.message:
463
- commit_id = commit.hexsha
464
- break
465
-
466
- if commit_id:
476
+ for i, action_file in enumerate(final_action_files):
477
+ logger.info(f"处理action文件 {i+1}/{len(final_action_files)}: {action_file}")
478
+ commit_ids = action_manager.get_all_commit_id_from_file(action_file)
479
+
480
+ logger.info(f"从action文件 {action_file} 获取到的提交ID列表: {commit_ids}")
481
+
482
+ if not commit_ids:
483
+ logger.warning(f"无法从action文件 {action_file} 获取提交ID")
484
+ continue
485
+
486
+ # 如果有两个提交,检查是否有一个是revert提交
487
+ if len(commit_ids) == 2:
488
+ logger.info(f"检测到两个提交ID,可能存在revert操作: {commit_ids}")
489
+ revert_commit_id = None
490
+
491
+ # 检查每个提交是否是revert提交
492
+ for cid in commit_ids:
493
+ try:
494
+ commit = repo.commit(cid)
495
+ message = commit.message.strip()
496
+ logger.info(f"检查提交 {cid[:7]} 是否为revert提交,消息: {message[:50]}...")
497
+
498
+ if message.startswith("<revert>"):
499
+ logger.info(f"找到revert提交: {cid}")
500
+ revert_commit_id = cid
501
+ break
502
+ except Exception as e:
503
+ logger.warning(f"检查提交 {cid} 时出错: {str(e)}")
504
+
505
+ # 如果找到revert提交,只处理这个提交
506
+ if revert_commit_id:
507
+ logger.info(f"将只处理revert提交: {revert_commit_id}")
508
+ commit_ids = [revert_commit_id]
509
+
510
+ # 处理所有提交ID(或者只处理revert提交)
511
+ for commit_id in commit_ids:
467
512
  # 验证提交ID是否存在于仓库中
468
513
  try:
514
+ logger.info(f"获取提交详情: {commit_id}")
469
515
  commit = repo.commit(commit_id)
470
516
  # 获取提交统计信息
471
517
  stats = commit.stats.total
518
+ logger.info(f"提交统计信息: 插入={stats['insertions']}, 删除={stats['deletions']}, 文件变更={stats['files']}")
472
519
 
473
520
  # 构建提交信息
474
521
  commit_info = {
@@ -485,27 +532,38 @@ async def get_current_changes(
485
532
  }
486
533
  }
487
534
  commits.append(commit_info)
488
-
489
- return {"commits": commits, "total": len(list(repo.iter_commits()))}
535
+ logger.info(f"成功添加提交信息到结果列表,当前结果数: {len(commits)}")
490
536
  except Exception as e:
491
- logger.warning(f"无法获取提交 {commit_id}: {str(e)}")
537
+ logger.warning(f"无法获取提交 {commit_id} 的详情: {str(e)}")
538
+
539
+ logger.info(f"处理完所有action文件,共找到 {len(commits)} 个提交")
492
540
 
493
541
  # 按提交时间戳排序(降序 - 最新的在前面)
494
- commits.sort(key=lambda x: x['timestamp'], reverse=True)
542
+ if commits:
543
+ commits.sort(key=lambda x: x['timestamp'], reverse=True)
544
+ logger.info("提交已按时间戳降序排序")
495
545
 
496
-
546
+ logger.info(f"返回结果: {len(commits)} 个提交")
497
547
  return {"commits": commits, "total": len(commits)}
498
548
 
499
549
  except Exception as e:
500
550
  logger.error(f"从事件文件获取提交失败: {str(e)}")
501
-
551
+ import traceback
552
+ logger.error(f"详细错误信息: {traceback.format_exc()}")
502
553
  return {"commits": [], "total": 0}
503
554
  else:
504
555
  # 如果没有提供事件文件ID,返回最近的提交
556
+ logger.info("未提供event_file_id,应返回最近的提交,但当前实现返回空列表")
557
+ # 这里应该调用get_recent_commits函数获取最近的提交
558
+ # recent_commits = await get_recent_commits(repo, limit, hours_ago)
559
+ # logger.info(f"获取到 {len(recent_commits.get('commit_hashes', []))} 个最近的提交")
560
+ # return recent_commits
505
561
  return {"commits": [], "total": 0}
506
562
 
507
563
  except Exception as e:
508
564
  logger.error(f"获取当前变更失败: {str(e)}")
565
+ import traceback
566
+ logger.error(f"详细错误信息: {traceback.format_exc()}")
509
567
  raise HTTPException(
510
568
  status_code=500,
511
569
  detail=f"获取当前变更失败: {str(e)}"
@@ -593,7 +651,7 @@ async def revert_commit(
593
651
  repo.git.revert(commit.hexsha, no_commit=True)
594
652
 
595
653
  # 创建带有信息的 revert 提交
596
- revert_message = f"Revert \"{commit.message.strip()}\"\n\nThis reverts commit {commit.hexsha}"
654
+ revert_message = f"<revert>{commit.message.strip()}\n{commit.hexsha}"
597
655
  new_commit = repo.index.commit(
598
656
  revert_message,
599
657
  author=repo.active_branch.commit.author,
auto_coder_web/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.23"
1
+ __version__ = "0.1.24"
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "files": {
3
- "main.css": "/static/css/main.8a9e40fa.css",
4
- "main.js": "/static/js/main.ce819ed7.js",
3
+ "main.css": "/static/css/main.770925e5.css",
4
+ "main.js": "/static/js/main.470202a1.js",
5
5
  "static/js/453.d855a71b.chunk.js": "/static/js/453.d855a71b.chunk.js",
6
6
  "index.html": "/index.html",
7
- "main.8a9e40fa.css.map": "/static/css/main.8a9e40fa.css.map",
8
- "main.ce819ed7.js.map": "/static/js/main.ce819ed7.js.map",
7
+ "main.770925e5.css.map": "/static/css/main.770925e5.css.map",
8
+ "main.470202a1.js.map": "/static/js/main.470202a1.js.map",
9
9
  "453.d855a71b.chunk.js.map": "/static/js/453.d855a71b.chunk.js.map"
10
10
  },
11
11
  "entrypoints": [
12
- "static/css/main.8a9e40fa.css",
13
- "static/js/main.ce819ed7.js"
12
+ "static/css/main.770925e5.css",
13
+ "static/js/main.470202a1.js"
14
14
  ]
15
15
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.ce819ed7.js"></script><link href="/static/css/main.8a9e40fa.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.470202a1.js"></script><link href="/static/css/main.770925e5.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -0,0 +1,6 @@
1
+ /*
2
+ ! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com
3
+ */body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}.split-container{display:flex;height:100%;width:100%}.gutter{position:relative}.gutter.gutter-horizontal{cursor:col-resize}.gutter:after{background-color:#9ca3af;border-radius:2px;content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:4px}.gutter:hover:after{background-color:#f3f4f6}.split-container>div{height:100%;min-width:0;overflow:hidden}.todo-container{background-color:initial}.todo-column{background-color:#1a1a1a;border:1px solid #2d2d2d;min-height:200px;transition:all .2s ease}.todo-column:hover{border-color:#3d3d3d}.todo-column.is-dragging-over{background:#3b82f61a;border-color:#3b82f6;transition:background .2s ease}.todo-card{background-color:#2d2d2d;border:1px solid #374151;cursor:move;transition:all .2s ease;-webkit-user-select:none;user-select:none}.todo-card:hover{background-color:#374151;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.todo-card.is-dragging{border-color:#3b82f6;box-shadow:0 4px 8px #3b82f633;opacity:.8;transform:scale(1.02)}.todo-title{color:#e5e7eb;font-size:14px;line-height:1.4}.todo-due-date{color:#9ca3af;font-size:12px;margin-top:4px}.todo-tags{display:flex;flex-wrap:wrap;gap:4px}.ant-modal-title{color:#e5e7eb!important}.ant-modal-close{color:#9ca3af!important}.ant-modal-close:hover{color:#e5e7eb!important}.custom-input{border-color:#374151!important}.custom-select .ant-select-selector{background-color:#1f2937!important;border-color:#374151!important;color:#e5e7eb!important}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
4
+ ! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com
5
+ */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}*{scrollbar-color:auto;scrollbar-width:auto}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.left-0{left:0}.left-10{left:2.5rem}.left-2{left:.5rem}.left-3\.5{left:.875rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-3{grid-column:span 3/span 3}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-4{margin-bottom:1rem;margin-top:1rem}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[50\%\]{height:50%}.h-\[80vh\]{height:80vh}.h-\[calc\(100\%-80px\)\]{height:calc(100% - 80px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[150px\]{max-height:150px}.max-h-screen{max-height:100vh}.min-h-\[150px\]{min-height:150px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-\[50px\]{width:50px}.w-\[80\%\]{width:80%}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-top-right{transform-origin:top right}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.375rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-l{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-l-lg{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#374151\]{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-gray-600\/50{border-color:#4b556380}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-gray-700\/50{border-color:#37415180}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.border-indigo-500\/50{border-color:#6366f180}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.bg-\[\#111827\]{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-\[\#1F2937\]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-\[\#1e1e1e\]{--tw-bg-opacity:1;background-color:rgb(30 30 30/var(--tw-bg-opacity))}.bg-\[\#1f1f1f\]{--tw-bg-opacity:1;background-color:rgb(31 31 31/var(--tw-bg-opacity))}.bg-\[\#2d2d2d\]{--tw-bg-opacity:1;background-color:rgb(45 45 45/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-700\/50{background-color:#37415180}.bg-gray-700\/70{background-color:#374151b3}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-800\/20{background-color:#1f293733}.bg-gray-800\/30{background-color:#1f29374d}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-800\/60{background-color:#1f293799}.bg-gray-800\/90{background-color:#1f2937e6}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.bg-red-900\/80{background-color:#7f1d1dcc}.bg-transparent{background-color:initial}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.bg-opacity-25{--tw-bg-opacity:0.25}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:#f59e0b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-900\/70{--tw-gradient-from:#1e3a8ab3 var(--tw-gradient-from-position);--tw-gradient-to:#1e3a8a00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-800{--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:#1f293700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-900\/70{--tw-gradient-from:#14532db3 var(--tw-gradient-from-position);--tw-gradient-to:#14532d00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-800{--tw-gradient-from:#6b21a8 var(--tw-gradient-from-position);--tw-gradient-to:#6b21a800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-900\/70{--tw-gradient-from:#581c87b3 var(--tw-gradient-from-position);--tw-gradient-to:#581c8700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-indigo-900\/70{--tw-gradient-to:#312e81b3 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.to-teal-900\/70{--tw-gradient-to:#134e4ab3 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pl-16{padding-left:4rem}.pl-4{padding-left:1rem}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xs{font-size:.625rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color:#3b82f633;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/20{--tw-shadow-color:#6366f133;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.scrollbar{scrollbar-color:initial initial;scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track);background-color:var(--scrollbar-track-hover,var(--scrollbar-track))}.scrollbar::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track);background-color:var(--scrollbar-track-active,var(--scrollbar-track-hover,var(--scrollbar-track)))}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb);background-color:var(--scrollbar-thumb-hover,var(--scrollbar-thumb))}.scrollbar::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb);background-color:var(--scrollbar-thumb-active,var(--scrollbar-thumb-hover,var(--scrollbar-thumb)))}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner);background-color:var(--scrollbar-corner-hover,var(--scrollbar-corner))}.scrollbar::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner);background-color:var(--scrollbar-corner-active,var(--scrollbar-corner-hover,var(--scrollbar-corner)))}.scrollbar{scrollbar-width:auto}.scrollbar::-webkit-scrollbar{display:block;height:16px;height:var(--scrollbar-height,16px);width:16px;width:var(--scrollbar-width,16px)}.scrollbar-thin{scrollbar-color:initial initial;scrollbar-color:var(--scrollbar-thumb,initial) var(--scrollbar-track,initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track);background-color:var(--scrollbar-track-hover,var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track);background-color:var(--scrollbar-track-active,var(--scrollbar-track-hover,var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb);background-color:var(--scrollbar-thumb-hover,var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb);background-color:var(--scrollbar-thumb-active,var(--scrollbar-thumb-hover,var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner);background-color:var(--scrollbar-corner-hover,var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner);background-color:var(--scrollbar-corner-active,var(--scrollbar-corner-hover,var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;height:8px;width:8px}.scrollbar-track-gray-100{--scrollbar-track:#f3f4f6!important}.scrollbar-track-gray-800{--scrollbar-track:#1f2937!important}.scrollbar-thumb-gray-400{--scrollbar-thumb:#9ca3af!important}.scrollbar-thumb-gray-700{--scrollbar-thumb:#374151!important}body,html{background-color:#1a1a1a;margin:0}#root,body,html{height:100%}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#2d2d2d}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.custom-select .ant-select-selector{background-color:#374151!important;border-color:#4b5563!important;color:#fff!important;font-size:12px!important;height:24px!important;padding:0 6px!important}.custom-select .ant-select-selection-placeholder{color:#9ca3af!important}.custom-select .ant-select-selection-item{background-color:#4b5563!important;border-color:#6b7280!important;color:#fff!important}.custom-select .ant-select-dropdown{background-color:#374151!important;border:1px solid #4b5563!important}.custom-select .ant-select-item{color:#fff!important}.custom-select .ant-select-item-option-active{background-color:#4b5563!important}.custom-select .ant-select-item-option-selected{background-color:#6b7280!important}.custom-select .ant-select-selection-search input{color:#fff!important}.custom-select .ant-select-clear{background-color:initial!important;color:#9ca3af!important}.custom-select .ant-select-arrow{color:#9ca3af!important}.dark-theme-modal .ant-modal-title{color:#e5e7eb!important}.dark-theme-modal .ant-modal-close{color:#9ca3af!important}.dark-theme-modal .ant-modal-close:hover{color:#e5e7eb!important}.dark-theme-list .ant-list-item{border-color:#374151!important}.dark-theme-list .ant-list-item:hover{background-color:#374151!important}.dark-theme-input{background-color:#1f2937!important;border-color:#374151!important;color:#e5e7eb!important}.dark-theme-input::placeholder{color:#9ca3af!important}.dark-theme-input:focus,.dark-theme-input:hover{border-color:#6366f1!important;box-shadow:0 0 0 2px #6366f133!important}.split{display:flex;flex-direction:row}.gutter{background-color:#4b5563;cursor:col-resize;width:2px!important}.gutter:hover{background-color:#6b7280}.custom-input{background-color:#1f2937!important;border-color:#4b5563!important;color:#e5e7eb!important}.custom-input::placeholder{color:#9ca3af!important;opacity:1!important}.custom-input:focus,.custom-input:hover{border-color:#6366f1!important;box-shadow:0 0 0 2px #6366f133!important}.custom-input input{background-color:initial!important;color:#e5e7eb!important}.custom-input .anticon{color:#9ca3af!important}.dark-mode-table,.dark-mode-table .ant-table{background-color:initial!important}.dark-mode-table .ant-table-thead>tr>th{background-color:#374151!important}.dark-mode-table .ant-table-tbody>tr>td,.dark-mode-table .ant-table-thead>tr>th{border-bottom:1px solid #4b5563!important;color:#fff!important}.dark-mode-table .ant-table-tbody>tr:hover>td{background-color:#4b5563!important}.dark-mode-table .ant-table-row-expand-icon{background-color:#4b5563!important;border-color:#6b7280!important;color:#fff!important}.dark-mode-table .nested-table{margin:0!important;padding:0!important}.dark-mode-table .nested-table .ant-table-tbody>tr>td{background-color:#1f2937!important}.dark-mode-table .nested-table .ant-table-tbody>tr:hover>td{background-color:#374151!important}.last\:border-b-0:last-child{border-bottom-width:0}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:-translate-x-0\.5{--tw-translate-x:-0.125rem}.group:hover .group-hover\:-translate-x-0\.5,.group:hover .group-hover\:translate-x-0\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:0.125rem}.group:hover .group-hover\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}.hover\:bg-\[\#2D3748\]:hover{--tw-bg-opacity:1;background-color:rgb(45 55 72/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.hover\:bg-gray-700\/50:hover{background-color:#37415180}.hover\:bg-gray-700\/80:hover{background-color:#374151cc}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:from-amber-600:hover{--tw-gradient-from:#d97706 var(--tw-gradient-from-position);--tw-gradient-to:#d9770600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:#1d4ed800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.hover\:to-orange-700:hover{--tw-gradient-to:#c2410c var(--tw-gradient-to-position)}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-sm:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-blue-500\/30:hover{--tw-shadow-color:#3b82f64d;--tw-shadow:var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/30:hover{--tw-shadow-color:#6366f14d;--tw-shadow:var(--tw-shadow-colored)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:px-0{padding-left:0;padding-right:0}}
6
+ /*# sourceMappingURL=main.770925e5.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/css/main.770925e5.css","mappings":"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","sources":["index.css","../node_modules/@xterm/xterm/css/xterm.css","components/MainContent/PreviewPanel.css","components/MainContent/TodoPanel.css","App.css"],"sourcesContent":["@import 'tailwindcss/base';\n@import 'tailwindcss/components';\n@import 'tailwindcss/utilities';\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-size: 14px;\n line-height: 1.5;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n","/**\n * Copyright (c) 2014 The xterm.js authors. All rights reserved.\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * https://github.com/chjj/term.js\n * @license MIT\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n * The original design remains. The terminal itself\n * has been extended to include xterm CSI codes, among\n * other features.\n */\n\n/**\n * Default styles for xterm.js\n */\n\n.xterm {\n cursor: text;\n position: relative;\n user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n}\n\n.xterm.focus,\n.xterm:focus {\n outline: none;\n}\n\n.xterm .xterm-helpers {\n position: absolute;\n top: 0;\n /**\n * The z-index of the helpers must be higher than the canvases in order for\n * IMEs to appear on top.\n */\n z-index: 5;\n}\n\n.xterm .xterm-helper-textarea {\n padding: 0;\n border: 0;\n margin: 0;\n /* Move textarea out of the screen to the far left, so that the cursor is not visible */\n position: absolute;\n opacity: 0;\n left: -9999em;\n top: 0;\n width: 0;\n height: 0;\n z-index: -5;\n /** Prevent wrapping so the IME appears against the textarea at the correct position */\n white-space: nowrap;\n overflow: hidden;\n resize: none;\n}\n\n.xterm .composition-view {\n /* TODO: Composition position got messed up somewhere */\n background: #000;\n color: #FFF;\n display: none;\n position: absolute;\n white-space: nowrap;\n z-index: 1;\n}\n\n.xterm .composition-view.active {\n display: block;\n}\n\n.xterm .xterm-viewport {\n /* On OS X this is required in order for the scroll bar to appear fully opaque */\n background-color: #000;\n overflow-y: scroll;\n cursor: default;\n position: absolute;\n right: 0;\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n.xterm .xterm-screen {\n position: relative;\n}\n\n.xterm .xterm-screen canvas {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.xterm .xterm-scroll-area {\n visibility: hidden;\n}\n\n.xterm-char-measure-element {\n display: inline-block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: -9999em;\n line-height: normal;\n}\n\n.xterm.enable-mouse-events {\n /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */\n cursor: default;\n}\n\n.xterm.xterm-cursor-pointer,\n.xterm .xterm-cursor-pointer {\n cursor: pointer;\n}\n\n.xterm.column-select.focus {\n /* Column selection mode */\n cursor: crosshair;\n}\n\n.xterm .xterm-accessibility:not(.debug),\n.xterm .xterm-message {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 10;\n color: transparent;\n pointer-events: none;\n}\n\n.xterm .xterm-accessibility-tree:not(.debug) *::selection {\n color: transparent;\n}\n\n.xterm .xterm-accessibility-tree {\n user-select: text;\n white-space: pre;\n}\n\n.xterm .live-region {\n position: absolute;\n left: -9999px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.xterm-dim {\n /* Dim should not apply to background, so the opacity of the foreground color is applied\n * explicitly in the generated class and reset to 1 here */\n opacity: 1 !important;\n}\n\n.xterm-underline-1 { text-decoration: underline; }\n.xterm-underline-2 { text-decoration: double underline; }\n.xterm-underline-3 { text-decoration: wavy underline; }\n.xterm-underline-4 { text-decoration: dotted underline; }\n.xterm-underline-5 { text-decoration: dashed underline; }\n\n.xterm-overline {\n text-decoration: overline;\n}\n\n.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }\n.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }\n.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }\n.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }\n.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }\n\n.xterm-strikethrough {\n text-decoration: line-through;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration {\n\tz-index: 6;\n\tposition: absolute;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {\n\tz-index: 7;\n}\n\n.xterm-decoration-overview-ruler {\n z-index: 8;\n position: absolute;\n top: 0;\n right: 0;\n pointer-events: none;\n}\n\n.xterm-decoration-top {\n z-index: 2;\n position: relative;\n}\n",".split-container {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n.gutter {\n background-color: #4B5563;\n position: relative;\n}\n\n.gutter:hover {\n background-color: #6B7280;\n}\n\n.gutter.gutter-horizontal {\n cursor: col-resize;\n}\n\n.gutter::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 20px;\n background-color: #9CA3AF;\n border-radius: 2px;\n}\n\n.gutter:hover::after {\n background-color: #F3F4F6;\n}\n\n/* Make sure panels take full height */\n.split-container > div {\n height: 100%;\n min-width: 0; /* Prevent flex items from growing beyond their container */\n overflow: hidden;\n}",".todo-container {\n background-color: transparent;\n}\n\n.todo-column {\n background-color: #1a1a1a;\n border: 1px solid #2d2d2d;\n transition: all 0.2s ease;\n min-height: 200px;\n}\n\n.todo-column:hover {\n border-color: #3d3d3d;\n}\n\n.todo-column.is-dragging-over {\n border-color: #3b82f6;\n background: rgba(59, 130, 246, 0.1);\n transition: background 0.2s ease;\n}\n\n.todo-card {\n background-color: #2d2d2d;\n border: 1px solid #374151;\n transition: all 0.2s ease;\n cursor: move;\n user-select: none;\n}\n\n.todo-card:hover {\n background-color: #374151;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.todo-card.is-dragging {\n border-color: #3b82f6;\n box-shadow: 0 4px 8px rgba(59, 130, 246, 0.2);\n transform: scale(1.02);\n opacity: 0.8;\n}\n\n.todo-title {\n color: #e5e7eb;\n font-size: 14px;\n line-height: 1.4;\n}\n\n.todo-due-date {\n color: #9ca3af;\n font-size: 12px;\n margin-top: 4px;\n}\n\n.todo-tags {\n display: flex;\n gap: 4px;\n flex-wrap: wrap;\n}\n\n/* 适配Antd组件 */\n.ant-modal-title {\n color: #e5e7eb !important;\n}\n\n.ant-modal-close {\n color: #9ca3af !important;\n}\n\n.ant-modal-close:hover {\n color: #e5e7eb !important;\n}\n\n.custom-input {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.custom-input:hover,\n.custom-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n.custom-select .ant-select-selector {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.custom-select .ant-select-arrow {\n color: #9ca3af !important;\n}","@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\nhtml, body {\n @apply h-full m-0;\n background-color: #1a1a1a;\n}\n\n#root {\n @apply h-full;\n}\n\n/* 滚动条样式 */\n::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n\n::-webkit-scrollbar-track {\n background: #2d2d2d;\n}\n\n::-webkit-scrollbar-thumb {\n background: #888;\n border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n\n/* Select custom styles */\n.custom-select .ant-select-selector {\n background-color: #374151 !important;\n border-color: #4B5563 !important;\n color: white !important;\n height: 24px !important;\n padding: 0 6px !important;\n font-size: 12px !important;\n}\n\n.custom-select .ant-select-selection-placeholder {\n color: #9CA3AF !important;\n}\n\n.custom-select .ant-select-selection-item {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: white !important;\n}\n\n.custom-select .ant-select-dropdown {\n background-color: #374151 !important;\n border: 1px solid #4B5563 !important;\n}\n\n.custom-select .ant-select-item {\n color: white !important;\n}\n\n.custom-select .ant-select-item-option-active {\n background-color: #4B5563 !important;\n}\n\n.custom-select .ant-select-item-option-selected {\n background-color: #6B7280 !important;\n}\n\n.custom-select .ant-select-selection-search input {\n color: white !important;\n}\n\n.custom-select .ant-select-clear {\n background-color: transparent !important;\n color: #9CA3AF !important;\n}\n\n.custom-select .ant-select-arrow {\n color: #9CA3AF !important;\n}\n\n/* Dark theme modal styles */\n.dark-theme-modal .ant-modal-title {\n color: #e5e7eb !important;\n}\n\n.dark-theme-modal .ant-modal-close {\n color: #9CA3AF !important;\n}\n\n.dark-theme-modal .ant-modal-close:hover {\n color: #e5e7eb !important;\n}\n\n.dark-theme-list .ant-list-item {\n border-color: #374151 !important;\n}\n\n.dark-theme-list .ant-list-item:hover {\n background-color: #374151 !important;\n}\n\n.dark-theme-input {\n background-color: #1f2937 !important;\n border-color: #374151 !important;\n color: #e5e7eb !important;\n}\n\n.dark-theme-input::placeholder {\n color: #9CA3AF !important;\n}\n\n.dark-theme-input:hover,\n.dark-theme-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n/* Split pane styles */\n.split {\n display: flex;\n flex-direction: row;\n}\n\n.gutter {\n background-color: #4B5563;\n cursor: col-resize;\n width: 2px !important;\n}\n\n.gutter:hover {\n background-color: #6B7280;\n}\n\n/* Custom input styles for dark mode */\n.custom-input {\n background-color: #1F2937 !important;\n border-color: #4B5563 !important;\n color: #E5E7EB !important;\n}\n\n.custom-input::placeholder {\n color: #9CA3AF !important;\n opacity: 1 !important;\n}\n\n.custom-input:hover,\n.custom-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n.custom-input input {\n background-color: transparent !important;\n color: #E5E7EB !important;\n}\n\n.custom-input .anticon {\n color: #9CA3AF !important;\n}\n\n/* Dark mode table styles */\n.dark-mode-table {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table-thead > tr > th {\n background-color: #374151 !important;\n color: #ffffff !important;\n border-bottom: 1px solid #4B5563 !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #4B5563 !important;\n color: #ffffff !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr:hover > td {\n background-color: #4B5563 !important;\n}\n\n.dark-mode-table .ant-table-row-expand-icon {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: #ffffff !important;\n}\n\n.dark-mode-table .nested-table {\n margin: 0 !important;\n padding: 0 !important;\n}\n\n.dark-mode-table .nested-table .ant-table-tbody > tr > td {\n background-color: #1F2937 !important;\n}\n\n.dark-mode-table .nested-table .ant-table-tbody > tr:hover > td {\n background-color: #374151 !important;\n}\n"],"names":[],"sourceRoot":""}