/* The design system's tokens and controls (design/ in this repository, at fd92faf): its src/styles/tokens/
   fonts, colors, typography, spacing, radius, shadows, field, select, button, popup, in that order. A copy: what changes is changed there, then here. */
@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@100..900&display=swap');
:root{
--black:#191919;--gray-800:#2f2f2d;--gray-700:#37352f;--gray-500:#787774;--gray-400:#9b9a97;
--gray-300:#c9c8c5;--gray-200:#e9e9e7;--gray-50:#fbfbfa;--gray-100:#f0f0ee;--white:#ffffff;
--red-600:#b3402a;--red-100:#f7e6e2;
--blue-600:#3d6da6;--blue-700:#33608f;--blue-800:#26496e;--blue-100:#e6edf5;
--color-theme:var(--blue-600);
--color-theme-hover:var(--blue-700);
--color-theme-subtle:var(--blue-100);
--color-bg:var(--gray-100);
--color-surface:var(--white);
--color-surface-sunken:var(--gray-100);
--color-field:var(--gray-50);
--color-border:var(--gray-300);
--color-border-strong:var(--gray-300);
--color-text:var(--black);
--color-text-muted:var(--gray-500);
--color-text-subtle:var(--gray-400);
--color-primary:var(--color-theme);
--color-primary-hover:var(--color-theme-hover);
--color-primary-active:var(--color-theme-hover);
--color-on-primary:var(--white);
--color-primary-border:var(--blue-800);
--color-focus-ring:var(--color-theme);
--color-hover:var(--gray-200);
--color-danger:var(--red-600);
--color-danger-bg:var(--red-100);
}
[data-theme="dark"]{
--color-bg:#191919;
--color-surface:#202020;
--color-surface-sunken:#1c1c1c;
--color-field:#262625;
--color-border:#3a3a38;
--color-border-strong:#4d4d4a;
--color-text:#f1f1ef;
--color-text-muted:#9b9a97;
--color-text-subtle:#787774;
--color-theme:#4a7fc1;
--color-theme-hover:#5b8fd0;
--color-theme-subtle:#22303d;
--color-primary:var(--color-theme);
--color-primary-hover:var(--color-theme-hover);
--color-primary-active:#3f6fac;
--color-on-primary:#ffffff;
--color-primary-border:#7ba9e0;
--color-focus-ring:var(--color-theme);
--color-hover:#313130;
--color-danger:#e08d78;
--color-danger-bg:#3a2420;
}
:root{
--font-sans:'Google Sans Flex',ui-sans-serif,system-ui,Arial,sans-serif;
--font-mono:'SF Mono',ui-monospace,Menlo,monospace;
--weight-regular:400;--weight-medium:500;--weight-bold:700;
--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--text-3xl:46px;
--leading-tight:1.15;--leading-normal:1.45;--leading-relaxed:1.6;
--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;
}
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
}
:root{
--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;
}
:root{
--shadow-card:0 1px 2px rgba(26,26,23,0.04),0 2px 8px rgba(26,26,23,0.05);
--shadow-raised:0 4px 16px rgba(26,26,23,0.08);
--focus-ring:0 0 0 1.4px var(--color-focus-ring);
--transition-base:150ms ease;/* @kind other */
}
:root{--ds-caret:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.7071 14.7071C12.3166 15.0976 11.6834 15.0976 11.2929 14.7071L6.29289 9.70711C5.90237 9.31658 5.90237 8.68342 6.29289 8.29289C6.68342 7.90237 7.31658 7.90237 7.70711 8.29289L12 12.5858L16.2929 8.29289C16.6834 7.90237 17.3166 7.90237 17.7071 8.29289C18.0976 8.68342 18.0976 9.31658 17.7071 9.70711L12.7071 14.7071Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat/* @kind other */;--ds-check:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12.5L10 17.5L19 7.5' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat/* @kind other */}
.ds-field{display:flex;flex-direction:column;gap:var(--space-2)}
.ds-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}
.ds-hint{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted)}
.ds-hint--error{color:var(--color-danger)}
.ds-control{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 7px;width:100%;box-sizing:border-box;outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.ds-control:focus-visible{border-color:var(--color-theme);box-shadow:inset 0 0 0 .4px var(--color-theme)}
.ds-control[data-error="true"]{border-color:var(--color-danger)}
input.ds-control{height:32px}
textarea.ds-control{padding:7px;resize:vertical}
.ds-select{appearance:none;-webkit-appearance:none;display:flex;align-items:center;height:32px;line-height:1;margin:4px 0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 30px 0 7px}
.ds-select{appearance:base-select}
.ds-select:has(>.ds-select-trigger){appearance:base-select;padding-right:7px}
.ds-select-trigger>.ds-select-caret{display:none}
.ds-select:open{border-color:var(--color-theme);box-shadow:inset 0 0 0 .4px var(--color-theme)}
.ds-select--bare{width:auto;font-size:14px;background:transparent;border-color:transparent}
.ds-select--bare:open,.ds-select--bare:focus-visible{background:transparent;border-color:transparent;box-shadow:none}
.ds-select::picker-icon{display:none}
.ds-select-wrap{position:relative}
.ds-select-trigger{appearance:none;-webkit-appearance:none;flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:0;padding:0;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}
.ds-select-trigger-label{overflow:hidden;text-overflow:ellipsis}
.ds-select-trigger-label[data-placeholder]{color:var(--color-text-muted)}
.ds-select-caret{width:16px;height:16px;flex-shrink:0;pointer-events:none;background:var(--color-text-muted);transition:transform var(--transition-base);-webkit-mask:var(--ds-caret);mask:var(--ds-caret)}
.ds-select-caret--abs{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
.ds-select:open+.ds-select-caret--abs{transform:translateY(-50%) rotate(180deg)}
.ds-select:open .ds-select-caret{transform:rotate(180deg)}
.ds-select::picker(select){appearance:base-select;position-anchor:auto;box-sizing:border-box;background:var(--color-field);border:1px solid var(--color-theme);box-shadow:inset 0 0 0 .4px var(--color-theme),var(--shadow-raised);border-radius:var(--radius-md);padding:5px;margin:0;position-area:none;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;position-try-order:most-block-size;max-height:320px;overflow-x:hidden;overflow-y:auto;top:calc(anchor(bottom) + 4px);left:anchor(left);width:max-content;min-width:anchor-size(width);max-width:min(90vw,420px);scrollbar-color:var(--color-border-strong) var(--color-hover)}
.ds-select::picker(select)::-webkit-scrollbar,.ds-select::picker(select)::-webkit-scrollbar-track{background:var(--color-hover)}
.ds-select--bare::picker(select){min-width:auto;top:calc(anchor(bottom) + 3px);left:auto;right:anchor(right)}
.ds-select option{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:transparent;padding:5px 7px;line-height:1.3;border-radius:var(--radius-sm);cursor:pointer}
.ds-select--bare option{font-size:14px}
.ds-select option[value=""]{color:var(--color-text-muted)}
.ds-select option:checked{font-weight:var(--weight-medium)}
.ds-select option:hover{background:var(--color-hover)}
.ds-select option::checkmark{grid-column:2;grid-row:1;content:"✓";color:var(--color-text);font-size:13px;line-height:1}
.ds-select option:not(:checked)::checkmark{visibility:hidden}
.ds-select option[data-desc]::after{content:attr(data-desc);grid-column:1;grid-row:2;font-size:12px;color:var(--color-text-muted);line-height:1.35}
.ds-option-body{display:flex;align-items:center;gap:7px}
.ds-option-icon{display:flex;align-items:center;color:var(--color-text-muted)}
.ds-option-icon svg{display:block;width:14px;height:14px}
.ds-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;height:32px;padding:0 16px;box-sizing:border-box;font-family:var(--font-sans);font-size:14px;font-weight:var(--weight-medium);border:1px solid transparent;border-radius:var(--radius-md);outline:none;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}
.ds-btn--sm{height:26px;padding:0 12px;font-size:var(--text-sm)}
.ds-btn--lg{height:40px;padding:0 22px}
.ds-btn:active:not(:disabled){transform:scale(.98)}
.ds-btn:disabled{opacity:.45;cursor:not-allowed}
.ds-btn:focus-visible{box-shadow:inset 0 0 0 .4px var(--color-theme);border-color:var(--color-theme)}
.ds-btn--primary{background:var(--color-primary);border-color:var(--color-primary-border);color:var(--color-on-primary);box-shadow:inset 0 0 0 .4px var(--color-primary-border),inset 0 1px 0 rgba(255,255,255,.16)}
.ds-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-border)}
.ds-btn--primary:focus-visible{border-color:var(--color-primary-border);outline:1.4px solid var(--color-theme);outline-offset:2px}
.ds-btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}
.ds-btn--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}
.ds-btn--ghost{background:transparent;color:var(--color-text);padding:0;height:auto}
.ds-btn--ghost:hover:not(:disabled){background:transparent;color:var(--color-theme)}
.ds-popup{box-sizing:border-box;width:min(calc(100vw - 32px),460px);max-height:calc(100vh - 64px);padding:0;margin:auto;border:1px solid var(--color-theme);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);box-shadow:inset 0 0 0 .4px var(--color-theme);overflow:hidden;opacity:0;transform:translateY(4px) scale(.99);transition:opacity var(--transition-base),transform var(--transition-base),overlay var(--transition-base) allow-discrete,display var(--transition-base) allow-discrete}
.ds-popup[open]{opacity:1;transform:none}
@starting-style{.ds-popup[open]{opacity:0;transform:translateY(4px) scale(.99)}}
.ds-popup--sm{width:min(calc(100vw - 32px),340px)}
.ds-popup--md{width:min(calc(100vw - 32px),460px)}
.ds-popup--lg{width:min(calc(100vw - 32px),640px)}
.ds-popup::backdrop{background:rgba(25,25,25,.28);opacity:0;transition:opacity var(--transition-base),overlay var(--transition-base) allow-discrete,display var(--transition-base) allow-discrete}
.ds-popup[open]::backdrop{opacity:1}
@starting-style{.ds-popup[open]::backdrop{opacity:0}}
.ds-popup-inner{display:flex;flex-direction:column;max-height:calc(100vh - 64px)}
.ds-popup-head{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 20px;border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken)}
.ds-popup-title{flex:1;min-width:0;margin:0;font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}
.ds-popup-desc{margin:0;padding:16px 20px 0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);text-wrap:pretty}
.ds-popup-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;margin:0 -6px 0 0;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}
.ds-popup-close:hover{background:var(--color-hover);color:var(--color-text)}
.ds-popup-close:focus-visible{outline:none;border-color:var(--color-theme);box-shadow:inset 0 0 0 .4px var(--color-theme)}
.ds-popup-close svg{display:block;width:15px;height:15px}
.ds-popup-body{padding:16px 20px 20px;font-size:var(--text-sm);line-height:var(--leading-normal);overflow-y:auto;text-wrap:pretty}
.ds-popup-body:empty{display:none}
.ds-popup-desc:has(+ .ds-popup-body:empty){padding-bottom:20px}
.ds-popup-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--color-border);background:var(--color-surface-sunken)}
.ds-popup-foot--start{justify-content:flex-start}
.ds-popup-foot--between{justify-content:space-between}
