{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "tokens",
  "files": [
    {
      "path": "registry/tokens.css",
      "content": "/* ---------------------------------------------------------------\n * Patch UI design tokens.\n *\n * Source of truth: packages/react/DESIGN.md.\n *\n * Token names remain stable so existing component callsites\n * (bg-layer-1, border-hairline, text-ink-muted) keep working while\n * the surface hierarchy moves to a quieter job-board vocabulary.\n *\n * The system is a simple, approachable product language:\n *   - `--base` is the application canvas, `--layer-1` is the primary\n *     content surface, and `--layer-2` is grouped or selected content.\n *   - `--fill-*` is neutral control and metadata chrome. `--fill-1`\n *     intentionally shares a rung with `--layer-2`.\n *   - Alpha borders (Radix grayA 6/7/8) so hairlines stay uniform\n *     in perceived weight when nested on multiple surface rungs.\n *   - A monochrome primary (consumers override --primary to inject brand).\n *   - Semantic status roles at fixed hex, theme-invariant.\n *   - Two type families: Inter Variable (all weights) and JetBrains Mono\n *     for code. Size and weight are separate axes: eight size tokens\n *     (micro/mini/small/regular/large/title3/title2/title1) composed at\n *     the call site with five weight tokens (light/normal/medium/\n *     semibold/bold). Line-height comes from element defaults.\n *   - Motion is fast: 75ms state, 150ms overlay, one easing curve.\n *\n * Layers:\n *   1. Raw runtime custom properties on :root / .dark.\n *   2. @theme inline bridge into Tailwind v4 utilities.\n *   3. @layer base global element typography defaults.\n *   4. @layer base thin-scrollbar defaults.\n * --------------------------------------------------------------- */\n\n/* ---------------------------------------------------------------\n * Layer 1: Runtime theme values (light mode reference).\n * --------------------------------------------------------------- */\n:root {\n  /* Quiet canvas, clear content surface, and one grouped-content rung. */\n  --base:      #f5f5f5;\n  --layer-1:   #ffffff;\n  --layer-2:   #f0f0f0;\n\n  /* Neutral controls and metadata step once on interaction. */\n  --fill-1:    #f0f0f0;\n  --fill-2:    #e8e8e8;\n\n  /* Adaptive interaction-state overlay. rgba so it darkens any\n     surface underneath uniformly. Radix grayA 3. */\n  --layer-hover: rgba(0, 0, 0, 0.059);\n\n  /* Hairlines are now alpha, not solid. A border on a nested card\n     reads the same perceived weight as one on the base; solid borders\n     compound when they land on darker surfaces. Radix grayA 3 / 6 / 7 / 8.\n     `--hairline-soft` (grayA 3) is Wellfound-weight card chrome -- a\n     whisper edge, ~6% alpha; use for Card, elevated surfaces where the\n     border should be present but recede. `--hairline` (grayA 6) is the\n     standard input/menu/divider weight. */\n  --hairline-soft:      rgba(0, 0, 0, 0.059);  /* grayA 3 */\n  --hairline:           rgba(0, 0, 0, 0.149);  /* grayA 6 */\n  --hairline-strong:    rgba(0, 0, 0, 0.192);  /* grayA 7 */\n  --hairline-tertiary:  rgba(0, 0, 0, 0.267);  /* grayA 8 */\n\n  /* Ink (text) tiers. Radix gray 12 / 11 carry published APCA Lc90 /\n     Lc60 contrast on gray 2 (surface). subtle collapses onto the\n     same rung as tertiary in the preview (both gray 10); the token\n     name stays alive so callsites keep resolving, but they render\n     identically. */\n  --ink:           #202020;  /* gray 12 */\n  --ink-muted:     #646464;  /* gray 11 */\n  --ink-subtle:    #838383;  /* gray 10, same rung as tertiary (preview) */\n  --ink-tertiary:  #838383;  /* gray 10 */\n\n  /* Primary (monochrome). No chromatic brand hue ships. Consumers\n     redefine these four tokens in a downstream layer to inject brand;\n     every Button and focus-adjacent primitive inherits for free. */\n  --primary:         var(--ink);\n  --on-primary:      var(--base);\n  --primary-soft:    color-mix(in srgb, var(--primary) 14%, var(--layer-1));\n  --primary-soft-hover: color-mix(in srgb, var(--primary) 19%, var(--layer-1));\n  --primary-soft-active: color-mix(in srgb, var(--primary) 24%, var(--layer-1));\n  --on-primary-soft: var(--primary);\n  /* Hover / active are proportional shifts off --primary via color-mix\n     so a consumer's brand override on --primary automatically produces\n     matching hover/active steps. Mixing with --base gives a \"subtle\n     move toward the background\" that works in both themes: in light\n     mode it lightens the dark primary, in dark mode it darkens the\n     near-white primary. Avoids ink-muted/subtle which are much lighter\n     tiers and would drop the button visibly on hover. */\n  --primary-hover:   color-mix(in srgb, var(--primary), var(--base) 15%);\n  --primary-active:  color-mix(in srgb, var(--primary), var(--base) 25%);\n\n  /* Semantic status. Fixed hex, theme-invariant. -fg tokens carry the\n     label color so fill and text invert together per theme without a\n     callsite dark: variant. Hover/active shift lightness only. */\n  --error:         #DC2626;\n  --error-hover:   #B91C1C;\n  --error-active:  #991B1B;\n  --error-fg:      #FFFFFF;\n  --warning:        #FDB203;\n  --warning-hover:  #D69800;\n  --warning-active: #A97007;\n  --warning-fg:     #171717;\n  --success:        #1A7F37;\n  --success-hover:  #166A2E;\n  --success-active: #115523;\n  --success-fg:     #FFFFFF;\n\n  /* Semantic soft-variant surfaces. Split per theme so the Badge / chip\n     \"soft\" treatment stays legible on both #ffffff-ish light bases and\n     #0c0c0c-ish dark bases (a single translucent tint of the -solid\n     color goes near-invisible against near-black). Light tokens ship\n     here as defaults; the .dark block overrides them. */\n  --success-soft-bg: #E6F6EB;\n  --success-soft-fg: #166A2E;\n  --warning-soft-bg: #FEF3C7;\n  --warning-soft-fg: #78350F;\n  --error-soft-bg:   #FEE2E2;\n  --error-soft-fg:   #7F1D1D;\n\n  /* Focus is semantic muted gray, independent from action color.\n     Consumer brand overrides to --primary do not recolor accessibility\n     focus. The 2px + 2px pair sits clearly outside the component border. */\n  --focus-ring-color:  var(--ink-muted);\n  --focus-ring-width:  2px;\n  --focus-ring-offset: 2px;\n\n  /* Focus halo retained for bordered composite controls such as Select\n     and Combobox until the form-control family migration. */\n  --focus-halo: 0 0 0 3px color-mix(in oklab, var(--focus-ring-color) 18%, transparent);\n\n  /* Overlay scrim and semantic stacking roles. */\n  --scrim: rgba(0, 0, 0, 0.45);\n  --overlay-layer-modal: 50;\n  --overlay-layer-drawer: 70;\n  --overlay-layer-popup: 80;\n  --overlay-layer-toast: 90;\n\n  /* Radius. Five values, everything maps to one.\n     radius-4 is reserved for very small controls (checkbox, radio thumb)\n     where 6px would look proportionally too round. */\n  --radius-4:    4px;\n  --radius-6:    6px;\n  --radius-8:    8px;\n  --radius-10:   10px;\n  --radius-12:   12px;\n  --radius-16:   16px;\n  --radius-full: 9999px;\n\n  /* Shadows. Cards float on shadow in light (editorial lift, Wellfound-\n     shaped: soft-diffuse, mostly vertical, slight blue-black cast that\n     reads as \"object\" rather than \"system shadow\"). Overlay-altitude\n     surfaces (menu popup, dialog, tooltip, toast) stack a triple:\n     1px top edge for crispness, mid diffusion for the body of the lift,\n     long soft drop for the cast. */\n  --shadow-card:\n    0 1px 2px rgba(3, 17, 38, 0.05),\n    0 4px 12px rgba(3, 17, 38, 0.05);\n  --shadow-menu:\n    0 1px 1px rgba(0, 0, 0, 0.02),\n    0 4px 8px -4px rgba(0, 0, 0, 0.04),\n    0 16px 24px -8px rgba(0, 0, 0, 0.06);\n  --shadow-modal:\n    0 1px 1px rgba(0, 0, 0, 0.02),\n    0 8px 16px -4px rgba(0, 0, 0, 0.04),\n    0 24px 32px -8px rgba(0, 0, 0, 0.06);\n  --shadow-tooltip: var(--shadow-menu);\n\n  /* Motion. Panel motion stays smooth while layout tracks resize. */\n  --duration-state:   75ms;\n  --duration-overlay: 150ms;\n  --duration-panel:   260ms;\n  --duration-skeleton: 1800ms;\n  --duration-spinner: 1000ms;\n  --ease-standard:    cubic-bezier(0.175, 0.885, 0.32, 1.1);\n  --ease-panel:       cubic-bezier(.32, .72, 0, 1);\n  --ease-pulse:       ease-in-out;\n  --ease-spinner:     linear;\n\n  /* Font families. Two families ship: one variable sans for everything\n     that isn't code, one mono for code. Consumers ship the actual font\n     files through their pipeline; the docs site loads Inter via\n     next/font (which is now a variable font at all weights 100-900) and\n     JetBrains Mono for code. --font-body-loaded / --font-mono-loaded\n     come from next/font first; raw family names + system fallbacks\n     follow. --font-display aliases --font-body: there is no separate\n     display cut. Display sizes ride weight and size, not a distinct\n     family or letter-spacing recipe. */\n  --font-body:    var(--font-body-loaded), \"Inter\", -apple-system, system-ui, \"Segoe UI\", Roboto, sans-serif;\n  --font-display: var(--font-body);\n  --font-mono:    var(--font-mono-loaded), \"JetBrains Mono\", ui-monospace, \"SF Mono\", Menlo, monospace;\n\n  /* Font sizes. Eight rem-based sizes cover every use, from the smallest\n     meta label (micro, 11px) up to a page-hero heading (title1, 36px).\n     Default body is regular (15px). Bundled leading, tracking, and\n     weight are gone: line-height comes from element defaults (body 1.5,\n     p 1.7, headings 1.25) and weight is a separate token axis below.\n     Sub-Retina rounds micro up to a whole pixel to avoid subpixel blur\n     on 1x displays. */\n  --font-size-micro:    0.6875rem; /* 11 */\n  --font-size-mini:     0.75rem;   /* 12 */\n  --font-size-small:    0.875rem;  /* 14 (editorial bump; was 13) */\n  --font-size-regular:  1rem;      /* 16 (editorial bump; was 15) */\n  --font-size-large:    1.125rem;  /* 18 */\n  --font-size-title3:   1.25rem;   /* 20 */\n  --font-size-title2:   1.5rem;    /* 24 */\n  --font-size-title1:   2.25rem;   /* 36 */\n\n  /* Font weights. Body defaults to 450 (only available in variable fonts;\n     non-variable Inter rounds to 400/500). Headings default to 500\n     (medium). Weight is composed at the call site via Tailwind's\n     font-{light,normal,medium,semibold,bold} utilities. */\n  --font-weight-light:     300;\n  --font-weight-normal:    450;\n  --font-weight-medium:    500;\n  --font-weight-semibold:  600;\n  --font-weight-bold:      700;\n\n  /* Spacing scale. Base unit 4px, every step a multiple. */\n  --space-4:  4px;\n  --space-8:  8px;\n  --space-12: 12px;\n  --space-16: 16px;\n  --space-24: 24px;\n  --space-32: 32px;\n  --space-40: 40px;\n  --space-64: 64px;\n  --space-96: 96px;\n}\n\n/* ---------------------------------------------------------------\n * Dark-mode override. Same intent contract, inverted values.\n *\n * Neutral grays -- no blue/cool tint. Canvas is deliberately not pure\n * #000000: #0F0F10 keeps a warm-neutral read on OLED and prevents the\n * surface ladder from banding on cheap panels. surface-1 sits at the\n * \"lifted popup\" rung; surface-2 is the active-row highlight.\n *\n * Status roles are theme-invariant (no override); the -fg pair still\n * carries the same label color because meaning doesn't flip with theme.\n * --------------------------------------------------------------- */\n.dark {\n  /* Dark keeps the same hierarchy: canvas, lifted content, grouped content. */\n  --base:      #101010;\n  --layer-1:   #191919;\n  --layer-2:   #242424;\n\n  --fill-1:    #242424;\n  --fill-2:    #2e2e2e;\n\n  /* Interaction overlay: Radix grayA 3. */\n  --layer-hover: rgba(255, 255, 255, 0.071);\n\n  /* Alpha borders (Radix grayA 3 / 6 / 7 / 8) replace solid hex.\n     `--hairline-soft` is card-appropriate chrome; the rest are for\n     inputs, menus, dividers. */\n  --hairline-soft:      rgba(255, 255, 255, 0.071);  /* grayA 3 */\n  --hairline:           rgba(255, 255, 255, 0.172);  /* grayA 6 */\n  --hairline-strong:    rgba(255, 255, 255, 0.231);  /* grayA 7 */\n  --hairline-tertiary:  rgba(255, 255, 255, 0.333);  /* grayA 8 */\n\n  --ink:           #eeeeee;  /* gray 12 */\n  --ink-muted:     #b4b4b4;  /* gray 11 */\n  --ink-subtle:    #7b7b7b;  /* gray 10, same rung as tertiary (preview) */\n  --ink-tertiary:  #7b7b7b;  /* gray 10 */\n\n  /* Primary reinherits the inverted ink/canvas automatically through\n     the var chain; the entries above already updated. Consumers that\n     override --primary in light also override in dark. */\n\n  /* Semantic soft-variant surfaces. Dark tokens are chosen so a soft\n     Badge on `--base` shows a visible tint (unlike a single translucent\n     -solid green which goes near-invisible on near-black). Foreground\n     tokens brighten to stay readable on the dark tint. */\n  --success-soft-bg: #0F2E1A;\n  --success-soft-fg: #4ADE80;\n  --warning-soft-bg: #2E1F00;\n  --warning-soft-fg: #FCD34D;\n  --error-soft-bg:   #3B0F0F;\n  --error-soft-fg:   #FCA5A5;\n\n  /* --focus-ring-color inherits var(--ink-muted), which resolves to the\n     dark-mode neutral automatically -- no explicit dark-mode override\n     needed. */\n\n  /* Shadows deepen to compensate for reduced contrast on the near-black\n     canvas. */\n  --shadow-card:\n    0 2px 2px rgba(0, 0, 0, 0.4);\n  --shadow-menu:\n    0 1px 1px rgba(0, 0, 0, 0.3),\n    0 4px 8px -4px rgba(0, 0, 0, 0.4),\n    0 16px 24px -8px rgba(0, 0, 0, 0.5);\n  --shadow-modal:\n    0 1px 1px rgba(0, 0, 0, 0.3),\n    0 8px 16px -4px rgba(0, 0, 0, 0.4),\n    0 24px 32px -8px rgba(0, 0, 0, 0.5);\n}\n\n/* Progress bar: indeterminate sweep from left to right. */\n@keyframes patch-progress-indeterminate {\n  0% { transform: translateX(-100%); }\n  100% { transform: translateX(400%); }\n}\n\n/* Skeleton placeholder: gentle opacity pulse. Range kept narrow so the\n   block stays legibly present through the whole cycle. */\n@keyframes patch-skeleton-pulse {\n  0%, 100% { opacity: 1; }\n  50%      { opacity: 0.65; }\n}\n\n@keyframes patch-spinner-spin {\n  to { transform: rotate(360deg); }\n}\n\n@keyframes patch-app-header-panel-in {\n  from { opacity: 0; }\n  to   { opacity: 1; }\n}\n\n@keyframes patch-app-header-menu-top-open {\n  from { transform: translateY(-4px) rotate(0deg); }\n  to   { transform: translateY(0) rotate(45deg); }\n}\n\n@keyframes patch-app-header-menu-bottom-open {\n  from { transform: translateY(4px) rotate(0deg); }\n  to   { transform: translateY(0) rotate(-45deg); }\n}\n\n@keyframes patch-field-error-in {\n  from { opacity: 0; transform: translateY(-2px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n\n/* Reduced motion overrides motion durations to 0ms; animations still\n   fire but resolve instantly. */\n@media (prefers-reduced-motion: reduce) {\n  :root {\n    --duration-state:   0ms;\n    --duration-overlay: 0ms;\n    --duration-panel:   0ms;\n    --duration-skeleton: 0ms;\n    --duration-spinner: 0ms;\n    --ease-standard:    ease;\n    --ease-panel:       none;\n    --ease-pulse:       none;\n    --ease-spinner:     none;\n  }\n}\n\n/* ---------------------------------------------------------------\n * Layer 2: Tailwind bridge (@theme inline).\n *\n * Exposes runtime tokens as Tailwind utility slots:\n *   - Every color as --color-* (bg-base, bg-layer-1, text-ink, border-hairline)\n *   - Every radius as --radius-*\n *   - Every shadow as --shadow-*\n *   - Motion easing as --ease-*\n *\n * Spacing lives at :root as --space-* only. Exposing --spacing-N here\n * would collide with Tailwind's h-N/p-N/gap-N default multiplier and\n * break sizing utilities.\n *\n * Type sizes are NOT exposed as --text-*; the compound utility classes\n * in Layer 3 already declare size + leading + tracking + weight +\n * font-family in one shot.\n * --------------------------------------------------------------- */\n@theme inline {\n  --color-base:    var(--base);\n  --color-layer-1: var(--layer-1);\n  --color-layer-2: var(--layer-2);\n  --color-fill-1:  var(--fill-1);\n  --color-fill-2:  var(--fill-2);\n\n  --color-layer-hover: var(--layer-hover);\n\n  --color-hairline-soft:      var(--hairline-soft);\n  --color-hairline:           var(--hairline);\n  --color-hairline-strong:    var(--hairline-strong);\n  --color-hairline-tertiary:  var(--hairline-tertiary);\n\n  --color-ink:           var(--ink);\n  --color-ink-muted:     var(--ink-muted);\n  --color-ink-subtle:    var(--ink-subtle);\n  --color-ink-tertiary:  var(--ink-tertiary);\n\n  --color-primary:        var(--primary);\n  --color-primary-hover:  var(--primary-hover);\n  --color-primary-active: var(--primary-active);\n  --color-on-primary:     var(--on-primary);\n  --color-primary-soft:   var(--primary-soft);\n  --color-primary-soft-hover: var(--primary-soft-hover);\n  --color-primary-soft-active: var(--primary-soft-active);\n  --color-on-primary-soft: var(--on-primary-soft);\n\n  --color-error:         var(--error);\n  --color-error-hover:   var(--error-hover);\n  --color-error-active:  var(--error-active);\n  --color-error-fg:      var(--error-fg);\n  --color-warning:        var(--warning);\n  --color-warning-hover:  var(--warning-hover);\n  --color-warning-active: var(--warning-active);\n  --color-warning-fg:     var(--warning-fg);\n  --color-success:        var(--success);\n  --color-success-hover:  var(--success-hover);\n  --color-success-active: var(--success-active);\n  --color-success-fg:     var(--success-fg);\n  --color-success-soft-bg: var(--success-soft-bg);\n  --color-success-soft-fg: var(--success-soft-fg);\n  --color-warning-soft-bg: var(--warning-soft-bg);\n  --color-warning-soft-fg: var(--warning-soft-fg);\n  --color-error-soft-bg:   var(--error-soft-bg);\n  --color-error-soft-fg:   var(--error-soft-fg);\n\n  --color-scrim: var(--scrim);\n\n  --radius-4:    var(--radius-4);\n  --radius-6:    var(--radius-6);\n  --radius-8:    var(--radius-8);\n  --radius-10:   var(--radius-10);\n  --radius-12:   var(--radius-12);\n  --radius-16:   var(--radius-16);\n  --radius-full: var(--radius-full);\n\n  --shadow-card:    var(--shadow-card);\n  --shadow-menu:    var(--shadow-menu);\n  --shadow-modal:   var(--shadow-modal);\n  --shadow-tooltip: var(--shadow-tooltip);\n\n  --ease-standard: var(--ease-standard);\n  --ease-panel:    var(--ease-panel);\n\n  --font-display: var(--font-display);\n  --font-body:    var(--font-body);\n  --font-mono:    var(--font-mono);\n\n  /* Size utilities: text-micro / text-mini / text-small / text-regular /\n     text-large / text-title3 / text-title2 / text-title1. */\n  --text-micro:    var(--font-size-micro);\n  --text-mini:     var(--font-size-mini);\n  --text-small:    var(--font-size-small);\n  --text-regular:  var(--font-size-regular);\n  --text-large:    var(--font-size-large);\n  --text-title3:   var(--font-size-title3);\n  --text-title2:   var(--font-size-title2);\n  --text-title1:   var(--font-size-title1);\n\n  /* Weight utilities: overrides Tailwind's defaults so font-normal is\n     450 (matching the variable-font body default) instead of 400. */\n  --font-weight-light:    var(--font-weight-light);\n  --font-weight-normal:   var(--font-weight-normal);\n  --font-weight-medium:   var(--font-weight-medium);\n  --font-weight-semibold: var(--font-weight-semibold);\n  --font-weight-bold:     var(--font-weight-bold);\n}\n\n/* ---------------------------------------------------------------\n * Layer 3: Global element defaults for typography.\n *\n * Line height and default weight are set on the element, not bundled\n * into per-size utility classes. body is 1.5, <p> is 1.7, headings are\n * 1.25. font-family propagates through inheritance from body; form\n * controls need an explicit override because they reset by default.\n * --------------------------------------------------------------- */\n@layer base {\n  body {\n    font-family: var(--font-body);\n    font-size: var(--font-size-regular);\n    font-weight: var(--font-weight-normal);\n    line-height: 1.5;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    text-rendering: optimizeLegibility;\n  }\n  body.resizing {\n    cursor: col-resize;\n    user-select: none;\n  }\n  body.resizing [data-slot=\"resizable-panels\"] {\n    transition: none !important;\n  }\n  body,\n  button,\n  input,\n  optgroup,\n  select,\n  textarea {\n    font-family: var(--font-body);\n  }\n  p {\n    line-height: 1.7;\n  }\n  h1, h2, h3, h4, h5, h6 {\n    font-weight: var(--font-weight-medium);\n    line-height: 1.25;\n  }\n  code, pre, kbd, samp {\n    font-family: var(--font-mono);\n  }\n}\n\n/* Sub-Retina rounding: on 1x displays the smallest size can land on a\n   fractional pixel and blur. Snap it up to the nearest whole pixel via\n   round(). Guarded on @supports so older engines fall through to the\n   raw rem value. */\n@supports (font-size: round(up, 1rem, 1px)) {\n  @media not all and (-webkit-min-device-pixel-ratio: 2), not all and (min-resolution: 192dpi) {\n    :root {\n      --font-size-micro: round(up, 0.6875rem, 2px);\n    }\n  }\n}\n\n/* Opt an individual scrollable surface out of any scrollbar. Companion\n * to the global thin-scrollbar defaults below. Declared with @utility\n * so it participates in Tailwind variants (md:scrollbar-hide,\n * hover:scrollbar-hide, etc.). */\n@utility scrollbar-hide {\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n  &::-webkit-scrollbar {\n    display: none;\n  }\n}\n\n/* ---------------------------------------------------------------\n * Layer 4: base element styles.\n *\n * Thin, unobtrusive scrollbars applied globally. Thumb picks up\n * hairline-strong (0.13 alpha) and lifts to hairline-tertiary\n * (0.20 alpha) on hover, so it inverts naturally with the theme\n * without a per-mode override.\n *\n * Wrapped in @layer base so per-element consumer utilities (e.g.\n * [&::-webkit-scrollbar]:w-1) and unlayered overrides win the cascade\n * without needing !important. scrollbar-width and scrollbar-color are\n * inherited from :root; the ::-webkit-* pseudo-elements need the\n * wildcard since pseudo-elements don't inherit.\n * --------------------------------------------------------------- */\n@layer base {\n  :root {\n    scrollbar-width: thin;\n    scrollbar-color: var(--hairline-strong) transparent;\n  }\n  *::-webkit-scrollbar {\n    width: 8px;\n    height: 8px;\n  }\n  *::-webkit-scrollbar-track {\n    background: transparent;\n  }\n  *::-webkit-scrollbar-thumb {\n    background: var(--hairline-strong);\n    border-radius: 999px;\n  }\n  *::-webkit-scrollbar-thumb:hover {\n    background: var(--hairline-tertiary);\n  }\n\n  /* Icon default. Phosphor icons render with width=\"1em\" / height=\"1em\"\n     attributes so they'd inherit the parent's font-size. Force a 1rem\n     baseline here so an icon inside a text-small (13px) label still\n     reads at 16px. Any Tailwind size-* class on the svg wins via\n     selector specificity. */\n  svg {\n    width: 1rem;\n    height: 1rem;\n  }\n}\n",
      "type": "registry:file",
      "target": "styles/patch-ui-tokens.css"
    }
  ],
  "type": "registry:file"
}