@hanzo/ui 8.0.68 → 8.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -292,19 +292,25 @@
292
292
  — the two are the SAME scale, mirrored. A surface/tenant overrides any --text-*
293
293
  on :root to retune density on demand. */
294
294
  :root{
295
- --text-xs:0.6875rem; --leading-xs:1rem; /* 11px eyebrows / section labels */
296
- --text-sm:0.8125rem; --leading-sm:1.15rem; /* 13px nav labels, dense body */
297
- --text-base:0.875rem; --leading-base:1.35rem; /* 14px base app text (was 16px) */
298
- --text-lg:0.9375rem; --leading-lg:1.4rem; /* 15px */
299
- --text-xl:1.0625rem; --leading-xl:1.55rem; /* 17px */
300
- --text-2xl:1.3125rem; --leading-2xl:1.7rem; /* 21px */
301
- --text-3xl:1.625rem; --leading-3xl:1.95rem; /* 26px */
302
- --text-4xl:2rem; --leading-4xl:2.25rem; /* 32px */
303
- --text-5xl:2.5rem; --leading-5xl:1.05; /* 40px */
304
- --text-6xl:3.25rem; --leading-6xl:1; /* 52px */
305
- --text-7xl:4rem; --leading-7xl:1; /* 64px */
306
- --text-8xl:5.25rem; --leading-8xl:1; /* 84px */
307
- --text-9xl:7rem; --leading-9xl:1; /* 112px */
295
+ /* The type knob. 1 is the published scale; every rung below multiplies by
296
+ it, so a surface or a person retunes the WHOLE ramp by setting one
297
+ number and no rung can drift out of relation with the others.
298
+ @hanzo/design's `vars({type})` emits exactly this name. */
299
+ --type-scale:1;
300
+
301
+ --text-xs:calc(0.6875rem * var(--type-scale, 1)); --leading-xs:calc(1rem * var(--type-scale, 1)); /* 11px — eyebrows / section labels */
302
+ --text-sm:calc(0.8125rem * var(--type-scale, 1)); --leading-sm:calc(1.15rem * var(--type-scale, 1)); /* 13px — nav labels, dense body */
303
+ --text-base:calc(0.875rem * var(--type-scale, 1)); --leading-base:calc(1.35rem * var(--type-scale, 1)); /* 14px — base app text (was 16px) */
304
+ --text-lg:calc(0.9375rem * var(--type-scale, 1)); --leading-lg:calc(1.4rem * var(--type-scale, 1)); /* 15px */
305
+ --text-xl:calc(1.0625rem * var(--type-scale, 1)); --leading-xl:calc(1.55rem * var(--type-scale, 1)); /* 17px */
306
+ --text-2xl:calc(1.3125rem * var(--type-scale, 1)); --leading-2xl:calc(1.7rem * var(--type-scale, 1)); /* 21px */
307
+ --text-3xl:calc(1.625rem * var(--type-scale, 1)); --leading-3xl:calc(1.95rem * var(--type-scale, 1)); /* 26px */
308
+ --text-4xl:calc(2rem * var(--type-scale, 1)); --leading-4xl:calc(2.25rem * var(--type-scale, 1)); /* 32px */
309
+ --text-5xl:calc(2.5rem * var(--type-scale, 1)); --leading-5xl:1.05; /* 40px */
310
+ --text-6xl:calc(3.25rem * var(--type-scale, 1)); --leading-6xl:1; /* 52px */
311
+ --text-7xl:calc(4rem * var(--type-scale, 1)); --leading-7xl:1; /* 64px */
312
+ --text-8xl:calc(5.25rem * var(--type-scale, 1)); --leading-8xl:1; /* 84px */
313
+ --text-9xl:calc(7rem * var(--type-scale, 1)); --leading-9xl:1; /* 112px */
308
314
 
309
315
  /* The SAME scale under @hanzo/brand's spelling. @hanzo/gui's shell theme and
310
316
  Hanzo Studio address the ramp as --font-size-*; both names are one value, so
@@ -369,7 +375,7 @@
369
375
  form feels broken. pointer:coarse is the real signal — a desktop mouse keeps
370
376
  the compact 13px field. */
371
377
  @media (pointer:coarse){
372
- :root{--text-control:1rem}
378
+ :root{--text-control:calc(1rem * var(--type-scale, 1))}
373
379
  }
374
380
 
375
381
  /* ── tokens/spacing.css ─────────────────────────────────────── */
@@ -377,21 +383,27 @@
377
383
  declared in hanzo.ai's tailwind.config.ts (legacy v3 config, kept for
378
384
  reference) — use it for editorial layouts, not for component padding. */
379
385
  :root{
386
+ /* The density knob. 1 is the published spacing; every --space-* rung below
387
+ multiplies by it, and --grid-gap-* reference those rungs rather than
388
+ restating them, so gaps, padding and section rhythm move together.
389
+ @hanzo/design's `vars({density})` emits exactly this name. */
390
+ --density:1;
391
+
380
392
  --space-0:0;
381
- --space-1:0.25rem;
382
- --space-2:0.5rem;
383
- --space-3:0.75rem;
384
- --space-4:1rem;
385
- --space-5:1.25rem;
386
- --space-6:1.5rem;
387
- --space-8:2rem;
388
- --space-10:2.5rem;
389
- --space-12:3rem;
390
- --space-14:3.5rem;
391
- --space-16:4rem;
392
- --space-20:5rem;
393
- --space-24:6rem;
394
- --space-32:8rem;
393
+ --space-1:calc(0.25rem * var(--density, 1));
394
+ --space-2:calc(0.5rem * var(--density, 1));
395
+ --space-3:calc(0.75rem * var(--density, 1));
396
+ --space-4:calc(1rem * var(--density, 1));
397
+ --space-5:calc(1.25rem * var(--density, 1));
398
+ --space-6:calc(1.5rem * var(--density, 1));
399
+ --space-8:calc(2rem * var(--density, 1));
400
+ --space-10:calc(2.5rem * var(--density, 1));
401
+ --space-12:calc(3rem * var(--density, 1));
402
+ --space-14:calc(3.5rem * var(--density, 1));
403
+ --space-16:calc(4rem * var(--density, 1));
404
+ --space-20:calc(5rem * var(--density, 1));
405
+ --space-24:calc(6rem * var(--density, 1));
406
+ --space-32:calc(8rem * var(--density, 1));
395
407
 
396
408
  /* golden ramp (φ) — hanzo.ai tailwind.config.ts */
397
409
  --golden-1:0.25rem;
@@ -824,19 +836,26 @@
824
836
  padding:0 var(--space-3);
825
837
  }
826
838
  :where(textarea){padding:var(--space-2) var(--space-3);resize:vertical}
827
- /* ——— focus, on a control ———
828
- Not the generic ring. A field already HAS an edge, so focus brightens that
829
- edge (.15 -> .22) and adds a soft halo just outside it — which is what the
830
- reference does (.composer-box:focus-within) and what separates a focused
831
- field from a browser default. The generic `outline` is suppressed here
832
- precisely because it would draw a second, harder box around this one. */
833
- :where(input,select,textarea):focus-visible{
834
- outline:none;
835
- border-color:var(--border-focus);
836
- box-shadow:var(--ring-focus);
837
- }
838
- /* A hovered field lifts its surface a rung. Nudging its EDGE from .15 to .16
839
- is a state nobody can see. */
839
+ /* A field has NO focus rule of its own — see the ring at the bottom of this
840
+ layer, which is the one focus indicator for everything.
841
+
842
+ There used to be one here: `outline:none` plus a brightened edge (.15 ->
843
+ .22) plus a soft halo, the composer look. It was removed because it could
844
+ not do the job in either of the two ways that matter.
845
+
846
+ It was never VISIBLE ENOUGH. Composited on --background the brightened edge
847
+ measures 1.91:1 and the halo 1.25:1, against the 3:1 that WCAG 1.4.11 asks
848
+ of a focus indicator and that this package already gates --ring on. The
849
+ budget was documented as being spent entirely on --ring "because that is
850
+ what a keyboard user navigates by" true for a button, and false for a
851
+ field for exactly as long as this rule told fields not to use it.
852
+
853
+ And it was SUPPRESSIBLE. It carried the indicator on `border-color`, so any
854
+ app that states `border` on its own fields overrode it — @hanzo/id does,
855
+ unlayered, which beats this layer whatever its specificity, and its focused
856
+ fields sat at the resting .15 while both files read as correct. An outline
857
+ is not a border: nothing in an app's field styling reaches it, so the ring
858
+ paints whether or not the app has opinions about edges. */
840
859
  :where(input,select,textarea):hover:not(:focus-visible):not(:disabled){background:var(--surface-3)}
841
860
  :where(input,textarea)::placeholder{color:var(--text-disabled)}
842
861
  :where(input,select,textarea,button):disabled{opacity:.5;cursor:not-allowed}
@@ -876,6 +895,19 @@
876
895
  }
877
896
  }
878
897
 
898
+ /* THE focus indicator. One rule, every focusable thing, no exceptions — a
899
+ button, a link, a summary, a field. 2px at --ring is 3.77:1 on the darkest
900
+ canvas and clears the 2px perimeter WCAG 2.4.13 asks for; the gate in
901
+ check-tokens holds --ring to that and nothing else here may weaken it.
902
+
903
+ There were two rules until 0.4.9, and they collided invisibly. Both computed
904
+ to (0,1,0) — :where() zeroes whatever it wraps, leaving one pseudo-class on
905
+ each side — so the cascade fell through to SOURCE ORDER inside this layer,
906
+ this rule was written later, and it overrode the `outline:none` the field
907
+ rule stated expressly to prevent it. Every focused input on every consumer
908
+ drew BOTH the ring and the edge+halo. Each rule read as correct alone, which
909
+ is why it survived review in both files; the defect existed only in their
910
+ order. One rule cannot disagree with itself. */
879
911
  :focus-visible{outline:2px solid var(--ring);outline-offset:2px}
880
912
  /* --white-20 is white-on-white in the light theme, so selection reads through
881
913
  --selection, which BOTH themes define. */
