panda-core 0.12.2 → 0.12.5

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/tailwind/application.css +194 -112
  3. data/app/builders/panda/core/form_builder.rb +9 -9
  4. data/app/components/panda/core/UI/button.rb +4 -4
  5. data/app/components/panda/core/admin/button_component.rb +2 -2
  6. data/app/components/panda/core/admin/form_input_component.rb +2 -2
  7. data/app/components/panda/core/admin/form_select_component.rb +2 -2
  8. data/app/components/panda/core/admin/panel_component.rb +1 -1
  9. data/app/components/panda/core/admin/statistics_component.rb +3 -3
  10. data/app/components/panda/core/admin/tab_bar_component.rb +3 -3
  11. data/app/components/panda/core/admin/table_component.rb +3 -3
  12. data/app/controllers/panda/core/admin/sessions_controller.rb +4 -1
  13. data/app/javascript/panda/core/controllers/navigation_toggle_controller.js +1 -1
  14. data/app/models/panda/core/user.rb +3 -3
  15. data/app/views/layouts/panda/core/admin.html.erb +10 -1
  16. data/app/views/panda/core/admin/dashboard/_default_content.html.erb +3 -3
  17. data/app/views/panda/core/admin/sessions/new.html.erb +2 -3
  18. data/app/views/panda/core/admin/shared/_sidebar.html.erb +5 -5
  19. data/lib/panda/core/asset_loader.rb +1 -1
  20. data/lib/panda/core/engine/admin_controller_config.rb +6 -2
  21. data/lib/panda/core/engine/omniauth_config.rb +13 -1
  22. data/lib/panda/core/engine/route_config.rb +1 -1
  23. data/lib/panda/core/module_registry.rb +21 -13
  24. data/lib/panda/core/version.rb +1 -1
  25. data/lib/panda/core.rb +11 -0
  26. data/public/panda-core-assets/panda-core-0.12.2.css +2 -0
  27. data/public/panda-core-assets/panda-core-0.12.3.css +2 -0
  28. data/public/panda-core-assets/panda-core.css +1 -1
  29. metadata +4 -2
@@ -21,7 +21,7 @@ module Panda
21
21
  select(
22
22
  id: "tabs",
23
23
  name: "tabs",
24
- class: "block py-1.5 pr-10 pl-3 w-full text-gray-900 rounded-md border-0 ring-1 ring-inset focus:ring-2 focus:ring-inset ring-mid focus:border-panda-dark focus:ring-panda-dark"
24
+ class: "block py-1.5 pr-10 pl-3 w-full text-gray-900 rounded-md border-0 ring-1 ring-inset focus:ring-2 focus:ring-inset ring-primary-400 focus:border-primary-600 focus:ring-primary-600"
25
25
  ) do
26
26
  @tabs.each do |tab|
27
27
  option { tab[:name] }
@@ -46,7 +46,7 @@ module Panda
46
46
  def render_tab(tab, is_current = false)
47
47
  classes = "py-4 px-1 text-sm font-medium whitespace-nowrap border-b-2 "
48
48
  classes += if is_current || tab[:current]
49
- "border-panda-dark text-panda-dark"
49
+ "border-primary-600 text-primary-600"
50
50
  else
51
51
  "border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"
52
52
  end
@@ -66,7 +66,7 @@ module Panda
66
66
  end
67
67
 
68
68
  def render_view_button(type, selected: false)
69
- button_class = "p-1.5 text-gray-400 rounded-md focus:ring-2 focus:ring-inset focus:outline-none focus:ring-panda-dark"
69
+ button_class = "p-1.5 text-gray-400 rounded-md focus:ring-2 focus:ring-inset focus:outline-none focus:ring-primary-600"
70
70
  button_class += if selected
71
71
  " ml-0.5 bg-white shadow-sm"
72
72
  else
@@ -33,7 +33,7 @@ module Panda
33
33
  private
34
34
 
35
35
  def render_table_with_rows
36
- div(class: "table overflow-x-auto mb-12 w-full rounded-lg border border-dark", style: "table-layout: fixed;") do
36
+ div(class: "table overflow-x-auto mb-12 w-full rounded-lg border border-gray-700", style: "table-layout: fixed;") do
37
37
  render_header
38
38
  render_rows
39
39
  end
@@ -49,7 +49,7 @@ module Panda
49
49
 
50
50
  def render_header
51
51
  div(class: "table-header-group") do
52
- div(class: "table-row text-base font-medium text-white bg-dark") do
52
+ div(class: "table-row text-base font-medium text-white bg-gray-800") do
53
53
  @columns.each_with_index do |column, i|
54
54
  header_classes = "table-cell sticky top-0 z-10 p-4"
55
55
  header_classes += " rounded-tl-md" if i.zero?
@@ -70,7 +70,7 @@ module Panda
70
70
  data: {post_id: row.id}
71
71
  ) do
72
72
  @columns.each do |column|
73
- div(class: "table-cell py-5 px-3 h-20 text-sm align-middle whitespace-nowrap border-b border-dark/20") do
73
+ div(class: "table-cell py-5 px-3 h-20 text-sm align-middle whitespace-nowrap border-b border-gray-700/20") do
74
74
  # Capture the cell content by calling the block with the row
75
75
  render_cell_content(row, column.cell)
76
76
  end
@@ -10,7 +10,10 @@ module Panda
10
10
  skip_before_action :authenticate_admin_user!, only: [:new, :create, :destroy, :failure]
11
11
 
12
12
  def new
13
- @providers = Core.config.authentication_providers.keys
13
+ # Only show providers that have valid credentials configured
14
+ @providers = Core.config.authentication_providers.select do |_key, config|
15
+ config[:client_id].present? && config[:client_secret].present?
16
+ end.keys
14
17
  end
15
18
 
16
19
  def create
