/* GENERATED by scripts/build-tokens.mjs from design/tokens and design/controls. Do not edit this file; edit the sources and run npm run build:tokens. */
@font-face{font-family:Geist;src:url('/assets/fonts/Geist-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url('/assets/fonts/Geist-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Geist;src:url('/assets/fonts/Geist-SemiBold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{
  color-scheme:light;
  --lil-neutral-ink:#202124;
  --lil-neutral-surface:#ffffff;
  --lil-neutral-canvas:#fafaf8;
  --lil-neutral-subtle:#f2f3f4;
  --lil-neutral-border:#d8dadd;
  --lil-neutral-muted:#545b65;
  --lil-neutral-chrome:#e9ebef;
  --lil-neutral-success:#007b55;
  --ll-primitive-color-purple:#4d22ca;
  --labr-one-on-one-surface:#f4f2fc;
  --labr-one-on-one-border:#dfd7f5;
  --google-border:#747775;
  --google-ink:#1f1f1f;
  --ll-space-0:0px;
  --ll-space-4:4px;
  --ll-space-8:8px;
  --ll-space-12:12px;
  --ll-space-16:16px;
  --ll-space-20:20px;
  --ll-space-24:24px;
  --ll-space-32:32px;
  --ll-radius-8:8px;
  --ll-radius-12:12px;
  --ll-radius-2:2px;
  --ll-radius-4:4px;
  --ll-stroke-1:1px;
  --ll-size-control:44px;
  --ll-size-control-lg:48px;
  --ll-size-control-md:32px;
  --ll-size-control-sm:28px;
  --ll-size-control-xs:24px;
  --ll-size-progress-bar:4px;
  --ll-size-icon-action:40px;
  --ll-size-star:56px;
  --ll-font-sans:Geist,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --ll-font-google:'Google Sans Flex','Google Sans',Roboto,system-ui,sans-serif;
  --ll-type-hero:600 32px/40px var(--ll-font-sans);
  --ll-tracking-hero:-0.64px;
  --ll-type-title:600 28px/36px var(--ll-font-sans);
  --ll-type-heading:600 20px/28px var(--ll-font-sans);
  --ll-type-wordmark:600 20px/28px var(--ll-font-sans);
  --ll-type-section:600 16px/24px var(--ll-font-sans);
  --ll-type-onboarding-body:400 16px/24px var(--ll-font-sans);
  --ll-type-body:400 14px/22px var(--ll-font-sans);
  --ll-type-label:500 14px/20px var(--ll-font-sans);
  --ll-type-small-label:500 12px/18px var(--ll-font-sans);
  --ll-type-caption:400 12px/18px var(--ll-font-sans);
  --ll-type-google:500 14px/20px var(--ll-font-google);
  --lil-ink-hover:#34373b;
  --lil-ink-pressed:#0f1012;
  --lil-hover-fill:var(--lil-neutral-subtle);
  --lil-pressed-fill:var(--lil-neutral-chrome);
  --lil-hover-fill-strong:var(--lil-neutral-chrome);
  --lil-pressed-fill-strong:var(--lil-neutral-border);
  --ll-primitive-color-purple-hover:#441eb2;
  --ll-primitive-color-purple-pressed:#3b1a9a;
  --lil-input-border:var(--lil-neutral-muted);
  --lil-input-focus-border:var(--ll-primitive-color-purple);
  --lil-focus-ring:2px solid var(--lil-neutral-ink);
  --lil-focus-offset:2px;
  --google-hover-layer:rgba(48, 48, 48, 0.08);
  --google-pressed-layer:rgba(48, 48, 48, 0.12);
  --google-disabled-opacity:0.42;
  --lil-disabled-icon-opacity:0.4;
  --lil-locked-opacity:0.55;
  --lil-tooltip-fill:var(--lil-neutral-ink);
  --lil-tooltip-ink:var(--lil-neutral-surface);
  --ll-motion-quick:120ms;
}
/* controls/00-base.css */
[class^="ll-"], [class*=" ll-"] { box-sizing: border-box; }
.ll-sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.ll-type-hero { font: var(--ll-type-hero); letter-spacing: var(--ll-tracking-hero); }
.ll-type-title { font: var(--ll-type-title); }
.ll-type-heading { font: var(--ll-type-heading); }
.ll-type-section { font: var(--ll-type-section); }
.ll-type-onboarding-body { font: var(--ll-type-onboarding-body); }
.ll-type-body { font: var(--ll-type-body); }
.ll-type-label { font: var(--ll-type-label); }
.ll-type-small-label { font: var(--ll-type-small-label); }
.ll-type-caption { font: var(--ll-type-caption); }
.ll-muted { color: var(--lil-neutral-muted); }
.ll-caption { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); }
.ll-divider { height: 0; margin: 0; border: 0; border-top: var(--ll-stroke-1) solid var(--lil-neutral-border); }
.ll-icon { display: block; flex: none; width: 20px; height: 20px; object-fit: contain; }
.ll-icon--14 { width: 14px; height: 14px; }
.ll-icon--16 { width: 16px; height: 16px; }
.ll-icon--18 { width: 18px; height: 18px; }
.ll-icon--24 { width: 24px; height: 24px; }
.ll-spinner {
  display: inline-block; flex: none; width: 16px; height: 16px;
  border: 2px solid var(--lil-neutral-border); border-top-color: currentColor; border-radius: 50%;
}
@supports (color: color-mix(in srgb, red, blue)) {
  .ll-spinner { border-color: color-mix(in srgb, currentColor 25%, transparent); border-top-color: currentColor; }
}
@keyframes ll-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) {
  .ll-spinner { animation: ll-spin .8s linear infinite; }
}
/* controls/10-buttons.css */
.ll-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ll-space-8);
  height: var(--ll-size-control); min-width: 0; margin: 0; padding: 0 var(--ll-space-12);
  border: var(--ll-stroke-1) solid transparent; border-radius: var(--ll-radius-8);
  background: transparent; color: var(--lil-neutral-ink);
  font: var(--ll-type-label); letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap;
  cursor: pointer; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: background-color var(--ll-motion-quick), border-color var(--ll-motion-quick);
}
.ll-btn[aria-busy="true"] { cursor: progress; }
.ll-btn--primary { background: var(--lil-neutral-ink); color: var(--lil-neutral-surface); }
.ll-btn--primary:hover { background: var(--lil-ink-hover); }
.ll-btn--primary:active { background: var(--lil-ink-pressed); }
.ll-btn--secondary { border-color: var(--lil-neutral-border); background: var(--lil-neutral-surface); color: var(--lil-neutral-ink); }
.ll-btn--secondary:hover { background: var(--lil-hover-fill); }
.ll-btn--secondary:active { background: var(--lil-pressed-fill); }
.ll-btn--quiet { background: transparent; color: var(--lil-neutral-ink); }
.ll-btn--quiet:hover { background: var(--lil-hover-fill); }
.ll-btn--quiet:active { background: var(--lil-pressed-fill); }
.ll-btn--promo { background: var(--ll-primitive-color-purple); color: var(--lil-neutral-surface); }
.ll-btn--promo:hover { background: var(--ll-primitive-color-purple-hover); }
.ll-btn--promo:active { background: var(--ll-primitive-color-purple-pressed); }
.ll-btn--google {
  gap: var(--ll-space-12); border-color: var(--google-border); background: var(--lil-neutral-surface); color: var(--google-ink);
  font-family: var(--ll-font-google); font-variation-settings: 'GRAD' 0, 'ROND' 0, 'wdth' 100;
}
.ll-btn--google:hover { background-image: linear-gradient(var(--google-hover-layer), var(--google-hover-layer)); }
.ll-btn--google:active { background-image: linear-gradient(var(--google-pressed-layer), var(--google-pressed-layer)); }
.ll-btn--lg { height: var(--ll-size-control-lg); }
.ll-btn--md { height: var(--ll-size-control-md); }
.ll-btn--sm { height: var(--ll-size-control-sm); min-width: 56px; padding: 0 var(--ll-space-8); font: var(--ll-type-small-label); }
.ll-btn--setup { height: var(--ll-size-control-md); min-width: 80px; padding: 0 var(--ll-space-8); font: var(--ll-type-small-label); }
.ll-btn--step { min-width: 72px; }
.ll-btn--block { display: flex; width: 100%; }
.ll-btn--disabled, .ll-btn--disabled:hover, .ll-btn--disabled:active, .ll-btn:disabled, .ll-btn[aria-disabled="true"] {
  border-color: transparent; background: var(--lil-neutral-subtle); background-image: none; color: var(--lil-neutral-muted); cursor: default;
}
.ll-btn--google:disabled, .ll-btn--google[aria-disabled="true"] {
  border-color: var(--google-border); background: var(--lil-neutral-surface); color: var(--google-ink); opacity: var(--google-disabled-opacity);
}
.ll-link {
  display: inline-flex; align-items: center; min-height: var(--ll-size-control-sm); margin: 0; padding: 0;
  border: 0; border-radius: var(--ll-radius-8); background: none; color: var(--lil-neutral-muted);
  font: var(--ll-type-label); letter-spacing: 0; text-decoration: none; white-space: nowrap; cursor: pointer; appearance: none; -webkit-appearance: none;
}
.ll-link:hover { color: var(--lil-neutral-ink); text-decoration: underline; }
.ll-link:active { color: var(--lil-neutral-ink); }
.ll-link:disabled, .ll-link[aria-disabled="true"] { text-decoration: none; cursor: default; opacity: var(--lil-locked-opacity); }
/* controls/20-iconbtn.css */
.ll-iconbtn {
  display: inline-flex; align-items: center; justify-content: center; flex: none; position: relative;
  width: var(--ll-size-control-md); height: var(--ll-size-control-md); margin: 0; padding: 0;
  border: var(--ll-stroke-1) solid transparent; border-radius: var(--ll-radius-8);
  background: transparent; color: var(--lil-neutral-ink); cursor: pointer; appearance: none; -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: background-color var(--ll-motion-quick), border-color var(--ll-motion-quick);
}
.ll-iconbtn > .ll-icon, .ll-iconbtn > img, .ll-iconbtn > svg { display: block; flex: none; width: 14px; height: 14px; }
.ll-iconbtn:hover { background: var(--lil-hover-fill); }
.ll-iconbtn:active { background: var(--lil-pressed-fill); }
.ll-iconbtn--action {
  width: var(--ll-size-icon-action); height: var(--ll-size-icon-action);
  border-color: var(--lil-neutral-border); background: var(--lil-neutral-surface);
}
.ll-iconbtn--action > .ll-icon, .ll-iconbtn--action > img, .ll-iconbtn--action > svg { width: 18px; height: 18px; }
.ll-iconbtn--subtle { width: var(--ll-size-icon-action); height: var(--ll-size-icon-action); border-color: transparent; background: var(--lil-neutral-subtle); }
.ll-iconbtn--subtle > .ll-icon, .ll-iconbtn--subtle > img, .ll-iconbtn--subtle > svg { width: 18px; height: 18px; }
.ll-iconbtn--subtle:hover { background: var(--lil-hover-fill-strong); }
.ll-iconbtn--subtle:active { background: var(--lil-pressed-fill-strong); }
.ll-iconbtn:disabled, .ll-iconbtn[aria-disabled="true"] { background: transparent; cursor: default; }
.ll-iconbtn--action:disabled, .ll-iconbtn--action[aria-disabled="true"],
.ll-iconbtn--subtle:disabled, .ll-iconbtn--subtle[aria-disabled="true"] { border-color: transparent; background: var(--lil-neutral-subtle); }
.ll-iconbtn:disabled > .ll-icon, .ll-iconbtn:disabled > img, .ll-iconbtn:disabled > svg,
.ll-iconbtn[aria-disabled="true"] > .ll-icon, .ll-iconbtn[aria-disabled="true"] > img, .ll-iconbtn[aria-disabled="true"] > svg { opacity: var(--lil-disabled-icon-opacity); }
.ll-iconbtn[data-tip]::after {
  content: attr(data-tip); position: absolute; z-index: 2; top: calc(100% + var(--ll-space-8)); left: 50%; transform: translateX(-50%);
  padding: var(--ll-space-4) var(--ll-space-8); border-radius: var(--ll-radius-8); background: var(--lil-tooltip-fill); color: var(--lil-tooltip-ink);
  font: var(--ll-type-small-label); letter-spacing: 0; white-space: nowrap; pointer-events: none; visibility: hidden; opacity: 0;
}
.ll-iconbtn[data-tip][data-tip-align="end"]::after { left: auto; right: 0; transform: none; }
.ll-iconbtn[data-tip][data-tip-align="start"]::after { left: 0; transform: none; }
.ll-iconbtn[data-tip][data-tip-side="top"]::after { top: auto; bottom: calc(100% + var(--ll-space-8)); }
.ll-iconbtn[data-tip]:hover::after, .ll-iconbtn[data-tip]:focus-visible::after { visibility: visible; opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .ll-iconbtn[data-tip]::after { transition: opacity var(--ll-motion-quick); }
}
/* controls/30-inputs.css */
.ll-field { display: flex; flex-direction: column; gap: var(--ll-space-8); min-width: 0; margin: 0; padding: 0; border: 0; }
.ll-field__label { margin: 0; color: var(--lil-neutral-ink); font: var(--ll-type-label); }
.ll-field__help { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); }
.ll-field__help--error { color: var(--lil-neutral-ink); font-weight: 500; }
.ll-input, .ll-reason__input {
  display: flex; align-items: center; gap: var(--ll-space-12); width: 100%; height: var(--ll-size-control-lg); margin: 0; padding: var(--ll-space-12);
  border: var(--ll-stroke-1) solid var(--lil-input-border); border-radius: var(--ll-radius-8);
  background: var(--lil-neutral-surface); color: var(--lil-neutral-ink); font: var(--ll-type-body); letter-spacing: 0;
  outline: 0; appearance: none; -webkit-appearance: none;
  transition: border-color var(--ll-motion-quick);
}
.ll-input::placeholder, .ll-input__control::placeholder, .ll-reason__input::placeholder { color: var(--lil-neutral-muted); opacity: 1; }
.ll-input:focus-within, .ll-reason__input:focus { border-color: var(--lil-input-focus-border); outline: 2px solid transparent; outline-offset: 0; }
.ll-input:disabled, .ll-input[aria-disabled="true"], .ll-input:has(.ll-input__control:disabled), .ll-reason__input:disabled {
  border-color: var(--lil-neutral-border); background: var(--lil-neutral-subtle); color: var(--lil-neutral-muted); cursor: default;
}
.ll-input__control {
  flex: 1 1 auto; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; outline: 0; background: transparent;
  color: inherit; font: inherit; letter-spacing: inherit; appearance: none; -webkit-appearance: none;
}
.ll-input__action {
  flex: none; min-height: var(--ll-size-control-sm); margin: 0; padding: 0 var(--ll-space-8); border: 0; border-radius: var(--ll-radius-8);
  background: none; color: var(--lil-neutral-ink); font: var(--ll-type-small-label); letter-spacing: 0; cursor: pointer; appearance: none; -webkit-appearance: none;
}
.ll-input__action:hover { background: var(--lil-hover-fill); }
.ll-input__action:active { background: var(--lil-pressed-fill); }
.ll-input__action:disabled { cursor: default; opacity: var(--lil-locked-opacity); background: none; }
.ll-reason { display: flex; flex-direction: column; gap: var(--ll-space-8); margin: 0; padding: 0; border: 0; }
.ll-reason__label { margin: 0; color: var(--lil-neutral-ink); font: var(--ll-type-label); }
.ll-reason__input, .ll-input--textarea { display: block; height: 88px; resize: none; overflow: auto; }
/* controls/40-switch.css */
.ll-switch-pill {
  display: inline-flex; align-items: center; justify-content: center; flex: none; width: 64px; height: var(--ll-size-control-md); margin: 0; padding: 0;
  border: var(--ll-stroke-1) solid var(--lil-neutral-border); border-radius: var(--ll-radius-8);
  background: var(--lil-neutral-surface); color: var(--lil-neutral-ink); font: var(--ll-type-label); letter-spacing: 0;
  cursor: pointer; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent;
  transition: background-color var(--ll-motion-quick);
}
input.ll-switch-pill::after { content: var(--ll-switch-off-label, "Off"); }
input.ll-switch-pill:checked::after { content: var(--ll-switch-on-label, "On"); }
.ll-switch-pill:hover { background: var(--lil-hover-fill); }
.ll-switch-pill:active { background: var(--lil-pressed-fill); }
.ll-switch-pill:disabled, .ll-switch-pill[aria-disabled="true"] { border-color: transparent; background: var(--lil-neutral-subtle); color: var(--lil-neutral-muted); cursor: default; }
/* controls/50-tabs.css */
.ll-tabs { display: flex; align-items: flex-start; gap: var(--ll-space-24); height: var(--ll-size-control-md); margin: 0; padding: 0; }
.ll-tab {
  position: relative; display: inline-flex; align-items: flex-start; flex: none; height: var(--ll-size-control-md); margin: 0; padding: 0;
  border: 0; border-radius: var(--ll-radius-8); background: none; color: var(--lil-neutral-muted);
  font: var(--ll-type-label); letter-spacing: 0; text-decoration: none; white-space: nowrap; cursor: pointer; appearance: none; -webkit-appearance: none;
}
.ll-tab:hover { color: var(--lil-neutral-ink); }
.ll-tab[aria-selected="true"], .ll-tab[aria-current]:not([aria-current="false"]) { min-width: 64px; color: var(--lil-neutral-ink); }
.ll-tab[aria-selected="true"]::after, .ll-tab[aria-current]:not([aria-current="false"])::after {
  content: ""; position: absolute; left: 0; right: 0; top: 27px; height: var(--ll-stroke-1); background: var(--lil-neutral-ink);
}
.ll-tab[aria-disabled="true"] { opacity: var(--lil-locked-opacity); pointer-events: none; }
.ll-segtabs {
  display: flex; align-items: center; gap: var(--ll-space-4); height: 40px; margin: 0; padding: var(--ll-space-4);
  border-radius: var(--ll-radius-8); background: var(--lil-neutral-subtle);
}
.ll-segtab {
  display: inline-flex; align-items: center; justify-content: center; flex: 1 1 auto; height: var(--ll-size-control-md); margin: 0; padding: 0 var(--ll-space-12);
  border: 0; border-radius: var(--ll-radius-8); background: transparent; color: var(--lil-neutral-muted);
  font: var(--ll-type-small-label); letter-spacing: 0; white-space: nowrap; cursor: pointer; appearance: none; -webkit-appearance: none;
  transition: background-color var(--ll-motion-quick), color var(--ll-motion-quick);
}
.ll-segtab:hover { background: var(--lil-hover-fill-strong); color: var(--lil-neutral-ink); }
.ll-segtab[aria-selected="true"], .ll-segtab[aria-current]:not([aria-current="false"]),
.ll-segtab[aria-selected="true"]:hover, .ll-segtab[aria-current]:not([aria-current="false"]):hover { background: var(--lil-neutral-ink); color: var(--lil-neutral-surface); }
.ll-segtab[aria-disabled="true"] { opacity: var(--lil-locked-opacity); pointer-events: none; }
/* controls/60-progress.css */
.ll-progress { display: flex; flex-direction: column; gap: var(--ll-space-12); width: 100%; margin: 0; padding: 0; }
.ll-progress__caption { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); text-align: center; }
.ll-progress__bar { display: flex; gap: var(--ll-space-4); width: 100%; }
.ll-progress-segment { flex: 1 1 0; min-width: 0; height: var(--ll-size-progress-bar); border-radius: var(--ll-radius-2); background: var(--lil-neutral-border); }
.ll-progress-segment--done { background: var(--ll-primitive-color-purple); }
.ll-progressbar { position: relative; width: 100%; height: var(--ll-size-progress-bar); overflow: hidden; border-radius: var(--ll-radius-8); background: var(--lil-neutral-border); }
.ll-progressbar__fill { display: block; width: var(--ll-progress-value, 0%); height: 100%; border-radius: var(--ll-radius-8); background: var(--lil-neutral-ink); }
.ll-progressbar--indeterminate .ll-progressbar__fill { width: 40%; }
@keyframes ll-indeterminate { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
@media (prefers-reduced-motion: no-preference) {
  .ll-progressbar--indeterminate .ll-progressbar__fill { animation: ll-indeterminate 1.4s ease-in-out infinite; }
  .ll-progressbar__fill { transition: width var(--ll-motion-quick); }
}
/* controls/70-rating.css */
.ll-rating { display: flex; flex-direction: column; gap: var(--ll-space-12); width: 100%; margin: 0; padding: 0; border: 0; }
.ll-rating__caption { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); text-align: center; }
.ll-stars { display: flex; align-items: center; justify-content: center; gap: var(--ll-space-12); margin: 0; padding: 0; }
.ll-star {
  display: inline-flex; align-items: center; justify-content: center; flex: none; width: var(--ll-size-star); height: var(--ll-size-star); margin: 0; padding: 0;
  border: var(--ll-stroke-1) solid transparent; border-radius: var(--ll-radius-8); background: transparent; cursor: pointer;
  appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent;
  transition: background-color var(--ll-motion-quick), border-color var(--ll-motion-quick);
}
.ll-star:hover { border-color: var(--lil-neutral-border); }
.ll-star--on { background: var(--lil-neutral-subtle); }
.ll-star--on:hover { border-color: transparent; background: var(--lil-hover-fill-strong); }
.ll-star__icon {
  display: block; flex: none; width: 32px; height: 32px;
  background: center / 32px 32px no-repeat url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M16%204.66667L19.5333%2011.8267L27.44%2012.9733L21.72%2018.5467L23.0667%2026.4267L16%2022.7067L8.93333%2026.4267L10.28%2018.5467L4.56%2012.9733L12.4667%2011.8267L16%204.66667Z%22%20stroke%3D%22%23545b65%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}