@@ -1673,11 +1705,11 @@
1673
1705
  :root{--t0:hsla(0, 0%, 20%, 1);--t1:hsla(0, 0%, 93%, 1);--t2:hsla(0, 0%, 4%, 0);--t3:hsla(0, 0%, 8%, 0.2);--t4:hsla(0, 0%, 8%, 0.4);--t5:hsla(0, 0%, 8%, 0.6);--t6:hsla(0, 0%, 8%, 0.8);--t7:hsla(0, 0%, 4%, 1);--t8:hsla(0, 0%, 8%, 1);--t9:hsla(0, 0%, 10%, 1);--t10:var(--border, rgb(255 255 255 / .10));--t11:hsla(0, 0%, 27%, 1);--t12:hsla(0, 0%, 40%, 1);--t13:hsla(0, 0%, 47%, 1);--t14:hsla(0, 0%, 52%, 1);--t15:hsla(0, 0%, 67%, 1);--t16:hsla(0, 0%, 80%, 1);--t17:var(--foreground, #fafafa);--t18:hsla(0, 0%, 100%, 0);--t19:hsla(0, 0%, 100%, 0.2);--t20:hsla(0, 0%, 100%, 0.4);--t21:hsla(0, 0%, 100%, 0.6);--t22:hsla(0, 0%, 100%, 0.8);--t23:hsla(0, 0%, 100%, 1);--t24:hsla(0, 0%, 14%, 1);--t25:#090909;--t26:#151515;--t27:#191919;--t28:#232323;--t29:#333;--t30:#444;--t31:#666;--t32:#777;--t33:#858585;--t34:#aaa;--t35:#ccc;--t36:#ffffff;--t37:#fff;--t38:#f8f8f8;--t39:hsl(0, 0%, 93%);--t40:hsl(0, 0%, 85%);--t41:hsl(0, 0%, 80%);--t42:hsl(0, 0%, 70%);--t43:hsl(0, 0%, 59%);--t44:hsl(0, 0%, 45%);--t45:hsl(0, 0%, 30%);--t46:hsl(0, 0%, 20%);--t47:hsl(0, 0%, 14%);--t48:hsl(0, 0%, 2%);--t49:rgba(255,255,255,1);--t50:rgba(255,255,255,0);--t51:rgba(255,255,255,0.2);--t52:rgba(255,255,255,0.4);--t53:rgba(255,255,255,0.6);--t54:rgba(255,255,255,0.8);--t55:rgba(0,0,0,1);--t56:rgba(0,0,0,0);--t57:rgba(0,0,0,0.2);--t58:rgba(0,0,0,0.4);--t59:rgba(0,0,0,0.6);--t60:rgba(0,0,0,0.8);--t61:rgba(0,0,0,0.15);--t62:rgba(0,0,0,0.23);--t63:rgba(0,0,0,0.33);--t64:rgba(0,0,0,0.45);--t65:rgba(0,0,0,0.65);--t66:rgba(0,0,0,0.9);--t67:rgba(255,255,255,0.1);--t68:rgba(255,255,255,0.3);--t69:rgba(255,255,255,0.45);--t70:rgba(255,255,255,0.65);--t71:rgba(255,255,255,0.85);--t72:rgba(255,255,255,0.95);--t73:#111111;--t74:#222222;--t75:#2a2a2a;--t76:#313131;--t77:#3a3a3a;--t78:#484848;--t79:#606060;--t80:#6e6e6e;--t81:#7b7b7b;--t82:#b4b4b4;--t83:#eeeeee;--t84:#0d1520;--t85:#111927;--t86:#0d2847;--t87:#003362;--t88:#004074;--t89:#104d87;--t90:#205d9e;--t91:#2870bd;--t92:#0090ff;--t93:#3b9eff;--t94:#70b8ff;--t95:#c2e6ff;--t96:#191111;--t97:#201314;--t98:#3b1219;--t99:#500f1c;--t100:#611623;--t101:#72232d;--t102:#8c333a;--t103:#b54548;--t104:#e5484d;--t105:#ec5d5e;--t106:#ff9592;--t107:#ffd1d9;--t108:#14120b;--t109:#1b180f;--t110:#2d2305;--t111:#362b00;--t112:#433500;--t113:#524202;--t114:#665417;--t115:#836a21;--t116:#ffe629;--t117:#ffff57;--t118:#f5e147;--t119:#f6eeb4;--t120:#0e1512;--t121:#121b17;--t122:#132d21;--t123:#113b29;--t124:#174933;--t125:#20573e;--t126:#28684a;--t127:#2f7c57;--t128:#30a46c;--t129:#33b074;--t130:#3dd68c;--t131:#b1f1cb;--t132:#17120e;--t133:#1e160f;--t134:#331e0b;--t135:#462100;--t136:#562800;--t137:#66350c;--t138:#7e451d;--t139:#a35829;--t140:#f76b15;--t141:#ff801f;--t142:#ffa057;--t143:#ffe0c2;--t144:#191117;--t145:#21121d;--t146:#37172f;--t147:#4b143d;--t148:#591c47;--t149:#692955;--t150:#833869;--t151:#a84885;--t152:#d6409f;--t153:#de51a8;--t154:#ff8dcc;--t155:#fdd1ea;--t156:#18111b;--t157:#1e1523;--t158:#301c3b;--t159:#3d224e;--t160:#48295c;--t161:#54346b;--t162:#664282;--t163:#8457aa;--t164:#8e4ec6;--t165:#9a5cd0;--t166:#d19dff;--t167:#ecd9fa;--t168:#0d1514;--t169:#111c1b;--t170:#0d2d2a;--t171:#023b37;--t172:#084843;--t173:#145750;--t174:#1c6961;--t175:#207e73;--t176:#12a594;--t177:#0eb39e;--t178:#0bd8b6;--t179:#adf0dd;--t180:hsl(0, 0%, 68%);--t181:hsl(0, 0%, 65%);--t182:hsl(0, 0%, 62%);--t183:hsl(0, 0%, 56%);--t184:hsl(0, 0%, 53%);--t185:hsl(0, 0%, 50%);--t186:hsl(0, 0%, 47%);--t187:hsl(0, 0%, 44%);--t188:hsl(0, 0%, 41%);--t189:hsl(0, 0%, 38%);--t190:hsl(0, 0%, 32%);--t191:hsla(0, 0%, 97%, 1);--t192:hsla(0, 0%, 85%, 1);--t193:hsla(0, 0%, 70%, 1);--t194:hsla(0, 0%, 59%, 1);--t195:hsla(0, 0%, 45%, 1);--t196:hsla(0, 0%, 30%, 1);--t197:hsla(0, 0%, 2%, 1);--t198:hsla(0, 0%, 100%, 0.1);--t199:hsla(0, 0%, 100%, 0.075);--t200:hsla(0, 0%, 100%, 0.05);--t201:hsla(0, 0%, 100%, 0.025);--t202:hsla(0, 0%, 100%, 0.02);--t203:hsla(0, 0%, 100%, 0.01);--t204:hsla(0, 0%, 8%, 0.1);--t205:hsla(0, 0%, 8%, 0.075);--t206:hsla(0, 0%, 8%, 0.05);--t207:hsla(0, 0%, 8%, 0.025);--t208:hsla(0, 0%, 8%, 0.02);--t209:hsla(0, 0%, 8%, 0.01);--t210:var(--ring, rgb(255 255 255 / .40));--t211:hsla(0, 0%, 4%, 0.2);--t212:hsla(0, 0%, 4%, 0.4);--t213:hsla(0, 0%, 4%, 0.6);--t214:hsla(0, 0%, 4%, 0.8);--t215:hsla(0, 0%, 97%, 0.2);--t216:hsla(0, 0%, 97%, 0.4);--t217:hsla(0, 0%, 97%, 0.6);--t218:hsla(0, 0%, 97%, 0.8);--t219:hsla(0, 0%, 2%, 0);--t220:hsla(0, 0%, 2%, 0.2);--t221:hsla(0, 0%, 2%, 0.4);--t222:hsla(0, 0%, 2%, 0.6);--t223:hsla(0, 0%, 2%, 0.8);--t224:hsla(0, 0%, 2%, 0.1);--t225:hsla(0, 0%, 2%, 0.075);--t226:hsla(0, 0%, 2%, 0.05);--t227:hsla(0, 0%, 2%, 0.025);--t228:hsla(0, 0%, 2%, 0.02);--t229:hsla(0, 0%, 2%, 0.01);--t230:hsla(0, 0%, 97%, 0.1);--t231:hsla(0, 0%, 97%, 0.075);--t232:hsla(0, 0%, 97%, 0.05);--t233:hsla(0, 0%, 97%, 0.025);--t234:hsla(0, 0%, 97%, 0.02);--t235:hsla(0, 0%, 97%, 0.01);--t236:hsla(216, 43%, 9%, 0);--t237:hsla(218, 39%, 11%, 0.2);--t238:hsla(218, 39%, 11%, 0.4);--t239:hsla(218, 39%, 11%, 0.6);--t240:hsla(218, 39%, 11%, 0.8);--t241:hsla(215, 42%, 9%, 1);--t242:hsla(218, 39%, 11%, 1);--t243:hsla(212, 69%, 16%, 1);--t244:hsla(209, 100%, 19%, 1);--t245:hsla(207, 100%, 23%, 1);--t246:hsla(209, 79%, 30%, 1);--t247:hsla(211, 66%, 37%, 1);--t248:hsla(211, 65%, 45%, 1);--t249:hsla(206, 100%, 50%, 1);--t250:hsla(210, 100%, 62%, 1);--t251:hsla(210, 100%, 72%, 1);--t252:hsla(205, 100%, 88%, 1);--t253:hsla(205, 100%, 88%, 0);--t254:hsla(205, 100%, 88%, 0.2);--t255:hsla(205, 100%, 88%, 0.4);--t256:hsla(205, 100%, 88%, 0.6);--t257:hsla(205, 100%, 88%, 0.8);--t258:hsla(205, 100%, 88%, 0.1);--t259:hsla(205, 100%, 88%, 0.075);--t260:hsla(205, 100%, 88%, 0.05);--t261:hsla(205, 100%, 88%, 0.025);--t262:hsla(205, 100%, 88%, 0.02);--t263:hsla(205, 100%, 88%, 0.01);--t264:hsla(218, 39%, 11%, 0.1);--t265:hsla(218, 39%, 11%, 0.075);--t266:hsla(218, 39%, 11%, 0.05);--t267:hsla(218, 39%, 11%, 0.025);--t268:hsla(218, 39%, 11%, 0.02);--t269:hsla(218, 39%, 11%, 0.01);--t270:hsla(216, 43%, 9%, 0.2);--t271:hsla(216, 43%, 9%, 0.4);--t272:hsla(216, 43%, 9%, 0.6);--t273:hsla(216, 43%, 9%, 0.8);--t274:hsla(0, 0%, 7%, 0);--t275:hsla(0, 0%, 10%, 0.2);--t276:hsla(0, 0%, 10%, 0.4);--t277:hsla(0, 0%, 10%, 0.6);--t278:hsla(0, 0%, 10%, 0.8);--t279:hsla(0, 0%, 7%, 1);--t280:hsla(0, 0%, 13%, 1);--t281:hsla(0, 0%, 16%, 1);--t282:hsla(0, 0%, 19%, 1);--t283:hsla(0, 0%, 23%, 1);--t284:hsla(0, 0%, 28%, 1);--t285:hsla(0, 0%, 38%, 1);--t286:hsla(0, 0%, 43%, 1);--t287:hsla(0, 0%, 48%, 1);--t288:hsla(0, 0%, 71%, 1);--t289:hsla(0, 0%, 93%, 0);--t290:hsla(0, 0%, 93%, 0.2);--t291:hsla(0, 0%, 93%, 0.4);--t292:hsla(0, 0%, 93%, 0.6);--t293:hsla(0, 0%, 93%, 0.8);--t294:hsla(0, 0%, 93%, 0.1);--t295:hsla(0, 0%, 93%, 0.075);--t296:hsla(0, 0%, 93%, 0.05);--t297:hsla(0, 0%, 93%, 0.025);--t298:hsla(0, 0%, 93%, 0.02);--t299:hsla(0, 0%, 93%, 0.01);--t300:hsla(0, 0%, 10%, 0.1);--t301:hsla(0, 0%, 10%, 0.075);--t302:hsla(0, 0%, 10%, 0.05);--t303:hsla(0, 0%, 10%, 0.025);--t304:hsla(0, 0%, 10%, 0.02);--t305:hsla(0, 0%, 10%, 0.01);--t306:hsla(0, 0%, 7%, 0.2);--t307:hsla(0, 0%, 7%, 0.4);--t308:hsla(0, 0%, 7%, 0.6);--t309:hsla(0, 0%, 7%, 0.8);--t310:hsla(154, 20%, 7%, 0);--t311:hsla(153, 20%, 9%, 0.2);--t312:hsla(153, 20%, 9%, 0.4);--t313:hsla(153, 20%, 9%, 0.6);--t314:hsla(153, 20%, 9%, 0.8);--t315:hsla(154, 20%, 7%, 1);--t316:hsla(153, 20%, 9%, 1);--t317:hsla(152, 41%, 13%, 1);--t318:hsla(154, 55%, 15%, 1);--t319:hsla(154, 52%, 19%, 1);--t320:hsla(153, 46%, 23%, 1);--t321:hsla(152, 44%, 28%, 1);--t322:hsla(151, 45%, 34%, 1);--t323:hsla(151, 55%, 42%, 1);--t324:hsla(151, 55%, 45%, 1);--t325:hsla(151, 65%, 54%, 1);--t326:hsla(144, 70%, 82%, 1);--t327:hsla(144, 70%, 82%, 0);--t328:hsla(144, 70%, 82%, 0.2);--t329:hsla(144, 70%, 82%, 0.4);--t330:hsla(144, 70%, 82%, 0.6);--t331:hsla(144, 70%, 82%, 0.8);--t332:hsla(144, 70%, 82%, 0.1);--t333:hsla(144, 70%, 82%, 0.075);--t334:hsla(144, 70%, 82%, 0.05);--t335:hsla(144, 70%, 82%, 0.025);--t336:hsla(144, 70%, 82%, 0.02);--t337:hsla(144, 70%, 82%, 0.01);--t338:hsla(153, 20%, 9%, 0.1);--t339:hsla(153, 20%, 9%, 0.075);--t340:hsla(153, 20%, 9%, 0.05);--t341:hsla(153, 20%, 9%, 0.025);--t342:hsla(153, 20%, 9%, 0.02);--t343:hsla(153, 20%, 9%, 0.01);--t344:hsla(154, 20%, 7%, 0.2);--t345:hsla(154, 20%, 7%, 0.4);--t346:hsla(154, 20%, 7%, 0.6);--t347:hsla(154, 20%, 7%, 0.8);--t348:hsla(0, 0%, 68%, 0);--t349:hsla(0, 0%, 65%, 0.2);--t350:hsla(0, 0%, 65%, 0.4);--t351:hsla(0, 0%, 65%, 0.6);--t352:hsla(0, 0%, 65%, 0.8);--t353:hsla(0, 0%, 68%, 1);--t354:hsla(0, 0%, 65%, 1);--t355:hsla(0, 0%, 62%, 1);--t356:hsla(0, 0%, 56%, 1);--t357:hsla(0, 0%, 53%, 1);--t358:hsla(0, 0%, 50%, 1);--t359:hsla(0, 0%, 44%, 1);--t360:hsla(0, 0%, 41%, 1);--t361:hsla(0, 0%, 32%, 1);--t362:hsla(0, 0%, 32%, 0);--t363:hsla(0, 0%, 32%, 0.2);--t364:hsla(0, 0%, 32%, 0.4);--t365:hsla(0, 0%, 32%, 0.6);--t366:hsla(0, 0%, 32%, 0.8);--t367:hsla(0, 0%, 32%, 0.1);--t368:hsla(0, 0%, 32%, 0.075);--t369:hsla(0, 0%, 32%, 0.05);--t370:hsla(0, 0%, 32%, 0.025);--t371:hsla(0, 0%, 32%, 0.02);--t372:hsla(0, 0%, 32%, 0.01);--t373:hsla(0, 0%, 65%, 0.1);--t374:hsla(0, 0%, 65%, 0.075);--t375:hsla(0, 0%, 65%, 0.05);--t376:hsla(0, 0%, 65%, 0.025);--t377:hsla(0, 0%, 65%, 0.02);--t378:hsla(0, 0%, 65%, 0.01);--t379:hsla(0, 0%, 68%, 0.2);--t380:hsla(0, 0%, 68%, 0.4);--t381:hsla(0, 0%, 68%, 0.6);--t382:hsla(0, 0%, 68%, 0.8);--t383:hsla(23, 22%, 7%, 0);--t384:hsla(28, 33%, 9%, 0.2);--t385:hsla(28, 33%, 9%, 0.4);--t386:hsla(28, 33%, 9%, 0.6);--t387:hsla(28, 33%, 9%, 0.8);--t388:hsla(27, 24%, 7%, 1);--t389:hsla(28, 33%, 9%, 1);--t390:hsla(29, 65%, 12%, 1);--t391:hsla(28, 100%, 14%, 1);--t392:hsla(28, 100%, 17%, 1);--t393:hsla(27, 79%, 22%, 1);--t394:hsla(25, 63%, 30%, 1);--t395:hsla(23, 60%, 40%, 1);--t396:hsla(23, 93%, 53%, 1);--t397:hsla(26, 100%, 56%, 1);--t398:hsla(26, 100%, 67%, 1);--t399:hsla(30, 100%, 88%, 1);--t400:hsla(30, 100%, 88%, 0);--t401:hsla(30, 100%, 88%, 0.2);--t402:hsla(30, 100%, 88%, 0.4);--t403:hsla(30, 100%, 88%, 0.6);--t404:hsla(30, 100%, 88%, 0.8);--t405:hsla(30, 100%, 88%, 0.1);--t406:hsla(30, 100%, 88%, 0.075);--t407:hsla(30, 100%, 88%, 0.05);--t408:hsla(30, 100%, 88%, 0.025);--t409:hsla(30, 100%, 88%, 0.02);--t410:hsla(30, 100%, 88%, 0.01);--t411:hsla(28, 33%, 9%, 0.1);--t412:hsla(28, 33%, 9%, 0.075);--t413:hsla(28, 33%, 9%, 0.05);--t414:hsla(28, 33%, 9%, 0.025);--t415:hsla(28, 33%, 9%, 0.02);--t416:hsla(28, 33%, 9%, 0.01);--t417:hsla(23, 22%, 7%, 0.2);--t418:hsla(23, 22%, 7%, 0.4);--t419:hsla(23, 22%, 7%, 0.6);--t420:hsla(23, 22%, 7%, 0.8);--t421:hsla(317, 17%, 8%, 0);--t422:hsla(316, 29%, 10%, 0.2);--t423:hsla(316, 29%, 10%, 0.4);--t424:hsla(316, 29%, 10%, 0.6);--t425:hsla(316, 29%, 10%, 0.8);--t426:hsla(315, 19%, 8%, 1);--t427:hsla(316, 29%, 10%, 1);--t428:hsla(315, 41%, 15%, 1);--t429:hsla(315, 58%, 19%, 1);--t430:hsla(318, 52%, 23%, 1);--t431:hsla(319, 44%, 29%, 1);--t432:hsla(321, 40%, 37%, 1);--t433:hsla(322, 40%, 47%, 1);--t434:hsla(322, 65%, 55%, 1);--t435:hsla(323, 68%, 59%, 1);--t436:hsla(327, 100%, 78%, 1);--t437:hsla(326, 92%, 91%, 1);--t438:hsla(326, 91%, 91%, 0);--t439:hsla(326, 91%, 91%, 0.2);--t440:hsla(326, 91%, 91%, 0.4);--t441:hsla(326, 91%, 91%, 0.6);--t442:hsla(326, 91%, 91%, 0.8);--t443:hsla(326, 91%, 91%, 0.1);--t444:hsla(326, 91%, 91%, 0.075);--t445:hsla(326, 91%, 91%, 0.05);--t446:hsla(326, 91%, 91%, 0.025);--t447:hsla(326, 91%, 91%, 0.02);--t448:hsla(326, 91%, 91%, 0.01);--t449:hsla(316, 29%, 10%, 0.1);--t450:hsla(316, 29%, 10%, 0.075);--t451:hsla(316, 29%, 10%, 0.05);--t452:hsla(316, 29%, 10%, 0.025);--t453:hsla(316, 29%, 10%, 0.02);--t454:hsla(316, 29%, 10%, 0.01);--t455:hsla(317, 17%, 8%, 0.2);--t456:hsla(317, 17%, 8%, 0.4);--t457:hsla(317, 17%, 8%, 0.6);--t458:hsla(317, 17%, 8%, 0.8);--t459:hsla(282, 22%, 9%, 0);--t460:hsla(279, 25%, 11%, 0.2);--t461:hsla(279, 25%, 11%, 0.4);--t462:hsla(279, 25%, 11%, 0.6);--t463:hsla(279, 25%, 11%, 0.8);--t464:hsla(282, 23%, 9%, 1);--t465:hsla(279, 25%, 11%, 1);--t466:hsla(279, 36%, 17%, 1);--t467:hsla(277, 39%, 22%, 1);--t468:hsla(276, 38%, 26%, 1);--t469:hsla(275, 35%, 31%, 1);--t470:hsla(274, 33%, 38%, 1);--t471:hsla(273, 33%, 50%, 1);--t472:hsla(272, 51%, 54%, 1);--t473:hsla(272, 55%, 59%, 1);--t474:hsla(272, 100%, 81%, 1);--t475:hsla(275, 77%, 92%, 1);--t476:hsla(275, 76%, 92%, 0);--t477:hsla(275, 76%, 92%, 0.2);--t478:hsla(275, 76%, 92%, 0.4);--t479:hsla(275, 76%, 92%, 0.6);--t480:hsla(275, 76%, 92%, 0.8);--t481:hsla(275, 76%, 92%, 0.1);--t482:hsla(275, 76%, 92%, 0.075);--t483:hsla(275, 76%, 92%, 0.05);--t484:hsla(275, 76%, 92%, 0.025);--t485:hsla(275, 76%, 92%, 0.02);--t486:hsla(275, 76%, 92%, 0.01);--t487:hsla(279, 25%, 11%, 0.1);--t488:hsla(279, 25%, 11%, 0.075);--t489:hsla(279, 25%, 11%, 0.05);--t490:hsla(279, 25%, 11%, 0.025);--t491:hsla(279, 25%, 11%, 0.02);--t492:hsla(279, 25%, 11%, 0.01);--t493:hsla(282, 22%, 9%, 0.2);--t494:hsla(282, 22%, 9%, 0.4);--t495:hsla(282, 22%, 9%, 0.6);--t496:hsla(282, 22%, 9%, 0.8);--t497:hsla(0, 17%, 8%, 0);--t498:hsla(355, 25%, 10%, 0.2);--t499:hsla(355, 25%, 10%, 0.4);--t500:hsla(355, 25%, 10%, 0.6);--t501:hsla(355, 25%, 10%, 0.8);--t502:hsla(0, 19%, 8%, 1);--t503:hsla(355, 25%, 10%, 1);--t504:hsla(350, 53%, 15%, 1);--t505:hsla(348, 68%, 19%, 1);--t506:hsla(350, 63%, 23%, 1);--t507:hsla(352, 53%, 29%, 1);--t508:hsla(355, 47%, 37%, 1);--t509:hsla(358, 45%, 49%, 1);--t510:hsla(358, 75%, 59%, 1);--t511:hsla(360, 79%, 65%, 1);--t512:hsla(2, 100%, 79%, 1);--t513:hsla(350, 100%, 91%, 1);--t514:hsla(350, 100%, 91%, 0);--t515:hsla(350, 100%, 91%, 0.2);--t516:hsla(350, 100%, 91%, 0.4);--t517:hsla(350, 100%, 91%, 0.6);--t518:hsla(350, 100%, 91%, 0.8);--t519:hsla(350, 100%, 91%, 0.1);--t520:hsla(350, 100%, 91%, 0.075);--t521:hsla(350, 100%, 91%, 0.05);--t522:hsla(350, 100%, 91%, 0.025);--t523:hsla(350, 100%, 91%, 0.02);--t524:hsla(350, 100%, 91%, 0.01);--t525:hsla(355, 25%, 10%, 0.1);--t526:hsla(355, 25%, 10%, 0.075);--t527:hsla(355, 25%, 10%, 0.05);--t528:hsla(355, 25%, 10%, 0.025);--t529:hsla(355, 25%, 10%, 0.02);--t530:hsla(355, 25%, 10%, 0.01);--t531:hsla(0, 17%, 8%, 0.2);--t532:hsla(0, 17%, 8%, 0.4);--t533:hsla(0, 17%, 8%, 0.6);--t534:hsla(0, 17%, 8%, 0.8);--t535:hsla(173, 22%, 7%, 0);--t536:hsla(175, 24%, 9%, 0.2);--t537:hsla(175, 24%, 9%, 0.4);--t538:hsla(175, 24%, 9%, 0.6);--t539:hsla(175, 24%, 9%, 0.8);--t540:hsla(173, 24%, 7%, 1);--t541:hsla(175, 24%, 9%, 1);--t542:hsla(174, 55%, 11%, 1);--t543:hsla(176, 93%, 12%, 1);--t544:hsla(175, 80%, 16%, 1);--t545:hsla(174, 63%, 21%, 1);--t546:hsla(174, 58%, 26%, 1);--t547:hsla(173, 59%, 31%, 1);--t548:hsla(173, 80%, 36%, 1);--t549:hsla(172, 85%, 38%, 1);--t550:hsla(170, 90%, 45%, 1);--t551:hsla(163, 69%, 81%, 1);--t552:hsla(163, 69%, 81%, 0);--t553:hsla(163, 69%, 81%, 0.2);--t554:hsla(163, 69%, 81%, 0.4);--t555:hsla(163, 69%, 81%, 0.6);--t556:hsla(163, 69%, 81%, 0.8);--t557:hsla(163, 69%, 81%, 0.1);--t558:hsla(163, 69%, 81%, 0.075);--t559:hsla(163, 69%, 81%, 0.05);--t560:hsla(163, 69%, 81%, 0.025);--t561:hsla(163, 69%, 81%, 0.02);--t562:hsla(163, 69%, 81%, 0.01);--t563:hsla(175, 24%, 9%, 0.1);--t564:hsla(175, 24%, 9%, 0.075);--t565:hsla(175, 24%, 9%, 0.05);--t566:hsla(175, 24%, 9%, 0.025);--t567:hsla(175, 24%, 9%, 0.02);--t568:hsla(175, 24%, 9%, 0.01);--t569:hsla(173, 22%, 7%, 0.2);--t570:hsla(173, 22%, 7%, 0.4);--t571:hsla(173, 22%, 7%, 0.6);--t572:hsla(173, 22%, 7%, 0.8);--t573:hsla(47, 29%, 6%, 0);--t574:hsla(45, 29%, 8%, 0.2);--t575:hsla(45, 29%, 8%, 0.4);--t576:hsla(45, 29%, 8%, 0.6);--t577:hsla(45, 29%, 8%, 0.8);--t578:hsla(47, 29%, 6%, 1);--t579:hsla(45, 29%, 8%, 1);--t580:hsla(45, 80%, 10%, 1);--t581:hsla(48, 100%, 11%, 1);--t582:hsla(47, 100%, 13%, 1);--t583:hsla(48, 95%, 16%, 1);--t584:hsla(46, 63%, 25%, 1);--t585:hsla(45, 60%, 32%, 1);--t586:hsla(53, 100%, 58%, 1);--t587:hsla(60, 100%, 67%, 1);--t588:hsla(53, 90%, 62%, 1);--t589:hsla(53, 79%, 84%, 1);--t590:hsla(53, 78%, 84%, 0);--t591:hsla(53, 78%, 84%, 0.2);--t592:hsla(53, 78%, 84%, 0.4);--t593:hsla(53, 78%, 84%, 0.6);--t594:hsla(53, 78%, 84%, 0.8);--t595:hsla(53, 78%, 84%, 0.1);--t596:hsla(53, 78%, 84%, 0.075);--t597:hsla(53, 78%, 84%, 0.05);--t598:hsla(53, 78%, 84%, 0.025);--t599:hsla(53, 78%, 84%, 0.02);--t600:hsla(53, 78%, 84%, 0.01);--t601:hsla(45, 29%, 8%, 0.1);--t602:hsla(45, 29%, 8%, 0.075);--t603:hsla(45, 29%, 8%, 0.05);--t604:hsla(45, 29%, 8%, 0.025);--t605:hsla(45, 29%, 8%, 0.02);--t606:hsla(45, 29%, 8%, 0.01);--t607:hsla(47, 29%, 6%, 0.2);--t608:hsla(47, 29%, 6%, 0.4);--t609:hsla(47, 29%, 6%, 0.6);--t610:hsla(47, 29%, 6%, 0.8);--t611:var(--border, rgb(0 0 0 / .10));--t612:var(--foreground, #0a0a0a);--t613:rgba(0,0,0,0.04);--t614:rgba(0,0,0,0.08);--t615:rgba(0,0,0,0.12);--t616:rgba(0,0,0,0.22);--t617:rgba(0,0,0,0.44);--t618:rgba(0,0,0,0.75);--t619:rgba(255,255,255,0.05);--t620:rgba(255,255,255,0.15);--t621:rgba(255,255,255,0.55);--t622:rgba(255,255,255,0.7);--t623:#fcfcfc;--t624:#f9f9f9;--t625:#f0f0f0;--t626:#e8e8e8;--t627:#e0e0e0;--t628:#d9d9d9;--t629:#cecece;--t630:#bbbbbb;--t631:#8d8d8d;--t632:#838383;--t633:#646464;--t634:#202020;--t635:#fbfdff;--t636:#f4faff;--t637:#e6f4fe;--t638:#d5efff;--t639:#c2e5ff;--t640:#acd8fc;--t641:#8ec8f6;--t642:#5eb1ef;--t643:#0588f0;--t644:#0d74ce;--t645:#113264;--t646:#fffcfc;--t647:#fff7f7;--t648:#feebec;--t649:#ffdbdc;--t650:#ffcdce;--t651:#fdbdbe;--t652:#f4a9aa;--t653:#eb8e90;--t654:#dc3e42;--t655:#ce2c31;--t656:#641723;--t657:#fdfdf9;--t658:#fefce9;--t659:#fffab8;--t660:#fff394;--t661:#ffe770;--t662:#f3d768;--t663:#e4c767;--t664:#d5ae39;--t665:#ffdc00;--t666:#9e6c00;--t667:#473b1f;--t668:#fbfefc;--t669:#f4fbf6;--t670:#e6f6eb;--t671:#d6f1df;--t672:#c4e8d1;--t673:#adddc0;--t674:#8eceaa;--t675:#5bb98b;--t676:#2b9a66;--t677:#218358;--t678:#193b2d;--t679:#fefcfb;--t680:#fff7ed;--t681:#ffefd6;--t682:#ffdfb5;--t683:#ffd19a;--t684:#ffc182;--t685:#f5ae73;--t686:#ec9455;--t687:#ef5f00;--t688:#cc4e00;--t689:#582d1d;--t690:#fffcfe;--t691:#fef7fb;--t692:#fee9f5;--t693:#fbdcef;--t694:#f6cee7;--t695:#efbfdd;--t696:#e7acd0;--t697:#dd93c2;--t698:#cf3897;--t699:#c2298a;--t700:#651249;--t701:#fefcfe;--t702:#fbf7fe;--t703:#f7edfe;--t704:#f2e2fc;--t705:#ead5f9;--t706:#e0c4f4;--t707:#d1afec;--t708:#be93e4;--t709:#8347b9;--t710:#8145b5;--t711:#402060;--t712:#fafefd;--t713:#f3fbf9;--t714:#e0f8f3;--t715:#ccf3ea;--t716:#b8eae0;--t717:#a1ded2;--t718:#83cdc1;--t719:#53b9ab;--t720:#0d9b8a;--t721:#008573;--t722:#0d3d38;--t723:var(--ring, rgb(0 0 0 / .5));--t724:hsla(216, 100%, 99%, 0);--t725:hsla(207, 100%, 98%, 0.2);--t726:hsla(207, 100%, 98%, 0.4);--t727:hsla(207, 100%, 98%, 0.6);--t728:hsla(207, 100%, 98%, 0.8);--t729:hsla(210, 100%, 99%, 1);--t730:hsla(207, 100%, 98%, 1);--t731:hsla(205, 92%, 95%, 1);--t732:hsla(203, 100%, 92%, 1);--t733:hsla(206, 100%, 88%, 1);--t734:hsla(207, 93%, 83%, 1);--t735:hsla(207, 85%, 76%, 1);--t736:hsla(206, 82%, 65%, 1);--t737:hsla(207, 96%, 48%, 1);--t738:hsla(208, 88%, 43%, 1);--t739:hsla(216, 71%, 23%, 1);--t740:hsla(216, 71%, 23%, 0);--t741:hsla(216, 71%, 23%, 0.2);--t742:hsla(216, 71%, 23%, 0.4);--t743:hsla(216, 71%, 23%, 0.6);--t744:hsla(216, 71%, 23%, 0.8);--t745:hsla(216, 71%, 23%, 0.1);--t746:hsla(216, 71%, 23%, 0.075);--t747:hsla(216, 71%, 23%, 0.05);--t748:hsla(216, 71%, 23%, 0.025);--t749:hsla(216, 71%, 23%, 0.02);--t750:hsla(216, 71%, 23%, 0.01);--t751:hsla(207, 100%, 98%, 0.1);--t752:hsla(207, 100%, 98%, 0.075);--t753:hsla(207, 100%, 98%, 0.05);--t754:hsla(207, 100%, 98%, 0.025);--t755:hsla(207, 100%, 98%, 0.02);--t756:hsla(207, 100%, 98%, 0.01);--t757:hsla(216, 100%, 99%, 0.2);--t758:hsla(216, 100%, 99%, 0.4);--t759:hsla(216, 100%, 99%, 0.6);--t760:hsla(216, 100%, 99%, 0.8);--t761:hsla(0, 0%, 99%, 0);--t762:hsla(0, 0%, 98%, 0.2);--t763:hsla(0, 0%, 98%, 0.4);--t764:hsla(0, 0%, 98%, 0.6);--t765:hsla(0, 0%, 98%, 0.8);--t766:hsla(0, 0%, 99%, 1);--t767:hsla(0, 0%, 98%, 1);--t768:hsla(0, 0%, 94%, 1);--t769:hsla(0, 0%, 91%, 1);--t770:hsla(0, 0%, 88%, 1);--t771:hsla(0, 0%, 81%, 1);--t772:hsla(0, 0%, 73%, 1);--t773:hsla(0, 0%, 55%, 1);--t774:hsla(0, 0%, 51%, 1);--t775:hsla(0, 0%, 39%, 1);--t776:hsla(0, 0%, 13%, 0);--t777:hsla(0, 0%, 13%, 0.2);--t778:hsla(0, 0%, 13%, 0.4);--t779:hsla(0, 0%, 13%, 0.6);--t780:hsla(0, 0%, 13%, 0.8);--t781:hsla(0, 0%, 13%, 0.1);--t782:hsla(0, 0%, 13%, 0.075);--t783:hsla(0, 0%, 13%, 0.05);--t784:hsla(0, 0%, 13%, 0.025);--t785:hsla(0, 0%, 13%, 0.02);--t786:hsla(0, 0%, 13%, 0.01);--t787:hsla(0, 0%, 98%, 0.1);--t788:hsla(0, 0%, 98%, 0.075);--t789:hsla(0, 0%, 98%, 0.05);--t790:hsla(0, 0%, 98%, 0.025);--t791:hsla(0, 0%, 98%, 0.02);--t792:hsla(0, 0%, 98%, 0.01);--t793:hsla(0, 0%, 99%, 0.2);--t794:hsla(0, 0%, 99%, 0.4);--t795:hsla(0, 0%, 99%, 0.6);--t796:hsla(0, 0%, 99%, 0.8);--t797:hsla(140, 60%, 99%, 0);--t798:hsla(137, 47%, 97%, 0.2);--t799:hsla(137, 47%, 97%, 0.4);--t800:hsla(137, 47%, 97%, 0.6);--t801:hsla(137, 47%, 97%, 0.8);--t802:hsla(140, 60%, 99%, 1);--t803:hsla(137, 47%, 97%, 1);--t804:hsla(139, 47%, 93%, 1);--t805:hsla(140, 49%, 89%, 1);--t806:hsla(142, 44%, 84%, 1);--t807:hsla(144, 41%, 77%, 1);--t808:hsla(146, 40%, 68%, 1);--t809:hsla(151, 40%, 54%, 1);--t810:hsla(152, 56%, 39%, 1);--t811:hsla(154, 60%, 32%, 1);--t812:hsla(155, 40%, 16%, 1);--t813:hsla(156, 41%, 16%, 0);--t814:hsla(156, 41%, 16%, 0.2);--t815:hsla(156, 41%, 16%, 0.4);--t816:hsla(156, 41%, 16%, 0.6);--t817:hsla(156, 41%, 16%, 0.8);--t818:hsla(156, 41%, 16%, 0.1);--t819:hsla(156, 41%, 16%, 0.075);--t820:hsla(156, 41%, 16%, 0.05);--t821:hsla(156, 41%, 16%, 0.025);--t822:hsla(156, 41%, 16%, 0.02);--t823:hsla(156, 41%, 16%, 0.01);--t824:hsla(137, 47%, 97%, 0.1);--t825:hsla(137, 47%, 97%, 0.075);--t826:hsla(137, 47%, 97%, 0.05);--t827:hsla(137, 47%, 97%, 0.025);--t828:hsla(137, 47%, 97%, 0.02);--t829:hsla(137, 47%, 97%, 0.01);--t830:hsla(140, 60%, 99%, 0.2);--t831:hsla(140, 60%, 99%, 0.4);--t832:hsla(140, 60%, 99%, 0.6);--t833:hsla(140, 60%, 99%, 0.8);--t834:hsla(20, 60%, 99%, 0);--t835:hsla(33, 100%, 96%, 0.2);--t836:hsla(33, 100%, 96%, 0.4);--t837:hsla(33, 100%, 96%, 0.6);--t838:hsla(33, 100%, 96%, 0.8);--t839:hsla(20, 60%, 99%, 1);--t840:hsla(33, 100%, 96%, 1);--t841:hsla(37, 100%, 92%, 1);--t842:hsla(34, 100%, 85%, 1);--t843:hsla(33, 100%, 80%, 1);--t844:hsla(30, 100%, 75%, 1);--t845:hsla(27, 87%, 71%, 1);--t846:hsla(25, 80%, 63%, 1);--t847:hsla(24, 100%, 47%, 1);--t848:hsla(23, 100%, 40%, 1);--t849:hsla(16, 50%, 23%, 1);--t850:hsla(16, 50%, 23%, 0);--t851:hsla(16, 50%, 23%, 0.2);--t852:hsla(16, 50%, 23%, 0.4);--t853:hsla(16, 50%, 23%, 0.6);--t854:hsla(16, 50%, 23%, 0.8);--t855:hsla(16, 50%, 23%, 0.1);--t856:hsla(16, 50%, 23%, 0.075);--t857:hsla(16, 50%, 23%, 0.05);--t858:hsla(16, 50%, 23%, 0.025);--t859:hsla(16, 50%, 23%, 0.02);--t860:hsla(16, 50%, 23%, 0.01);--t861:hsla(33, 100%, 96%, 0.1);--t862:hsla(33, 100%, 96%, 0.075);--t863:hsla(33, 100%, 96%, 0.05);--t864:hsla(33, 100%, 96%, 0.025);--t865:hsla(33, 100%, 96%, 0.02);--t866:hsla(33, 100%, 96%, 0.01);--t867:hsla(20, 60%, 99%, 0.2);--t868:hsla(20, 60%, 99%, 0.4);--t869:hsla(20, 60%, 99%, 0.6);--t870:hsla(20, 60%, 99%, 0.8);--t871:hsla(324, 100%, 99%, 0);--t872:hsla(326, 78%, 98%, 0.2);--t873:hsla(326, 78%, 98%, 0.4);--t874:hsla(326, 78%, 98%, 0.6);--t875:hsla(326, 78%, 98%, 0.8);--t876:hsla(320, 100%, 99%, 1);--t877:hsla(326, 78%, 98%, 1);--t878:hsla(326, 91%, 95%, 1);--t879:hsla(323, 79%, 92%, 1);--t880:hsla(323, 69%, 89%, 1);--t881:hsla(323, 60%, 84%, 1);--t882:hsla(323, 55%, 79%, 1);--t883:hsla(322, 52%, 72%, 1);--t884:hsla(322, 61%, 52%, 1);--t885:hsla(322, 65%, 46%, 1);--t886:hsla(320, 70%, 23%, 1);--t887:hsla(320, 69%, 23%, 0);--t888:hsla(320, 69%, 23%, 0.2);--t889:hsla(320, 69%, 23%, 0.4);--t890:hsla(320, 69%, 23%, 0.6);--t891:hsla(320, 69%, 23%, 0.8);--t892:hsla(320, 69%, 23%, 0.1);--t893:hsla(320, 69%, 23%, 0.075);--t894:hsla(320, 69%, 23%, 0.05);--t895:hsla(320, 69%, 23%, 0.025);--t896:hsla(320, 69%, 23%, 0.02);--t897:hsla(320, 69%, 23%, 0.01);--t898:hsla(326, 78%, 98%, 0.1);--t899:hsla(326, 78%, 98%, 0.075);--t900:hsla(326, 78%, 98%, 0.05);--t901:hsla(326, 78%, 98%, 0.025);--t902:hsla(326, 78%, 98%, 0.02);--t903:hsla(326, 78%, 98%, 0.01);--t904:hsla(324, 100%, 99%, 0.2);--t905:hsla(324, 100%, 99%, 0.4);--t906:hsla(324, 100%, 99%, 0.6);--t907:hsla(324, 100%, 99%, 0.8);--t908:hsla(300, 60%, 99%, 0);--t909:hsla(274, 78%, 98%, 0.2);--t910:hsla(274, 78%, 98%, 0.4);--t911:hsla(274, 78%, 98%, 0.6);--t912:hsla(274, 78%, 98%, 0.8);--t913:hsla(300, 50%, 99%, 1);--t914:hsla(274, 78%, 98%, 1);--t915:hsla(275, 89%, 96%, 1);--t916:hsla(277, 81%, 94%, 1);--t917:hsla(275, 75%, 91%, 1);--t918:hsla(275, 69%, 86%, 1);--t919:hsla(273, 62%, 81%, 1);--t920:hsla(272, 60%, 74%, 1);--t921:hsla(272, 45%, 50%, 1);--t922:hsla(272, 45%, 49%, 1);--t923:hsla(270, 50%, 25%, 1);--t924:hsla(270, 50%, 25%, 0);--t925:hsla(270, 50%, 25%, 0.2);--t926:hsla(270, 50%, 25%, 0.4);--t927:hsla(270, 50%, 25%, 0.6);--t928:hsla(270, 50%, 25%, 0.8);--t929:hsla(270, 50%, 25%, 0.1);--t930:hsla(270, 50%, 25%, 0.075);--t931:hsla(270, 50%, 25%, 0.05);--t932:hsla(270, 50%, 25%, 0.025);--t933:hsla(270, 50%, 25%, 0.02);--t934:hsla(270, 50%, 25%, 0.01);--t935:hsla(274, 78%, 98%, 0.1);--t936:hsla(274, 78%, 98%, 0.075);--t937:hsla(274, 78%, 98%, 0.05);--t938:hsla(274, 78%, 98%, 0.025);--t939:hsla(274, 78%, 98%, 0.02);--t940:hsla(274, 78%, 98%, 0.01);--t941:hsla(300, 60%, 99%, 0.2);--t942:hsla(300, 60%, 99%, 0.4);--t943:hsla(300, 60%, 99%, 0.6);--t944:hsla(300, 60%, 99%, 0.8);--t945:hsla(0, 100%, 99%, 0);--t946:hsla(0, 100%, 98%, 0.2);--t947:hsla(0, 100%, 98%, 0.4);--t948:hsla(0, 100%, 98%, 0.6);--t949:hsla(0, 100%, 98%, 0.8);--t950:hsla(0, 100%, 99%, 1);--t951:hsla(0, 100%, 98%, 1);--t952:hsla(357, 90%, 96%, 1);--t953:hsla(358, 100%, 93%, 1);--t954:hsla(359, 100%, 90%, 1);--t955:hsla(359, 94%, 87%, 1);--t956:hsla(359, 77%, 81%, 1);--t957:hsla(359, 70%, 74%, 1);--t958:hsla(358, 69%, 55%, 1);--t959:hsla(358, 65%, 49%, 1);--t960:hsla(351, 63%, 24%, 1);--t961:hsla(351, 63%, 24%, 0);--t962:hsla(351, 63%, 24%, 0.2);--t963:hsla(351, 63%, 24%, 0.4);--t964:hsla(351, 63%, 24%, 0.6);--t965:hsla(351, 63%, 24%, 0.8);--t966:hsla(351, 63%, 24%, 0.1);--t967:hsla(351, 63%, 24%, 0.075);--t968:hsla(351, 63%, 24%, 0.05);--t969:hsla(351, 63%, 24%, 0.025);--t970:hsla(351, 63%, 24%, 0.02);--t971:hsla(351, 63%, 24%, 0.01);--t972:hsla(0, 100%, 98%, 0.1);--t973:hsla(0, 100%, 98%, 0.075);--t974:hsla(0, 100%, 98%, 0.05);--t975:hsla(0, 100%, 98%, 0.025);--t976:hsla(0, 100%, 98%, 0.02);--t977:hsla(0, 100%, 98%, 0.01);--t978:hsla(0, 100%, 99%, 0.2);--t979:hsla(0, 100%, 99%, 0.4);--t980:hsla(0, 100%, 99%, 0.6);--t981:hsla(0, 100%, 99%, 0.8);--t982:hsla(160, 60%, 99%, 0);--t983:hsla(165, 50%, 97%, 0.2);--t984:hsla(165, 50%, 97%, 0.4);--t985:hsla(165, 50%, 97%, 0.6);--t986:hsla(165, 50%, 97%, 0.8);--t987:hsla(165, 67%, 99%, 1);--t988:hsla(165, 50%, 97%, 1);--t989:hsla(167, 63%, 93%, 1);--t990:hsla(166, 62%, 88%, 1);--t991:hsla(168, 54%, 82%, 1);--t992:hsla(168, 48%, 75%, 1);--t993:hsla(170, 43%, 66%, 1);--t994:hsla(172, 42%, 53%, 1);--t995:hsla(173, 85%, 33%, 1);--t996:hsla(172, 100%, 26%, 1);--t997:hsla(174, 65%, 15%, 1);--t998:hsla(174, 66%, 15%, 0);--t999:hsla(174, 66%, 15%, 0.2);--t1000:hsla(174, 66%, 15%, 0.4);--t1001:hsla(174, 66%, 15%, 0.6);--t1002:hsla(174, 66%, 15%, 0.8);--t1003:hsla(174, 66%, 15%, 0.1);--t1004:hsla(174, 66%, 15%, 0.075);--t1005:hsla(174, 66%, 15%, 0.05);--t1006:hsla(174, 66%, 15%, 0.025);--t1007:hsla(174, 66%, 15%, 0.02);--t1008:hsla(174, 66%, 15%, 0.01);--t1009:hsla(165, 50%, 97%, 0.1);--t1010:hsla(165, 50%, 97%, 0.075);--t1011:hsla(165, 50%, 97%, 0.05);--t1012:hsla(165, 50%, 97%, 0.025);--t1013:hsla(165, 50%, 97%, 0.02);--t1014:hsla(165, 50%, 97%, 0.01);--t1015:hsla(160, 60%, 99%, 0.2);--t1016:hsla(160, 60%, 99%, 0.4);--t1017:hsla(160, 60%, 99%, 0.6);--t1018:hsla(160, 60%, 99%, 0.8);--t1019:hsla(60, 45%, 98%, 0);--t1020:hsla(54, 91%, 95%, 0.2);--t1021:hsla(54, 91%, 95%, 0.4);--t1022:hsla(54, 91%, 95%, 0.6);--t1023:hsla(54, 91%, 95%, 0.8);--t1024:hsla(60, 50%, 98%, 1);--t1025:hsla(54, 91%, 95%, 1);--t1026:hsla(56, 100%, 86%, 1);--t1027:hsla(53, 100%, 79%, 1);--t1028:hsla(50, 100%, 72%, 1);--t1029:hsla(48, 85%, 68%, 1);--t1030:hsla(46, 70%, 65%, 1);--t1031:hsla(45, 65%, 53%, 1);--t1032:hsla(52, 100%, 50%, 1);--t1033:hsla(41, 100%, 31%, 1);--t1034:hsla(42, 39%, 20%, 1);--t1035:hsla(42, 39%, 20%, 0);--t1036:hsla(42, 39%, 20%, 0.2);--t1037:hsla(42, 39%, 20%, 0.4);--t1038:hsla(42, 39%, 20%, 0.6);--t1039:hsla(42, 39%, 20%, 0.8);--t1040:hsla(42, 39%, 20%, 0.1);--t1041:hsla(42, 39%, 20%, 0.075);--t1042:hsla(42, 39%, 20%, 0.05);--t1043:hsla(42, 39%, 20%, 0.025);--t1044:hsla(42, 39%, 20%, 0.02);--t1045:hsla(42, 39%, 20%, 0.01);--t1046:hsla(54, 91%, 95%, 0.1);--t1047:hsla(54, 91%, 95%, 0.075);--t1048:hsla(54, 91%, 95%, 0.05);--t1049:hsla(54, 91%, 95%, 0.025);--t1050:hsla(54, 91%, 95%, 0.02);--t1051:hsla(54, 91%, 95%, 0.01);--t1052:hsla(60, 45%, 98%, 0.2);--t1053:hsla(60, 45%, 98%, 0.4);--t1054:hsla(60, 45%, 98%, 0.6);--t1055:hsla(60, 45%, 98%, 0.8)}
1674
1706
  :root { --c-radius-0:0px; --c-radius-1:6px; --c-radius-10:9999px; --c-radius-11:9999px; --c-radius-12:9999px; --c-radius-2:6px; --c-radius-3:8px; --c-radius-4:8px; --c-radius-5:12px; --c-radius-6:12px; --c-radius-7:12px; --c-radius-8:12px; --c-radius-9:12px; --c-radius-true:8px; --c-size-0:0px; --c-size-0--25:2px; --c-size-0--5:4px; --c-size-0--75:8px; --c-size-1:20px; --c-size-1--5:24px; --c-size-10:104px; --c-size-11:124px; --c-size-12:144px; --c-size-13:164px; --c-size-14:184px; --c-size-15:204px; --c-size-16:224px; --c-size-17:224px; --c-size-18:244px; --c-size-19:264px; --c-size-2:28px; --c-size-2--5:32px; --c-size-20:284px; --c-size-3:36px; --c-size-3--5:40px; --c-size-4:44px; --c-size-4--5:48px; --c-size-5:52px; --c-size-6:64px; --c-size-7:74px; --c-size-8:84px; --c-size-9:94px; --c-size-true:44px; --c-space--0:0px; --c-space--0--25:-1px; --c-space--0--5:-2px; --c-space--0--75:-3px; --c-space--1:-4px; --c-space--1--5:-6px; --c-space--10:-64px; --c-space--11:-80px; --c-space--12:-96px; --c-space--13:-112px; --c-space--14:-128px; --c-space--15:-144px; --c-space--16:-160px; --c-space--17:-160px; --c-space--18:-176px; --c-space--19:-192px; --c-space--2:-8px; --c-space--2--5:-10px; --c-space--20:-208px; --c-space--3:-12px; --c-space--3--5:-14px; --c-space--4:-16px; --c-space--4--5:-20px; --c-space--5:-24px; --c-space--6:-32px; --c-space--7:-40px; --c-space--8:-48px; --c-space--9:-56px; --c-space--true:-16px; --c-space-0:0px; --c-space-0--25:1px; --c-space-0--5:2px; --c-space-0--75:3px; --c-space-1:4px; --c-space-1--5:6px; --c-space-10:64px; --c-space-11:80px; --c-space-12:96px; --c-space-13:112px; --c-space-14:128px; --c-space-15:144px; --c-space-16:160px; --c-space-17:160px; --c-space-18:176px; --c-space-19:192px; --c-space-2:8px; --c-space-2--5:10px; --c-space-20:208px; --c-space-3:12px; --c-space-3--5:14px; --c-space-4:16px; --c-space-4--5:20px; --c-space-5:24px; --c-space-6:32px; --c-space-7:40px; --c-space-8:48px; --c-space-9:56px; --c-space-true:16px; --c-zIndex-0:0; --c-zIndex-1:100; --c-zIndex-2:200; --c-zIndex-3:300; --c-zIndex-4:400; --c-zIndex-5:500
1675
1707
  }
1676
- :root .font_body, :root .t_lang-body-default .font_body { --f-family:'Geist', system-ui, -apple-system, sans-serif; --f-lineHeight-1:16px; --f-lineHeight-2:18px; --f-lineHeight-3:20px; --f-lineHeight-4:22px; --f-lineHeight-5:22px; --f-lineHeight-6:24px; --f-lineHeight-7:28px; --f-lineHeight-8:32px; --f-lineHeight-9:32px; --f-lineHeight-10:38px; --f-lineHeight-11:46px; --f-lineHeight-12:54px; --f-lineHeight-13:62px; --f-lineHeight-14:70px; --f-lineHeight-15:86px; --f-lineHeight-16:102px; --f-lineHeight-true:20px; --f-weight-1:400; --f-weight-2:400; --f-weight-3:400; --f-weight-4:400; --f-weight-5:400; --f-weight-6:400; --f-weight-7:400; --f-weight-8:400; --f-weight-9:400; --f-weight-10:400; --f-weight-11:400; --f-weight-12:400; --f-weight-13:400; --f-weight-14:400; --f-weight-15:400; --f-weight-16:400; --f-weight-true:400; --f-letterSpacing-1:0px; --f-letterSpacing-2:0px; --f-letterSpacing-3:0px; --f-letterSpacing-4:0px; --f-letterSpacing-5:0px; --f-letterSpacing-6:0px; --f-letterSpacing-7:0px; --f-letterSpacing-8:0px; --f-letterSpacing-9:0px; --f-letterSpacing-10:0px; --f-letterSpacing-11:0px; --f-letterSpacing-12:0px; --f-letterSpacing-13:0px; --f-letterSpacing-14:0px; --f-letterSpacing-15:0px; --f-letterSpacing-16:0px; --f-letterSpacing-true:0px; --f-size-1:11px; --f-size-2:13px; --f-size-3:14px; --f-size-4:15px; --f-size-5:15px; --f-size-6:17px; --f-size-7:21px; --f-size-8:26px; --f-size-9:26px; --f-size-10:32px; --f-size-11:40px; --f-size-12:48px; --f-size-13:56px; --f-size-14:64px; --f-size-15:80px; --f-size-16:96px; --f-size-true:14px
1708
+ :root .font_body, :root .t_lang-body-default .font_body { --f-family:'Geist', system-ui, -apple-system, sans-serif; --f-lineHeight-1:calc(16px * var(--type-scale, 1)); --f-lineHeight-2:calc(18px * var(--type-scale, 1)); --f-lineHeight-3:calc(20px * var(--type-scale, 1)); --f-lineHeight-4:calc(22px * var(--type-scale, 1)); --f-lineHeight-5:calc(22px * var(--type-scale, 1)); --f-lineHeight-6:calc(24px * var(--type-scale, 1)); --f-lineHeight-7:calc(28px * var(--type-scale, 1)); --f-lineHeight-8:calc(32px * var(--type-scale, 1)); --f-lineHeight-9:calc(32px * var(--type-scale, 1)); --f-lineHeight-10:calc(38px * var(--type-scale, 1)); --f-lineHeight-11:calc(46px * var(--type-scale, 1)); --f-lineHeight-12:calc(54px * var(--type-scale, 1)); --f-lineHeight-13:calc(62px * var(--type-scale, 1)); --f-lineHeight-14:calc(70px * var(--type-scale, 1)); --f-lineHeight-15:calc(86px * var(--type-scale, 1)); --f-lineHeight-16:calc(102px * var(--type-scale, 1)); --f-lineHeight-true:calc(20px * var(--type-scale, 1)); --f-weight-1:400; --f-weight-2:400; --f-weight-3:400; --f-weight-4:400; --f-weight-5:400; --f-weight-6:400; --f-weight-7:400; --f-weight-8:400; --f-weight-9:400; --f-weight-10:400; --f-weight-11:400; --f-weight-12:400; --f-weight-13:400; --f-weight-14:400; --f-weight-15:400; --f-weight-16:400; --f-weight-true:400; --f-letterSpacing-1:0px; --f-letterSpacing-2:0px; --f-letterSpacing-3:0px; --f-letterSpacing-4:0px; --f-letterSpacing-5:0px; --f-letterSpacing-6:0px; --f-letterSpacing-7:0px; --f-letterSpacing-8:0px; --f-letterSpacing-9:0px; --f-letterSpacing-10:0px; --f-letterSpacing-11:0px; --f-letterSpacing-12:0px; --f-letterSpacing-13:0px; --f-letterSpacing-14:0px; --f-letterSpacing-15:0px; --f-letterSpacing-16:0px; --f-letterSpacing-true:0px; --f-size-1:var(--text-xs, 11px); --f-size-2:var(--text-sm, 13px); --f-size-3:var(--text-base, 14px); --f-size-4:var(--text-lg, 15px); --f-size-5:var(--text-lg, 15px); --f-size-6:var(--text-xl, 17px); --f-size-7:var(--text-2xl, 21px); --f-size-8:var(--text-3xl, 26px); --f-size-9:var(--text-3xl, 26px); --f-size-10:var(--text-4xl, 32px); --f-size-11:var(--text-5xl, 40px); --f-size-12:calc(48px * var(--type-scale, 1)); --f-size-13:calc(56px * var(--type-scale, 1)); --f-size-14:var(--text-7xl, 64px); --f-size-15:calc(80px * var(--type-scale, 1)); --f-size-16:calc(96px * var(--type-scale, 1)); --f-size-true:var(--text-base, 14px)
1677
1709
  }
1678
- :root .font_heading, :root .t_lang-heading-default .font_heading { --f-family:'Geist', system-ui, -apple-system, sans-serif; --f-lineHeight-1:16px; --f-lineHeight-2:18px; --f-lineHeight-3:20px; --f-lineHeight-4:22px; --f-lineHeight-5:22px; --f-lineHeight-6:24px; --f-lineHeight-7:28px; --f-lineHeight-8:32px; --f-lineHeight-9:32px; --f-lineHeight-10:38px; --f-lineHeight-11:46px; --f-lineHeight-12:54px; --f-lineHeight-13:62px; --f-lineHeight-14:70px; --f-lineHeight-15:86px; --f-lineHeight-16:102px; --f-lineHeight-true:20px; --f-weight-0:600; --f-weight-1:600; --f-weight-2:600; --f-weight-3:600; --f-weight-4:600; --f-weight-5:600; --f-weight-6:700; --f-weight-7:700; --f-weight-8:700; --f-weight-9:800; --f-weight-10:800; --f-weight-11:800; --f-weight-12:800; --f-weight-13:800; --f-weight-14:800; --f-weight-15:800; --f-weight-16:800; --f-weight-true:800; --f-letterSpacing-1:0px; --f-letterSpacing-2:0px; --f-letterSpacing-3:0px; --f-letterSpacing-4:0px; --f-letterSpacing-5:0px; --f-letterSpacing-6:0px; --f-letterSpacing-7:0px; --f-letterSpacing-8:0px; --f-letterSpacing-9:0px; --f-letterSpacing-10:0px; --f-letterSpacing-11:0px; --f-letterSpacing-12:0px; --f-letterSpacing-13:0px; --f-letterSpacing-14:0px; --f-letterSpacing-15:0px; --f-letterSpacing-16:0px; --f-letterSpacing-true:0px; --f-size-1:11px; --f-size-2:13px; --f-size-3:14px; --f-size-4:15px; --f-size-5:15px; --f-size-6:17px; --f-size-7:21px; --f-size-8:26px; --f-size-9:26px; --f-size-10:32px; --f-size-11:40px; --f-size-12:48px; --f-size-13:56px; --f-size-14:64px; --f-size-15:80px; --f-size-16:96px; --f-size-true:14px
1710
+ :root .font_heading, :root .t_lang-heading-default .font_heading { --f-family:'Geist', system-ui, -apple-system, sans-serif; --f-lineHeight-1:calc(16px * var(--type-scale, 1)); --f-lineHeight-2:calc(18px * var(--type-scale, 1)); --f-lineHeight-3:calc(20px * var(--type-scale, 1)); --f-lineHeight-4:calc(22px * var(--type-scale, 1)); --f-lineHeight-5:calc(22px * var(--type-scale, 1)); --f-lineHeight-6:calc(24px * var(--type-scale, 1)); --f-lineHeight-7:calc(28px * var(--type-scale, 1)); --f-lineHeight-8:calc(32px * var(--type-scale, 1)); --f-lineHeight-9:calc(32px * var(--type-scale, 1)); --f-lineHeight-10:calc(38px * var(--type-scale, 1)); --f-lineHeight-11:calc(46px * var(--type-scale, 1)); --f-lineHeight-12:calc(54px * var(--type-scale, 1)); --f-lineHeight-13:calc(62px * var(--type-scale, 1)); --f-lineHeight-14:calc(70px * var(--type-scale, 1)); --f-lineHeight-15:calc(86px * var(--type-scale, 1)); --f-lineHeight-16:calc(102px * var(--type-scale, 1)); --f-lineHeight-true:calc(20px * var(--type-scale, 1)); --f-weight-0:600; --f-weight-1:600; --f-weight-2:600; --f-weight-3:600; --f-weight-4:600; --f-weight-5:600; --f-weight-6:700; --f-weight-7:700; --f-weight-8:700; --f-weight-9:800; --f-weight-10:800; --f-weight-11:800; --f-weight-12:800; --f-weight-13:800; --f-weight-14:800; --f-weight-15:800; --f-weight-16:800; --f-weight-true:800; --f-letterSpacing-1:0px; --f-letterSpacing-2:0px; --f-letterSpacing-3:0px; --f-letterSpacing-4:0px; --f-letterSpacing-5:0px; --f-letterSpacing-6:0px; --f-letterSpacing-7:0px; --f-letterSpacing-8:0px; --f-letterSpacing-9:0px; --f-letterSpacing-10:0px; --f-letterSpacing-11:0px; --f-letterSpacing-12:0px; --f-letterSpacing-13:0px; --f-letterSpacing-14:0px; --f-letterSpacing-15:0px; --f-letterSpacing-16:0px; --f-letterSpacing-true:0px; --f-size-1:var(--text-xs, 11px); --f-size-2:var(--text-sm, 13px); --f-size-3:var(--text-base, 14px); --f-size-4:var(--text-lg, 15px); --f-size-5:var(--text-lg, 15px); --f-size-6:var(--text-xl, 17px); --f-size-7:var(--text-2xl, 21px); --f-size-8:var(--text-3xl, 26px); --f-size-9:var(--text-3xl, 26px); --f-size-10:var(--text-4xl, 32px); --f-size-11:var(--text-5xl, 40px); --f-size-12:calc(48px * var(--type-scale, 1)); --f-size-13:calc(56px * var(--type-scale, 1)); --f-size-14:var(--text-7xl, 64px); --f-size-15:calc(80px * var(--type-scale, 1)); --f-size-16:calc(96px * var(--type-scale, 1)); --f-size-true:var(--text-base, 14px)
1679
1711
  }
1680
- :root .font_mono, :root .t_lang-mono-default .font_mono { --f-family:'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; --f-lineHeight-1:16px; --f-lineHeight-2:18px; --f-lineHeight-3:20px; --f-lineHeight-4:22px; --f-lineHeight-5:22px; --f-lineHeight-6:24px; --f-lineHeight-7:28px; --f-lineHeight-8:32px; --f-lineHeight-9:32px; --f-lineHeight-10:38px; --f-lineHeight-11:46px; --f-lineHeight-12:54px; --f-lineHeight-13:62px; --f-lineHeight-14:70px; --f-lineHeight-15:86px; --f-lineHeight-16:102px; --f-lineHeight-true:20px; --f-weight-1:400; --f-weight-2:400; --f-weight-3:400; --f-weight-4:400; --f-weight-5:400; --f-weight-6:400; --f-weight-7:400; --f-weight-8:400; --f-weight-9:400; --f-weight-10:400; --f-weight-11:400; --f-weight-12:400; --f-weight-13:400; --f-weight-14:400; --f-weight-15:400; --f-weight-16:400; --f-weight-true:400; --f-letterSpacing-1:0px; --f-letterSpacing-2:0px; --f-letterSpacing-3:0px; --f-letterSpacing-4:0px; --f-letterSpacing-5:0px; --f-letterSpacing-6:0px; --f-letterSpacing-7:0px; --f-letterSpacing-8:0px; --f-letterSpacing-9:0px; --f-letterSpacing-10:0px; --f-letterSpacing-11:0px; --f-letterSpacing-12:0px; --f-letterSpacing-13:0px; --f-letterSpacing-14:0px; --f-letterSpacing-15:0px; --f-letterSpacing-16:0px; --f-letterSpacing-true:0px; --f-size-1:11px; --f-size-2:13px; --f-size-3:14px; --f-size-4:15px; --f-size-5:15px; --f-size-6:17px; --f-size-7:21px; --f-size-8:26px; --f-size-9:26px; --f-size-10:32px; --f-size-11:40px; --f-size-12:48px; --f-size-13:56px; --f-size-14:64px; --f-size-15:80px; --f-size-16:96px; --f-size-true:14px
1712
+ :root .font_mono, :root .t_lang-mono-default .font_mono { --f-family:'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; --f-lineHeight-1:calc(16px * var(--type-scale, 1)); --f-lineHeight-2:calc(18px * var(--type-scale, 1)); --f-lineHeight-3:calc(20px * var(--type-scale, 1)); --f-lineHeight-4:calc(22px * var(--type-scale, 1)); --f-lineHeight-5:calc(22px * var(--type-scale, 1)); --f-lineHeight-6:calc(24px * var(--type-scale, 1)); --f-lineHeight-7:calc(28px * var(--type-scale, 1)); --f-lineHeight-8:calc(32px * var(--type-scale, 1)); --f-lineHeight-9:calc(32px * var(--type-scale, 1)); --f-lineHeight-10:calc(38px * var(--type-scale, 1)); --f-lineHeight-11:calc(46px * var(--type-scale, 1)); --f-lineHeight-12:calc(54px * var(--type-scale, 1)); --f-lineHeight-13:calc(62px * var(--type-scale, 1)); --f-lineHeight-14:calc(70px * var(--type-scale, 1)); --f-lineHeight-15:calc(86px * var(--type-scale, 1)); --f-lineHeight-16:calc(102px * var(--type-scale, 1)); --f-lineHeight-true:calc(20px * var(--type-scale, 1)); --f-weight-1:400; --f-weight-2:400; --f-weight-3:400; --f-weight-4:400; --f-weight-5:400; --f-weight-6:400; --f-weight-7:400; --f-weight-8:400; --f-weight-9:400; --f-weight-10:400; --f-weight-11:400; --f-weight-12:400; --f-weight-13:400; --f-weight-14:400; --f-weight-15:400; --f-weight-16:400; --f-weight-true:400; --f-letterSpacing-1:0px; --f-letterSpacing-2:0px; --f-letterSpacing-3:0px; --f-letterSpacing-4:0px; --f-letterSpacing-5:0px; --f-letterSpacing-6:0px; --f-letterSpacing-7:0px; --f-letterSpacing-8:0px; --f-letterSpacing-9:0px; --f-letterSpacing-10:0px; --f-letterSpacing-11:0px; --f-letterSpacing-12:0px; --f-letterSpacing-13:0px; --f-letterSpacing-14:0px; --f-letterSpacing-15:0px; --f-letterSpacing-16:0px; --f-letterSpacing-true:0px; --f-size-1:var(--text-xs, 11px); --f-size-2:var(--text-sm, 13px); --f-size-3:var(--text-base, 14px); --f-size-4:var(--text-lg, 15px); --f-size-5:var(--text-lg, 15px); --f-size-6:var(--text-xl, 17px); --f-size-7:var(--text-2xl, 21px); --f-size-8:var(--text-3xl, 26px); --f-size-9:var(--text-3xl, 26px); --f-size-10:var(--text-4xl, 32px); --f-size-11:var(--text-5xl, 40px); --f-size-12:calc(48px * var(--type-scale, 1)); --f-size-13:calc(56px * var(--type-scale, 1)); --f-size-14:var(--text-7xl, 64px); --f-size-15:calc(80px * var(--type-scale, 1)); --f-size-16:calc(96px * var(--type-scale, 1)); --f-size-true:var(--text-base, 14px)
1681
1713
  }
1682
1714
  .font_body, .font_heading, .font_mono, .is_View {font-family: var(--f-family); letter-spacing: var(--f-letterSpacing-true); line-height: var(--f-lineHeight-true); font-weight: var(--f-weight-true)}
1683
1715
  :root.t_dark, :root.t_dark , :root.t_light .t_dark , .tm_xxt {--accentBackground:var(--t0);--accentColor:var(--t1);--background0:var(--t2);--background02:var(--t3);--background04:var(--t4);--background06:var(--t5);--background08:var(--t6);--color1:var(--t7);--color2:var(--t8);--color3:var(--t9);--color4:var(--t10);--color5:var(--t0);--color6:var(--t11);--color7:var(--t12);--color8:var(--t13);--color9:var(--t14);--color10:var(--t15);--color11:var(--t16);--color12:var(--t17);--color0:var(--t18);--color02:var(--t19);--color04:var(--t20);--color06:var(--t21);--color08:var(--t22);--color:var(--t23);--colorHover:var(--t22);--colorPress:var(--t23);--colorFocus:var(--t16);--backgroundHover:var(--t9);--backgroundPress:var(--t7);--backgroundFocus:var(--t9);--backgroundActive:var(--t8);--borderColor:var(--t10);--borderColorHover:var(--t0);--borderColorFocus:var(--t24);--borderColorPress:var(--t9);--placeholderColor:var(--t14);--colorTransparent:var(--t18);--black1:var(--t25);--black2:var(--t26);--black3:var(--t27);--black4:var(--t28);--black5:var(--t29);--black6:var(--t30);--black7:var(--t31);--black8:var(--t32);--black9:var(--t33);--black10:var(--t34);--black11:var(--t35);--black12:var(--t36);--white1:var(--t37);--white2:var(--t38);--white3:var(--t39);--white4:var(--t40);--white5:var(--t41);--white6:var(--t42);--white7:var(--t43);--white8:var(--t44);--white9:var(--t45);--white10:var(--t46);--white11:var(--t47);--white12:var(--t48);--white0:var(--t50);--white02:var(--t51);--white04:var(--t52);--white06:var(--t53);--white08:var(--t54);--black0:var(--t56);--black02:var(--t57);--black04:var(--t58);--black06:var(--t59);--black08:var(--t60);--shadow1:var(--t61);--shadow2:var(--t62);--shadow3:var(--t63);--shadow4:var(--t64);--shadow5:var(--t65);--shadow6:var(--t60);--shadow7:var(--t66);--shadow8:var(--t55);--highlight1:var(--t67);--highlight2:var(--t51);--highlight3:var(--t68);--highlight4:var(--t69);--highlight5:var(--t70);--highlight6:var(--t71);--highlight7:var(--t72);--highlight8:var(--t49);--shadowColor:var(--t63);--gray1:var(--t73);--gray2:var(--t27);--gray3:var(--t74);--gray4:var(--t75);--gray5:var(--t76);--gray6:var(--t77);--gray7:var(--t78);--gray8:var(--t79);--gray9:var(--t80);--gray10:var(--t81);--gray11:var(--t82);--gray12:var(--t83);--blue1:var(--t84);--blue2:var(--t85);--blue3:var(--t86);--blue4:var(--t87);--blue5:var(--t88);--blue6:var(--t89);--blue7:var(--t90);--blue8:var(--t91);--blue9:var(--t92);--blue10:var(--t93);--blue11:var(--t94);--blue12:var(--t95);--red1:var(--t96);--red2:var(--t97);--red3:var(--t98);--red4:var(--t99);--red5:var(--t100);--red6:var(--t101);--red7:var(--t102);--red8:var(--t103);--red9:var(--t104);--red10:var(--t105);--red11:var(--t106);--red12:var(--t107);--yellow1:var(--t108);--yellow2:var(--t109);--yellow3:var(--t110);--yellow4:var(--t111);--yellow5:var(--t112);--yellow6:var(--t113);--yellow7:var(--t114);--yellow8:var(--t115);--yellow9:var(--t116);--yellow10:var(--t117);--yellow11:var(--t118);--yellow12:var(--t119);--green1:var(--t120);--green2:var(--t121);--green3:var(--t122);--green4:var(--t123);--green5:var(--t124);--green6:var(--t125);--green7:var(--t126);--green8:var(--t127);--green9:var(--t128);--green10:var(--t129);--green11:var(--t130);--green12:var(--t131);--orange1:var(--t132);--orange2:var(--t133);--orange3:var(--t134);--orange4:var(--t135);--orange5:var(--t136);--orange6:var(--t137);--orange7:var(--t138);--orange8:var(--t139);--orange9:var(--t140);--orange10:var(--t141);--orange11:var(--t142);--orange12:var(--t143);--pink1:var(--t144);--pink2:var(--t145);--pink3:var(--t146);--pink4:var(--t147);--pink5:var(--t148);--pink6:var(--t149);--pink7:var(--t150);--pink8:var(--t151);--pink9:var(--t152);--pink10:var(--t153);--pink11:var(--t154);--pink12:var(--t155);--purple1:var(--t156);--purple2:var(--t157);--purple3:var(--t158);--purple4:var(--t159);--purple5:var(--t160);--purple6:var(--t161);--purple7:var(--t162);--purple8:var(--t163);--purple9:var(--t164);--purple10:var(--t165);--purple11:var(--t166);--purple12:var(--t167);--teal1:var(--t168);--teal2:var(--t169);--teal3:var(--t170);--teal4:var(--t171);--teal5:var(--t172);--teal6:var(--t173);--teal7:var(--t174);--teal8:var(--t175);--teal9:var(--t176);--teal10:var(--t177);--teal11:var(--t178);--teal12:var(--t179);--neutral1:var(--t180);--neutral2:var(--t181);--neutral3:var(--t182);--neutral4:var(--t43);--neutral5:var(--t183);--neutral6:var(--t184);--neutral7:var(--t185);--neutral8:var(--t186);--neutral9:var(--t187);--neutral10:var(--t188);--neutral11:var(--t189);--neutral12:var(--t190);--accent1:var(--t23);--accent2:var(--t191);--accent3:var(--t1);--accent4:var(--t192);--accent5:var(--t16);--accent6:var(--t193);--accent7:var(--t194);--accent8:var(--t195);--accent9:var(--t196);--accent10:var(--t0);--accent11:var(--t24);--accent12:var(--t197);--color01:var(--t198);--color0075:var(--t199);--color005:var(--t200);--color0025:var(--t201);--color002:var(--t202);--color001:var(--t203);--background01:var(--t204);--background0075:var(--t205);--background005:var(--t206);--background0025:var(--t207);--background002:var(--t208);--background001:var(--t209);--outlineColor:var(--t210);}
@@ -2436,11 +2468,11 @@
2436
2468
  :root ._height-36px{height:36px;}
2437
2469
  :root ._height-40px{height:40px;}
2438
2470
  :root ._height-44px{height:44px;}
2439
- :root ._height-60px{height:60px;}
2440
2471
  :root ._height-6px{height:6px;}
2441
2472
  :root ._height-7px{height:7px;}
2442
2473
  :root ._height-80px{height:80px;}
2443
2474
  :root ._height-8px{height:8px;}
2475
+ :root ._height-NaNpx{height:NaNpx;}
2444
2476
  :root ._height-auto{height:auto;}
2445
2477
  :root ._height-initial{height:initial;}
2446
2478
  :root ._items-center{align-items:center;}
package/dist/theme.css CHANGED
@@ -290,19 +290,25 @@
290
290
  — the two are the SAME scale, mirrored. A surface/tenant overrides any --text-*
291
291
  on :root to retune density on demand. */
292
292
  :root{
293
- --text-xs:0.6875rem; --leading-xs:1rem; /* 11px eyebrows / section labels */
294
- --text-sm:0.8125rem; --leading-sm:1.15rem; /* 13px nav labels, dense body */
295
- --text-base:0.875rem; --leading-base:1.35rem; /* 14px base app text (was 16px) */
296
- --text-lg:0.9375rem; --leading-lg:1.4rem; /* 15px */
297
- --text-xl:1.0625rem; --leading-xl:1.55rem; /* 17px */
298
- --text-2xl:1.3125rem; --leading-2xl:1.7rem; /* 21px */
299
- --text-3xl:1.625rem; --leading-3xl:1.95rem; /* 26px */
300
- --text-4xl:2rem; --leading-4xl:2.25rem; /* 32px */
301
- --text-5xl:2.5rem; --leading-5xl:1.05; /* 40px */
302
- --text-6xl:3.25rem; --leading-6xl:1; /* 52px */
303
- --text-7xl:4rem; --leading-7xl:1; /* 64px */
304
- --text-8xl:5.25rem; --leading-8xl:1; /* 84px */
305
- --text-9xl:7rem; --leading-9xl:1; /* 112px */
293
+ /* The type knob. 1 is the published scale; every rung below multiplies by
294
+ it, so a surface or a person retunes the WHOLE ramp by setting one
295
+ number and no rung can drift out of relation with the others.
296
+ @hanzo/design's `vars({type})` emits exactly this name. */
297
+ --type-scale:1;
298
+
299
+ --text-xs:calc(0.6875rem * var(--type-scale, 1)); --leading-xs:calc(1rem * var(--type-scale, 1)); /* 11px — eyebrows / section labels */
300
+ --text-sm:calc(0.8125rem * var(--type-scale, 1)); --leading-sm:calc(1.15rem * var(--type-scale, 1)); /* 13px — nav labels, dense body */
301
+ --text-base:calc(0.875rem * var(--type-scale, 1)); --leading-base:calc(1.35rem * var(--type-scale, 1)); /* 14px — base app text (was 16px) */
302
+ --text-lg:calc(0.9375rem * var(--type-scale, 1)); --leading-lg:calc(1.4rem * var(--type-scale, 1)); /* 15px */
303
+ --text-xl:calc(1.0625rem * var(--type-scale, 1)); --leading-xl:calc(1.55rem * var(--type-scale, 1)); /* 17px */
304
+ --text-2xl:calc(1.3125rem * var(--type-scale, 1)); --leading-2xl:calc(1.7rem * var(--type-scale, 1)); /* 21px */
305
+ --text-3xl:calc(1.625rem * var(--type-scale, 1)); --leading-3xl:calc(1.95rem * var(--type-scale, 1)); /* 26px */
306
+ --text-4xl:calc(2rem * var(--type-scale, 1)); --leading-4xl:calc(2.25rem * var(--type-scale, 1)); /* 32px */
307
+ --text-5xl:calc(2.5rem * var(--type-scale, 1)); --leading-5xl:1.05; /* 40px */
308
+ --text-6xl:calc(3.25rem * var(--type-scale, 1)); --leading-6xl:1; /* 52px */
309
+ --text-7xl:calc(4rem * var(--type-scale, 1)); --leading-7xl:1; /* 64px */
310
+ --text-8xl:calc(5.25rem * var(--type-scale, 1)); --leading-8xl:1; /* 84px */
311
+ --text-9xl:calc(7rem * var(--type-scale, 1)); --leading-9xl:1; /* 112px */
306
312
 
307
313
  /* The SAME scale under @hanzo/brand's spelling. @hanzo/gui's shell theme and
308
314
  Hanzo Studio address the ramp as --font-size-*; both names are one value, so
@@ -367,7 +373,7 @@
367
373
  form feels broken. pointer:coarse is the real signal — a desktop mouse keeps
368
374
  the compact 13px field. */
369
375
  @media (pointer:coarse){
370
- :root{--text-control:1rem}
376
+ :root{--text-control:calc(1rem * var(--type-scale, 1))}
371
377
  }
372
378
 
373
379
  /* ── tokens/spacing.css ─────────────────────────────────────── */
@@ -375,21 +381,27 @@
375
381
  declared in hanzo.ai's tailwind.config.ts (legacy v3 config, kept for
376
382
  reference) — use it for editorial layouts, not for component padding. */
377
383
  :root{
384
+ /* The density knob. 1 is the published spacing; every --space-* rung below
385
+ multiplies by it, and --grid-gap-* reference those rungs rather than
386
+ restating them, so gaps, padding and section rhythm move together.
387
+ @hanzo/design's `vars({density})` emits exactly this name. */
388
+ --density:1;
389
+
378
390
  --space-0:0;
379
- --space-1:0.25rem;
380
- --space-2:0.5rem;
381
- --space-3:0.75rem;
382
- --space-4:1rem;
383
- --space-5:1.25rem;
384
- --space-6:1.5rem;
385
- --space-8:2rem;
386
- --space-10:2.5rem;
387
- --space-12:3rem;
388
- --space-14:3.5rem;
389
- --space-16:4rem;
390
- --space-20:5rem;
391
- --space-24:6rem;
392
- --space-32:8rem;
391
+ --space-1:calc(0.25rem * var(--density, 1));
392
+ --space-2:calc(0.5rem * var(--density, 1));
393
+ --space-3:calc(0.75rem * var(--density, 1));
394
+ --space-4:calc(1rem * var(--density, 1));
395
+ --space-5:calc(1.25rem * var(--density, 1));
396
+ --space-6:calc(1.5rem * var(--density, 1));
397
+ --space-8:calc(2rem * var(--density, 1));
398
+ --space-10:calc(2.5rem * var(--density, 1));
399
+ --space-12:calc(3rem * var(--density, 1));
400
+ --space-14:calc(3.5rem * var(--density, 1));
401
+ --space-16:calc(4rem * var(--density, 1));
402
+ --space-20:calc(5rem * var(--density, 1));
403
+ --space-24:calc(6rem * var(--density, 1));
404
+ --space-32:calc(8rem * var(--density, 1));
393
405
 
394
406
  /* golden ramp (φ) — hanzo.ai tailwind.config.ts */
395
407
  --golden-1:0.25rem;
@@ -822,19 +834,26 @@
822
834
  padding:0 var(--space-3);
823
835
  }
824
836
  :where(textarea){padding:var(--space-2) var(--space-3);resize:vertical}
825
- /* ——— focus, on a control ———
826
- Not the generic ring. A field already HAS an edge, so focus brightens that
827
- edge (.15 -> .22) and adds a soft halo just outside it — which is what the
828
- reference does (.composer-box:focus-within) and what separates a focused
829
- field from a browser default. The generic `outline` is suppressed here
830
- precisely because it would draw a second, harder box around this one. */
831
- :where(input,select,textarea):focus-visible{
832
- outline:none;
833
- border-color:var(--border-focus);
834
- box-shadow:var(--ring-focus);
835
- }
836
- /* A hovered field lifts its surface a rung. Nudging its EDGE from .15 to .16
837
- is a state nobody can see. */
837
+ /* A field has NO focus rule of its own — see the ring at the bottom of this
838
+ layer, which is the one focus indicator for everything.
839
+
840
+ There used to be one here: `outline:none` plus a brightened edge (.15 ->
841
+ .22) plus a soft halo, the composer look. It was removed because it could
842
+ not do the job in either of the two ways that matter.
843
+
844
+ It was never VISIBLE ENOUGH. Composited on --background the brightened edge
845
+ measures 1.91:1 and the halo 1.25:1, against the 3:1 that WCAG 1.4.11 asks
846
+ of a focus indicator and that this package already gates --ring on. The
847
+ budget was documented as being spent entirely on --ring "because that is
848
+ what a keyboard user navigates by" true for a button, and false for a
849
+ field for exactly as long as this rule told fields not to use it.
850
+
851
+ And it was SUPPRESSIBLE. It carried the indicator on `border-color`, so any
852
+ app that states `border` on its own fields overrode it — @hanzo/id does,
853
+ unlayered, which beats this layer whatever its specificity, and its focused
854
+ fields sat at the resting .15 while both files read as correct. An outline
855
+ is not a border: nothing in an app's field styling reaches it, so the ring
856
+ paints whether or not the app has opinions about edges. */
838
857
  :where(input,select,textarea):hover:not(:focus-visible):not(:disabled){background:var(--surface-3)}
839
858
  :where(input,textarea)::placeholder{color:var(--text-disabled)}
840
859
  :where(input,select,textarea,button):disabled{opacity:.5;cursor:not-allowed}
@@ -874,6 +893,19 @@
874
893
  }
875
894
  }
876
895
 
896
+ /* THE focus indicator. One rule, every focusable thing, no exceptions — a
897
+ button, a link, a summary, a field. 2px at --ring is 3.77:1 on the darkest
898
+ canvas and clears the 2px perimeter WCAG 2.4.13 asks for; the gate in
899
+ check-tokens holds --ring to that and nothing else here may weaken it.
900
+
901
+ There were two rules until 0.4.9, and they collided invisibly. Both computed
902
+ to (0,1,0) — :where() zeroes whatever it wraps, leaving one pseudo-class on
903
+ each side — so the cascade fell through to SOURCE ORDER inside this layer,
904
+ this rule was written later, and it overrode the `outline:none` the field
905
+ rule stated expressly to prevent it. Every focused input on every consumer
906
+ drew BOTH the ring and the edge+halo. Each rule read as correct alone, which
907
+ is why it survived review in both files; the defect existed only in their
908
+ order. One rule cannot disagree with itself. */
877
909
  :focus-visible{outline:2px solid var(--ring);outline-offset:2px}
878
910
  /* --white-20 is white-on-white in the light theme, so selection reads through
879
911
  --selection, which BOTH themes define. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.0.68",
3
+ "version": "8.0.69",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {
@@ -187,7 +187,7 @@
187
187
  "dist"
188
188
  ],
189
189
  "dependencies": {
190
- "@hanzo/design": "^0.4.7",
190
+ "@hanzo/design": "^0.4.11",
191
191
  "@hanzo/logo": "^1.0.13",
192
192
  "@hanzo/products": "^0.2.0",
193
193
  "@hanzogui/lucide-icons-2": "^8.1.0",