@@ -21,7 +21,7 @@ export default class extends Controller {
21
21
  connect() {
22
22
  // Ensure menu starts in correct state
23
23
  // Check if this menu should be expanded by default (if a child is active)
24
- const hasActiveChild = this.menuTarget.querySelector(".bg-mid")
24
+ const hasActiveChild = this.menuTarget.querySelector(".bg-primary-500")
25
25
  if (hasActiveChild) {
26
26
  this.expand()
27
27
  } else {
@@ -44,9 +44,9 @@ module Panda
44
44
  end
45
45
 
46
46
  attributes = {
47
- email: auth_hash.info.email.downcase,
48
- name: auth_hash.info.name || "Unknown User",
49
- image_url: auth_hash.info.image,
47
+ :email => auth_hash.info.email.downcase,
48
+ :name => auth_hash.info.name || "Unknown User",
49
+ :image_url => auth_hash.info.image,
50
50
  admin_column => User.count.zero? # First user is admin
51
51
  }
52
52
 
@@ -5,7 +5,7 @@
5
5
  <%= render "panda/core/admin/shared/sidebar" %>
6
6
  </div>
7
7
  </div>
8
- <div class="flex flex-col flex-1 mt-16 ml-0 lg:mt-0 lg:ml-72" id="panda-inner-container" <% if content_for :sidebar %> data-controller="toggle" data-action="keydown.esc->modal#close" tabindex="-1"<% end %>>
8
+ <div class="flex flex-col flex-1 mt-16 ml-0 lg:mt-0 lg:ml-72" id="panda-inner-container" <% if content_for :sidebar %> data-controller="toggle" data-action="keydown.esc@window->toggle#hide keydown.escape@window->toggle#hide" tabindex="-1"<% end %>>
9
9
  <section id="panda-main" class="flex flex-row h-full">
10
10
  <div class="flex-1 h-full" id="panda-primary-content">
11
11
  <%= render "panda/core/admin/shared/breadcrumbs" %>
@@ -60,6 +60,15 @@
60
60
  <% end %>
61
61
  </div>
62
62
  </div>
63
+ <script>
64
+ window.addEventListener('keydown', function(e) {
65
+ if (e.key === 'Escape') {
66
+ document.querySelectorAll('[data-toggle-target="toggleable"]').forEach(function(el) {
67
+ el.classList.add('hidden');
68
+ });
69
+ }
70
+ });
71
+ </script>
63
72
  <% end %>
64
73
  </section>
65
74
  </div>
@@ -15,7 +15,7 @@
15
15
  <div class="ml-5 w-0 flex-1">
16
16
  <dt class="text-sm font-medium text-gray-500 truncate">Content Management</dt>
17
17
  <dd class="mt-1 text-lg font-semibold text-gray-900">
18
- <%= link_to "Manage CMS", panda_cms.admin_cms_dashboard_path, class: "text-indigo-600 hover:text-indigo-900" %>
18
+ <%= link_to "Manage CMS", panda_cms.admin_cms_dashboard_path, class: "text-primary-600 hover:text-primary-800" %>
19
19
  </dd>
20
20
  </div>
21
21
  </div>
@@ -35,7 +35,7 @@
35
35
  <div class="ml-5 w-0 flex-1">
36
36
  <dt class="text-sm font-medium text-gray-500 truncate">My Profile</dt>
37
37
  <dd class="mt-1 text-lg font-semibold text-gray-900">
38
- <%= link_to "Edit Profile", edit_admin_my_profile_path, class: "text-indigo-600 hover:text-indigo-900" %>
38
+ <%= link_to "Edit Profile", edit_admin_my_profile_path, class: "text-primary-600 hover:text-primary-800" %>
39
39
  </dd>
40
40
  </div>
41
41
  </div>
@@ -58,7 +58,7 @@
58
58
  <div class="ml-5 w-0 flex-1">
59
59
  <dt class="text-sm font-medium text-gray-500 truncate"><%= card[:title] %></dt>
60
60
  <dd class="mt-1 text-lg font-semibold text-gray-900">
61
- <%= link_to card[:link_text], card[:path], class: "text-indigo-600 hover:text-indigo-900" %>
61
+ <%= link_to card[:link_text], card[:path], class: "text-primary-600 hover:text-primary-800" %>
62
62
  </dd>
63
63
  </div>
64
64
  </div>
@@ -7,9 +7,8 @@
7
7
  <%= Panda::Core.config.login_page_title || "Sign in to your account" %>
8
8
  </h2>
9
9
  </div>
10
- <% if @providers&.any? || Panda::Core.config.authentication_providers.any? %>
11
- <% providers = @providers || Panda::Core.config.authentication_providers.keys %>
12
- <% providers.each do |provider| %>
10
+ <% if @providers&.any? %>
11
+ <% @providers.each do |provider| %>
13
12
  <% provider_config = Panda::Core.config.authentication_providers[provider] %>
14
13
  <% provider_path = provider_config&.dig(:path_name) || provider %>
15
14
  <div class="mt-4 text-center sm:mx-auto sm:w-full sm:max-w-sm">
@@ -42,7 +42,7 @@
42
42
  data-action="click->navigation-toggle#toggle"
43
43
  aria-controls="sub-menu-<%= index %>"
44
44
  aria-expanded="false"
45
- class="<%= is_active ? 'bg-mid text-white' : 'text-white hover:bg-mid/60' %> transition-all group flex items-center w-full gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal">
45
+ class="<%= is_active ? 'bg-primary-500 text-white' : 'text-white hover:bg-primary-500/60' %> transition-all group flex items-center w-full gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal">
46
46
  <span class="text-center w-6"><i class="<%= item[:icon] %> text-xl fa-fw"></i></span>
47
47
  <span class="flex-1 text-left"><%= item[:label] %></span>
48
48
  <i class="fa-solid fa-chevron-right text-xs transition-transform duration-150 ease-in-out"
@@ -56,14 +56,14 @@
56
56
  <%
57
57
  child_is_active = child[:path] && (request.path == child[:path] || request.path.starts_with?(child[:path] + "/"))
58
58
  %>
59
- <%= link_to child[:path], class: "#{child_is_active ? 'bg-mid text-white' : 'text-white hover:bg-mid/60'} group flex items-center w-full py-2 pr-2 pl-11 rounded-md text-sm font-normal transition-all" do %>
59
+ <%= link_to child[:path], class: "#{child_is_active ? 'bg-primary-500 text-white' : 'text-white hover:bg-primary-500/60'} group flex items-center w-full py-2 pr-2 pl-11 rounded-md text-sm font-normal transition-all" do %>
60
60
  <%= child[:label] %>
61
61
  <% end %>
62
62
  <% end %>
63
63
  </div>
64
64
  </div>
65
65
  <% else %>
66
- <%= link_to item[:path], class: "#{is_active ? "bg-mid text-white relative flex items-center transition-all py-3 px-2 mb-2 rounded-md group gap-x-3 text-base leading-6 font-normal" : "text-white hover:bg-mid/60 transition-all group flex items-center gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal"}" do %>
66
+ <%= link_to item[:path], class: "#{is_active ? "bg-primary-500 text-white relative flex items-center transition-all py-3 px-2 mb-2 rounded-md group gap-x-3 text-base leading-6 font-normal" : "text-white hover:bg-primary-500/60 transition-all group flex items-center gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal"}" do %>
67
67
  <span class="text-center w-6"><i class="<%= item[:icon] %> text-xl fa-fw"></i></span>
68
68
  <span><%= item[:label] %></span>
69
69
  <% end %>
@@ -71,7 +71,7 @@
71
71
  </li>
72
72
  <% end %>
73
73
  <li>
74
- <%= button_to panda_core.admin_logout_path, method: :delete, id: "logout-link", data: { turbo: false }, class: "text-white hover:bg-mid/60 transition-all group flex items-center gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal w-full" do %>
74
+ <%= button_to panda_core.admin_logout_path, method: :delete, id: "logout-link", data: { turbo: false }, class: "text-white hover:bg-primary-500/60 transition-all group flex items-center gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal w-full" do %>
75
75
  <span class="text-center w-6"><i class="text-xl fa-solid fa-door-open fa-fw"></i></span>
76
76
  <span>Logout</span>
77
77
  <% end %>
@@ -81,7 +81,7 @@
81
81
  # Check if we're in the my_profile section
82
82
  is_my_profile_active = request.path.starts_with?("#{Panda::Core.config.admin_path}/my_profile")
83
83
  %>
84
- <%= link_to panda_core.admin_my_profile_path, class: "#{is_my_profile_active ? 'bg-mid text-white' : 'text-white hover:bg-mid/60'} transition-all group flex items-center gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal w-full", title: "My Profile" do %>
84
+ <%= link_to panda_core.admin_my_profile_path, class: "#{is_my_profile_active ? 'bg-primary-500 text-white' : 'text-white hover:bg-primary-500/60'} transition-all group flex items-center gap-x-3 py-3 px-2 mb-2 rounded-md text-base leading-6 font-normal w-full", title: "My Profile" do %>
85
85
  <% if current_user.avatar.attached? %>
86
86
  <span class="text-center w-6"><%= image_tag main_app.url_for(current_user.avatar), alt: current_user.name, class: "w-auto h-7 rounded-full object-cover" %></span>
87
87
  <% elsif !current_user.image_url.to_s.empty? %>
@@ -45,7 +45,7 @@ module Panda
45
45
 
46
46
  # In production, prefer local compiled assets over GitHub
47
47
  # Only use GitHub assets when explicitly enabled or when local assets aren't available
48
- if Rails.env.production?
48
+ if Rails.env.production? || Rails.env.staging?
49
49
  # Check if compiled assets exist locally
50
50
  return false if compiled_assets_available?
51
51
 
@@ -10,9 +10,13 @@ module Panda
10
10
  included do
11
11
  # Create AdminController alias after controllers are loaded
12
12
  # This allows other gems to inherit from Panda::Core::AdminController
13
- initializer "panda_core.admin_controller_alias", after: :load_config_initializers do
13
+ config.to_prepare do
14
+ # Use on_load to ensure ActionController is available
14
15
  ActiveSupport.on_load(:action_controller_base) do
15
- Panda::Core.const_set(:AdminController, Panda::Core::Admin::BaseController) unless Panda::Core.const_defined?(:AdminController)
16
+ # Create the alias if it doesn't exist
17
+ unless Panda::Core.const_defined?(:AdminController)
18
+ Panda::Core.const_set(:AdminController, Panda::Core::Admin::BaseController)
19
+ end
16
20
  end
17
21
  end
18
22
  end
@@ -33,8 +33,13 @@ module Panda
33
33
  Panda::Core::OAuthProviders.setup
34
34
 
35
35
  load_yaml_provider_overrides!
36
- configure_omniauth_globals
37
36
  mount_omniauth_middleware(app)
37
+
38
+ # Configure OmniAuth globals AFTER all initializers have run
39
+ # This ensures Panda::Core.config.admin_path has been set by the app
40
+ app.config.after_initialize do
41
+ configure_omniauth_globals
42
+ end
38
43
  end
39
44
  end
40
45
  end
@@ -83,6 +88,13 @@ module Panda
83
88
 
84
89
  return if symbol == :developer && !Rails.env.development?
85
90
 
91
+ # Skip providers without credentials (except developer which doesn't need them)
92
+ has_credentials = settings[:client_id].present? && settings[:client_secret].present?
93
+ if symbol != :developer && !has_credentials
94
+ Rails.logger.info("[panda-core] Skipping OmniAuth provider #{name.inspect}: missing client_id or client_secret")
95
+ return
96
+ end
97
+
86
98
  options = (settings[:options] || {}).dup
87
99
  options[:name] = settings[:path_name] if settings[:path_name].present?
88
100
 
@@ -27,7 +27,7 @@ module Panda
27
27
  # Re-check inside the mapper to avoid duplicate mounts during reloads
28
28
  next if route_set.named_routes.key?(:panda_core)
29
29
 
30
- mount Panda::Core::Engine => "/", as: "panda_core"
30
+ mount Panda::Core::Engine => "/", :as => "panda_core"
31
31
  end
32
32
  end
33
33
  end
@@ -343,6 +343,10 @@ module Panda
343
343
  private
344
344
 
345
345
  def find_javascript_file(relative_path)
346
+ # Build list of paths to try - include .js extension fallback
347
+ paths_to_try = [relative_path]
348
+ paths_to_try << "#{relative_path}.js" unless relative_path.end_with?(".js")
349
+
346
350
  # Check each registered module's JavaScript directory
347
351
  ModuleRegistry.modules.each do |gem_name, info|
348
352
  next unless ModuleRegistry.send(:engine_available?, info[:engine])
@@ -350,24 +354,28 @@ module Panda
350
354
  root = ModuleRegistry.send(:engine_root, info[:engine])
351
355
  next unless root
352
356
 
353
- # Check in app/javascript/panda/ (primary location)
354
- candidate = root.join("app/javascript/panda", relative_path)
355
- return candidate.to_s if candidate.exist? && candidate.file?
357
+ paths_to_try.each do |path|
358
+ # Check in app/javascript/panda/ (primary location)
359
+ candidate = root.join("app/javascript/panda", path)
360
+ return candidate.to_s if candidate.exist? && candidate.file?
356
361
 
357
- # Fallback to public/panda/ (for CI environments where assets are copied)
358
- public_candidate = root.join("public/panda", relative_path)
359
- return public_candidate.to_s if public_candidate.exist? && public_candidate.file?
362
+ # Fallback to public/panda/ (for CI environments where assets are copied)
363
+ public_candidate = root.join("public/panda", path)
364
+ return public_candidate.to_s if public_candidate.exist? && public_candidate.file?
365
+ end
360
366
  end
361
367
 
362
368
  # Also check Rails.root if available (for dummy apps in CI)
363
369
  if defined?(Rails.root)
364
- # Check app/javascript/panda/ in Rails.root
365
- rails_candidate = Rails.root.join("app/javascript/panda", relative_path)
366
- return rails_candidate.to_s if rails_candidate.exist? && rails_candidate.file?
367
-
368
- # Fallback to public/panda/ in Rails.root
369
- rails_public_candidate = Rails.root.join("public/panda", relative_path)
370
- return rails_public_candidate.to_s if rails_public_candidate.exist? && rails_public_candidate.file?
370
+ paths_to_try.each do |path|
371
+ # Check app/javascript/panda/ in Rails.root
372
+ rails_candidate = Rails.root.join("app/javascript/panda", path)
373
+ return rails_candidate.to_s if rails_candidate.exist? && rails_candidate.file?
374
+
375
+ # Fallback to public/panda/ in Rails.root
376
+ rails_public_candidate = Rails.root.join("public/panda", path)
377
+ return rails_public_candidate.to_s if rails_public_candidate.exist? && rails_public_candidate.file?
378
+ end
371
379
  end
372
380
 
373
381
  nil
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Panda
4
4
  module Core
5
- VERSION = "0.12.2"
5
+ VERSION = "0.12.5"
6
6
  end
7
7
  end
data/lib/panda/core.rb CHANGED
@@ -3,6 +3,17 @@
3
3
  require "rails"
4
4
  # require "active_support/core_ext/module/attribute_accessors"
5
5
 
6
+ # Load inflections early so they're available for generators
7
+ # This must happen before any code tries to camelize/classify strings
8
+ # containing "cms", "seo", "ai", or "uuid"
9
+ require "active_support/inflector"
10
+ ActiveSupport::Inflector.inflections(:en) do |inflect|
11
+ inflect.acronym "CMS"
12
+ inflect.acronym "SEO"
13
+ inflect.acronym "AI"
14
+ inflect.acronym "UUID"
15
+ end
16
+
6
17
  module Panda
7
18
  module Core
8
19
  def self.root
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-50:var(--color-primary-50);--color-indigo-400:var(--color-primary-400);--color-indigo-500:var(--color-primary-500);--color-indigo-600:var(--color-primary-600);--color-indigo-900:var(--color-primary-900);--color-indigo-950:var(--color-primary-950);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-400:oklch(71.8% .202 349.761);--color-slate-200:oklch(92.9% .013 255.508);--color-gray-50:var(--color-gray-50);--color-gray-100:var(--color-gray-100);--color-gray-200:var(--color-gray-200);--color-gray-300:var(--color-gray-300);--color-gray-400:var(--color-gray-400);--color-gray-500:var(--color-gray-500);--color-gray-600:var(--color-gray-600);--color-gray-700:var(--color-gray-700);--color-gray-800:var(--color-gray-800);--color-gray-900:var(--color-gray-900);--color-gray-950:var(--color-gray-950);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-800:oklch(27.4% .006 286.033);--color-neutral-400:oklch(70.8% 0 0);--color-black:var(--color-black);--color-white:var(--color-white);--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-loose:2;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-light:var(--color-light);--color-mid:var(--color-mid);--color-dark:var(--color-dark);--color-highlight:var(--color-highlight);--color-active:var(--color-active);--color-inactive:var(--color-inactive);--color-warning:var(--color-warning);--color-error:var(--color-error);--color-primary-50:var(--color-primary-50);--color-primary-100:var(--color-primary-100);--color-primary-200:var(--color-primary-200);--color-primary-300:var(--color-primary-300);--color-primary-400:var(--color-primary-400);--color-primary-500:var(--color-primary-500);--color-primary-600:var(--color-primary-600);--color-primary-700:var(--color-primary-700);--color-primary-800:var(--color-primary-800);--color-primary-900:var(--color-primary-900);--color-primary-950:var(--color-primary-950);--color-success-50:var(--color-success-50);--color-success-100:var(--color-success-100);--color-success-500:var(--color-success-500);--color-success-600:var(--color-success-600);--color-success-700:var(--color-success-700);--color-error-50:var(--color-error-50);--color-error-100:var(--color-error-100);--color-error-500:var(--color-error-500);--color-error-600:var(--color-error-600);--color-error-700:var(--color-error-700);--color-warning-50:var(--color-warning-50);--color-warning-100:var(--color-warning-100);--color-warning-500:var(--color-warning-500);--color-warning-600:var(--color-warning-600);--color-warning-700:var(--color-warning-700);--color-info-50:var(--color-info-50);--color-info-100:var(--color-info-100);--color-info-500:var(--color-info-500);--color-info-600:var(--color-info-600);--color-info-700:var(--color-info-700)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html[data-theme=default]{--color-white:#f9f9f9;--color-black:#1a161d;--color-light:#f1f9fa;--color-mid:#3c879e;--color-dark:#182934;--color-highlight:#d04014;--color-active:#16a34a;--color-warning:#f59e0b;--color-inactive:#dbeafe;--color-error:#dc2626;--color-primary-50:#f1f9fa;--color-primary-100:#dbeef2;--color-primary-200:#bcdde5;--color-primary-300:#83bfcf;--color-primary-400:#57a3b9;--color-primary-500:#3c879e;--color-primary-600:#346e86;--color-primary-700:#305b6e;--color-primary-800:#2e4d5c;--color-primary-900:#2a424f;--color-primary-950:#182934;--color-success-50:#f0fdf4;--color-success-100:#dcfce7;--color-success-500:#22c55e;--color-success-600:#16a34a;--color-success-700:#15803d;--color-error-50:#fef2f2;--color-error-100:#fee2e2;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-info-50:#eff6ff;--color-info-100:#dbeafe;--color-info-500:#3b82f6;--color-info-600:#2563eb;--color-info-700:#1d4ed8;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712}html[data-theme=ocean]{--color-white:#f9f9f9;--color-black:#1a161d;--color-light:#eff6ff;--color-mid:#3b82f6;--color-dark:#1e3a8a;--color-highlight:#d04014;--color-active:#16a34a;--color-warning:#f59e0b;--color-inactive:#dbeafe;--color-error:#dc2626;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-primary-950:#172554;--color-success-50:#f0fdf4;--color-success-100:#dcfce7;--color-success-500:#22c55e;--color-success-600:#16a34a;--color-success-700:#15803d;--color-error-50:#fef2f2;--color-error-100:#fee2e2;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-info-50:#f1f9fa;--color-info-100:#dbeef2;--color-info-500:#3c879e;--color-info-600:#346e86;--color-info-700:#305b6e;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712}a.block-link:after{content:"";position:absolute;inset:0}.bg-gradient-admin{background:linear-gradient(to bottom right,#111827,#374151);border-bottom-left-radius:0}}@layer components{input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea{border-radius:var(--radius-md);border-style:var(--tw-border-style);background-color:var(--color-white);width:100%;padding:calc(var(--spacing)*2);color:var(--color-gray-900);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-400);--tw-ring-inset:inset;border-width:0;display:block}:is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea)::placeholder{color:var(--color-gray-400)}:is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea):focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-600);--tw-ring-inset:inset}@media (hover:hover){:is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea):hover{cursor:pointer}}@media (min-width:40rem){input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}}:is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea):disabled{cursor:not-allowed;background-color:var(--color-gray-50);--tw-ring-color:var(--color-gray-300)}:is(input[type=text],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],input[type=search],textarea):disabled:focus{--tw-ring-color:var(--color-gray-300)}select{border-radius:var(--radius-md);border-style:var(--tw-border-style);background-color:var(--color-white);width:100%;padding-block:calc(var(--spacing)*1.5);padding-right:calc(var(--spacing)*10);padding-left:calc(var(--spacing)*3);color:var(--color-gray-900);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-400);--tw-ring-inset:inset;border-width:0;display:block}select:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-600);--tw-ring-inset:inset}@media (hover:hover){select:hover{cursor:pointer}}@media (min-width:40rem){select{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}}select:disabled{cursor:not-allowed;background-color:var(--color-gray-50);--tw-ring-color:var(--color-gray-300)}select:disabled:focus{--tw-ring-color:var(--color-gray-300)}select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}input[type=checkbox],input[type=radio]{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4);border-color:var(--color-gray-300);background-color:var(--color-white);color:var(--color-primary-600);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-radius:.25rem;transition-duration:.2s}:is(input[type=checkbox],input[type=radio]):focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-primary-500);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}:is(input[type=checkbox],input[type=radio]):disabled{cursor:not-allowed;background-color:var(--color-gray-100)}input[type=radio]{border-radius:3.40282e38px}label{margin-bottom:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-gray-700);display:block}.field{margin-bottom:calc(var(--spacing)*4)}input.error,textarea.error,select.error,:is(input.error,textarea.error,select.error):focus{--tw-ring-color:var(--color-error-500)}.field-error{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-error-600)}.btn{border-radius:var(--radius-md);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*3);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}.btn:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-primary-500);color:var(--color-white)}@media (hover:hover){.btn-primary:hover{background-color:var(--color-primary-600)}}.btn-primary:focus-visible{outline-color:var(--color-primary-600)}.btn-secondary{background-color:var(--color-gray-200);color:var(--color-gray-900)}@media (hover:hover){.btn-secondary:hover{background-color:var(--color-gray-300)}}.btn-secondary:focus-visible{outline-color:var(--color-gray-500)}.btn-danger{background-color:var(--color-error-600);color:var(--color-white)}@media (hover:hover){.btn-danger:hover{background-color:var(--color-error-700)}}.btn-danger:focus-visible{outline-color:var(--color-error-600)}.btn-success{background-color:var(--color-success-600);color:var(--color-white)}@media (hover:hover){.btn-success:hover{background-color:var(--color-success-700)}}.btn-success:focus-visible{outline-color:var(--color-success-600)}a.block-link:after{content:"";position:absolute;inset:0}:where(.codex-editor__redactor .ce-block .ce-block__content>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1.6rem*var(--tw-space-y-reverse));margin-block-end:calc(1.6rem*calc(1 - var(--tw-space-y-reverse)))}.codex-editor__redactor .ce-block .ce-block__content{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.6;--tw-font-weight:var(--font-weight-normal);line-height:1.6;font-weight:var(--font-weight-normal);color:var(--color-gray-900)}.codex-editor__redactor .ce-block .ce-block__content h1.ce-header{font-family:var(--font-sans);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:1.2;--tw-font-weight:var(--font-weight-semibold);line-height:1.2;font-weight:var(--font-weight-semibold)}@media (min-width:48rem){.codex-editor__redactor .ce-block .ce-block__content h1.ce-header{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}.codex-editor__redactor .ce-block .ce-block__content h2.ce-header{margin-top:calc(var(--spacing)*8);margin-bottom:calc(var(--spacing)*4);font-family:var(--font-sans);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-leading:1.3;--tw-font-weight:var(--font-weight-medium);line-height:1.3;font-weight:var(--font-weight-medium)}.codex-editor__redactor .ce-block .ce-block__content h3.ce-header{margin-top:calc(var(--spacing)*6);margin-bottom:calc(var(--spacing)*4);font-family:var(--font-sans);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:1.3;--tw-font-weight:var(--font-weight-normal);line-height:1.3;font-weight:var(--font-weight-normal)}.codex-editor__redactor .ce-block .ce-block__content p,.codex-editor__redactor .ce-block .ce-block__content li{--tw-leading:1.6;--tw-tracking:var(--tracking-wide);max-width:85ch;letter-spacing:var(--tracking-wide);line-height:1.6}:is(.codex-editor__redactor .ce-block .ce-block__content p,.codex-editor__redactor .ce-block .ce-block__content li) a{color:var(--color-primary-600);text-underline-offset:2px;text-decoration-line:underline}@media (hover:hover){:is(.codex-editor__redactor .ce-block .ce-block__content p,.codex-editor__redactor .ce-block .ce-block__content li) a:hover{color:var(--color-primary-700)}}:is(.codex-editor__redactor .ce-block .ce-block__content p,.codex-editor__redactor .ce-block .ce-block__content li) a:focus{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-primary-600)}:is(.codex-editor__redactor .ce-block .ce-block__content p,.codex-editor__redactor .ce-block .ce-block__content li) strong,:is(.codex-editor__redactor .ce-block .ce-block__content p,.codex-editor__redactor .ce-block .ce-block__content li) b{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.codex-editor__redactor .ce-block .ce-block__content p{margin-bottom:calc(var(--spacing)*4)}.codex-editor__redactor .ce-block .ce-block__content .cdx-quote{margin-bottom:calc(var(--spacing)*4);border-left-style:var(--tw-border-style);border-left-width:8px;border-left-color:var(--color-primary-300);background-color:var(--color-gray-100);padding:calc(var(--spacing)*6)}.codex-editor__redactor .ce-block .ce-block__content .cdx-quote .cdx-quote__caption{margin-top:calc(var(--spacing)*2);margin-left:calc(var(--spacing)*6);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-gray-600);display:block}.codex-editor__redactor .ce-block .ce-block__content .cdx-quote .cdx-quote__text{quotes:"“" "”" "‘" "’";padding-left:calc(var(--spacing)*6)}.codex-editor__redactor .ce-block .ce-block__content .cdx-quote .cdx-quote__text:before{margin-right:calc(var(--spacing)*2);margin-left:calc(var(--spacing)*-8);vertical-align:text-bottom;font-family:var(--font-serif);font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height));--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4);color:var(--color-primary-600);content:open-quote}.codex-editor__redactor .ce-block .ce-block__content .cdx-quote .cdx-quote__text p{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));font-style:italic;display:inline}.codex-editor__redactor .ce-block .ce-block__content .cdx-list{margin-bottom:calc(var(--spacing)*4);padding-left:calc(var(--spacing)*6)}--ordered:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-list){list-style-type:decimal}--unordered:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-list){list-style-type:disc}.codex-editor__redactor .ce-block .ce-block__content .cdx-list .cdx-list{margin-top:calc(var(--spacing)*2);margin-bottom:calc(var(--spacing)*0)}.codex-editor__redactor .ce-block .ce-block__content .cdx-list .cdx-list__item{margin-bottom:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*2)}.codex-editor__redactor .ce-block .ce-block__content .cdx-nested-list{margin-bottom:calc(var(--spacing)*4);padding-left:calc(var(--spacing)*6)}--ordered:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-nested-list){list-style-type:decimal}--unordered:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-nested-list){list-style-type:disc}.codex-editor__redactor .ce-block .ce-block__content .cdx-nested-list .cdx-nested-list{margin-top:calc(var(--spacing)*2);margin-bottom:calc(var(--spacing)*0)}.codex-editor__redactor .ce-block .ce-block__content .cdx-nested-list .cdx-nested-list__item{margin-bottom:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*2)}.codex-editor__redactor .ce-block .ce-block__content .cdx-table{margin-block:calc(var(--spacing)*6);border-collapse:collapse;border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-gray-300);width:100%}__head:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-table){border-right-style:var(--tw-border-style);border-right-width:2px;border-color:var(--color-gray-300);background-color:var(--color-gray-100);padding:calc(var(--spacing)*3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}__row:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-table){border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-gray-300)}__cell:is(.codex-editor__redactor .ce-block .ce-block__content .cdx-table){border-right-style:var(--tw-border-style);border-right-width:2px;border-color:var(--color-gray-300);padding:calc(var(--spacing)*3)}.codex-editor__redactor .ce-block .ce-block__content .cdx-embed iframe{--tw-border-style:none;border-style:none;width:100%}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-2\.5{inset:calc(var(--spacing)*-2.5)}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-23{margin:calc(var(--spacing)*23)}.m-171{margin:calc(var(--spacing)*171)}.-mx-3{margin-inline:calc(var(--spacing)*-3)}.-mx-4{margin-inline:calc(var(--spacing)*-4)}.mx-auto{margin-inline:auto}.my-5{margin-block:calc(var(--spacing)*5)}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-auto{margin-top:auto}.-mr-12{margin-right:calc(var(--spacing)*-12)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.-mb-px{margin-bottom:-1px}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-10{margin-left:calc(var(--spacing)*10)}.ml-12{margin-left:calc(var(--spacing)*12)}.ml-16{margin-left:calc(var(--spacing)*16)}.ml-20{margin-left:calc(var(--spacing)*20)}.ml-24{margin-left:calc(var(--spacing)*24)}.ml-28{margin-left:calc(var(--spacing)*28)}.ml-32{margin-left:calc(var(--spacing)*32)}.ml-36{margin-left:calc(var(--spacing)*36)}.ml-40{margin-left:calc(var(--spacing)*40)}.ml-48{margin-left:calc(var(--spacing)*48)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-10\/7{aspect-ratio:10/7}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing)*3)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-\[calc\(100vh-9rem\)\]{height:calc(100vh - 9rem)}.h-full{height:100%}.max-h-16{max-height:calc(var(--spacing)*16)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-32{min-height:calc(var(--spacing)*32)}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-\[300px\]{min-height:300px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-96{width:calc(var(--spacing)*96)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-48{max-width:calc(var(--spacing)*48)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-56{min-width:calc(var(--spacing)*56)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-auto{flex:auto}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-1\.5{column-gap:calc(var(--spacing)*1.5)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-5{row-gap:calc(var(--spacing)*5)}.gap-y-8{row-gap:calc(var(--spacing)*8)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}:where(.divide-gray-300>:not(:last-child)){border-color:var(--color-gray-300)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-s-md{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-300{border-color:var(--color-blue-300)}.border-error{border-color:var(--color-error)}.border-error-600{border-color:var(--color-error-600)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-500{border-color:var(--color-gray-500)}.border-gray-700,.border-gray-700\/20{border-color:var(--color-gray-700)}@supports (color:color-mix(in lab, red, red)){.border-gray-700\/20{border-color:color-mix(in oklab,var(--color-gray-700)20%,transparent)}}.border-gray-900\/25{border-color:var(--color-gray-900)}@supports (color:color-mix(in lab, red, red)){.border-gray-900\/25{border-color:color-mix(in oklab,var(--color-gray-900)25%,transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-mid{border-color:var(--color-mid)}.border-neutral-400{border-color:var(--color-neutral-400)}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-600{border-color:var(--color-primary-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-white\/20{border-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-700{border-color:var(--color-yellow-700)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black,.bg-black\/5{background-color:var(--color-black)}@supports (color:color-mix(in lab, red, red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-error{background-color:var(--color-error)}.bg-error-100{background-color:var(--color-error-100)}.bg-error-600{background-color:var(--color-error-600)}.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab,var(--color-error)10%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500\/5{background-color:var(--color-gray-500)}@supports (color:color-mix(in lab, red, red)){.bg-gray-500\/5{background-color:color-mix(in oklab,var(--color-gray-500)5%,transparent)}}.bg-gray-500\/75{background-color:var(--color-gray-500)}@supports (color:color-mix(in lab, red, red)){.bg-gray-500\/75{background-color:color-mix(in oklab,var(--color-gray-500)75%,transparent)}}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-light{background-color:var(--color-light)}.bg-pink-400{background-color:var(--color-pink-400)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-success-600{background-color:var(--color-success-600)}.bg-transparent{background-color:#0000}.bg-white,.bg-white\/10{background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-dark{--tw-gradient-from:var(--color-dark);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-50\/20{--tw-gradient-from:var(--color-primary-50)}@supports (color:color-mix(in lab, red, red)){.from-primary-50\/20{--tw-gradient-from:color-mix(in oklab,var(--color-primary-50)20%,transparent)}}.from-primary-50\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-mid{--tw-gradient-to:var(--color-mid);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary-50{--tw-gradient-to:var(--color-primary-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-11{padding-left:calc(var(--spacing)*11)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-2xl\/7{font-size:var(--text-2xl);line-height:calc(var(--spacing)*7)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing)*6)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/5{font-size:var(--text-xs);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-keep{word-break:keep-all}.whitespace-nowrap{white-space:nowrap}.text-active{color:var(--color-active)}.text-amber-900{color:var(--color-amber-900)}.text-black,.text-black\/60{color:var(--color-black)}@supports (color:color-mix(in lab, red, red)){.text-black\/60{color:color-mix(in oklab,var(--color-black)60%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-dark{color:var(--color-dark)}.text-error{color:var(--color-error)}.text-error-600{color:var(--color-error-600)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-pink-400{color:var(--color-pink-400)}.text-primary-600{color:var(--color-primary-600)}.text-primary-900{color:var(--color-primary-900)}.text-purple-700{color:var(--color-purple-700)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-sky-700{color:var(--color-sky-700)}.text-white,.text-white\/80{color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-zinc-800{color:var(--color-zinc-800)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\/30{--tw-ring-color:var(--color-black)}@supports (color:color-mix(in lab, red, red)){.ring-black\/30{--tw-ring-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.ring-blue-400\/20{--tw-ring-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.ring-blue-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-400)20%,transparent)}}.ring-blue-600\/20{--tw-ring-color:#155dfc33}@supports (color:color-mix(in lab, red, red)){.ring-blue-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-blue-600)20%,transparent)}}.ring-blue-700\/10{--tw-ring-color:#1447e61a}@supports (color:color-mix(in lab, red, red)){.ring-blue-700\/10{--tw-ring-color:color-mix(in oklab,var(--color-blue-700)10%,transparent)}}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.ring-gray-400\/10{--tw-ring-color:var(--color-gray-400)}@supports (color:color-mix(in lab, red, red)){.ring-gray-400\/10{--tw-ring-color:color-mix(in oklab,var(--color-gray-400)10%,transparent)}}.ring-gray-500\/10{--tw-ring-color:var(--color-gray-500)}@supports (color:color-mix(in lab, red, red)){.ring-gray-500\/10{--tw-ring-color:color-mix(in oklab,var(--color-gray-500)10%,transparent)}}.ring-gray-600\/20{--tw-ring-color:var(--color-gray-600)}@supports (color:color-mix(in lab, red, red)){.ring-gray-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-gray-600)20%,transparent)}}.ring-green-400\/20{--tw-ring-color:#05df7233}@supports (color:color-mix(in lab, red, red)){.ring-green-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-green-400)20%,transparent)}}.ring-green-600\/20{--tw-ring-color:#00a54433}@supports (color:color-mix(in lab, red, red)){.ring-green-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-green-600)20%,transparent)}}.ring-primary-400{--tw-ring-color:var(--color-primary-400)}.ring-purple-600\/20{--tw-ring-color:#9810fa33}@supports (color:color-mix(in lab, red, red)){.ring-purple-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-purple-600)20%,transparent)}}.ring-red-400\/20{--tw-ring-color:#ff656833}@supports (color:color-mix(in lab, red, red)){.ring-red-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-400)20%,transparent)}}.ring-red-600\/10{--tw-ring-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.ring-red-600\/10{--tw-ring-color:color-mix(in oklab,var(--color-red-600)10%,transparent)}}.ring-red-600\/20{--tw-ring-color:#e4001433}@supports (color:color-mix(in lab, red, red)){.ring-red-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-red-600)20%,transparent)}}.ring-sky-700\/10{--tw-ring-color:#0069a41a}@supports (color:color-mix(in lab, red, red)){.ring-sky-700\/10{--tw-ring-color:color-mix(in oklab,var(--color-sky-700)10%,transparent)}}.ring-yellow-400\/20{--tw-ring-color:#fac80033}@supports (color:color-mix(in lab, red, red)){.ring-yellow-400\/20{--tw-ring-color:color-mix(in oklab,var(--color-yellow-400)20%,transparent)}}.ring-yellow-600\/20{--tw-ring-color:#cd890033}@supports (color:color-mix(in lab, red, red)){.ring-yellow-600\/20{--tw-ring-color:color-mix(in oklab,var(--color-yellow-600)20%,transparent)}}.inset-ring-gray-300{--tw-inset-ring-color:var(--color-gray-300)}.outline,.outline-1{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.-outline-offset-1{outline-offset:calc(1px*-1)}.outline-offset-2{outline-offset:2px}.outline-black\/5{outline-color:var(--color-black)}@supports (color:color-mix(in lab, red, red)){.outline-black\/5{outline-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.outline-gray-200{outline-color:var(--color-gray-200)}.outline-gray-300{outline-color:var(--color-gray-300)}.outline-primary-600{outline-color:var(--color-primary-600)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:opacity-75:is(:where(.group):hover *){opacity:.75}}.file\:mr-4::file-selector-button{margin-right:calc(var(--spacing)*4)}.file\:rounded::file-selector-button{border-radius:.25rem}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-gray-100::file-selector-button{background-color:var(--color-gray-100)}.file\:bg-white::file-selector-button{background-color:var(--color-white)}.file\:px-4::file-selector-button{padding-inline:calc(var(--spacing)*4)}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing)*2)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-semibold::file-selector-button{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.file\:text-gray-500::file-selector-button{color:var(--color-gray-500)}.file\:text-gray-700::file-selector-button{color:var(--color-gray-700)}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.focus-within\:outline-2:focus-within{outline-style:var(--tw-outline-style);outline-width:2px}.focus-within\:outline-offset-2:focus-within{outline-offset:2px}.focus-within\:outline-indigo-600:focus-within{outline-color:var(--color-indigo-600)}.focus-within\:outline-primary-600:focus-within{outline-color:var(--color-primary-600)}@media (hover:hover){.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-error-700:hover{background-color:var(--color-error-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-500\/20:hover{background-color:var(--color-gray-500)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-gray-500\/20:hover{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-primary-500\/60:hover{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary-500\/60:hover{background-color:color-mix(in oklab,var(--color-primary-500)60%,transparent)}}.hover\:bg-primary-600:hover{background-color:var(--color-primary-600)}.hover\:bg-success-700:hover{background-color:var(--color-success-700)}.hover\:bg-white:hover,.hover\:bg-white\/20:hover{background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:text-black\/80:hover{color:var(--color-black)}@supports (color:color-mix(in lab, red, red)){.hover\:text-black\/80:hover{color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\:text-error-700:hover{color:var(--color-error-700)}.hover\:text-gray-500:hover{color:var(--color-gray-500)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-indigo-900:hover{color:var(--color-indigo-900)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:text-primary-800:hover{color:var(--color-primary-800)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:file\:bg-gray-50:hover::file-selector-button{background-color:var(--color-gray-50)}.hover\:file\:bg-gray-200:hover::file-selector-button{background-color:var(--color-gray-200)}}.focus\:border-error:focus{border-color:var(--color-error)}.focus\:border-gray-500:focus{border-color:var(--color-gray-500)}.focus\:border-primary-600:focus{border-color:var(--color-primary-600)}.focus\:underline:focus{text-decoration-line:underline}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-error:focus{--tw-ring-color:var(--color-error)}.focus\:ring-gray-300:focus{--tw-ring-color:var(--color-gray-300)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-primary-600:focus{--tw-ring-color:var(--color-primary-600)}.focus\:ring-white:focus{--tw-ring-color:var(--color-white)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-2:focus{outline-style:var(--tw-outline-style);outline-width:2px}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:outline-blue-600:focus{outline-color:var(--color-blue-600)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-0:focus-visible{outline-style:var(--tw-outline-style);outline-width:0}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px*-1)}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-error-600:focus-visible{outline-color:var(--color-error-600)}.focus-visible\:outline-gray-700:focus-visible{outline-color:var(--color-gray-700)}.focus-visible\:outline-primary-600:focus-visible{outline-color:var(--color-primary-600)}.focus-visible\:outline-success-600:focus-visible{outline-color:var(--color-success-600)}.focus-visible\:outline-white:focus-visible{outline-color:var(--color-white)}.active\:bg-gray-200:active{background-color:var(--color-gray-200)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\:checked\]\:border-primary-500:has(:checked){border-color:var(--color-primary-500)}.has-\[\:checked\]\:ring-2:has(:checked){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\:checked\]\:ring-primary-500:has(:checked){--tw-ring-color:var(--color-primary-500)}@media (min-width:40rem){.sm\:-mx-6{margin-inline:calc(var(--spacing)*-6)}.sm\:mx-auto{margin-inline:auto}.sm\:mt-2{margin-top:calc(var(--spacing)*2)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:gap-x-6{column-gap:calc(var(--spacing)*6)}.sm\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:pl-0{padding-left:calc(var(--spacing)*0)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing)*6)}.sm\:leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.sm\:tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.sm\:duration-700{--tw-duration:.7s;transition-duration:.7s}}@media (min-width:48rem){.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:ml-4{margin-left:calc(var(--spacing)*4)}.md\:flex{display:flex}.md\:w-2\/3{width:66.6667%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:fixed{position:fixed}.lg\:inset-y-0{inset-block:calc(var(--spacing)*0)}.lg\:z-50{z-index:50}.lg\:mt-0{margin-top:calc(var(--spacing)*0)}.lg\:ml-72{margin-left:calc(var(--spacing)*72)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:max-h-full{max-height:100%}.lg\:w-72{width:calc(var(--spacing)*72)}.lg\:flex-shrink-0{flex-shrink:0}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:border-none{--tw-border-style:none;border-style:none}.lg\:px-6{padding-inline:calc(var(--spacing)*6)}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media (min-width:80rem){.xl\:gap-x-8{column-gap:calc(var(--spacing)*8)}:where(.xl\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-indigo-400{border-color:var(--color-indigo-400)}.dark\:border-white\/10{border-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:border-white\/25{border-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/25{border-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.dark\:bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.dark\:bg-error-500{background-color:var(--color-error-500)}.dark\:bg-gray-400\/10{background-color:var(--color-gray-400)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-400\/10{background-color:color-mix(in oklab,var(--color-gray-400)10%,transparent)}}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900\/50{background-color:var(--color-gray-900)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-900\/50{background-color:color-mix(in oklab,var(--color-gray-900)50%,transparent)}}.dark\:bg-green-400\/10{background-color:#05df721a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-400\/10{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.dark\:bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\:bg-indigo-950{background-color:var(--color-indigo-950)}.dark\:bg-primary-400{background-color:var(--color-primary-400)}.dark\:bg-purple-400\/10{background-color:#c07eff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-purple-400\/10{background-color:color-mix(in oklab,var(--color-purple-400)10%,transparent)}}.dark\:bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-success-500{background-color:var(--color-success-500)}.dark\:bg-white\/5{background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.dark\:bg-white\/10{background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-blue-500{color:var(--color-blue-500)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-green-500{color:var(--color-green-500)}.dark\:text-primary-400{color:var(--color-primary-400)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-red-500{color:var(--color-red-500)}.dark\:text-white{color:var(--color-white)}.dark\:text-yellow-400{color:var(--color-yellow-400)}.dark\:text-yellow-500{color:var(--color-yellow-500)}.dark\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:ring-blue-500\/30{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.dark\:ring-blue-500\/30{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.dark\:ring-gray-500\/20{--tw-ring-color:var(--color-gray-500)}@supports (color:color-mix(in lab, red, red)){.dark\:ring-gray-500\/20{--tw-ring-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.dark\:ring-green-500\/30{--tw-ring-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.dark\:ring-green-500\/30{--tw-ring-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.dark\:ring-red-500\/30{--tw-ring-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.dark\:ring-red-500\/30{--tw-ring-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.dark\:ring-yellow-500\/30{--tw-ring-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.dark\:ring-yellow-500\/30{--tw-ring-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.dark\:inset-ring-white\/5{--tw-inset-ring-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:inset-ring-white\/5{--tw-inset-ring-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.dark\:outline-primary-400{outline-color:var(--color-primary-400)}.dark\:outline-white\/5{outline-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:outline-white\/5{outline-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.dark\:outline-white\/10{outline-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:outline-white\/10{outline-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.dark\:after\:absolute:after{content:var(--tw-content);position:absolute}.dark\:after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.dark\:after\:left-0:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.dark\:after\:w-px:after{content:var(--tw-content);width:1px}.dark\:after\:bg-white\/10:after{content:var(--tw-content);background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:after\:bg-white\/10:after{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.dark\:focus-within\:outline-indigo-500:focus-within{outline-color:var(--color-indigo-500)}.dark\:focus-within\:outline-primary-500:focus-within{outline-color:var(--color-primary-500)}@media (hover:hover){.dark\:hover\:border-white\/20:hover{border-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-white\/20:hover{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.dark\:hover\:bg-error-600:hover{background-color:var(--color-error-600)}.dark\:hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-primary-500:hover{background-color:var(--color-primary-500)}.dark\:hover\:bg-success-600:hover{background-color:var(--color-success-600)}.dark\:hover\:bg-white\/5:hover{background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.dark\:hover\:bg-white\/20:hover{background-color:var(--color-white)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}.dark\:hover\:text-primary-300:hover{color:var(--color-primary-300)}.dark\:hover\:text-red-300:hover{color:var(--color-red-300)}.dark\:hover\:text-white:hover{color:var(--color-white)}}.dark\:focus\:outline-blue-500:focus{outline-color:var(--color-blue-500)}.dark\:focus\:outline-primary-500:focus{outline-color:var(--color-primary-500)}.dark\:focus-visible\:outline-error-500:focus-visible{outline-color:var(--color-error-500)}.dark\:focus-visible\:outline-gray-600:focus-visible{outline-color:var(--color-gray-600)}.dark\:focus-visible\:outline-primary-500:focus-visible{outline-color:var(--color-primary-500)}.dark\:focus-visible\:outline-success-500:focus-visible{outline-color:var(--color-success-500)}}@starting-style{.starting\:translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\:opacity-0{opacity:0}}@starting-style{@media (min-width:40rem){.starting\:sm\:translate-x-2{--tw-translate-x:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}}}@starting-style{@media (min-width:40rem){.starting\:sm\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}