.ll-star--on .ll-star__icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M16%204.66667L19.5333%2011.8267L27.44%2012.9733L21.72%2018.5467L23.0667%2026.4267L16%2022.7067L8.93333%2026.4267L10.28%2018.5467L4.56%2012.9733L12.4667%2011.8267L16%204.66667Z%22%20fill%3D%22%234d22ca%22%20stroke%3D%22%234d22ca%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }
svg.ll-star__icon { background: none; }
svg.ll-star__icon path { fill: none; stroke: var(--lil-neutral-muted); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ll-star--on svg.ll-star__icon path { fill: var(--ll-primitive-color-purple); stroke: var(--ll-primitive-color-purple); }
/* controls/80-surfaces.css */
.ll-wordmark {
  display: inline-flex; align-items: center; gap: 10px; height: var(--ll-size-control-md); margin: 0; color: var(--lil-neutral-ink);
  font: var(--ll-type-wordmark); letter-spacing: 0; text-decoration: none; white-space: nowrap;
}
.ll-wordmark__mark { display: block; flex: none; width: 28px; height: 28px; }
.ll-wordmark--compact { gap: var(--ll-space-8); font: var(--ll-type-section); }
.ll-wordmark--compact .ll-wordmark__mark { width: 20px; height: 20px; }
.ll-integration-row { display: flex; align-items: center; gap: var(--ll-space-12); min-height: 48px; margin: 0; padding: 0; background: none; border: 0; color: var(--lil-neutral-ink); }
.ll-integration-row__logo { display: block; flex: none; width: 20px; height: 20px; object-fit: contain; }
.ll-integration-row__name { flex: 1 1 auto; min-width: 0; margin: 0; font: var(--ll-type-label); overflow-wrap: anywhere; }
.ll-integration-row__state { flex: none; margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); }
.ll-integration-row__lock { display: block; flex: none; width: 14px; height: 14px; }
.ll-card {
  display: flex; align-items: center; gap: var(--ll-space-12); margin: 0; padding: calc(var(--ll-space-12) - var(--ll-stroke-1));
  border: var(--ll-stroke-1) solid var(--lil-neutral-border); border-radius: var(--ll-radius-8); background: var(--lil-neutral-surface); color: var(--lil-neutral-ink);
}
.ll-card--lg { padding: calc(var(--ll-space-16) - var(--ll-stroke-1)); border-radius: var(--ll-radius-12); }
.ll-card--tray { padding: var(--ll-space-16); border-width: 0; border-radius: var(--ll-radius-12); background: var(--lil-neutral-subtle); }
.ll-card__title { margin: 0; font: var(--ll-type-label); overflow-wrap: anywhere; }
.ll-card__meta { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); overflow-wrap: anywhere; }
.ll-thumb { display: block; flex: none; width: 64px; height: 50px; border-radius: var(--ll-radius-8); background: var(--lil-neutral-subtle); object-fit: cover; }
.ll-status { display: flex; flex-direction: column; gap: var(--ll-space-8); margin: 0; padding: var(--ll-space-12); border-radius: var(--ll-radius-12); background: var(--lil-neutral-subtle); color: var(--lil-neutral-ink); }
.ll-status--lg { padding: var(--ll-space-16); }
.ll-status__title { display: flex; align-items: center; gap: var(--ll-space-8); margin: 0; font: var(--ll-type-label); overflow-wrap: anywhere; }
.ll-status__body { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-caption); overflow-wrap: anywhere; }
.ll-status--success .ll-status__title { color: var(--lil-neutral-success); }
.ll-status--warning .ll-status__title { color: var(--lil-neutral-ink); }
.ll-status--line { flex-direction: row; align-items: center; gap: var(--ll-space-12); min-height: var(--ll-size-control); border-radius: var(--ll-radius-8); font: var(--ll-type-label); }
.ll-status--inline { flex-direction: row; align-items: center; gap: 6px; padding: 0; border-radius: 0; background: none; font: var(--ll-type-small-label); }
.ll-status--inline.ll-status--success { color: var(--lil-neutral-success); }
.ll-banner {
  display: flex; align-items: center; gap: var(--ll-space-12); margin: 0; padding: calc(var(--ll-space-12) - var(--ll-stroke-1));
  border: var(--ll-stroke-1) solid var(--labr-one-on-one-border); border-radius: var(--ll-radius-12); background: var(--labr-one-on-one-surface); color: var(--lil-neutral-ink);
}
.ll-banner__avatar { display: block; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--lil-neutral-subtle); object-fit: cover; }
.ll-banner__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: var(--ll-space-8); min-width: 0; }
.ll-banner__eyebrow { margin: 0; color: var(--lil-neutral-muted); font: var(--ll-type-small-label); }
.ll-banner__title { margin: 0; font: var(--ll-type-label); }
.ll-banner__accent { color: var(--ll-primitive-color-purple); }
.ll-banner--wide { gap: var(--ll-space-20); padding: calc(var(--ll-space-20) - var(--ll-stroke-1)); }
.ll-banner--wide .ll-banner__avatar { width: 88px; height: 88px; }
.ll-banner--wide .ll-banner__body { align-items: flex-start; gap: var(--ll-space-8); }
.ll-banner--wide .ll-banner__title { font: var(--ll-type-heading); }
.ll-banner--wide .ll-btn { width: 260px; max-width: 100%; }
@media (max-width: 480px) {
  .ll-banner--wide { flex-direction: column; align-items: flex-start; }
}
/* controls/90-a11y.css */
.ll-btn:focus-visible, .ll-link:focus-visible, .ll-iconbtn:focus-visible, .ll-tab:focus-visible, .ll-segtab:focus-visible,
.ll-star:focus-visible, .ll-switch-pill:focus-visible, .ll-input__action:focus-visible, .ll-card:focus-visible,
.ll-wordmark:focus-visible, .ll-integration-row:focus-visible, .ll-banner__body a:focus-visible {
  outline: var(--lil-focus-ring); outline-offset: var(--lil-focus-offset);
}
.ll-input__control:focus, .ll-input__control:focus-visible { outline: 0; }
[class^="ll-"][hidden], [class*=" ll-"][hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
  .ll-btn, .ll-iconbtn, .ll-input, .ll-reason__input, .ll-switch-pill, .ll-segtab, .ll-star, .ll-progressbar__fill { transition: none; }
}
@media (forced-colors: active) {
  .ll-btn, .ll-iconbtn--action, .ll-switch-pill { border-color: ButtonText; }
  .ll-btn--disabled, .ll-btn:disabled, .ll-btn[aria-disabled="true"], .ll-switch-pill:disabled, .ll-iconbtn--action:disabled { border-color: GrayText; color: GrayText; }
  .ll-btn--google { border-color: ButtonText; }
  .ll-input, .ll-reason__input { border-color: FieldText; }
  .ll-input:focus-within, .ll-reason__input:focus { outline-color: Highlight; }
  .ll-tab[aria-selected="true"]::after, .ll-tab[aria-current]:not([aria-current="false"])::after { background: Highlight; }
  .ll-segtab { border: var(--ll-stroke-1) solid transparent; }
  .ll-segtab[aria-selected="true"], .ll-segtab[aria-current]:not([aria-current="false"]) { border-color: Highlight; }
  .ll-star--on { border-color: Highlight; }
  .ll-progress-segment { background: GrayText; }
  .ll-progress-segment--done { background: Highlight; }
  .ll-progressbar { border: var(--ll-stroke-1) solid ButtonText; }
  .ll-progressbar__fill { background: Highlight; }
  .ll-card, .ll-banner { border-color: CanvasText; }
  .ll-status { border: var(--ll-stroke-1) solid CanvasText; }
  .ll-iconbtn[data-tip]::after { border: var(--ll-stroke-1) solid CanvasText; background: Canvas; color: CanvasText; }
  .ll-btn:focus-visible, .ll-link:focus-visible, .ll-iconbtn:focus-visible, .ll-tab:focus-visible, .ll-segtab:focus-visible,
  .ll-star:focus-visible, .ll-switch-pill:focus-visible { outline-color: Highlight; }
}
