/* WIT semantic palette. Tailwind v3 compatibility: tokens exposed as CSS variables. */
:root {
 --accent:#de5b49; --accent-strong:#c74c3b; --accent-soft:#fcece8;
 --ink:#17191b; --ink-2:#202326; --ink-3:#2d3033;
 --surface:#f1f0f1; --surface-2:#f5f4f6; --card:#fff; --border:#e6e5e7;
 --foreground:#17191b; --body:#454649; --muted:#747579; --silver:#c0c0c0;
 --info:#5c7893; --info-soft:#edf2f7; --on-ink:#fff; --on-ink-muted:#a8a9ad;
 --shadow-card:0 1px 2px rgb(16 17 18 / .03),0 8px 24px -12px rgb(16 17 18 / .1);
 --shadow-float:0 12px 40px -12px rgb(16 17 18 / .25);
 --shadow-glow:0 8px 20px -8px rgb(222 91 73 / .5);
}
*, ::before, ::after {
 --tw-border-spacing-x:0;
 --tw-border-spacing-y:0;
 --tw-translate-x:0;
 --tw-translate-y:0;
 --tw-rotate:0;
 --tw-skew-x:0;
 --tw-skew-y:0;
 --tw-scale-x:1;
 --tw-scale-y:1;
 --tw-pan-x: ;
 --tw-pan-y: ;
 --tw-pinch-zoom: ;
 --tw-scroll-snap-strictness:proximity;
 --tw-gradient-from-position: ;
 --tw-gradient-via-position: ;
 --tw-gradient-to-position: ;
 --tw-ordinal: ;
 --tw-slashed-zero: ;
 --tw-numeric-figure: ;
 --tw-numeric-spacing: ;
 --tw-numeric-fraction: ;
 --tw-ring-inset: ;
 --tw-ring-offset-width:0px;
 --tw-ring-offset-color:#fff;
 --tw-ring-color:rgb(59 130 246 / 0.5);
 --tw-ring-offset-shadow:0 0 #0000;
 --tw-ring-shadow:0 0 #0000;
 --tw-shadow:0 0 #0000;
 --tw-shadow-colored:0 0 #0000;
 --tw-blur: ;
 --tw-brightness: ;
 --tw-contrast: ;
 --tw-grayscale: ;
 --tw-hue-rotate: ;
 --tw-invert: ;
 --tw-saturate: ;
 --tw-sepia: ;
 --tw-drop-shadow: ;
 --tw-backdrop-blur: ;
 --tw-backdrop-brightness: ;
 --tw-backdrop-contrast: ;
 --tw-backdrop-grayscale: ;
 --tw-backdrop-hue-rotate: ;
 --tw-backdrop-invert: ;
 --tw-backdrop-opacity: ;
 --tw-backdrop-saturate: ;
 --tw-backdrop-sepia: ;
 --tw-contain-size: ;
 --tw-contain-layout: ;
 --tw-contain-paint: ;
 --tw-contain-style: ;
}
::backdrop {
 --tw-border-spacing-x:0;
 --tw-border-spacing-y:0;
 --tw-translate-x:0;
 --tw-translate-y:0;
 --tw-rotate:0;
 --tw-skew-x:0;
 --tw-skew-y:0;
 --tw-scale-x:1;
 --tw-scale-y:1;
 --tw-pan-x: ;
 --tw-pan-y: ;
 --tw-pinch-zoom: ;
 --tw-scroll-snap-strictness:proximity;
 --tw-gradient-from-position: ;
 --tw-gradient-via-position: ;
 --tw-gradient-to-position: ;
 --tw-ordinal: ;
 --tw-slashed-zero: ;
 --tw-numeric-figure: ;
 --tw-numeric-spacing: ;
 --tw-numeric-fraction: ;
 --tw-ring-inset: ;
 --tw-ring-offset-width:0px;
 --tw-ring-offset-color:#fff;
 --tw-ring-color:rgb(59 130 246 / 0.5);
 --tw-ring-offset-shadow:0 0 #0000;
 --tw-ring-shadow:0 0 #0000;
 --tw-shadow:0 0 #0000;
 --tw-shadow-colored:0 0 #0000;
 --tw-blur: ;
 --tw-brightness: ;
 --tw-contrast: ;
 --tw-grayscale: ;
 --tw-hue-rotate: ;
 --tw-invert: ;
 --tw-saturate: ;
 --tw-sepia: ;
 --tw-drop-shadow: ;
 --tw-backdrop-blur: ;
 --tw-backdrop-brightness: ;
 --tw-backdrop-contrast: ;
 --tw-backdrop-grayscale: ;
 --tw-backdrop-hue-rotate: ;
 --tw-backdrop-invert: ;
 --tw-backdrop-opacity: ;
 --tw-backdrop-saturate: ;
 --tw-backdrop-sepia: ;
 --tw-contain-size: ;
 --tw-contain-layout: ;
 --tw-contain-paint: ;
 --tw-contain-style: ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: DM Sans, Segoe UI, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
* { border-color:var(--border); }
html { font-family:'DM Sans','Segoe UI',sans-serif; font-feature-settings:'ss01','cv11'; -webkit-font-smoothing:antialiased; }
body { margin:0; background:var(--surface); color:var(--foreground); font-size:14px; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
button { cursor:pointer; }
input,select,textarea { font:inherit; }
select { cursor:pointer; }
::-moz-selection { background:var(--accent); color:white; }
::selection { background:var(--accent); color:white; }
h1,h2,h3,p { margin:0; }
td,th { text-align:left; }
th { font-weight:600; }
.field {
 height:2.75rem;
 width:100%;
 border-radius:1rem;
 border-width:1px;
 border-color:var(--border);
 background-color:var(--surface-2);
 padding-left:1rem;
 padding-right:1rem;
 font-size:0.875rem;
 line-height:1.25rem;
 outline:2px solid transparent;
 outline-offset:2px;
}
.field:focus {
 border-color:var(--accent);
}
.field-label {
 margin-bottom:0.5rem;
 display:block;
 font-size:0.75rem;
 line-height:1rem;
 font-weight:600;
}
.data-table {
 width:100%;
 border-collapse:collapse;
 font-size:0.75rem;
 line-height:1rem;
}
.data-table th {
 height:2.75rem;
 white-space:nowrap;
 padding-left:0.75rem;
 padding-right:0.75rem;
 font-size:10px;
 text-transform:uppercase;
 letter-spacing:0.05em;
 color:var(--muted);
}
.data-table td {
 border-top-width:1px;
 border-color:var(--border);
 padding-left:0.75rem;
 padding-right:0.75rem;
 padding-top:1rem;
 padding-bottom:1rem;
}
.data-table tbody tr {
 transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
 transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
 transition-duration:150ms;
}
.data-table tbody tr:hover {
 background-color:var(--surface-2);
}
.kicker {
 font-size:10px;
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.14em;
 color:var(--muted);
}
.sr-only {
 position:absolute;
 width:1px;
 height:1px;
 padding:0;
 margin:-1px;
 overflow:hidden;
 clip:rect(0, 0, 0, 0);
 white-space:nowrap;
 border-width:0;
}
.pointer-events-none {
 pointer-events:none;
}
.fixed {
 position:fixed;
}
.absolute {
 position:absolute;
}
.relative {
 position:relative;
}
.inset-0 {
 inset:0px;
}
.inset-y-0 {
 top:0px;
 bottom:0px;
}
.-right-1 {
 right:-0.25rem;
}
.-right-16 {
 right:-4rem;
}
.-top-1 {
 top:-0.25rem;
}
.-top-24 {
 top:-6rem;
}
.bottom-7 {
 bottom:1.75rem;
}
.left-0 {
 left:0px;
}
.left-60 {
 left:15rem;
}
.left-8 {
 left:2rem;
}
.right-0 {
 right:0px;
}
.right-2\.5 {
 right:0.625rem;
}
.top-12 {
 top:3rem;
}
.top-2 {
 top:0.5rem;
}
.z-30 {
 z-index:30;
}
.z-40 {
 z-index:40;
}
.mx-auto {
 margin-left:auto;
 margin-right:auto;
}
.my-2 {
 margin-top:0.5rem;
 margin-bottom:0.5rem;
}
.my-3 {
 margin-top:0.75rem;
 margin-bottom:0.75rem;
}
.mb-1 {
 margin-bottom:0.25rem;
}
.mb-2 {
 margin-bottom:0.5rem;
}
.mb-3 {
 margin-bottom:0.75rem;
}
.mb-4 {
 margin-bottom:1rem;
}
.mb-5 {
 margin-bottom:1.25rem;
}
.mb-6 {
 margin-bottom:1.5rem;
}
.ml-1 {
 margin-left:0.25rem;
}
.ml-2 {
 margin-left:0.5rem;
}
.ml-3 {
 margin-left:0.75rem;
}
.ml-auto {
 margin-left:auto;
}
.mr-auto {
 margin-right:auto;
}
.mt-0\.5 {
 margin-top:0.125rem;
}
.mt-1 {
 margin-top:0.25rem;
}
.mt-1\.5 {
 margin-top:0.375rem;
}
.mt-2 {
 margin-top:0.5rem;
}
.mt-2\.5 {
 margin-top:0.625rem;
}
.mt-3 {
 margin-top:0.75rem;
}
.mt-4 {
 margin-top:1rem;
}
.mt-5 {
 margin-top:1.25rem;
}
.mt-6 {
 margin-top:1.5rem;
}
.mt-auto {
 margin-top:auto;
}
.block {
 display:block;
}
.flex {
 display:flex;
}
.inline-flex {
 display:inline-flex;
}
.table {
 display:table;
}
.grid {
 display:grid;
}
.hidden {
 display:none;
}
.size-1 {
 width:0.25rem;
 height:0.25rem;
}
.size-1\.5 {
 width:0.375rem;
 height:0.375rem;
}
.size-10 {
 width:2.5rem;
 height:2.5rem;
}
.size-11 {
 width:2.75rem;
 height:2.75rem;
}
.size-12 {
 width:3rem;
 height:3rem;
}
.size-2 {
 width:0.5rem;
 height:0.5rem;
}
.size-4 {
 width:1rem;
 height:1rem;
}
.size-64 {
 width:16rem;
 height:16rem;
}
.size-7 {
 width:1.75rem;
 height:1.75rem;
}
.size-8 {
 width:2rem;
 height:2rem;
}
.size-9 {
 width:2.25rem;
 height:2.25rem;
}
.size-\[130px\] {
 width:130px;
 height:130px;
}
.size-full {
 width:100%;
 height:100%;
}
.\!h-20 {
 height:5rem !important;
}
.\!h-24 {
 height:6rem !important;
}
.h-10 {
 height:2.5rem;
}
.h-11 {
 height:2.75rem;
}
.h-14 {
 height:3.5rem;
}
.h-7 {
 height:1.75rem;
}
.h-9 {
 height:2.25rem;
}
.h-\[150px\] {
 height:150px;
}
.h-\[180px\] {
 height:180px;
}
.h-dvh {
 height:100dvh;
}
.h-full {
 height:100%;
}
.max-h-60 {
 max-height:15rem;
}
.max-h-80 {
 max-height:20rem;
}
.min-h-0 {
 min-height:0px;
}
.min-h-64 {
 min-height:16rem;
}
.min-h-\[260px\] {
 min-height:260px;
}
.w-11 {
 width:2.75rem;
}
.w-52 {
 width:13rem;
}
.w-60 {
 width:15rem;
}
.w-72 {
 width:18rem;
}
.w-\[76px\] {
 width:76px;
}
.w-\[calc\(100\%-32px\)\] {
 width:calc(100% - 32px);
}
.w-full {
 width:100%;
}
.w-px {
 width:1px;
}
.min-w-0 {
 min-width:0px;
}
.min-w-40 {
 min-width:10rem;
}
.min-w-48 {
 min-width:12rem;
}
.max-w-36 {
 max-width:9rem;
}
.max-w-3xl {
 max-width:48rem;
}
.max-w-40 {
 max-width:10rem;
}
.max-w-52 {
 max-width:13rem;
}
.max-w-7 {
 max-width:1.75rem;
}
.max-w-72 {
 max-width:18rem;
}
.max-w-\[220px\] {
 max-width:220px;
}
.max-w-\[260px\] {
 max-width:260px;
}
.max-w-\[75px\] {
 max-width:75px;
}
.max-w-full {
 max-width:100%;
}
.max-w-lg {
 max-width:32rem;
}
.max-w-sm {
 max-width:24rem;
}
.max-w-xl {
 max-width:36rem;
}
.flex-1 {
 flex:1 1 0%;
}
.shrink-0 {
 flex-shrink:0;
}
.-rotate-90 {
 --tw-rotate:-90deg;
 transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.cursor-pointer {
 cursor:pointer;
}
.grid-cols-2 {
 grid-template-columns:repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
 grid-template-columns:repeat(3, minmax(0, 1fr));
}
.grid-cols-\[110px_1fr\] {
 grid-template-columns:110px 1fr;
}
.flex-col {
 flex-direction:column;
}
.flex-wrap {
 flex-wrap:wrap;
}
.items-start {
 align-items:flex-start;
}
.items-end {
 align-items:flex-end;
}
.items-center {
 align-items:center;
}
.justify-end {
 justify-content:flex-end;
}
.justify-center {
 justify-content:center;
}
.justify-between {
 justify-content:space-between;
}
.justify-around {
 justify-content:space-around;
}
.gap-1 {
 gap:0.25rem;
}
.gap-1\.5 {
 gap:0.375rem;
}
.gap-2 {
 gap:0.5rem;
}
.gap-3 {
 gap:0.75rem;
}
.gap-4 {
 gap:1rem;
}
.gap-5 {
 gap:1.25rem;
}
.gap-x-7 {
 -moz-column-gap:1.75rem;
      column-gap:1.75rem;
}
.gap-y-3 {
 row-gap:0.75rem;
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(1rem * var(--tw-space-y-reverse));
}
.self-start {
 align-self:flex-start;
}
.self-end {
 align-self:flex-end;
}
.overflow-hidden {
 overflow:hidden;
}
.overflow-x-auto {
 overflow-x:auto;
}
.overflow-y-auto {
 overflow-y:auto;
}
.truncate {
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.whitespace-nowrap {
 white-space:nowrap;
}
.break-words {
 overflow-wrap:break-word;
}
.break-all {
 word-break:break-all;
}
.\!rounded-hero {
 border-radius:28px !important;
}
.rounded-2xl {
 border-radius:1rem;
}
.rounded-card {
 border-radius:24px;
}
.rounded-full {
 border-radius:9999px;
}
.rounded-hero {
 border-radius:28px;
}
.rounded-sm {
 border-radius:0.125rem;
}
.rounded-xl {
 border-radius:0.75rem;
}
.rounded-t-md {
 border-top-left-radius:0.375rem;
 border-top-right-radius:0.375rem;
}
.border {
 border-width:1px;
}
.border-0 {
 border-width:0px;
}
.border-b {
 border-bottom-width:1px;
}
.border-t {
 border-top-width:1px;
}
.border-dashed {
 border-style:dashed;
}
.border-border {
 border-color:var(--border);
}
.border-white\/10 {
 border-color:rgb(255 255 255 / 0.1);
}
.border-white\/20 {
 border-color:rgb(255 255 255 / 0.2);
}
.\!bg-accent {
 background-color:var(--accent) !important;
}
.\!bg-ink {
 background-color:var(--ink) !important;
}
.bg-accent {
 background-color:var(--accent);
}
.bg-accent-soft {
 background-color:var(--accent-soft);
}
.bg-border {
 background-color:var(--border);
}
.bg-card {
 background-color:var(--card);
}
.bg-current {
 background-color:currentColor;
}
.bg-info {
 background-color:var(--info);
}
.bg-info-soft {
 background-color:var(--info-soft);
}
.bg-ink {
 background-color:var(--ink);
}
.bg-ink-3 {
 background-color:var(--ink-3);
}
.bg-silver {
 background-color:var(--silver);
}
.bg-surface {
 background-color:var(--surface);
}
.bg-surface-2 {
 background-color:var(--surface-2);
}
.bg-transparent {
 background-color:transparent;
}
.bg-white {
 --tw-bg-opacity:1;
 background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
 background-color:rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
 background-color:rgb(255 255 255 / 0.15);
}
.\!p-5 {
 padding:1.25rem !important;
}
.\!p-6 {
 padding:1.5rem !important;
}
.p-1 {
 padding:0.25rem;
}
.p-1\.5 {
 padding:0.375rem;
}
.p-3 {
 padding:0.75rem;
}
.p-4 {
 padding:1rem;
}
.p-5 {
 padding:1.25rem;
}
.p-6 {
 padding:1.5rem;
}
.px-1 {
 padding-left:0.25rem;
 padding-right:0.25rem;
}
.px-2 {
 padding-left:0.5rem;
 padding-right:0.5rem;
}
.px-2\.5 {
 padding-left:0.625rem;
 padding-right:0.625rem;
}
.px-3 {
 padding-left:0.75rem;
 padding-right:0.75rem;
}
.px-4 {
 padding-left:1rem;
 padding-right:1rem;
}
.px-5 {
 padding-left:1.25rem;
 padding-right:1.25rem;
}
.py-1 {
 padding-top:0.25rem;
 padding-bottom:0.25rem;
}
.py-1\.5 {
 padding-top:0.375rem;
 padding-bottom:0.375rem;
}
.py-16 {
 padding-top:4rem;
 padding-bottom:4rem;
}
.py-2 {
 padding-top:0.5rem;
 padding-bottom:0.5rem;
}
.py-2\.5 {
 padding-top:0.625rem;
 padding-bottom:0.625rem;
}
.py-3 {
 padding-top:0.75rem;
 padding-bottom:0.75rem;
}
.py-4 {
 padding-top:1rem;
 padding-bottom:1rem;
}
.py-5 {
 padding-top:1.25rem;
 padding-bottom:1.25rem;
}
.py-6 {
 padding-top:1.5rem;
 padding-bottom:1.5rem;
}
.pb-1 {
 padding-bottom:0.25rem;
}
.pb-3 {
 padding-bottom:0.75rem;
}
.pb-4 {
 padding-bottom:1rem;
}
.pb-6 {
 padding-bottom:1.5rem;
}
.pb-7 {
 padding-bottom:1.75rem;
}
.pl-8 {
 padding-left:2rem;
}
.pr-1 {
 padding-right:0.25rem;
}
.pr-3 {
 padding-right:0.75rem;
}
.pt-3 {
 padding-top:0.75rem;
}
.pt-4 {
 padding-top:1rem;
}
.pt-5 {
 padding-top:1.25rem;
}
.text-left {
 text-align:left;
}
.text-center {
 text-align:center;
}
.font-mono {
 font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
 font-family:DM Sans, Segoe UI, sans-serif;
}
.text-2xl {
 font-size:1.5rem;
 line-height:2rem;
}
.text-3xl {
 font-size:1.875rem;
 line-height:2.25rem;
}
.text-5xl {
 font-size:3rem;
 line-height:1;
}
.text-\[10px\] {
 font-size:10px;
}
.text-\[11px\] {
 font-size:11px;
}
.text-\[28px\] {
 font-size:28px;
}
.text-\[30px\] {
 font-size:30px;
}
.text-\[32px\] {
 font-size:32px;
}
.text-\[54px\] {
 font-size:54px;
}
.text-\[9px\] {
 font-size:9px;
}
.text-base {
 font-size:1rem;
 line-height:1.5rem;
}
.text-lg {
 font-size:1.125rem;
 line-height:1.75rem;
}
.text-sm {
 font-size:0.875rem;
 line-height:1.25rem;
}
.text-xl {
 font-size:1.25rem;
 line-height:1.75rem;
}
.text-xs {
 font-size:0.75rem;
 line-height:1rem;
}
.font-bold {
 font-weight:700;
}
.font-medium {
 font-weight:500;
}
.font-semibold {
 font-weight:600;
}
.uppercase {
 text-transform:uppercase;
}
.tabular-nums {
 --tw-numeric-spacing:tabular-nums;
 font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-none {
 line-height:1;
}
.leading-relaxed {
 line-height:1.625;
}
.leading-tight {
 line-height:1.25;
}
.tracking-\[-0\.055em\] {
 letter-spacing:-0.055em;
}
.tracking-\[\.14em\] {
 letter-spacing:.14em;
}
.tracking-\[\.15em\] {
 letter-spacing:.15em;
}
.tracking-\[0\.14em\] {
 letter-spacing:0.14em;
}
.tracking-\[0\.15em\] {
 letter-spacing:0.15em;
}
.tracking-tight {
 letter-spacing:-0.025em;
}
.tracking-tighter {
 letter-spacing:-0.05em;
}
.tracking-wider {
 letter-spacing:0.05em;
}
.text-accent {
 color:var(--accent);
}
.text-body {
 color:var(--body);
}
.text-foreground {
 color:var(--foreground);
}
.text-info {
 color:var(--info);
}
.text-ink {
 color:var(--ink);
}
.text-muted {
 color:var(--muted);
}
.text-on-ink-muted {
 color:var(--on-ink-muted);
}
.text-silver {
 color:var(--silver);
}
.text-white {
 --tw-text-opacity:1;
 color:rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/80 {
 color:rgb(255 255 255 / 0.8);
}
.text-white\/85 {
 color:rgb(255 255 255 / 0.85);
}
.opacity-10 {
 opacity:0.1;
}
.opacity-60 {
 opacity:0.6;
}
.shadow-card {
 --tw-shadow:var(--shadow-card);
 --tw-shadow-colored:var(--shadow-card);
 box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-float {
 --tw-shadow:var(--shadow-float);
 --tw-shadow-colored:var(--shadow-float);
 box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-glow {
 --tw-shadow:var(--shadow-glow);
 --tw-shadow-colored:var(--shadow-glow);
 box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
 --tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);
 --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);
 box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-card {
 --tw-shadow-color:var(--card);
 --tw-shadow:var(--tw-shadow-colored);
}
.outline-none {
 outline:2px solid transparent;
 outline-offset:2px;
}
.outline {
 outline-style:solid;
}
.blur-3xl {
 --tw-blur:blur(64px);
 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-colors {
 transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
 transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
 transition-duration:150ms;
}
* { scrollbar-width:thin; scrollbar-color:var(--silver) transparent; }
.tabular-nums { font-variant-numeric:tabular-nums; }
.chart-grid { stroke:var(--border); stroke-dasharray:3 5; }
dialog { max-height:88dvh; overflow:auto; }
dialog::backdrop { background:rgb(16 17 18 / .45); backdrop-filter:blur(3px); }
@media print { aside,header,nav,.no-print { display:none!important; } main { overflow:visible!important; } .app-shell { height:auto!important; padding:0!important; } body { background:white; } }
@media (prefers-reduced-motion:reduce) { * { animation:none!important; transition:none!important; } }
.backdrop\:backdrop-blur-sm::backdrop {
 --tw-backdrop-blur:blur(4px);
 backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.hover\:bg-accent:hover {
 background-color:var(--accent);
}
.hover\:bg-accent-strong:hover {
 background-color:var(--accent-strong);
}
.hover\:bg-card:hover {
 background-color:var(--card);
}
.hover\:bg-ink-3:hover {
 background-color:var(--ink-3);
}
.hover\:bg-surface:hover {
 background-color:var(--surface);
}
.hover\:bg-surface-2:hover {
 background-color:var(--surface-2);
}
.hover\:bg-white\/25:hover {
 background-color:rgb(255 255 255 / 0.25);
}
.hover\:text-accent:hover {
 color:var(--accent);
}
.hover\:text-foreground:hover {
 color:var(--foreground);
}
.hover\:text-white:hover {
 --tw-text-opacity:1;
 color:rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.focus-visible\:outline-none:focus-visible {
 outline:2px solid transparent;
 outline-offset:2px;
}
.focus-visible\:ring-2:focus-visible {
 --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
 --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
 box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-accent:focus-visible {
 --tw-ring-color:var(--accent);
}
.active\:scale-\[0\.98\]:active {
 --tw-scale-x:0.98;
 --tw-scale-y:0.98;
 transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.disabled\:pointer-events-none:disabled {
 pointer-events:none;
}
.disabled\:opacity-40:disabled {
 opacity:0.4;
}
.group:hover .group-hover\:text-accent {
 color:var(--accent);
}
@media (min-width: 640px) {
 .sm\:col-span-2 {
  grid-column:span 2 / span 2;
 }
 .sm\:block {
  display:block;
 }
 .sm\:flex {
  display:flex;
 }
 .sm\:grid-cols-2 {
  grid-template-columns:repeat(2, minmax(0, 1fr));
 }
}
@media (min-width: 768px) {
 .md\:block {
  display:block;
 }
 .md\:flex {
  display:flex;
 }
 .md\:grid-cols-2 {
  grid-template-columns:repeat(2, minmax(0, 1fr));
 }
 .md\:grid-cols-3 {
  grid-template-columns:repeat(3, minmax(0, 1fr));
 }
}
@media (min-width: 1024px) {
 .lg\:flex {
  display:flex;
 }
 .lg\:hidden {
  display:none;
 }
 .lg\:grid-cols-2 {
  grid-template-columns:repeat(2, minmax(0, 1fr));
 }
 .lg\:grid-cols-\[1\.6fr_1fr\] {
  grid-template-columns:1.6fr 1fr;
 }
 .lg\:gap-5 {
  gap:1.25rem;
 }
 .lg\:gap-7 {
  gap:1.75rem;
 }
 .lg\:p-4 {
  padding:1rem;
 }
 .lg\:pr-3 {
  padding-right:0.75rem;
 }
}
@media (min-width: 1280px) {
 .xl\:block {
  display:block;
 }
 .xl\:grid-cols-3 {
  grid-template-columns:repeat(3, minmax(0, 1fr));
 }
 .xl\:grid-cols-4 {
  grid-template-columns:repeat(4, minmax(0, 1fr));
 }
 .xl\:grid-cols-\[1\.35fr_1fr\] {
  grid-template-columns:1.35fr 1fr;
 }
 .xl\:grid-cols-\[1\.65fr_1fr_0\.82fr\] {
  grid-template-columns:1.65fr 1fr 0.82fr;
 }
 .xl\:grid-cols-\[1\.6fr_1fr\] {
  grid-template-columns:1.6fr 1fr;
 }
}
.\[\&_svg\]\:size-4 svg {
 width:1rem;
 height:1rem;
}
