/* GENERATED by scripts/sync-design-system.sh from src/styles/fonts.css and
 * src/styles/sp-tokens.css, for the standalone HTML pages. Do not edit here. */
/* Kate's type, self-hosted: Archivo at wdth 100 (400 600 700 800) and Martian
 * Mono at wdth 112.5 (400 500), static cuts vendored by
 * scripts/sync-design-system.sh. SIL OFL 1.1 (public/fonts/OFL-*.txt). */

@font-face {
  font-family: "Archivo";
  src: url("/fonts/Archivo-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("/fonts/Archivo-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("/fonts/Archivo-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("/fonts/Archivo-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Martian Mono";
  src: url("/fonts/MartianMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Martian Mono";
  src: url("/fonts/MartianMono-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/* VENDORED from design-system/dist/css/tokens.css by scripts/sync-design-system.sh. Do not edit here:
 * change design-system/tokens/spinach.tokens.json in spinach-org, rebuild with
 * design-system/build/build_tokens.py, then rerun the sync script. */
/* Spinach design tokens. GENERATED by design-system/build/build_tokens.py from tokens/spinach.tokens.json.
 * Do not edit. Put data-brand and data-theme on <html>. A nested section that switches brand must also set data-theme.
 *   data-brand: (none) = kate-v2 | "fresh-greens" | "ink-lead" | "fresh-greens ink-lead" (stacked)
 *   data-theme: (none) = follow the OS | "light" | "dark";  data-contrast="more" forces contrast-more.
 *   data-grade-cue="notch": the opt-in second grade cue (a11y/grade-cue) for every .sp-grade-mark inside.
 * A brand band (the hero) sets data-theme="dark" and class sp-surface-brand; the inverse surface takes
 * sp-surface-inverse, a photo holding controls sp-surface-photo. App-only tokens (rating pills, lettered dots, the letter tile, app map type) are not here. */

:root {
  --sp-color-primitive-bottle: #0F3324;
  --sp-color-primitive-ink-2: #1C4A36;
  --sp-color-primitive-ridge-green: #4A6A5A;
  --sp-color-primitive-mute: #5A6E62;
  --sp-color-primitive-grid: #C8D2CA;
  --sp-color-primitive-paper-2: #DCE3DD;
  --sp-color-primitive-plotter-paper: #EAEEE9;
  --sp-color-primitive-white: #F6F8F5;
  --sp-color-primitive-spinach: #2F8A3B;
  --sp-color-primitive-lime: #9CC43A;
  --sp-color-primitive-signal-yellow: #FFD21A;
  --sp-color-primitive-orange: #F08A24;
  --sp-color-primitive-red-flag: #D6462B;
  --sp-color-primitive-vibe-pink: #F29BBE;
  --sp-color-primitive-bottle-hi: #1E5139;
  --sp-color-primitive-night: #06110C;
  --sp-color-primitive-pure-white: #FFFFFF;
  --sp-color-primitive-fresh-spinach: #3B7617;
  --sp-color-primitive-spinach-black: #171E10;
  --sp-color-primitive-ink: #161513;
  --sp-color-primitive-spinach-small: #23873A;
  --sp-color-primitive-red-flag-small: #D63F25;
  --sp-color-primitive-mute-text: #55685D;
  --sp-color-primitive-mute-disabled: #708478;
  --sp-color-primitive-mute-strong: #394C41;
  --sp-color-primitive-bottle-sunken: #09281B;
  --sp-color-primitive-bottle-card: #153E2D;
  --sp-color-primitive-bottle-dim: #BEC9C2;
  --sp-color-primitive-bottle-disabled: #869089;
  --sp-color-primitive-bottle-strong: #D4DBD5;
  --sp-color-primitive-bottle-map-park: #1A3D23;
  --sp-color-primitive-bottle-map-water: #11282B;
  --sp-color-primitive-spinach-black-sunken: #0F1509;
  --sp-color-primitive-spinach-black-card: #202818;
  --sp-color-primitive-spinach-black-raised: #293220;
  --sp-color-primitive-spinach-black-hi: #2E3823;
  --sp-color-primitive-spinach-black-night: #030402;
  --sp-color-primitive-spinach-black-dim: #C0C4BE;
  --sp-color-primitive-spinach-black-disabled: #767A74;
  --sp-color-primitive-spinach-black-strong: #D5D9D3;
  --sp-color-primitive-spinach-black-map-park: #152919;
  --sp-color-primitive-spinach-black-map-water: #02181B;
  --sp-color-primitive-ink-sunken: #0D0C0B;
  --sp-color-primitive-ink-card: #1F1E1C;
  --sp-color-primitive-ink-raised: #292825;
  --sp-color-primitive-ink-hi: #2F2D2A;
  --sp-color-primitive-ink-night: #030303;
  --sp-color-primitive-ink-dim: #C0C3BE;
  --sp-color-primitive-ink-disabled: #70736E;
  --sp-color-primitive-ink-strong: #D5D8D4;
  --sp-color-primitive-ink-map-park: #122115;
  --sp-color-primitive-ink-map-water: #001214;
  --sp-color-primitive-map-land: #E3E9E4;
  --sp-color-primitive-map-park: #D2DFD3;
  --sp-color-primitive-map-water: #C7D5D6;
  --sp-color-primitive-map-label: #506458;
  --sp-color-primitive-map-water-label: #4A5D5F;
  --sp-color-primitive-map-night-land: #141D18;
  --sp-color-primitive-map-night-park: #18291E;
  --sp-color-primitive-map-night-water: #0E2C3A;
  --sp-color-primitive-map-night-building: #1A2520;
  --sp-color-primitive-map-night-road: #26332C;
  --sp-color-primitive-map-night-road-major: #33433A;
  --sp-color-primitive-map-night-casing: #0B110E;
  --sp-color-primitive-map-night-label: #C6CFCA;
  --sp-color-primitive-map-night-label-minor: #93A099;
  --sp-color-primitive-map-night-label-water: #86A9B6;
  --sp-color-primitive-map-grade-sand: #D4C08C;
  --sp-color-primitive-hours-open: #1C712F;
  --sp-color-primitive-hours-open-night: #7BCB83;
  --sp-color-primitive-hours-closed: #B4351C;
  --sp-color-primitive-hours-closed-night: #FF9A80;
  --sp-color-primitive-hours-soon: #985000;
  --sp-color-primitive-hours-soon-night: #F5A54A;
  --sp-dimension-space-0: 0px;
  --sp-dimension-space-2: 2px;
  --sp-dimension-space-4: 4px;
  --sp-dimension-space-6: 6px;
  --sp-dimension-space-8: 8px;
  --sp-dimension-space-10: 10px;
  --sp-dimension-space-12: 12px;
  --sp-dimension-space-14: 14px;
  --sp-dimension-space-16: 16px;
  --sp-dimension-space-20: 20px;
  --sp-dimension-space-24: 24px;
  --sp-dimension-space-28: 28px;
  --sp-dimension-space-32: 32px;
  --sp-dimension-space-40: 40px;
  --sp-dimension-space-48: 48px;
  --sp-dimension-space-56: 56px;
  --sp-dimension-space-64: 64px;
  --sp-dimension-space-80: 80px;
  --sp-dimension-space-96: 96px;
  --sp-dimension-space-112: 112px;
  --sp-duration-0: 0ms;
  --sp-duration-100: 100ms;
  --sp-duration-150: 150ms;
  --sp-duration-250: 250ms;
  --sp-duration-400: 400ms;
  --sp-duration-600: 600ms;
  --sp-duration-1400: 1400ms;
  --sp-curve-standard: cubic-bezier(0.2, 0, 0, 1);
  --sp-curve-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
  --sp-curve-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
  --sp-curve-sheet: cubic-bezier(0.32, 0.72, 0, 1);
  --sp-curve-ink: cubic-bezier(0.65, 0, 0.35, 1);
  --sp-curve-linear: cubic-bezier(0, 0, 1, 1);
  --sp-font-family-archivo: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sp-font-family-martian-mono: "Martian Mono", ui-monospace, "SF Mono", "Menlo", monospace;
  --sp-font-family-martian-mono-semicondensed: "Martian Mono", ui-monospace, "SF Mono", "Menlo", monospace;
  --sp-font-weight-regular: 400;
  --sp-font-weight-medium: 500;
  --sp-font-weight-semibold: 600;
  --sp-font-weight-bold: 700;
  --sp-font-weight-extrabold: 800;
  --sp-font-width-archivo: 100;
  --sp-font-width-martian-mono: 112.5;
  --sp-font-width-martian-mono-semicondensed: 87.5;
  --sp-asset-grade-letter-a: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-10.1 -706.8 689.5 708.3%22 fill=%22%23000%22%3E%3Cpath d=%22M608 -1Q587 -0 567 -11Q540 -26 529.5 -38Q519 -50 506 -81Q503 -91 493.5 -108Q484 -125 481 -133Q465 -170 418 -172Q393 -174 342 -173Q291 -172 266 -174Q203 -177 175 -116Q172 -109 161 -80Q141 -26 100 -9Q69 4 23 -4Q13 -6 -5 -30Q-9 -37 -10 -55Q-11 -81 -1 -99Q9 -116 23 -152Q37 -188 45 -204Q56 -223 70 -260Q84 -297 91 -311Q124 -381 131 -404Q136 -420 150 -449Q164 -478 169 -493Q184 -537 203 -575Q211 -589 221.5 -617Q232 -645 238 -658Q250 -680 267 -690Q284 -700 310 -704Q312 -704 316.5 -703.5Q321 -703 323 -704Q358 -712 383.5 -697Q409 -682 434 -650Q437 -646 438.5 -634.5Q440 -623 442 -619Q461 -591 490 -514Q492 -506 505.5 -480Q519 -454 522 -437Q524 -425 535.5 -401.5Q547 -378 550 -366Q553 -354 565.5 -333Q578 -312 581 -302Q601 -249 608 -237Q615 -225 624.5 -196.5Q634 -168 641 -155Q648 -144 653.5 -131Q659 -118 664.5 -102Q670 -86 674 -78Q676 -74 679 -46Q682 -28 664 -19Q659 -17 650 -11.5Q641 -6 636.5 -4Q632 -2 622.5 0.5Q613 3 608 -1ZM307 -319Q309 -319 334 -319Q336 -319 340 -319Q344 -319 347 -319Q350 -319 353 -319Q368 -320 377.5 -328.5Q387 -337 388 -350Q391 -385 375 -412Q374 -413 370 -419.5Q366 -426 365.5 -427.5Q365 -429 362 -436Q359 -443 360 -445Q361 -447 360 -454Q360 -457 349 -470Q343 -477 335 -477.5Q327 -478 322 -471Q273 -405 282 -346Q283 -338 291.5 -329Q300 -320 307 -319Z%22/%3E%3C/svg%3E");
  --sp-asset-grade-letter-b: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2216 -704 584.4 703%22 fill=%22%23000%22%3E%3Cpath d=%22M16 -359Q16 -587 16 -624Q16 -651 30 -680Q42 -704 72 -704Q119 -704 178 -704Q237 -704 284 -704Q331 -704 390 -704Q416 -704 479 -674Q506 -661 522 -640Q538 -619 552 -587Q559 -573 560 -556Q568 -486 527 -414Q517 -394 526 -371Q530 -364 535 -356Q540 -348 543.5 -344Q547 -340 555 -331.5Q563 -323 566 -320Q567 -318 573.5 -312Q580 -306 582.5 -302Q585 -298 585 -294Q585 -284 593.5 -266.5Q602 -249 600 -238Q599 -231 599.5 -215.5Q600 -200 599 -192Q597 -178 586 -150Q574 -116 567 -109Q564 -106 552.5 -93Q541 -80 536.5 -75Q532 -70 521 -60Q510 -50 502.5 -45Q495 -40 483.5 -34.5Q472 -29 461 -25Q458 -25 450 -19.5Q442 -14 438 -15Q425 -17 405 -9Q385 -1 376 -1Q292 -1 78 -1Q63 -1 54 -10Q38 -26 30 -33Q16 -45 16 -68Q16 -97 16 -286ZM229 -146Q234 -147 288 -147Q332 -147 335 -147Q381 -145 415 -181Q428 -194 428 -212.5Q428 -231 416 -245Q382 -281 335 -279Q323 -279 282.5 -279Q242 -279 230 -279Q207 -279 191.5 -263.5Q176 -248 176 -226Q175 -224 175.5 -213.5Q176 -203 175 -200Q173 -181 190 -165Q211 -145 229 -146ZM269 -439L269 -438Q272 -438 277 -438.5Q282 -439 286.5 -439Q291 -439 295 -438Q341 -435 380 -477Q388 -485 388 -501Q389 -545 345 -558Q292 -573 264 -572Q216 -569 185 -534Q174 -523 174.5 -498.5Q175 -474 186 -462Q210 -434 236 -438Q238 -439 269 -439Z%22/%3E%3C/svg%3E");
  --sp-asset-grade-letter-c: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-2.2 -717.4 597.7 717.2%22 fill=%22%23000%22%3E%3Cpath d=%22M365 -1L300 -1Q291 -12 268.5 -13.5Q246 -15 239 -19Q234 -22 202 -38Q170 -54 154 -65Q151 -67 132.5 -78Q114 -89 104.5 -97.5Q95 -106 88 -117Q86 -121 66 -151.5Q46 -182 38 -199Q36 -203 30.5 -214Q25 -225 23.5 -228.5Q22 -232 17.5 -243Q13 -254 13 -258.5Q13 -263 10.5 -274.5Q8 -286 11 -291Q-4 -317 -2 -347Q-1 -351 -1 -400Q10 -411 12.5 -435.5Q15 -460 18 -468Q21 -474 32 -502Q43 -530 51 -544Q52 -545 53.5 -549.5Q55 -554 57 -555Q65 -564 88 -588Q111 -612 127 -628Q143 -644 160 -658Q176 -671 213.5 -685Q251 -699 259 -703Q272 -701 294.5 -708Q317 -715 322 -716Q332 -718 351.5 -717Q371 -716 381 -717Q391 -719 405 -712Q419 -705 424 -704Q428 -704 450 -704Q472 -704 475 -698Q483 -694 498 -689Q513 -684 517 -682Q543 -672 558 -663Q588 -646 594 -620.5Q600 -595 580 -565Q563 -539 518 -519Q512 -517 493 -522Q488 -524 462 -534.5Q436 -545 420 -545Q356 -578 264 -537Q195 -506 169 -428Q164 -415 162 -399.5Q160 -384 159.5 -374.5Q159 -365 158.5 -345.5Q158 -326 158 -319Q164 -309 173 -279.5Q182 -250 194 -237Q194 -236 201.5 -228Q209 -220 210.5 -218.5Q212 -217 218.5 -210Q225 -203 228 -201Q231 -199 237 -194Q243 -189 247.5 -187Q252 -185 258 -181.5Q264 -178 270 -176.5Q276 -175 282 -174Q288 -173 306.5 -165Q325 -157 338 -159Q357 -163 397 -160Q407 -159 424.5 -168Q442 -177 453 -174Q465 -184 479.5 -186.5Q494 -189 514 -187Q534 -185 542 -186Q547 -186 554 -180Q586 -154 594 -116Q600 -87 582 -74Q580 -73 571 -65Q562 -57 556 -54Q545 -50 521 -36Q497 -22 477 -16Q457 -10 436 -14Q427 -7 416 -4Q405 -1 397.5 -0.5Q390 -0 379.5 -0.5Q369 -1 365 -1Z%22/%3E%3C/svg%3E");
  --sp-asset-grade-letter-d: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2217 -717.1 597.7 716.2%22 fill=%22%23000%22%3E%3Cpath d=%22M17 -668Q17 -689 35 -700Q67 -718 97 -717Q108 -717 202.5 -717Q297 -717 309 -717Q338 -717 353 -709Q361 -705 379 -705Q397 -705 404 -702Q441 -690 446 -688Q449 -687 456.5 -683.5Q464 -680 467.5 -678.5Q471 -677 477 -673.5Q483 -670 487.5 -666Q492 -662 496 -657Q501 -650 537 -615Q599 -556 601 -491Q607 -483 610 -472Q613 -461 614 -456Q615 -451 614.5 -433.5Q614 -416 614 -416Q615 -329 614 -303Q614 -298 614.5 -283Q615 -268 614 -258Q613 -248 607 -239Q602 -229 598.5 -205.5Q595 -182 587 -171Q578 -157 554 -116Q536 -87 495 -59Q492 -57 484.5 -51.5Q477 -46 473.5 -44Q470 -42 463 -38Q456 -34 451 -32Q446 -30 439.5 -28.5Q433 -27 426 -27Q416 -16 389.5 -14.5Q363 -13 354 -2Q350 -2 328 -1.5Q306 -1 294 -1Q288 -1 195 -1Q102 -1 96 -1Q75 -0 46 -12.5Q17 -25 17 -58Q17 -109 17 -363Q17 -617 17 -668ZM163 -362L163 -361Q163 -240 163 -210Q163 -196 167 -191Q177 -179 181.5 -174Q186 -169 197 -163.5Q208 -158 220 -159Q262 -163 300 -159Q309 -160 312.5 -159Q316 -158 324.5 -160Q333 -162 336.5 -162.5Q340 -163 348 -166.5Q356 -170 359 -171Q362 -172 370 -176Q378 -180 380.5 -181.5Q383 -183 391 -187.5Q399 -192 401 -194Q424 -207 429 -229Q434 -248 447 -263Q456 -274 455 -300.5Q454 -327 464 -338Q466 -339 468 -356Q469 -363 468 -369Q466 -378 464 -381Q453 -394 455 -412Q457 -425 453 -439Q449 -453 445.5 -461Q442 -469 431.5 -485.5Q421 -502 419 -506Q411 -521 389 -531Q328 -559 292 -558Q282 -557 252 -557.5Q222 -558 213 -558Q199 -557 194 -554Q183 -545 177.5 -539.5Q172 -534 167 -523.5Q162 -513 162.5 -500.5Q163 -488 163 -362Z%22/%3E%3C/svg%3E");
  --sp-asset-grade-letter-e: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2217 -717 532 716%22 fill=%22%23000%22%3E%3Cpath d=%22M17 -361Q17 -604 18 -653Q18 -655 17.5 -662Q17 -669 17 -672.5Q17 -676 19 -681Q21 -686 24 -690Q36 -703 75 -716Q77 -717 95 -717Q413 -717 473 -717Q505 -718 524 -695Q527 -691 529 -690Q546 -680 548.5 -655.5Q551 -631 542 -613Q537 -596 531 -589Q518 -570 499 -571Q492 -571 400 -571Q387 -571 360 -570Q333 -569 313 -569.5Q293 -570 274 -572Q258 -574 233.5 -565.5Q209 -557 198 -556Q190 -555 183 -546.5Q176 -538 177 -526Q177 -522 176.5 -506.5Q176 -491 177 -486Q177 -484 176 -476Q175 -468 176.5 -463.5Q178 -459 182 -456Q207 -440 223 -439Q237 -438 349 -438Q383 -438 389 -438Q396 -437 407 -431Q418 -425 425 -424Q446 -420 457 -405Q468 -390 469 -368Q469 -362 469 -348Q468 -323 452.5 -307.5Q437 -292 411 -292Q284 -292 238 -293Q215 -294 189 -279Q178 -272 178 -266Q176 -220 178 -173Q178 -167 189 -160Q215 -145 238 -146Q274 -147 347.5 -146.5Q421 -146 457 -147Q480 -148 518 -129Q535 -120 535 -102Q535 -98 535 -86Q535 -74 535 -69Q535 -66 535.5 -55Q536 -44 534 -37.5Q532 -31 526 -26Q494 -1 468 -1Q276 -1 84 -1Q59 -1 26 -26Q19 -32 18 -43Q17 -53 17 -89Z%22/%3E%3C/svg%3E");
  --sp-asset-grade-letter-none: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%229 -342 464.5 93.1%22 fill=%22%23000%22%3E%3Cpath d=%22M473 -310Q477 -274 447 -262Q412 -248 398 -249Q380 -249 239 -249Q100 -249 81 -249Q73 -249 66.5 -250.5Q60 -252 50.5 -256Q41 -260 38 -261Q29 -265 24.5 -271.5Q20 -278 16.5 -287.5Q13 -297 10 -301Q9 -302 9 -304.5Q9 -307 10 -308Q12 -310 21 -321.5Q30 -333 37.5 -337.5Q45 -342 55 -342Q274 -342 439 -342Q453 -342 462 -333Q471 -324 473 -310Z%22/%3E%3C/svg%3E");
  --sp-asset-grade-letter-v: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-9.2 -718.2 665.5 717.2%22 fill=%22%23000%22%3E%3Cpath d=%22M318 -1Q292 -1 290 -1Q276 -3 272 -7Q270 -8 257 -20Q244 -32 241 -35.5Q238 -39 228.5 -49.5Q219 -60 216 -67Q213 -74 209 -85Q205 -96 204 -107Q195 -121 169 -189Q165 -199 137.5 -266Q110 -333 106 -343Q103 -351 97.5 -367.5Q92 -384 86.5 -396.5Q81 -409 73 -419Q72 -440 57 -472Q42 -504 39 -515Q33 -537 -1 -610Q-7 -622 -8.5 -635Q-10 -648 -8.5 -668.5Q-7 -689 -7 -694Q-7 -698 1 -703Q19 -713 24 -714Q79 -724 113 -704Q131 -692 138 -676Q141 -669 149 -654.5Q157 -640 161 -628Q165 -616 166 -604Q175 -597 178 -579Q181 -561 184 -556Q186 -553 192.5 -543Q199 -533 201.5 -525.5Q204 -518 204 -509Q216 -484 233.5 -434Q251 -384 262 -361Q266 -351 273 -333Q280 -315 283 -307Q289 -295 297 -286Q304 -278 318 -278.5Q332 -279 338 -288Q363 -322 376 -362Q399 -439 431 -505Q434 -513 439 -531.5Q444 -550 450 -559Q467 -588 471 -613Q474 -630 498 -671Q518 -705 560 -715Q596 -725 629 -704Q647 -693 653 -681Q659 -669 654 -650Q653 -645 647 -630.5Q641 -616 640 -607Q639 -599 630 -585Q621 -571 620 -567Q617 -561 613.5 -548.5Q610 -536 608 -531Q607 -529 590.5 -492.5Q574 -456 569 -436Q566 -425 550.5 -392.5Q535 -360 534 -340Q522 -327 512 -297Q502 -267 498 -258Q490 -245 480.5 -216.5Q471 -188 464 -175Q452 -150 446 -128Q445 -124 436 -107.5Q427 -91 429 -80Q419 -60 413.5 -50.5Q408 -41 395.5 -28Q383 -15 367 -8Q359 -5 351 -3.5Q343 -2 332 -1.5Q321 -1 318 -1Z%22/%3E%3C/svg%3E");
  --sp-asset-shape-grade-chip: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 104%22 fill=%22%23000%22%3E%3Cpath d=%22M28.0 10.2 C28.1 10.2 28.1 10.2 28.1 10.2 C28.2 10.2 28.2 10.2 28.3 10.2 C28.4 10.3 28.5 10.3 28.7 10.3 C28.8 10.3 29.0 10.4 29.2 10.4 C29.4 10.4 29.6 10.5 29.8 10.5 C30.1 10.5 30.3 10.6 30.6 10.6 C30.9 10.7 31.2 10.7 31.5 10.8 C31.9 10.8 32.2 10.9 32.6 10.9 C33.0 11.0 33.4 11.1 33.8 11.1 C34.2 11.2 34.6 11.3 35.1 11.4 C35.5 11.4 36.0 11.5 36.5 11.6 C37.0 11.7 37.6 11.8 38.1 11.9 C38.6 11.9 39.2 12.0 39.8 12.1 C40.4 12.2 41.0 12.3 41.6 12.4 C42.2 12.6 42.8 12.7 43.5 12.8 C44.1 12.9 44.8 13.0 45.4 13.1 C46.1 13.3 46.8 13.4 47.5 13.5 C48.2 13.7 48.9 13.8 49.6 14.0 C50.3 14.1 51.0 14.3 51.8 14.5 C52.5 14.6 53.2 14.8 54.0 15.0 C54.7 15.2 55.5 15.3 56.2 15.5 C57.0 15.7 57.7 15.9 58.5 16.2 C59.2 16.4 60.0 16.6 60.7 16.8 C61.5 17.1 62.2 17.3 63.0 17.6 C63.7 17.8 64.4 18.1 65.2 18.4 C65.9 18.7 66.6 19.0 67.3 19.3 C68.0 19.6 68.7 19.9 69.4 20.2 C70.1 20.5 70.8 20.9 71.4 21.2 C72.1 21.6 72.7 22.0 73.4 22.3 C74.0 22.7 74.6 23.1 75.2 23.5 C75.8 23.9 76.4 24.3 77.0 24.8 C77.6 25.2 78.1 25.6 78.7 26.1 C79.2 26.5 79.7 27.0 80.2 27.5 C80.7 27.9 81.2 28.4 81.7 28.9 C82.2 29.4 82.6 29.9 83.0 30.4 C83.5 30.9 83.9 31.5 84.3 32.0 C84.7 32.5 85.1 33.1 85.4 33.6 C85.8 34.2 86.1 34.7 86.4 35.3 C86.8 35.8 87.1 36.4 87.4 37.0 C87.7 37.5 87.9 38.1 88.2 38.7 C88.4 39.3 88.6 39.9 88.8 40.5 C89.0 41.1 89.2 41.7 89.4 42.3 C89.6 42.9 89.7 43.5 89.8 44.1 C90.0 44.8 90.1 45.4 90.2 46.0 C90.3 46.6 90.3 47.2 90.4 47.9 C90.4 48.5 90.5 49.1 90.5 49.8 C90.5 50.4 90.5 51.0 90.5 51.6 C90.4 52.3 90.4 52.9 90.3 53.5 C90.3 54.2 90.2 54.8 90.1 55.4 C90.0 56.0 89.9 56.7 89.8 57.3 C89.6 57.9 89.5 58.5 89.3 59.1 C89.2 59.7 89.0 60.3 88.8 61.0 C88.6 61.6 88.4 62.2 88.1 62.8 C87.9 63.3 87.6 63.9 87.4 64.5 C87.1 65.1 86.8 65.7 86.5 66.3 C86.2 66.8 85.9 67.4 85.6 68.0 C85.3 68.5 84.9 69.1 84.6 69.6 C84.2 70.2 83.9 70.7 83.5 71.2 C83.1 71.7 82.7 72.3 82.3 72.8 C81.9 73.3 81.4 73.8 81.0 74.3 C80.6 74.7 80.1 75.2 79.7 75.7 C79.2 76.2 78.7 76.6 78.3 77.1 C77.8 77.5 77.3 77.9 76.8 78.4 C76.3 78.8 75.7 79.2 75.2 79.6 C74.7 80.0 74.2 80.4 73.6 80.7 C73.1 81.1 72.5 81.5 72.0 81.8 C71.4 82.2 70.8 82.5 70.2 82.8 C69.7 83.1 69.1 83.4 68.5 83.7 C67.9 84.0 67.3 84.3 66.7 84.5 C66.1 84.8 65.5 85.0 64.9 85.3 C64.2 85.5 63.6 85.7 63.0 85.9 C62.4 86.1 61.7 86.3 61.1 86.5 C60.5 86.6 59.8 86.8 59.2 86.9 C58.6 87.0 57.9 87.2 57.3 87.3 C56.6 87.4 56.0 87.5 55.4 87.5 C54.7 87.6 54.1 87.7 53.4 87.7 C52.8 87.7 52.1 87.8 51.5 87.8 C50.8 87.8 50.2 87.7 49.6 87.7 C48.9 87.7 48.3 87.6 47.6 87.6 C47.0 87.5 46.4 87.4 45.7 87.3 C45.1 87.2 44.5 87.1 43.9 87.0 C43.2 86.9 42.6 86.7 42.0 86.6 C41.4 86.4 40.8 86.2 40.2 86.0 C39.6 85.8 39.0 85.6 38.4 85.4 C37.8 85.1 37.2 84.9 36.7 84.6 C36.1 84.4 35.5 84.1 35.0 83.8 C34.4 83.5 33.9 83.2 33.4 82.8 C32.8 82.5 32.3 82.2 31.8 81.8 C31.3 81.4 30.8 81.1 30.3 80.7 C29.8 80.3 29.3 79.9 28.8 79.4 C28.4 79.0 27.9 78.6 27.5 78.1 C27.0 77.7 26.6 77.2 26.2 76.7 C25.8 76.2 25.4 75.7 25.0 75.2 C24.6 74.7 24.3 74.2 23.9 73.6 C23.6 73.1 23.2 72.5 22.9 71.9 C22.6 71.4 22.3 70.8 22.0 70.2 C21.7 69.6 21.4 69.0 21.1 68.4 C20.9 67.8 20.6 67.1 20.4 66.5 C20.2 65.8 20.0 65.2 19.8 64.5 C19.6 63.9 19.4 63.2 19.2 62.5 C19.1 61.8 18.9 61.1 18.8 60.4 C18.7 59.7 18.6 59.0 18.5 58.3 C18.4 57.6 18.4 56.8 18.3 56.1 C18.3 55.4 18.2 54.6 18.2 53.9 C18.2 53.1 18.2 52.4 18.2 51.6 C18.2 50.8 18.3 50.1 18.3 49.3 C18.4 48.5 18.4 47.8 18.5 47.0 C18.6 46.2 18.7 45.4 18.8 44.7 C18.9 43.9 19.0 43.1 19.1 42.3 C19.3 41.6 19.4 40.8 19.6 40.0 C19.7 39.3 19.9 38.5 20.0 37.7 C20.2 37.0 20.4 36.2 20.5 35.5 C20.7 34.7 20.9 34.0 21.1 33.3 C21.3 32.5 21.5 31.8 21.6 31.1 C21.8 30.4 22.0 29.7 22.2 29.0 C22.4 28.4 22.6 27.7 22.8 27.0 C23.0 26.4 23.2 25.7 23.4 25.1 C23.6 24.5 23.7 23.9 23.9 23.3 C24.1 22.7 24.3 22.1 24.5 21.5 C24.6 21.0 24.8 20.4 25.0 19.9 C25.1 19.4 25.3 18.9 25.4 18.4 C25.6 17.9 25.7 17.4 25.9 17.0 C26.0 16.6 26.2 16.1 26.3 15.7 C26.4 15.3 26.5 14.9 26.7 14.6 C26.8 14.2 26.9 13.9 27.0 13.6 C27.1 13.2 27.2 12.9 27.3 12.7 C27.4 12.4 27.4 12.1 27.5 11.9 C27.6 11.7 27.6 11.5 27.7 11.3 C27.8 11.1 27.8 11.0 27.9 10.8 C27.9 10.7 27.9 10.6 28.0 10.5 C28.0 10.4 28.0 10.3 28.0 10.3 C28.0 10.2 28.0 10.2 28.0 10.2 Z%22/%3E%3C/svg%3E");
  --sp-asset-shape-grade-chip-notched: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 104%22 fill=%22%23000%22%3E%3Cmask id=%22grade-chip-notch%22 maskUnits=%22userSpaceOnUse%22 x=%220%22 y=%220%22 width=%22100%22 height=%22104%22%3E%3Crect width=%22100%22 height=%22104%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2277.92%22 cy=%2225.47%22 r=%2222.88%22 fill=%22%23000%22/%3E%3C/mask%3E%3Cpath mask=%22url(%23grade-chip-notch)%22 d=%22M28.0 10.2 C28.1 10.2 28.1 10.2 28.1 10.2 C28.2 10.2 28.2 10.2 28.3 10.2 C28.4 10.3 28.5 10.3 28.7 10.3 C28.8 10.3 29.0 10.4 29.2 10.4 C29.4 10.4 29.6 10.5 29.8 10.5 C30.1 10.5 30.3 10.6 30.6 10.6 C30.9 10.7 31.2 10.7 31.5 10.8 C31.9 10.8 32.2 10.9 32.6 10.9 C33.0 11.0 33.4 11.1 33.8 11.1 C34.2 11.2 34.6 11.3 35.1 11.4 C35.5 11.4 36.0 11.5 36.5 11.6 C37.0 11.7 37.6 11.8 38.1 11.9 C38.6 11.9 39.2 12.0 39.8 12.1 C40.4 12.2 41.0 12.3 41.6 12.4 C42.2 12.6 42.8 12.7 43.5 12.8 C44.1 12.9 44.8 13.0 45.4 13.1 C46.1 13.3 46.8 13.4 47.5 13.5 C48.2 13.7 48.9 13.8 49.6 14.0 C50.3 14.1 51.0 14.3 51.8 14.5 C52.5 14.6 53.2 14.8 54.0 15.0 C54.7 15.2 55.5 15.3 56.2 15.5 C57.0 15.7 57.7 15.9 58.5 16.2 C59.2 16.4 60.0 16.6 60.7 16.8 C61.5 17.1 62.2 17.3 63.0 17.6 C63.7 17.8 64.4 18.1 65.2 18.4 C65.9 18.7 66.6 19.0 67.3 19.3 C68.0 19.6 68.7 19.9 69.4 20.2 C70.1 20.5 70.8 20.9 71.4 21.2 C72.1 21.6 72.7 22.0 73.4 22.3 C74.0 22.7 74.6 23.1 75.2 23.5 C75.8 23.9 76.4 24.3 77.0 24.8 C77.6 25.2 78.1 25.6 78.7 26.1 C79.2 26.5 79.7 27.0 80.2 27.5 C80.7 27.9 81.2 28.4 81.7 28.9 C82.2 29.4 82.6 29.9 83.0 30.4 C83.5 30.9 83.9 31.5 84.3 32.0 C84.7 32.5 85.1 33.1 85.4 33.6 C85.8 34.2 86.1 34.7 86.4 35.3 C86.8 35.8 87.1 36.4 87.4 37.0 C87.7 37.5 87.9 38.1 88.2 38.7 C88.4 39.3 88.6 39.9 88.8 40.5 C89.0 41.1 89.2 41.7 89.4 42.3 C89.6 42.9 89.7 43.5 89.8 44.1 C90.0 44.8 90.1 45.4 90.2 46.0 C90.3 46.6 90.3 47.2 90.4 47.9 C90.4 48.5 90.5 49.1 90.5 49.8 C90.5 50.4 90.5 51.0 90.5 51.6 C90.4 52.3 90.4 52.9 90.3 53.5 C90.3 54.2 90.2 54.8 90.1 55.4 C90.0 56.0 89.9 56.7 89.8 57.3 C89.6 57.9 89.5 58.5 89.3 59.1 C89.2 59.7 89.0 60.3 88.8 61.0 C88.6 61.6 88.4 62.2 88.1 62.8 C87.9 63.3 87.6 63.9 87.4 64.5 C87.1 65.1 86.8 65.7 86.5 66.3 C86.2 66.8 85.9 67.4 85.6 68.0 C85.3 68.5 84.9 69.1 84.6 69.6 C84.2 70.2 83.9 70.7 83.5 71.2 C83.1 71.7 82.7 72.3 82.3 72.8 C81.9 73.3 81.4 73.8 81.0 74.3 C80.6 74.7 80.1 75.2 79.7 75.7 C79.2 76.2 78.7 76.6 78.3 77.1 C77.8 77.5 77.3 77.9 76.8 78.4 C76.3 78.8 75.7 79.2 75.2 79.6 C74.7 80.0 74.2 80.4 73.6 80.7 C73.1 81.1 72.5 81.5 72.0 81.8 C71.4 82.2 70.8 82.5 70.2 82.8 C69.7 83.1 69.1 83.4 68.5 83.7 C67.9 84.0 67.3 84.3 66.7 84.5 C66.1 84.8 65.5 85.0 64.9 85.3 C64.2 85.5 63.6 85.7 63.0 85.9 C62.4 86.1 61.7 86.3 61.1 86.5 C60.5 86.6 59.8 86.8 59.2 86.9 C58.6 87.0 57.9 87.2 57.3 87.3 C56.6 87.4 56.0 87.5 55.4 87.5 C54.7 87.6 54.1 87.7 53.4 87.7 C52.8 87.7 52.1 87.8 51.5 87.8 C50.8 87.8 50.2 87.7 49.6 87.7 C48.9 87.7 48.3 87.6 47.6 87.6 C47.0 87.5 46.4 87.4 45.7 87.3 C45.1 87.2 44.5 87.1 43.9 87.0 C43.2 86.9 42.6 86.7 42.0 86.6 C41.4 86.4 40.8 86.2 40.2 86.0 C39.6 85.8 39.0 85.6 38.4 85.4 C37.8 85.1 37.2 84.9 36.7 84.6 C36.1 84.4 35.5 84.1 35.0 83.8 C34.4 83.5 33.9 83.2 33.4 82.8 C32.8 82.5 32.3 82.2 31.8 81.8 C31.3 81.4 30.8 81.1 30.3 80.7 C29.8 80.3 29.3 79.9 28.8 79.4 C28.4 79.0 27.9 78.6 27.5 78.1 C27.0 77.7 26.6 77.2 26.2 76.7 C25.8 76.2 25.4 75.7 25.0 75.2 C24.6 74.7 24.3 74.2 23.9 73.6 C23.6 73.1 23.2 72.5 22.9 71.9 C22.6 71.4 22.3 70.8 22.0 70.2 C21.7 69.6 21.4 69.0 21.1 68.4 C20.9 67.8 20.6 67.1 20.4 66.5 C20.2 65.8 20.0 65.2 19.8 64.5 C19.6 63.9 19.4 63.2 19.2 62.5 C19.1 61.8 18.9 61.1 18.8 60.4 C18.7 59.7 18.6 59.0 18.5 58.3 C18.4 57.6 18.4 56.8 18.3 56.1 C18.3 55.4 18.2 54.6 18.2 53.9 C18.2 53.1 18.2 52.4 18.2 51.6 C18.2 50.8 18.3 50.1 18.3 49.3 C18.4 48.5 18.4 47.8 18.5 47.0 C18.6 46.2 18.7 45.4 18.8 44.7 C18.9 43.9 19.0 43.1 19.1 42.3 C19.3 41.6 19.4 40.8 19.6 40.0 C19.7 39.3 19.9 38.5 20.0 37.7 C20.2 37.0 20.4 36.2 20.5 35.5 C20.7 34.7 20.9 34.0 21.1 33.3 C21.3 32.5 21.5 31.8 21.6 31.1 C21.8 30.4 22.0 29.7 22.2 29.0 C22.4 28.4 22.6 27.7 22.8 27.0 C23.0 26.4 23.2 25.7 23.4 25.1 C23.6 24.5 23.7 23.9 23.9 23.3 C24.1 22.7 24.3 22.1 24.5 21.5 C24.6 21.0 24.8 20.4 25.0 19.9 C25.1 19.4 25.3 18.9 25.4 18.4 C25.6 17.9 25.7 17.4 25.9 17.0 C26.0 16.6 26.2 16.1 26.3 15.7 C26.4 15.3 26.5 14.9 26.7 14.6 C26.8 14.2 26.9 13.9 27.0 13.6 C27.1 13.2 27.2 12.9 27.3 12.7 C27.4 12.4 27.4 12.1 27.5 11.9 C27.6 11.7 27.6 11.5 27.7 11.3 C27.8 11.1 27.8 11.0 27.9 10.8 C27.9 10.7 27.9 10.6 28.0 10.5 C28.0 10.4 28.0 10.3 28.0 10.3 C28.0 10.2 28.0 10.2 28.0 10.2 Z%22/%3E%3C/svg%3E");
  --sp-asset-shape-leaf-pin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 80 92%22 fill=%22%23000%22%3E%3Cpath d=%22M40.0 8.0 C40.0 8.0 40.0 8.0 40.1 8.0 C40.1 8.1 40.1 8.1 40.2 8.2 C40.3 8.2 40.3 8.3 40.4 8.4 C40.5 8.5 40.6 8.6 40.8 8.7 C40.9 8.8 41.0 9.0 41.2 9.1 C41.4 9.2 41.5 9.4 41.7 9.6 C41.9 9.8 42.1 9.9 42.3 10.1 C42.6 10.3 42.8 10.6 43.1 10.8 C43.3 11.0 43.6 11.3 43.9 11.5 C44.1 11.8 44.4 12.1 44.8 12.3 C45.1 12.6 45.4 12.9 45.7 13.2 C46.1 13.5 46.4 13.9 46.8 14.2 C47.1 14.5 47.5 14.9 47.9 15.2 C48.3 15.6 48.7 16.0 49.1 16.3 C49.5 16.7 49.9 17.1 50.4 17.5 C50.8 17.9 51.2 18.3 51.7 18.8 C52.1 19.2 52.6 19.6 53.1 20.1 C53.5 20.5 54.0 21.0 54.4 21.5 C54.9 21.9 55.4 22.4 55.9 22.9 C56.3 23.4 56.8 23.9 57.3 24.4 C57.8 24.9 58.2 25.4 58.7 25.9 C59.2 26.4 59.6 27.0 60.1 27.5 C60.6 28.0 61.0 28.6 61.5 29.1 C61.9 29.7 62.4 30.2 62.8 30.8 C63.3 31.4 63.7 31.9 64.1 32.5 C64.5 33.1 64.9 33.7 65.3 34.2 C65.7 34.8 66.1 35.4 66.4 36.0 C66.8 36.6 67.2 37.2 67.5 37.8 C67.8 38.4 68.2 39.0 68.5 39.6 C68.8 40.2 69.0 40.8 69.3 41.4 C69.6 42.1 69.8 42.7 70.1 43.3 C70.3 43.9 70.5 44.5 70.7 45.1 C70.9 45.8 71.1 46.4 71.2 47.0 C71.4 47.6 71.5 48.2 71.7 48.9 C71.8 49.5 71.9 50.1 72.0 50.7 C72.1 51.3 72.1 51.9 72.2 52.6 C72.2 53.2 72.3 53.8 72.3 54.4 C72.3 55.0 72.3 55.6 72.3 56.2 C72.3 56.8 72.3 57.4 72.2 58.0 C72.2 58.6 72.1 59.2 72.0 59.8 C71.9 60.3 71.8 60.9 71.7 61.5 C71.6 62.1 71.4 62.6 71.3 63.2 C71.1 63.8 71.0 64.3 70.8 64.9 C70.6 65.4 70.4 66.0 70.2 66.5 C70.0 67.0 69.7 67.6 69.5 68.1 C69.2 68.6 69.0 69.1 68.7 69.6 C68.4 70.1 68.1 70.6 67.8 71.1 C67.5 71.6 67.2 72.1 66.8 72.5 C66.5 73.0 66.2 73.5 65.8 73.9 C65.4 74.4 65.1 74.8 64.7 75.2 C64.3 75.7 63.9 76.1 63.5 76.5 C63.1 76.9 62.7 77.3 62.2 77.7 C61.8 78.0 61.4 78.4 60.9 78.8 C60.5 79.1 60.0 79.5 59.5 79.8 C59.1 80.1 58.6 80.5 58.1 80.8 C57.6 81.1 57.1 81.4 56.6 81.7 C56.1 81.9 55.6 82.2 55.1 82.5 C54.6 82.7 54.1 83.0 53.5 83.2 C53.0 83.4 52.5 83.7 51.9 83.9 C51.4 84.1 50.8 84.2 50.3 84.4 C49.7 84.6 49.2 84.8 48.6 84.9 C48.1 85.0 47.5 85.2 46.9 85.3 C46.3 85.4 45.8 85.5 45.2 85.6 C44.6 85.7 44.1 85.8 43.5 85.8 C42.9 85.9 42.3 85.9 41.7 86.0 C41.2 86.0 40.6 86.0 40.0 86.0 C39.4 86.0 38.8 86.0 38.3 86.0 C37.7 85.9 37.1 85.9 36.5 85.8 C35.9 85.8 35.4 85.7 34.8 85.6 C34.2 85.5 33.7 85.4 33.1 85.3 C32.5 85.2 31.9 85.0 31.4 84.9 C30.8 84.8 30.3 84.6 29.7 84.4 C29.2 84.2 28.6 84.1 28.1 83.9 C27.5 83.7 27.0 83.4 26.5 83.2 C25.9 83.0 25.4 82.7 24.9 82.5 C24.4 82.2 23.9 81.9 23.4 81.7 C22.9 81.4 22.4 81.1 21.9 80.8 C21.4 80.5 20.9 80.1 20.5 79.8 C20.0 79.5 19.5 79.1 19.1 78.8 C18.6 78.4 18.2 78.0 17.8 77.7 C17.3 77.3 16.9 76.9 16.5 76.5 C16.1 76.1 15.7 75.7 15.3 75.2 C14.9 74.8 14.6 74.4 14.2 73.9 C13.8 73.5 13.5 73.0 13.2 72.5 C12.8 72.1 12.5 71.6 12.2 71.1 C11.9 70.6 11.6 70.1 11.3 69.6 C11.0 69.1 10.8 68.6 10.5 68.1 C10.3 67.6 10.0 67.0 9.8 66.5 C9.6 66.0 9.4 65.4 9.2 64.9 C9.0 64.3 8.9 63.8 8.7 63.2 C8.6 62.6 8.4 62.1 8.3 61.5 C8.2 60.9 8.1 60.3 8.0 59.8 C7.9 59.2 7.8 58.6 7.8 58.0 C7.7 57.4 7.7 56.8 7.7 56.2 C7.7 55.6 7.7 55.0 7.7 54.4 C7.7 53.8 7.8 53.2 7.8 52.6 C7.9 51.9 7.9 51.3 8.0 50.7 C8.1 50.1 8.2 49.5 8.3 48.9 C8.5 48.2 8.6 47.6 8.8 47.0 C8.9 46.4 9.1 45.8 9.3 45.1 C9.5 44.5 9.7 43.9 9.9 43.3 C10.2 42.7 10.4 42.1 10.7 41.4 C11.0 40.8 11.2 40.2 11.5 39.6 C11.8 39.0 12.2 38.4 12.5 37.8 C12.8 37.2 13.2 36.6 13.6 36.0 C13.9 35.4 14.3 34.8 14.7 34.2 C15.1 33.7 15.5 33.1 15.9 32.5 C16.3 31.9 16.7 31.4 17.2 30.8 C17.6 30.2 18.1 29.7 18.5 29.1 C19.0 28.6 19.4 28.0 19.9 27.5 C20.4 27.0 20.8 26.4 21.3 25.9 C21.8 25.4 22.2 24.9 22.7 24.4 C23.2 23.9 23.7 23.4 24.1 22.9 C24.6 22.4 25.1 21.9 25.6 21.5 C26.0 21.0 26.5 20.5 26.9 20.1 C27.4 19.6 27.9 19.2 28.3 18.8 C28.8 18.3 29.2 17.9 29.6 17.5 C30.1 17.1 30.5 16.7 30.9 16.3 C31.3 16.0 31.7 15.6 32.1 15.2 C32.5 14.9 32.9 14.5 33.2 14.2 C33.6 13.9 33.9 13.5 34.3 13.2 C34.6 12.9 34.9 12.6 35.2 12.3 C35.6 12.1 35.9 11.8 36.1 11.5 C36.4 11.3 36.7 11.0 36.9 10.8 C37.2 10.6 37.4 10.3 37.7 10.1 C37.9 9.9 38.1 9.8 38.3 9.6 C38.5 9.4 38.6 9.2 38.8 9.1 C39.0 9.0 39.1 8.8 39.2 8.7 C39.4 8.6 39.5 8.5 39.6 8.4 C39.7 8.3 39.7 8.2 39.8 8.2 C39.9 8.1 39.9 8.1 39.9 8.0 C40.0 8.0 40.0 8.0 40.0 8.0 Z%22/%3E%3C/svg%3E");
  --sp-asset-shape-leaf-pin-notched: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 80 92%22 fill=%22%23000%22%3E%3Cmask id=%22leaf-pin-notch%22 maskUnits=%22userSpaceOnUse%22 x=%220%22 y=%220%22 width=%2280%22 height=%2292%22%3E%3Crect width=%2280%22 height=%2292%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2259.8%22 cy=%2227.18%22 r=%2217.18%22 fill=%22%23000%22/%3E%3C/mask%3E%3Cpath mask=%22url(%23leaf-pin-notch)%22 d=%22M40.0 8.0 C40.0 8.0 40.0 8.0 40.1 8.0 C40.1 8.1 40.1 8.1 40.2 8.2 C40.3 8.2 40.3 8.3 40.4 8.4 C40.5 8.5 40.6 8.6 40.8 8.7 C40.9 8.8 41.0 9.0 41.2 9.1 C41.4 9.2 41.5 9.4 41.7 9.6 C41.9 9.8 42.1 9.9 42.3 10.1 C42.6 10.3 42.8 10.6 43.1 10.8 C43.3 11.0 43.6 11.3 43.9 11.5 C44.1 11.8 44.4 12.1 44.8 12.3 C45.1 12.6 45.4 12.9 45.7 13.2 C46.1 13.5 46.4 13.9 46.8 14.2 C47.1 14.5 47.5 14.9 47.9 15.2 C48.3 15.6 48.7 16.0 49.1 16.3 C49.5 16.7 49.9 17.1 50.4 17.5 C50.8 17.9 51.2 18.3 51.7 18.8 C52.1 19.2 52.6 19.6 53.1 20.1 C53.5 20.5 54.0 21.0 54.4 21.5 C54.9 21.9 55.4 22.4 55.9 22.9 C56.3 23.4 56.8 23.9 57.3 24.4 C57.8 24.9 58.2 25.4 58.7 25.9 C59.2 26.4 59.6 27.0 60.1 27.5 C60.6 28.0 61.0 28.6 61.5 29.1 C61.9 29.7 62.4 30.2 62.8 30.8 C63.3 31.4 63.7 31.9 64.1 32.5 C64.5 33.1 64.9 33.7 65.3 34.2 C65.7 34.8 66.1 35.4 66.4 36.0 C66.8 36.6 67.2 37.2 67.5 37.8 C67.8 38.4 68.2 39.0 68.5 39.6 C68.8 40.2 69.0 40.8 69.3 41.4 C69.6 42.1 69.8 42.7 70.1 43.3 C70.3 43.9 70.5 44.5 70.7 45.1 C70.9 45.8 71.1 46.4 71.2 47.0 C71.4 47.6 71.5 48.2 71.7 48.9 C71.8 49.5 71.9 50.1 72.0 50.7 C72.1 51.3 72.1 51.9 72.2 52.6 C72.2 53.2 72.3 53.8 72.3 54.4 C72.3 55.0 72.3 55.6 72.3 56.2 C72.3 56.8 72.3 57.4 72.2 58.0 C72.2 58.6 72.1 59.2 72.0 59.8 C71.9 60.3 71.8 60.9 71.7 61.5 C71.6 62.1 71.4 62.6 71.3 63.2 C71.1 63.8 71.0 64.3 70.8 64.9 C70.6 65.4 70.4 66.0 70.2 66.5 C70.0 67.0 69.7 67.6 69.5 68.1 C69.2 68.6 69.0 69.1 68.7 69.6 C68.4 70.1 68.1 70.6 67.8 71.1 C67.5 71.6 67.2 72.1 66.8 72.5 C66.5 73.0 66.2 73.5 65.8 73.9 C65.4 74.4 65.1 74.8 64.7 75.2 C64.3 75.7 63.9 76.1 63.5 76.5 C63.1 76.9 62.7 77.3 62.2 77.7 C61.8 78.0 61.4 78.4 60.9 78.8 C60.5 79.1 60.0 79.5 59.5 79.8 C59.1 80.1 58.6 80.5 58.1 80.8 C57.6 81.1 57.1 81.4 56.6 81.7 C56.1 81.9 55.6 82.2 55.1 82.5 C54.6 82.7 54.1 83.0 53.5 83.2 C53.0 83.4 52.5 83.7 51.9 83.9 C51.4 84.1 50.8 84.2 50.3 84.4 C49.7 84.6 49.2 84.8 48.6 84.9 C48.1 85.0 47.5 85.2 46.9 85.3 C46.3 85.4 45.8 85.5 45.2 85.6 C44.6 85.7 44.1 85.8 43.5 85.8 C42.9 85.9 42.3 85.9 41.7 86.0 C41.2 86.0 40.6 86.0 40.0 86.0 C39.4 86.0 38.8 86.0 38.3 86.0 C37.7 85.9 37.1 85.9 36.5 85.8 C35.9 85.8 35.4 85.7 34.8 85.6 C34.2 85.5 33.7 85.4 33.1 85.3 C32.5 85.2 31.9 85.0 31.4 84.9 C30.8 84.8 30.3 84.6 29.7 84.4 C29.2 84.2 28.6 84.1 28.1 83.9 C27.5 83.7 27.0 83.4 26.5 83.2 C25.9 83.0 25.4 82.7 24.9 82.5 C24.4 82.2 23.9 81.9 23.4 81.7 C22.9 81.4 22.4 81.1 21.9 80.8 C21.4 80.5 20.9 80.1 20.5 79.8 C20.0 79.5 19.5 79.1 19.1 78.8 C18.6 78.4 18.2 78.0 17.8 77.7 C17.3 77.3 16.9 76.9 16.5 76.5 C16.1 76.1 15.7 75.7 15.3 75.2 C14.9 74.8 14.6 74.4 14.2 73.9 C13.8 73.5 13.5 73.0 13.2 72.5 C12.8 72.1 12.5 71.6 12.2 71.1 C11.9 70.6 11.6 70.1 11.3 69.6 C11.0 69.1 10.8 68.6 10.5 68.1 C10.3 67.6 10.0 67.0 9.8 66.5 C9.6 66.0 9.4 65.4 9.2 64.9 C9.0 64.3 8.9 63.8 8.7 63.2 C8.6 62.6 8.4 62.1 8.3 61.5 C8.2 60.9 8.1 60.3 8.0 59.8 C7.9 59.2 7.8 58.6 7.8 58.0 C7.7 57.4 7.7 56.8 7.7 56.2 C7.7 55.6 7.7 55.0 7.7 54.4 C7.7 53.8 7.8 53.2 7.8 52.6 C7.9 51.9 7.9 51.3 8.0 50.7 C8.1 50.1 8.2 49.5 8.3 48.9 C8.5 48.2 8.6 47.6 8.8 47.0 C8.9 46.4 9.1 45.8 9.3 45.1 C9.5 44.5 9.7 43.9 9.9 43.3 C10.2 42.7 10.4 42.1 10.7 41.4 C11.0 40.8 11.2 40.2 11.5 39.6 C11.8 39.0 12.2 38.4 12.5 37.8 C12.8 37.2 13.2 36.6 13.6 36.0 C13.9 35.4 14.3 34.8 14.7 34.2 C15.1 33.7 15.5 33.1 15.9 32.5 C16.3 31.9 16.7 31.4 17.2 30.8 C17.6 30.2 18.1 29.7 18.5 29.1 C19.0 28.6 19.4 28.0 19.9 27.5 C20.4 27.0 20.8 26.4 21.3 25.9 C21.8 25.4 22.2 24.9 22.7 24.4 C23.2 23.9 23.7 23.4 24.1 22.9 C24.6 22.4 25.1 21.9 25.6 21.5 C26.0 21.0 26.5 20.5 26.9 20.1 C27.4 19.6 27.9 19.2 28.3 18.8 C28.8 18.3 29.2 17.9 29.6 17.5 C30.1 17.1 30.5 16.7 30.9 16.3 C31.3 16.0 31.7 15.6 32.1 15.2 C32.5 14.9 32.9 14.5 33.2 14.2 C33.6 13.9 33.9 13.5 34.3 13.2 C34.6 12.9 34.9 12.6 35.2 12.3 C35.6 12.1 35.9 11.8 36.1 11.5 C36.4 11.3 36.7 11.0 36.9 10.8 C37.2 10.6 37.4 10.3 37.7 10.1 C37.9 9.9 38.1 9.8 38.3 9.6 C38.5 9.4 38.6 9.2 38.8 9.1 C39.0 9.0 39.1 8.8 39.2 8.7 C39.4 8.6 39.5 8.5 39.6 8.4 C39.7 8.3 39.7 8.2 39.8 8.2 C39.9 8.1 39.9 8.1 39.9 8.0 C40.0 8.0 40.0 8.0 40.0 8.0 Z%22/%3E%3C/svg%3E");
  --sp-color-palette-frame: var(--sp-color-primitive-bottle);
  --sp-color-palette-frame-sunken: var(--sp-color-primitive-bottle-sunken);
  --sp-color-palette-frame-card: var(--sp-color-primitive-bottle-card);
  --sp-color-palette-frame-raised: var(--sp-color-primitive-ink-2);
  --sp-color-palette-frame-brand: var(--sp-color-primitive-bottle-hi);
  --sp-color-palette-frame-night: var(--sp-color-primitive-night);
  --sp-color-palette-frame-dim: var(--sp-color-primitive-bottle-dim);
  --sp-color-palette-frame-disabled: var(--sp-color-primitive-bottle-disabled);
  --sp-color-palette-frame-strong: var(--sp-color-primitive-bottle-strong);
  --sp-color-palette-map-park-night: var(--sp-color-primitive-bottle-map-park);
  --sp-color-palette-map-water-night: var(--sp-color-primitive-bottle-map-water);
  --sp-color-palette-spinach: var(--sp-color-primitive-spinach);
  --sp-color-palette-spinach-small: var(--sp-color-primitive-spinach-small);
  --sp-typography-app-display-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-display-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-app-display-font-size: 40px;
  --sp-typography-app-display-line-height: 1.1;
  --sp-typography-app-display-letter-spacing: -0.035em;
  --sp-typography-app-title-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-title-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-app-title-font-size: 31px;
  --sp-typography-app-title-line-height: 1.1;
  --sp-typography-app-title-letter-spacing: -0.035em;
  --sp-typography-app-numeral-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-numeral-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-app-numeral-font-size: 28px;
  --sp-typography-app-numeral-line-height: 1.15;
  --sp-typography-app-numeral-letter-spacing: -0.02em;
  --sp-typography-app-heading-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-heading-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-app-heading-font-size: 22px;
  --sp-typography-app-heading-line-height: 1.2;
  --sp-typography-app-heading-letter-spacing: -0.02em;
  --sp-typography-app-name-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-name-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-name-font-size: 16px;
  --sp-typography-app-name-line-height: 1.25;
  --sp-typography-app-name-letter-spacing: 0em;
  --sp-typography-app-body-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-body-font-weight: var(--sp-font-weight-regular);
  --sp-typography-app-body-font-size: 15px;
  --sp-typography-app-body-line-height: 1.4667;
  --sp-typography-app-body-letter-spacing: 0em;
  --sp-typography-app-body-strong-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-body-strong-font-weight: var(--sp-font-weight-semibold);
  --sp-typography-app-body-strong-font-size: 15px;
  --sp-typography-app-body-strong-line-height: 1.4667;
  --sp-typography-app-body-strong-letter-spacing: 0em;
  --sp-typography-app-caption-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-caption-font-weight: var(--sp-font-weight-regular);
  --sp-typography-app-caption-font-size: 13px;
  --sp-typography-app-caption-line-height: 1.3846;
  --sp-typography-app-caption-letter-spacing: 0em;
  --sp-typography-app-label-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-label-font-weight: var(--sp-font-weight-semibold);
  --sp-typography-app-label-font-size: 13px;
  --sp-typography-app-label-line-height: 1.2308;
  --sp-typography-app-label-letter-spacing: 0em;
  --sp-typography-app-button-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-button-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-button-font-size: 15px;
  --sp-typography-app-button-line-height: 1.2;
  --sp-typography-app-button-letter-spacing: 0em;
  --sp-typography-app-tab-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-tab-font-weight: var(--sp-font-weight-semibold);
  --sp-typography-app-tab-font-size: 11px;
  --sp-typography-app-tab-line-height: 1.2727;
  --sp-typography-app-tab-letter-spacing: 0.01em;
  --sp-typography-app-tab-active-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-tab-active-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-tab-active-font-size: 11px;
  --sp-typography-app-tab-active-line-height: 1.2727;
  --sp-typography-app-tab-active-letter-spacing: 0.01em;
  --sp-typography-app-meta-font-family: var(--sp-font-family-martian-mono);
  --sp-typography-app-meta-font-weight: var(--sp-font-weight-regular);
  --sp-typography-app-meta-font-size: 12px;
  --sp-typography-app-meta-line-height: 1.3333;
  --sp-typography-app-meta-letter-spacing: 0em;
  --sp-typography-app-eyebrow-font-family: var(--sp-font-family-martian-mono);
  --sp-typography-app-eyebrow-font-weight: var(--sp-font-weight-medium);
  --sp-typography-app-eyebrow-font-size: 12px;
  --sp-typography-app-eyebrow-line-height: 1.3333;
  --sp-typography-app-eyebrow-letter-spacing: 0em;
  --sp-typography-app-note-font-family: var(--sp-font-family-martian-mono);
  --sp-typography-app-note-font-weight: var(--sp-font-weight-medium);
  --sp-typography-app-note-font-size: 13px;
  --sp-typography-app-note-line-height: 1.2308;
  --sp-typography-app-note-letter-spacing: 0em;
  --sp-typography-app-grade-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-grade-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-app-grade-font-size: 14px;
  --sp-typography-app-grade-line-height: 1;
  --sp-typography-app-grade-letter-spacing: 0em;
  --sp-typography-app-map-line-font-family: var(--sp-font-family-martian-mono-semicondensed);
  --sp-typography-app-map-line-font-weight: var(--sp-font-weight-medium);
  --sp-typography-app-map-line-font-size: 10.5px;
  --sp-typography-app-map-line-line-height: 1.2381;
  --sp-typography-app-map-line-letter-spacing: 0em;
  --sp-typography-app-row-name-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-row-name-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-row-name-font-size: 17px;
  --sp-typography-app-row-name-line-height: 1.2941;
  --sp-typography-app-row-name-letter-spacing: -0.01em;
  --sp-typography-app-row-rating-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-row-rating-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-row-rating-font-size: 15px;
  --sp-typography-app-row-rating-line-height: 1.4667;
  --sp-typography-app-row-rating-letter-spacing: 0em;
  --sp-typography-app-row-text-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-row-text-font-weight: var(--sp-font-weight-regular);
  --sp-typography-app-row-text-font-size: 14px;
  --sp-typography-app-row-text-line-height: 1.2857;
  --sp-typography-app-row-text-letter-spacing: 0em;
  --sp-typography-app-row-status-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-row-status-font-weight: var(--sp-font-weight-semibold);
  --sp-typography-app-row-status-font-size: 14px;
  --sp-typography-app-row-status-line-height: 1.2857;
  --sp-typography-app-row-status-letter-spacing: 0em;
  --sp-typography-app-row-dish-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-row-dish-font-weight: var(--sp-font-weight-semibold);
  --sp-typography-app-row-dish-font-size: 14px;
  --sp-typography-app-row-dish-line-height: 1.3571;
  --sp-typography-app-row-dish-letter-spacing: 0em;
  --sp-typography-app-card-name-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-card-name-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-card-name-font-size: 15px;
  --sp-typography-app-card-name-line-height: 1.3333;
  --sp-typography-app-card-name-letter-spacing: 0em;
  --sp-typography-app-card-rating-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-card-rating-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-card-rating-font-size: 14px;
  --sp-typography-app-card-rating-line-height: 1.4286;
  --sp-typography-app-card-rating-letter-spacing: 0em;
  --sp-typography-app-scope-title-font-family: var(--sp-font-family-archivo);
  --sp-typography-app-scope-title-font-weight: var(--sp-font-weight-bold);
  --sp-typography-app-scope-title-font-size: 20px;
  --sp-typography-app-scope-title-line-height: 1.2;
  --sp-typography-app-scope-title-letter-spacing: -0.01em;
  --sp-typography-web-display-xl-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-display-xl-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-web-display-xl-font-size: clamp(2.75rem, -4.4426rem + 29.5082vw, 5rem);
  --sp-typography-web-display-xl-line-height: 1.1;
  --sp-typography-web-display-xl-letter-spacing: -0.035em;
  --sp-typography-web-display-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-display-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-web-display-font-size: clamp(2.5rem, -2.2951rem + 19.6721vw, 4rem);
  --sp-typography-web-display-line-height: 1.1;
  --sp-typography-web-display-letter-spacing: -0.035em;
  --sp-typography-web-title-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-title-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-web-title-font-size: clamp(1.9375rem, -0.6598rem + 10.6557vw, 2.75rem);
  --sp-typography-web-title-line-height: 1.1;
  --sp-typography-web-title-letter-spacing: -0.035em;
  --sp-typography-web-numeral-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-numeral-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-web-numeral-font-size: clamp(1.75rem, -0.6475rem + 9.8361vw, 2.5rem);
  --sp-typography-web-numeral-line-height: 1.1;
  --sp-typography-web-numeral-letter-spacing: -0.03em;
  --sp-typography-web-heading-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-heading-font-weight: var(--sp-font-weight-extrabold);
  --sp-typography-web-heading-font-size: clamp(1.375rem, 0.9754rem + 1.6393vw, 1.5rem);
  --sp-typography-web-heading-line-height: 1.2;
  --sp-typography-web-heading-letter-spacing: -0.02em;
  --sp-typography-web-lead-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-lead-font-weight: var(--sp-font-weight-regular);
  --sp-typography-web-lead-font-size: clamp(1.125rem, 0.7254rem + 1.6393vw, 1.25rem);
  --sp-typography-web-lead-line-height: 1.5;
  --sp-typography-web-lead-letter-spacing: 0em;
  --sp-typography-web-name-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-name-font-weight: var(--sp-font-weight-bold);
  --sp-typography-web-name-font-size: clamp(1rem, 0.6004rem + 1.6393vw, 1.125rem);
  --sp-typography-web-name-line-height: 1.3;
  --sp-typography-web-name-letter-spacing: 0em;
  --sp-typography-web-body-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-body-font-weight: var(--sp-font-weight-regular);
  --sp-typography-web-body-font-size: 16px;
  --sp-typography-web-body-line-height: 1.6;
  --sp-typography-web-body-letter-spacing: 0em;
  --sp-typography-web-small-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-small-font-weight: var(--sp-font-weight-regular);
  --sp-typography-web-small-font-size: 14px;
  --sp-typography-web-small-line-height: 1.45;
  --sp-typography-web-small-letter-spacing: 0em;
  --sp-typography-web-label-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-label-font-weight: var(--sp-font-weight-semibold);
  --sp-typography-web-label-font-size: 13px;
  --sp-typography-web-label-line-height: 1.25;
  --sp-typography-web-label-letter-spacing: 0em;
  --sp-typography-web-button-font-family: var(--sp-font-family-archivo);
  --sp-typography-web-button-font-weight: var(--sp-font-weight-bold);
  --sp-typography-web-button-font-size: 15px;
  --sp-typography-web-button-line-height: 1.2;
  --sp-typography-web-button-letter-spacing: 0em;
  --sp-typography-web-meta-font-family: var(--sp-font-family-martian-mono);
  --sp-typography-web-meta-font-weight: var(--sp-font-weight-regular);
  --sp-typography-web-meta-font-size: 13px;
  --sp-typography-web-meta-line-height: 1.4;
  --sp-typography-web-meta-letter-spacing: 0em;
  --sp-typography-web-eyebrow-font-family: var(--sp-font-family-martian-mono);
  --sp-typography-web-eyebrow-font-weight: var(--sp-font-weight-medium);
  --sp-typography-web-eyebrow-font-size: clamp(0.75rem, 0.5502rem + 0.8197vw, 0.8125rem);
  --sp-typography-web-eyebrow-line-height: 1.35;
  --sp-typography-web-eyebrow-letter-spacing: 0em;
  --sp-typography-web-note-font-family: var(--sp-font-family-martian-mono);
  --sp-typography-web-note-font-weight: var(--sp-font-weight-medium);
  --sp-typography-web-note-font-size: clamp(0.875rem, 0.0758rem + 3.2787vw, 1.125rem);
  --sp-typography-web-note-line-height: 1.25;
  --sp-typography-web-note-letter-spacing: 0em;
  --sp-typography-scale-cap-body: 2.0;
  --sp-typography-scale-cap-display: 1.5;
  --sp-space-tight: var(--sp-dimension-space-4);
  --sp-space-chip-gap: var(--sp-dimension-space-6);
  --sp-space-inline: var(--sp-dimension-space-8);
  --sp-space-group: var(--sp-dimension-space-12);
  --sp-space-card: var(--sp-dimension-space-16);
  --sp-space-gutter: var(--sp-dimension-space-20);
  --sp-space-stack: var(--sp-dimension-space-24);
  --sp-space-section: var(--sp-dimension-space-28);
  --sp-space-gutter-lg: var(--sp-dimension-space-64);
  --sp-space-section-web: var(--sp-dimension-space-80);
  --sp-space-section-web-lg: var(--sp-dimension-space-112);
  --sp-radius-none: 0px;
  --sp-radius-ui: 3px;
  --sp-radius-thumb: 10px;
  --sp-radius-card: 14px;
  --sp-radius-sheet: 24px;
  --sp-radius-pill: 999px;
  --sp-size-hit-min: 48px;
  --sp-size-large-text: 19px;
  --sp-size-control: 48px;
  --sp-size-control-s: 36px;
  --sp-size-chip: 32px;
  --sp-size-row-min: 72px;
  --sp-size-thumb: 56px;
  --sp-size-tab-bar: 56px;
  --sp-size-content-max: 1312px;
  --sp-size-prose-max: 680px;
  --sp-size-grade-letter-min: 11px;
  --sp-icon-inline: 16px;
  --sp-icon-control: 20px;
  --sp-icon-nav: 24px;
  --sp-icon-feature: 32px;
  --sp-icon-empty: 48px;
  --sp-border-width-hairline: 1px;
  --sp-border-width-control: 1.5px;
  --sp-border-width-focus: 2px;
  --sp-border-width-error: 2px;
  --sp-border-width-ring: 2px;
  --sp-border-width-user-ring: 3px;
  --sp-link-underline-width: 1px;
  --sp-link-underline-width-hover: 2px;
  --sp-link-underline-offset: 0.18em;
  --sp-opacity-hover: 0.08;
  --sp-opacity-focus: 0.1;
  --sp-opacity-pressed: 0.1;
  --sp-opacity-dragged: 0.16;
  --sp-duration-instant: var(--sp-duration-0);
  --sp-duration-fast: var(--sp-duration-150);
  --sp-duration-base: var(--sp-duration-250);
  --sp-duration-slow: var(--sp-duration-400);
  --sp-duration-brand: var(--sp-duration-600);
  --sp-duration-shimmer: var(--sp-duration-1400);
  --sp-duration-fade-reduced: var(--sp-duration-100);
  --sp-easing-standard: var(--sp-curve-standard);
  --sp-easing-enter: var(--sp-curve-emphasized-decelerate);
  --sp-easing-exit: var(--sp-curve-emphasized-accelerate);
  --sp-easing-sheet: var(--sp-curve-sheet);
  --sp-easing-ink: var(--sp-curve-ink);
  --sp-easing-linear: var(--sp-curve-linear);
  --sp-motion-reduced-fast: var(--sp-duration-0);
  --sp-motion-reduced-base: var(--sp-duration-0);
  --sp-motion-reduced-slow: var(--sp-duration-0);
  --sp-motion-reduced-brand: var(--sp-duration-100);
  --sp-motion-reduced-shimmer: var(--sp-duration-0);
  --sp-layer-base: 0;
  --sp-layer-raised: 1;
  --sp-layer-hub-nav: 10;
  --sp-layer-map-controls: 20;
  --sp-layer-sticky-bar: 40;
  --sp-layer-sheet: 60;
  --sp-layer-header: 65;
  --sp-layer-overlay: 70;
  --sp-layer-toast: 80;
  --sp-layer-tooltip: 90;
  --sp-layer-skip-link: 100;
  --sp-map-layer-dot: 1;
  --sp-map-layer-pill: 2;
  --sp-map-layer-cluster: 3;
  --sp-map-layer-user: 4;
  --sp-map-layer-selected: 5;
  --sp-breakpoint-sm: 640px;
  --sp-breakpoint-md: 900px;
  --sp-breakpoint-lg: 1100px;
  --sp-breakpoint-xl: 1440px;
  --sp-elevation-0: 0 0 #0000;
  --sp-component-button-primary-height: var(--sp-size-control);
  --sp-component-button-primary-radius: var(--sp-radius-pill);
  --sp-component-button-primary-padding-x: var(--sp-space-gutter);
  --sp-component-button-primary-type-font-family: var(--sp-typography-app-button-font-family);
  --sp-component-button-primary-type-font-weight: var(--sp-typography-app-button-font-weight);
  --sp-component-button-primary-type-font-size: var(--sp-typography-app-button-font-size);
  --sp-component-button-primary-type-line-height: var(--sp-typography-app-button-line-height);
  --sp-component-button-primary-type-letter-spacing: var(--sp-typography-app-button-letter-spacing);
  --sp-component-button-secondary-border-width: var(--sp-border-width-control);
  --sp-component-button-secondary-height: var(--sp-size-control);
  --sp-component-button-secondary-radius: var(--sp-radius-pill);
  --sp-component-button-danger-edge-width: var(--sp-border-width-control);
  --sp-component-button-signal-size: var(--sp-size-control);
  --sp-component-button-small-height: var(--sp-size-control-s);
  --sp-component-chip-filter-height: var(--sp-size-chip);
  --sp-component-chip-filter-hit: var(--sp-size-hit-min);
  --sp-component-chip-filter-padding-x: var(--sp-dimension-space-12);
  --sp-component-chip-filter-gap: var(--sp-space-chip-gap);
  --sp-component-chip-filter-radius: var(--sp-radius-pill);
  --sp-component-chip-filter-type-font-family: var(--sp-typography-app-label-font-family);
  --sp-component-chip-filter-type-font-weight: var(--sp-typography-app-label-font-weight);
  --sp-component-chip-filter-type-font-size: var(--sp-typography-app-label-font-size);
  --sp-component-chip-filter-type-line-height: var(--sp-typography-app-label-line-height);
  --sp-component-chip-filter-type-letter-spacing: var(--sp-typography-app-label-letter-spacing);
  --sp-component-chip-fact-type-font-family: var(--sp-typography-app-meta-font-family);
  --sp-component-chip-fact-type-font-weight: var(--sp-typography-app-meta-font-weight);
  --sp-component-chip-fact-type-font-size: var(--sp-typography-app-meta-font-size);
  --sp-component-chip-fact-type-line-height: var(--sp-typography-app-meta-line-height);
  --sp-component-chip-fact-type-letter-spacing: var(--sp-typography-app-meta-letter-spacing);
  --sp-component-chip-fact-radius: var(--sp-radius-none);
  --sp-component-chip-fact-padding-x: var(--sp-dimension-space-8);
  --sp-component-chip-fact-padding-y: var(--sp-dimension-space-4);
  --sp-component-input-border-width: var(--sp-border-width-hairline);
  --sp-component-input-focus-width: var(--sp-border-width-focus);
  --sp-component-input-error-width: var(--sp-border-width-error);
  --sp-component-input-error-edge-width: var(--sp-border-width-control);
  --sp-component-input-radius: var(--sp-radius-thumb);
  --sp-component-input-height: var(--sp-size-control);
  --sp-component-search-field-radius: var(--sp-radius-pill);
  --sp-component-search-field-height: var(--sp-size-control);
  --sp-component-card-default-radius: var(--sp-radius-card);
  --sp-component-card-default-padding: var(--sp-space-card);
  --sp-component-list-row-min-height: var(--sp-size-row-min);
  --sp-component-list-row-thumb: var(--sp-size-thumb);
  --sp-component-list-row-thumb-radius: var(--sp-radius-thumb);
  --sp-component-list-row-gap: var(--sp-space-group);
  --sp-component-list-row-title-type-font-family: var(--sp-typography-app-name-font-family);
  --sp-component-list-row-title-type-font-weight: var(--sp-typography-app-name-font-weight);
  --sp-component-list-row-title-type-font-size: var(--sp-typography-app-name-font-size);
  --sp-component-list-row-title-type-line-height: var(--sp-typography-app-name-line-height);
  --sp-component-list-row-title-type-letter-spacing: var(--sp-typography-app-name-letter-spacing);
  --sp-component-list-row-dish-type-font-family: var(--sp-typography-app-body-strong-font-family);
  --sp-component-list-row-dish-type-font-weight: var(--sp-typography-app-body-strong-font-weight);
  --sp-component-list-row-dish-type-font-size: var(--sp-typography-app-body-strong-font-size);
  --sp-component-list-row-dish-type-line-height: var(--sp-typography-app-body-strong-line-height);
  --sp-component-list-row-dish-type-letter-spacing: var(--sp-typography-app-body-strong-letter-spacing);
  --sp-component-list-row-meta-type-font-family: var(--sp-typography-app-meta-font-family);
  --sp-component-list-row-meta-type-font-weight: var(--sp-typography-app-meta-font-weight);
  --sp-component-list-row-meta-type-font-size: var(--sp-typography-app-meta-font-size);
  --sp-component-list-row-meta-type-line-height: var(--sp-typography-app-meta-line-height);
  --sp-component-list-row-meta-type-letter-spacing: var(--sp-typography-app-meta-letter-spacing);
  --sp-component-sheet-radius: var(--sp-radius-sheet);
  --sp-component-sheet-grabber-width: 36px;
  --sp-component-sheet-grabber-height: 4px;
  --sp-component-dialog-radius: var(--sp-radius-sheet);
  --sp-component-snackbar-radius: var(--sp-radius-card);
  --sp-component-tab-bar-glass-blur: 22px;
  --sp-component-tab-bar-icon: var(--sp-icon-nav);
  --sp-component-tab-bar-height: var(--sp-size-tab-bar);
  --sp-component-tab-bar-type-font-family: var(--sp-typography-app-tab-font-family);
  --sp-component-tab-bar-type-font-weight: var(--sp-typography-app-tab-font-weight);
  --sp-component-tab-bar-type-font-size: var(--sp-typography-app-tab-font-size);
  --sp-component-tab-bar-type-line-height: var(--sp-typography-app-tab-line-height);
  --sp-component-tab-bar-type-letter-spacing: var(--sp-typography-app-tab-letter-spacing);
  --sp-component-tab-bar-type-active-font-family: var(--sp-typography-app-tab-active-font-family);
  --sp-component-tab-bar-type-active-font-weight: var(--sp-typography-app-tab-active-font-weight);
  --sp-component-tab-bar-type-active-font-size: var(--sp-typography-app-tab-active-font-size);
  --sp-component-tab-bar-type-active-line-height: var(--sp-typography-app-tab-active-line-height);
  --sp-component-tab-bar-type-active-letter-spacing: var(--sp-typography-app-tab-active-letter-spacing);
  --sp-component-tab-bar-indicator-size: 4px;
  --sp-component-tab-bar-indicator-gap: var(--sp-dimension-space-4);
  --sp-component-divider-width: var(--sp-border-width-hairline);
  --sp-component-focus-ring-inner-width: var(--sp-border-width-focus);
  --sp-component-focus-ring-outer-width: var(--sp-border-width-focus);
  --sp-component-skeleton-duration: var(--sp-duration-shimmer);
  --sp-component-rating-tile-star-size: var(--sp-icon-control);
  --sp-component-rating-tile-number-type-font-family: var(--sp-typography-app-numeral-font-family);
  --sp-component-rating-tile-number-type-font-weight: var(--sp-typography-app-numeral-font-weight);
  --sp-component-rating-tile-number-type-font-size: var(--sp-typography-app-numeral-font-size);
  --sp-component-rating-tile-number-type-line-height: var(--sp-typography-app-numeral-line-height);
  --sp-component-rating-tile-number-type-letter-spacing: var(--sp-typography-app-numeral-letter-spacing);
  --sp-component-rating-tile-label-type-font-family: var(--sp-typography-app-eyebrow-font-family);
  --sp-component-rating-tile-label-type-font-weight: var(--sp-typography-app-eyebrow-font-weight);
  --sp-component-rating-tile-label-type-font-size: var(--sp-typography-app-eyebrow-font-size);
  --sp-component-rating-tile-label-type-line-height: var(--sp-typography-app-eyebrow-line-height);
  --sp-component-rating-tile-label-type-letter-spacing: var(--sp-typography-app-eyebrow-letter-spacing);
  --sp-component-rating-tile-radius: var(--sp-radius-card);
  --sp-component-rating-tile-padding: var(--sp-space-card);
  --sp-component-grade-scale-ring-width: var(--sp-border-width-ring);
  --sp-component-grade-scale-gap: var(--sp-dimension-space-2);
  --sp-component-grade-scale-height-app: 28px;
  --sp-component-grade-scale-height-web: 32px;
  --sp-component-grade-scale-step-ratio: 0.78;
  --sp-component-grade-scale-letter-ratio: 0.5;
  --sp-component-grade-scale-letter-ratio-selected: 0.68;
  --sp-component-grade-scale-end-radius-ratio: 0.3;
  --sp-component-grade-scale-leaf-corner: 0.5 0.08 0.5 0.5;
  --sp-component-grade-scale-glyph-a: var(--sp-asset-grade-letter-a);
  --sp-component-grade-scale-glyph-b: var(--sp-asset-grade-letter-b);
  --sp-component-grade-scale-glyph-c: var(--sp-asset-grade-letter-c);
  --sp-component-grade-scale-glyph-d: var(--sp-asset-grade-letter-d);
  --sp-component-grade-scale-glyph-e: var(--sp-asset-grade-letter-e);
  --sp-component-note-row-icon: var(--sp-icon-nav);
  --sp-component-note-row-gap: var(--sp-space-group);
  --sp-component-note-row-type-font-family: var(--sp-typography-app-body-font-family);
  --sp-component-note-row-type-font-weight: var(--sp-typography-app-body-font-weight);
  --sp-component-note-row-type-font-size: var(--sp-typography-app-body-font-size);
  --sp-component-note-row-type-line-height: var(--sp-typography-app-body-line-height);
  --sp-component-note-row-type-letter-spacing: var(--sp-typography-app-body-letter-spacing);
  --sp-component-note-row-edge-units: 3;
  --sp-component-note-strip-radius: var(--sp-radius-none);
  --sp-component-note-strip-type-font-family: var(--sp-typography-web-note-font-family);
  --sp-component-note-strip-type-font-weight: var(--sp-typography-web-note-font-weight);
  --sp-component-note-strip-type-font-size: var(--sp-typography-web-note-font-size);
  --sp-component-note-strip-type-line-height: var(--sp-typography-web-note-line-height);
  --sp-component-note-strip-type-letter-spacing: var(--sp-typography-web-note-letter-spacing);
  --sp-component-highlight-padding-x: var(--sp-dimension-space-2);
  --sp-component-highlight-radius: var(--sp-radius-none);
  --sp-component-lens-inset-min: var(--sp-dimension-space-12);
  --sp-component-lens-draw-duration: var(--sp-duration-brand);
  --sp-component-lens-draw-easing: var(--sp-easing-ink);
  --sp-component-lens-arm-ratio: 0.2;
  --sp-component-lens-corner-ratio: 0.6;
  --sp-component-lens-stroke-ratio: 0.05;
  --sp-component-lens-halo-blur: 2px;
  --sp-component-lens-label-type-font-family: var(--sp-typography-app-note-font-family);
  --sp-component-lens-label-type-font-weight: var(--sp-typography-app-note-font-weight);
  --sp-component-lens-label-type-font-size: var(--sp-typography-app-note-font-size);
  --sp-component-lens-label-type-line-height: var(--sp-typography-app-note-line-height);
  --sp-component-lens-label-type-letter-spacing: var(--sp-typography-app-note-letter-spacing);
  --sp-component-lens-label-radius: var(--sp-radius-none);
  --sp-component-photo-radius: var(--sp-radius-card);
  --sp-component-photo-thumb-radius: var(--sp-radius-thumb);
  --sp-component-photo-caption-padding: var(--sp-space-card);
  --sp-component-photo-fade-height: 48px;
  --sp-component-map-leaf-pin-a-glyph: var(--sp-asset-grade-letter-a);
  --sp-component-map-leaf-pin-b-glyph: var(--sp-asset-grade-letter-b);
  --sp-component-map-leaf-pin-c-glyph: var(--sp-asset-grade-letter-c);
  --sp-component-map-leaf-pin-d-glyph: var(--sp-asset-grade-letter-d);
  --sp-component-map-leaf-pin-e-glyph: var(--sp-asset-grade-letter-e);
  --sp-component-map-leaf-pin-type-font-family: var(--sp-typography-app-grade-font-family);
  --sp-component-map-leaf-pin-type-font-weight: var(--sp-typography-app-grade-font-weight);
  --sp-component-map-leaf-pin-type-font-size: var(--sp-typography-app-grade-font-size);
  --sp-component-map-leaf-pin-type-line-height: var(--sp-typography-app-grade-line-height);
  --sp-component-map-leaf-pin-type-letter-spacing: var(--sp-typography-app-grade-letter-spacing);
  --sp-component-map-leaf-pin-height: 30px;
  --sp-component-map-leaf-pin-min-height: 28px;
  --sp-component-map-leaf-pin-large-from: 46px;
  --sp-component-map-leaf-pin-width-ratio: 0.74;
  --sp-component-map-leaf-pin-letter-ratio: 0.42;
  --sp-component-map-leaf-pin-letter-baseline-ratio: 0.77;
  --sp-component-map-leaf-pin-selected-scale: 1.15;
  --sp-component-map-leaf-pin-ring-ratio: 0.05;
  --sp-component-map-leaf-pin-shadow-rx-ratio: 0.22;
  --sp-component-map-leaf-pin-shadow-ry-ratio: 0.05;
  --sp-component-map-leaf-pin-shape: var(--sp-asset-shape-leaf-pin);
  --sp-component-map-leaf-pin-edge-width: var(--sp-border-width-hairline);
  --sp-component-map-cluster-ring-width: var(--sp-border-width-control);
  --sp-component-map-cluster-type-font-family: var(--sp-typography-app-eyebrow-font-family);
  --sp-component-map-cluster-type-font-weight: var(--sp-typography-app-eyebrow-font-weight);
  --sp-component-map-cluster-type-font-size: var(--sp-typography-app-eyebrow-font-size);
  --sp-component-map-cluster-type-line-height: var(--sp-typography-app-eyebrow-line-height);
  --sp-component-map-cluster-type-letter-spacing: var(--sp-typography-app-eyebrow-letter-spacing);
  --sp-component-map-cluster-size: 32px;
  --sp-component-map-user-ring-width: var(--sp-border-width-user-ring);
  --sp-component-map-user-size: 16px;
  --sp-component-map-user-halo-size: 40px;
  --sp-component-map-frame-inset: var(--sp-dimension-space-12);
  --sp-component-checkbox-radius: var(--sp-radius-ui);
  --sp-component-status-dot-edge-width: var(--sp-border-width-control);
  --sp-component-status-dot-size: 8px;
  --sp-component-grade-chip-shape: var(--sp-asset-shape-grade-chip);
  --sp-component-grade-chip-a-glyph: var(--sp-asset-grade-letter-a);
  --sp-component-grade-chip-b-glyph: var(--sp-asset-grade-letter-b);
  --sp-component-grade-chip-c-glyph: var(--sp-asset-grade-letter-c);
  --sp-component-grade-chip-d-glyph: var(--sp-asset-grade-letter-d);
  --sp-component-grade-chip-e-glyph: var(--sp-asset-grade-letter-e);
  --sp-component-grade-chip-edge-width: var(--sp-border-width-control);
  --sp-component-grade-chip-type-font-family: var(--sp-typography-app-grade-font-family);
  --sp-component-grade-chip-type-font-weight: var(--sp-typography-app-grade-font-weight);
  --sp-component-grade-chip-type-font-size: var(--sp-typography-app-grade-font-size);
  --sp-component-grade-chip-type-line-height: var(--sp-typography-app-grade-line-height);
  --sp-component-grade-chip-type-letter-spacing: var(--sp-typography-app-grade-letter-spacing);
  --sp-component-grade-chip-height: 28px;
  --sp-component-grade-chip-min-height: 24px;
  --sp-component-grade-chip-large-from: 42px;
  --sp-component-grade-chip-width-ratio: 0.96;
  --sp-component-grade-chip-letter-ratio: 0.4615;
  --sp-component-grade-chip-letter-baseline-ratio: 0.6538;
  --sp-component-grade-cue-grades: none;
  --sp-component-grade-cue-notch-ratio: 0.22;
  --sp-component-grade-cue-notch-angle: 45;
  --sp-component-grade-cue-applies-below: var(--sp-size-large-text);
  --sp-component-grade-cue-anchor-disc-x: 0.8536;
  --sp-component-grade-cue-anchor-disc-y: 0.1464;
  --sp-component-grade-cue-anchor-tile-x: 0.9268;
  --sp-component-grade-cue-anchor-tile-y: 0.0732;
  --sp-component-grade-cue-anchor-chip-x: 0.7792;
  --sp-component-grade-cue-anchor-chip-y: 0.2449;
  --sp-component-grade-cue-anchor-pin-x: 0.7475;
  --sp-component-grade-cue-anchor-pin-y: 0.2954;
}

[data-brand~="fresh-greens"] {
  --sp-color-palette-frame: var(--sp-color-primitive-spinach-black);
  --sp-color-palette-frame-sunken: var(--sp-color-primitive-spinach-black-sunken);
  --sp-color-palette-frame-card: var(--sp-color-primitive-spinach-black-card);
  --sp-color-palette-frame-raised: var(--sp-color-primitive-spinach-black-raised);
  --sp-color-palette-frame-brand: var(--sp-color-primitive-spinach-black-hi);
  --sp-color-palette-frame-night: var(--sp-color-primitive-spinach-black-night);
  --sp-color-palette-frame-dim: var(--sp-color-primitive-spinach-black-dim);
  --sp-color-palette-frame-disabled: var(--sp-color-primitive-spinach-black-disabled);
  --sp-color-palette-frame-strong: var(--sp-color-primitive-spinach-black-strong);
  --sp-color-palette-map-park-night: var(--sp-color-primitive-spinach-black-map-park);
  --sp-color-palette-map-water-night: var(--sp-color-primitive-spinach-black-map-water);
  --sp-color-palette-spinach: var(--sp-color-primitive-fresh-spinach);
  --sp-color-palette-spinach-small: var(--sp-color-primitive-fresh-spinach);
}

[data-brand~="ink-lead"] {
  --sp-color-palette-frame: var(--sp-color-primitive-ink);
  --sp-color-palette-frame-sunken: var(--sp-color-primitive-ink-sunken);
  --sp-color-palette-frame-card: var(--sp-color-primitive-ink-card);
  --sp-color-palette-frame-raised: var(--sp-color-primitive-ink-raised);
  --sp-color-palette-frame-brand: var(--sp-color-primitive-ink-hi);
  --sp-color-palette-frame-night: var(--sp-color-primitive-ink-night);
  --sp-color-palette-frame-dim: var(--sp-color-primitive-ink-dim);
  --sp-color-palette-frame-disabled: var(--sp-color-primitive-ink-disabled);
  --sp-color-palette-frame-strong: var(--sp-color-primitive-ink-strong);
  --sp-color-palette-map-park-night: var(--sp-color-primitive-ink-map-park);
  --sp-color-palette-map-water-night: var(--sp-color-primitive-ink-map-water);
}

:root,
[data-theme="light"] {
  color-scheme: light;
  --sp-color-surface-ground: var(--sp-color-primitive-plotter-paper);
  --sp-color-surface-card: var(--sp-color-primitive-white);
  --sp-color-surface-raised: var(--sp-color-primitive-white);
  --sp-color-surface-bar: var(--sp-color-primitive-paper-2);
  --sp-color-surface-bar-glass: color-mix(in srgb, var(--sp-color-primitive-white) 80%, transparent);
  --sp-color-surface-bar-lens: color-mix(in srgb, var(--sp-color-palette-frame) 8%, transparent);
  --sp-color-surface-bar-fade: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 55%, transparent);
  --sp-color-surface-muted: var(--sp-color-primitive-paper-2);
  --sp-color-surface-inverse: var(--sp-color-palette-frame);
  --sp-color-surface-brand: var(--sp-color-palette-frame);
  --sp-color-surface-leaf: var(--sp-color-palette-spinach);
  --sp-color-surface-on-brand-control: var(--sp-color-primitive-white);
  --sp-color-text-primary: var(--sp-color-palette-frame);
  --sp-color-text-secondary: var(--sp-color-primitive-mute);
  --sp-color-text-disabled: var(--sp-color-primitive-mute-disabled);
  --sp-color-text-on-inverse: var(--sp-color-primitive-white);
  --sp-color-text-on-inverse-secondary: var(--sp-color-palette-frame-dim);
  --sp-color-text-on-brand: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-on-brand-secondary: var(--sp-color-palette-frame-dim);
  --sp-color-text-on-leaf: var(--sp-color-primitive-pure-white);
  --sp-color-text-on-photo: var(--sp-color-primitive-white);
  --sp-color-text-on-photo-secondary: var(--sp-color-primitive-paper-2);
  --sp-color-text-link: var(--sp-color-text-primary);
  --sp-color-text-link-visited: var(--sp-color-text-link);
  --sp-color-text-secondary-on-muted: var(--sp-color-primitive-mute-text);
  --sp-color-text-on-brand-control: var(--sp-color-palette-frame);
  --sp-color-text-on-brand-control-secondary: var(--sp-color-primitive-mute);
  --sp-color-border-bar-glass: color-mix(in srgb, var(--sp-color-primitive-white) 85%, transparent);
  --sp-color-border-subtle: color-mix(in srgb, var(--sp-color-palette-frame) 12%, transparent);
  --sp-color-border-default: color-mix(in srgb, var(--sp-color-palette-frame) 16%, transparent);
  --sp-color-border-chip: color-mix(in srgb, var(--sp-color-palette-frame) 25%, transparent);
  --sp-color-border-control: var(--sp-color-primitive-mute);
  --sp-color-border-strong: var(--sp-color-palette-frame);
  --sp-color-border-card: color-mix(in srgb, var(--sp-color-palette-frame) 0%, transparent);
  --sp-color-border-sticker: color-mix(in srgb, var(--sp-color-palette-frame) 0%, transparent);
  --sp-color-border-keyline: var(--sp-color-palette-frame);
  --sp-color-action-primary: var(--sp-color-palette-frame);
  --sp-color-action-on-primary: var(--sp-color-primitive-white);
  --sp-color-action-disabled: var(--sp-color-primitive-paper-2);
  --sp-color-action-danger: var(--sp-color-primitive-red-flag-small);
  --sp-color-action-on-danger: var(--sp-color-primitive-pure-white);
  --sp-color-action-signal: var(--sp-color-primitive-signal-yellow);
  --sp-color-action-on-signal: var(--sp-color-palette-frame);
  --sp-color-action-selected-disabled: var(--sp-color-primitive-mute-disabled);
  --sp-color-action-primary-on-brand: var(--sp-color-primitive-plotter-paper);
  --sp-color-action-on-primary-on-brand: var(--sp-color-palette-frame);
  --sp-color-status-positive: var(--sp-color-palette-spinach);
  --sp-color-status-error: var(--sp-color-primitive-red-flag);
  --sp-color-grade-a-fill: var(--sp-color-palette-spinach);
  --sp-color-grade-a-fill-small: var(--sp-color-palette-spinach-small);
  --sp-color-grade-a-on: var(--sp-color-primitive-pure-white);
  --sp-color-grade-b-fill: var(--sp-color-primitive-lime);
  --sp-color-grade-b-fill-small: var(--sp-color-primitive-lime);
  --sp-color-grade-b-on: var(--sp-color-palette-frame);
  --sp-color-grade-c-fill: var(--sp-color-primitive-signal-yellow);
  --sp-color-grade-c-fill-small: var(--sp-color-primitive-signal-yellow);
  --sp-color-grade-c-on: var(--sp-color-palette-frame);
  --sp-color-grade-d-fill: var(--sp-color-primitive-orange);
  --sp-color-grade-d-fill-small: var(--sp-color-primitive-orange);
  --sp-color-grade-d-on: var(--sp-color-palette-frame);
  --sp-color-grade-e-fill: var(--sp-color-primitive-red-flag);
  --sp-color-grade-e-fill-small: var(--sp-color-primitive-red-flag-small);
  --sp-color-grade-e-on: var(--sp-color-primitive-pure-white);
  --sp-color-grade-none-fill: var(--sp-color-primitive-paper-2);
  --sp-color-grade-none-on: var(--sp-color-text-secondary-on-muted);
  --sp-color-grade-edge: var(--sp-color-border-sticker);
  --sp-color-grade-ring: var(--sp-color-primitive-plotter-paper);
  --sp-color-mark-good-fill: var(--sp-color-primitive-signal-yellow);
  --sp-color-mark-good-on: var(--sp-color-palette-frame);
  --sp-color-mark-good-halo: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-mark-flag-fill: var(--sp-color-primitive-red-flag-small);
  --sp-color-mark-flag-on: var(--sp-color-primitive-pure-white);
  --sp-color-mark-flag-icon: var(--sp-color-primitive-red-flag);
  --sp-color-mark-vibe-fill: var(--sp-color-primitive-vibe-pink);
  --sp-color-mark-vibe-on: var(--sp-color-palette-frame);
  --sp-color-mark-heart: var(--sp-color-primitive-red-flag);
  --sp-color-overlay-scrim: color-mix(in srgb, var(--sp-color-palette-frame-night) 45%, transparent);
  --sp-color-overlay-photo: color-mix(in srgb, var(--sp-color-palette-frame-night) 72%, transparent);
  --sp-color-shadow-base: var(--sp-color-palette-frame);
  --sp-color-shadow-key: color-mix(in srgb, var(--sp-color-palette-frame) 12%, transparent);
  --sp-color-shadow-ambient: color-mix(in srgb, var(--sp-color-palette-frame) 45%, transparent);
  --sp-color-shadow-deep: color-mix(in srgb, var(--sp-color-palette-frame) 65%, transparent);
  --sp-color-shadow-edge: color-mix(in srgb, var(--sp-color-palette-frame) 8%, transparent);
  --sp-color-focus-inner: var(--sp-color-primitive-white);
  --sp-color-focus-outer: var(--sp-color-palette-frame);
  --sp-color-focus-on-brand-inner: var(--sp-color-palette-frame);
  --sp-color-focus-on-brand-outer: var(--sp-color-primitive-plotter-paper);
  --sp-color-focus-on-inverse-inner: var(--sp-color-focus-outer);
  --sp-color-focus-on-inverse-outer: var(--sp-color-focus-inner);
  --sp-color-focus-on-photo-inner: var(--sp-color-focus-outer);
  --sp-color-focus-on-photo-outer: var(--sp-color-focus-inner);
  --sp-color-skeleton-base: var(--sp-color-primitive-paper-2);
  --sp-color-skeleton-highlight: var(--sp-color-primitive-white);
  --sp-color-photo-edge: color-mix(in srgb, var(--sp-color-palette-frame) 0%, transparent);
  --sp-color-brand-mark: var(--sp-color-palette-spinach);
  --sp-color-map-land: var(--sp-color-primitive-white);
  --sp-color-map-park: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-water: var(--sp-color-primitive-paper-2);
  --sp-color-map-building: var(--sp-color-map-land);
  --sp-color-map-road: color-mix(in srgb, var(--sp-color-palette-frame) 14%, transparent);
  --sp-color-map-road-major: color-mix(in srgb, var(--sp-color-palette-frame) 32%, transparent);
  --sp-color-map-road-casing: color-mix(in srgb, var(--sp-color-palette-frame) 0%, transparent);
  --sp-color-map-label: var(--sp-color-primitive-mute-strong);
  --sp-color-map-label-water: var(--sp-color-map-label);
  --sp-color-map-label-minor: var(--sp-color-text-secondary);
  --sp-color-map-label-halo: var(--sp-color-primitive-white);
  --sp-color-map-label-water-halo: var(--sp-color-map-water);
  --sp-color-map-user: var(--sp-color-palette-frame);
  --sp-color-map-user-ring: var(--sp-color-primitive-white);
  --sp-color-map-user-halo: color-mix(in srgb, var(--sp-color-palette-frame) 16%, transparent);
  --sp-color-map-dot-edge: var(--sp-color-palette-frame);
  --sp-color-map-pill-edge: color-mix(in srgb, var(--sp-color-palette-frame) 60%, transparent);
  --sp-color-map-dot-vegan-ring: var(--sp-color-map-label-halo);
  --sp-color-map-route: var(--sp-color-palette-frame);
  --sp-color-map-route-casing: var(--sp-color-primitive-white);
  --sp-color-map-pin-shadow: color-mix(in srgb, var(--sp-color-palette-frame) 20%, transparent);
  --sp-color-map-grade-c: var(--sp-color-primitive-map-grade-sand);
  --sp-color-contrast-more-text-secondary: var(--sp-color-primitive-mute-strong);
  --sp-color-contrast-more-text-disabled: var(--sp-color-primitive-mute-text);
  --sp-color-contrast-more-border: var(--sp-color-primitive-mute);
  --sp-color-contrast-more-map-label: var(--sp-color-palette-frame);
  --sp-color-hours-open: var(--sp-color-primitive-hours-open);
  --sp-color-hours-closed: var(--sp-color-primitive-hours-closed);
  --sp-color-hours-soon: var(--sp-color-primitive-hours-soon);
  --sp-elevation-1: 0px 1px 2px 0px var(--sp-color-shadow-key), 0px 10px 22px -12px var(--sp-color-shadow-ambient);
  --sp-elevation-2: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px 10px 24px -10px var(--sp-color-shadow-ambient);
  --sp-elevation-3: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px 18px 40px -18px var(--sp-color-shadow-deep);
  --sp-elevation-pill: 0px 1px 2px 0px var(--sp-color-shadow-key), 0px 4px 10px -6px var(--sp-color-shadow-ambient);
  --sp-elevation-sheet: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px -8px 24px -14px var(--sp-color-shadow-ambient);
  --sp-elevation-cta: 0px 8px 18px -10px var(--sp-color-shadow-deep);
  --sp-component-button-primary-fill: var(--sp-color-action-primary);
  --sp-component-button-primary-on: var(--sp-color-action-on-primary);
  --sp-component-button-secondary-border: var(--sp-color-border-strong);
  --sp-component-button-secondary-on: var(--sp-color-text-primary);
  --sp-component-button-danger-fill: var(--sp-color-action-danger);
  --sp-component-button-danger-on: var(--sp-color-action-on-danger);
  --sp-component-button-danger-edge: var(--sp-color-border-sticker);
  --sp-component-button-disabled-fill: var(--sp-color-action-disabled);
  --sp-component-button-disabled-on: var(--sp-color-text-disabled);
  --sp-component-button-signal-fill: var(--sp-color-action-signal);
  --sp-component-button-signal-on: var(--sp-color-action-on-signal);
  --sp-component-button-on-brand-fill: var(--sp-color-action-primary-on-brand);
  --sp-component-button-on-brand-on: var(--sp-color-action-on-primary-on-brand);
  --sp-component-chip-filter-fill: var(--sp-color-surface-card);
  --sp-component-chip-filter-border: var(--sp-color-border-chip);
  --sp-component-chip-filter-on: var(--sp-color-text-primary);
  --sp-component-chip-filter-selected-fill: var(--sp-color-action-primary);
  --sp-component-chip-filter-selected-on: var(--sp-color-action-on-primary);
  --sp-component-chip-filter-disabled-fill: var(--sp-color-action-disabled);
  --sp-component-chip-filter-disabled-on: var(--sp-color-text-disabled);
  --sp-component-chip-filter-selected-disabled-fill: var(--sp-color-action-selected-disabled);
  --sp-component-chip-filter-selected-disabled-on: var(--sp-color-action-on-primary);
  --sp-component-chip-fact-fill: var(--sp-color-surface-muted);
  --sp-component-chip-fact-on: var(--sp-color-text-primary);
  --sp-component-input-fill: var(--sp-color-surface-muted);
  --sp-component-input-on: var(--sp-color-text-primary);
  --sp-component-input-placeholder: var(--sp-color-text-secondary-on-muted);
  --sp-component-input-border: var(--sp-color-border-control);
  --sp-component-input-focus-border: var(--sp-color-border-strong);
  --sp-component-input-error-border: var(--sp-color-status-error);
  --sp-component-input-error-edge: var(--sp-color-border-sticker);
  --sp-component-input-label: var(--sp-color-text-secondary-on-muted);
  --sp-component-search-field-fill: var(--sp-color-surface-raised);
  --sp-component-search-field-placeholder: var(--sp-color-text-secondary);
  --sp-component-search-field-shadow: var(--sp-elevation-2);
  --sp-component-search-field-submit-fill: var(--sp-color-action-primary);
  --sp-component-search-field-submit-on: var(--sp-color-action-on-primary);
  --sp-component-search-field-on-brand-fill: var(--sp-color-surface-on-brand-control);
  --sp-component-search-field-on-brand-on: var(--sp-color-text-on-brand-control);
  --sp-component-search-field-on-brand-placeholder: var(--sp-color-text-on-brand-control-secondary);
  --sp-component-search-field-on-brand-submit-fill: var(--sp-color-surface-brand);
  --sp-component-search-field-on-brand-submit-on: var(--sp-color-text-on-brand);
  --sp-component-switch-track-on: var(--sp-color-action-primary);
  --sp-component-switch-thumb-on: var(--sp-color-action-on-primary);
  --sp-component-switch-track-off: var(--sp-color-surface-muted);
  --sp-component-switch-track-off-border: var(--sp-color-border-control);
  --sp-component-switch-thumb-off: var(--sp-color-border-control);
  --sp-component-switch-track-disabled: var(--sp-color-action-disabled);
  --sp-component-switch-thumb-disabled: var(--sp-color-text-disabled);
  --sp-component-switch-track-outline-disabled: var(--sp-color-text-disabled);
  --sp-component-card-default-fill: var(--sp-color-surface-card);
  --sp-component-card-default-border: var(--sp-color-border-card);
  --sp-component-card-default-shadow: var(--sp-elevation-1);
  --sp-component-card-brand-fill: var(--sp-color-surface-brand);
  --sp-component-card-brand-on: var(--sp-color-text-on-brand);
  --sp-component-card-brand-on-secondary: var(--sp-color-text-on-brand-secondary);
  --sp-component-card-leaf-fill: var(--sp-color-surface-leaf);
  --sp-component-card-leaf-on: var(--sp-color-text-on-leaf);
  --sp-component-list-row-divider: var(--sp-color-border-subtle);
  --sp-component-list-row-title: var(--sp-color-text-primary);
  --sp-component-list-row-meta: var(--sp-color-text-secondary);
  --sp-component-sheet-fill: var(--sp-color-surface-raised);
  --sp-component-sheet-shadow: var(--sp-elevation-sheet);
  --sp-component-sheet-scrim: var(--sp-color-overlay-scrim);
  --sp-component-sheet-grabber: var(--sp-color-border-control);
  --sp-component-dialog-fill: var(--sp-color-surface-raised);
  --sp-component-dialog-shadow: var(--sp-elevation-3);
  --sp-component-dialog-scrim: var(--sp-color-overlay-scrim);
  --sp-component-snackbar-fill: var(--sp-color-surface-inverse);
  --sp-component-snackbar-on: var(--sp-color-text-on-inverse);
  --sp-component-snackbar-shadow: var(--sp-elevation-2);
  --sp-component-tab-bar-fill: var(--sp-color-surface-bar);
  --sp-component-tab-bar-glass-fill: var(--sp-color-surface-bar-glass);
  --sp-component-tab-bar-glass-rim: var(--sp-color-border-bar-glass);
  --sp-component-tab-bar-lens: var(--sp-color-surface-bar-lens);
  --sp-component-tab-bar-edge-fade: var(--sp-color-surface-bar-fade);
  --sp-component-tab-bar-border: var(--sp-color-border-subtle);
  --sp-component-tab-bar-active: var(--sp-color-text-primary);
  --sp-component-tab-bar-inactive: var(--sp-color-text-secondary-on-muted);
  --sp-component-tab-bar-indicator: var(--sp-color-text-primary);
  --sp-component-tab-bar-shadow: var(--sp-elevation-2);
  --sp-component-divider-color: var(--sp-color-border-subtle);
  --sp-component-focus-ring-inner: var(--sp-color-focus-inner);
  --sp-component-focus-ring-outer: var(--sp-color-focus-outer);
  --sp-component-focus-ring-on-brand-inner: var(--sp-color-focus-on-brand-inner);
  --sp-component-focus-ring-on-brand-outer: var(--sp-color-focus-on-brand-outer);
  --sp-component-focus-ring-on-inverse-inner: var(--sp-color-focus-on-inverse-inner);
  --sp-component-focus-ring-on-inverse-outer: var(--sp-color-focus-on-inverse-outer);
  --sp-component-focus-ring-on-photo-inner: var(--sp-color-focus-on-photo-inner);
  --sp-component-focus-ring-on-photo-outer: var(--sp-color-focus-on-photo-outer);
  --sp-component-skeleton-base: var(--sp-color-skeleton-base);
  --sp-component-skeleton-highlight: var(--sp-color-skeleton-highlight);
  --sp-component-rating-tile-fill: var(--sp-color-surface-card);
  --sp-component-rating-tile-rule: var(--sp-color-border-strong);
  --sp-component-rating-tile-star: var(--sp-color-text-primary);
  --sp-component-rating-tile-number: var(--sp-color-text-primary);
  --sp-component-rating-tile-label: var(--sp-color-text-secondary);
  --sp-component-grade-scale-ring: var(--sp-color-grade-ring);
  --sp-component-note-row-text: var(--sp-color-text-primary);
  --sp-component-note-row-divider: var(--sp-color-border-subtle);
  --sp-component-note-row-good: var(--sp-color-mark-good-fill);
  --sp-component-note-row-flag: var(--sp-color-mark-flag-icon);
  --sp-component-note-row-flag-edge: var(--sp-color-border-sticker);
  --sp-component-note-row-vibe: var(--sp-color-mark-vibe-fill);
  --sp-component-note-row-good-edge: var(--sp-color-border-keyline);
  --sp-component-note-row-vibe-edge: var(--sp-color-border-keyline);
  --sp-component-note-strip-good-fill: var(--sp-color-mark-good-fill);
  --sp-component-note-strip-good-on: var(--sp-color-mark-good-on);
  --sp-component-note-strip-flag-fill: var(--sp-color-mark-flag-fill);
  --sp-component-note-strip-flag-on: var(--sp-color-mark-flag-on);
  --sp-component-note-strip-vibe-fill: var(--sp-color-mark-vibe-fill);
  --sp-component-note-strip-vibe-on: var(--sp-color-mark-vibe-on);
  --sp-component-highlight-fill: var(--sp-color-mark-good-fill);
  --sp-component-highlight-on: var(--sp-color-mark-good-on);
  --sp-component-lens-color: var(--sp-color-mark-good-fill);
  --sp-component-lens-halo: var(--sp-color-mark-good-halo);
  --sp-component-lens-label-fill: var(--sp-color-mark-good-fill);
  --sp-component-lens-label-on: var(--sp-color-mark-good-on);
  --sp-component-photo-edge: var(--sp-color-photo-edge);
  --sp-component-photo-overlay: var(--sp-color-overlay-photo);
  --sp-component-photo-caption: var(--sp-color-text-on-photo);
  --sp-component-photo-caption-secondary: var(--sp-color-text-on-photo-secondary);
  --sp-component-map-leaf-pin-a-fill: var(--sp-color-grade-a-fill);
  --sp-component-map-leaf-pin-a-fill-small: var(--sp-color-grade-a-fill-small);
  --sp-component-map-leaf-pin-a-letter: var(--sp-color-grade-a-on);
  --sp-component-map-leaf-pin-b-fill: var(--sp-color-grade-b-fill);
  --sp-component-map-leaf-pin-b-fill-small: var(--sp-color-grade-b-fill-small);
  --sp-component-map-leaf-pin-b-letter: var(--sp-color-grade-b-on);
  --sp-component-map-leaf-pin-c-fill: var(--sp-color-grade-c-fill);
  --sp-component-map-leaf-pin-c-fill-small: var(--sp-color-grade-c-fill-small);
  --sp-component-map-leaf-pin-c-letter: var(--sp-color-grade-c-on);
  --sp-component-map-leaf-pin-d-fill: var(--sp-color-grade-d-fill);
  --sp-component-map-leaf-pin-d-fill-small: var(--sp-color-grade-d-fill-small);
  --sp-component-map-leaf-pin-d-letter: var(--sp-color-grade-d-on);
  --sp-component-map-leaf-pin-e-fill: var(--sp-color-grade-e-fill);
  --sp-component-map-leaf-pin-e-fill-small: var(--sp-color-grade-e-fill-small);
  --sp-component-map-leaf-pin-e-letter: var(--sp-color-grade-e-on);
  --sp-component-map-leaf-pin-ring: var(--sp-color-border-strong);
  --sp-component-map-leaf-pin-shadow: var(--sp-color-map-pin-shadow);
  --sp-component-map-leaf-pin-edge: var(--sp-color-map-dot-edge);
  --sp-component-map-cluster-fill: var(--sp-color-surface-raised);
  --sp-component-map-cluster-ring: var(--sp-color-border-strong);
  --sp-component-map-cluster-on: var(--sp-color-text-primary);
  --sp-component-map-cluster-shadow: var(--sp-elevation-pill);
  --sp-component-map-user-fill: var(--sp-color-map-user);
  --sp-component-map-user-ring: var(--sp-color-map-user-ring);
  --sp-component-map-user-halo: var(--sp-color-map-user-halo);
  --sp-component-checkbox-fill-on: var(--sp-color-action-primary);
  --sp-component-checkbox-check: var(--sp-color-action-on-primary);
  --sp-component-checkbox-border: var(--sp-color-border-control);
  --sp-component-checkbox-disabled: var(--sp-color-text-disabled);
  --sp-component-status-dot-fill: var(--sp-color-status-positive);
  --sp-component-status-dot-edge: var(--sp-color-border-sticker);
  --sp-component-grade-chip-a-fill: var(--sp-color-grade-a-fill);
  --sp-component-grade-chip-a-fill-small: var(--sp-color-grade-a-fill-small);
  --sp-component-grade-chip-a-letter: var(--sp-color-grade-a-on);
  --sp-component-grade-chip-b-fill: var(--sp-color-grade-b-fill);
  --sp-component-grade-chip-b-fill-small: var(--sp-color-grade-b-fill-small);
  --sp-component-grade-chip-b-letter: var(--sp-color-grade-b-on);
  --sp-component-grade-chip-c-fill: var(--sp-color-grade-c-fill);
  --sp-component-grade-chip-c-fill-small: var(--sp-color-grade-c-fill-small);
  --sp-component-grade-chip-c-letter: var(--sp-color-grade-c-on);
  --sp-component-grade-chip-d-fill: var(--sp-color-grade-d-fill);
  --sp-component-grade-chip-d-fill-small: var(--sp-color-grade-d-fill-small);
  --sp-component-grade-chip-d-letter: var(--sp-color-grade-d-on);
  --sp-component-grade-chip-e-fill: var(--sp-color-grade-e-fill);
  --sp-component-grade-chip-e-fill-small: var(--sp-color-grade-e-fill-small);
  --sp-component-grade-chip-e-letter: var(--sp-color-grade-e-on);
  --sp-component-grade-chip-edge: var(--sp-color-grade-edge);
}

@media (prefers-color-scheme: dark) {
:root:where(:not([data-theme="light"])) {
  color-scheme: dark;
  --sp-color-surface-ground: var(--sp-color-palette-frame);
  --sp-color-surface-card: var(--sp-color-palette-frame-card);
  --sp-color-surface-raised: var(--sp-color-palette-frame-raised);
  --sp-color-surface-bar: var(--sp-color-palette-frame-raised);
  --sp-color-surface-bar-glass: color-mix(in srgb, var(--sp-color-palette-frame-raised) 80%, transparent);
  --sp-color-surface-bar-lens: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 12%, transparent);
  --sp-color-surface-bar-fade: color-mix(in srgb, var(--sp-color-palette-frame) 55%, transparent);
  --sp-color-surface-muted: var(--sp-color-palette-frame-sunken);
  --sp-color-surface-inverse: var(--sp-color-primitive-plotter-paper);
  --sp-color-surface-brand: var(--sp-color-palette-frame-brand);
  --sp-color-surface-leaf: var(--sp-color-palette-spinach);
  --sp-color-surface-on-brand-control: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-primary: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-secondary: var(--sp-color-palette-frame-dim);
  --sp-color-text-disabled: var(--sp-color-palette-frame-disabled);
  --sp-color-text-on-inverse: var(--sp-color-palette-frame);
  --sp-color-text-on-inverse-secondary: var(--sp-color-primitive-mute);
  --sp-color-text-on-brand: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-on-brand-secondary: var(--sp-color-palette-frame-dim);
  --sp-color-text-on-leaf: var(--sp-color-primitive-pure-white);
  --sp-color-text-on-photo: var(--sp-color-primitive-white);
  --sp-color-text-on-photo-secondary: var(--sp-color-primitive-paper-2);
  --sp-color-text-link: var(--sp-color-text-primary);
  --sp-color-text-link-visited: var(--sp-color-text-link);
  --sp-color-text-secondary-on-muted: var(--sp-color-palette-frame-dim);
  --sp-color-text-on-brand-control: var(--sp-color-palette-frame);
  --sp-color-text-on-brand-control-secondary: var(--sp-color-primitive-mute);
  --sp-color-border-bar-glass: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 16%, transparent);
  --sp-color-border-subtle: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 12%, transparent);
  --sp-color-border-default: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 16%, transparent);
  --sp-color-border-chip: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 25%, transparent);
  --sp-color-border-control: var(--sp-color-palette-frame-dim);
  --sp-color-border-strong: var(--sp-color-primitive-plotter-paper);
  --sp-color-border-card: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 12%, transparent);
  --sp-color-border-sticker: var(--sp-color-primitive-plotter-paper);
  --sp-color-border-keyline: color-mix(in srgb, var(--sp-color-palette-frame) 0%, transparent);
  --sp-color-action-primary: var(--sp-color-primitive-plotter-paper);
  --sp-color-action-on-primary: var(--sp-color-palette-frame);
  --sp-color-action-disabled: var(--sp-color-palette-frame-raised);
  --sp-color-action-danger: var(--sp-color-primitive-red-flag-small);
  --sp-color-action-on-danger: var(--sp-color-primitive-pure-white);
  --sp-color-action-signal: var(--sp-color-primitive-signal-yellow);
  --sp-color-action-on-signal: var(--sp-color-palette-frame);
  --sp-color-action-selected-disabled: var(--sp-color-palette-frame-disabled);
  --sp-color-action-primary-on-brand: var(--sp-color-primitive-plotter-paper);
  --sp-color-action-on-primary-on-brand: var(--sp-color-palette-frame);
  --sp-color-status-positive: var(--sp-color-palette-spinach);
  --sp-color-status-error: var(--sp-color-primitive-red-flag);
  --sp-color-grade-a-fill: var(--sp-color-palette-spinach);
  --sp-color-grade-a-fill-small: var(--sp-color-palette-spinach-small);
  --sp-color-grade-a-on: var(--sp-color-primitive-pure-white);
  --sp-color-grade-b-fill: var(--sp-color-primitive-lime);
  --sp-color-grade-b-fill-small: var(--sp-color-primitive-lime);
  --sp-color-grade-b-on: var(--sp-color-palette-frame);
  --sp-color-grade-c-fill: var(--sp-color-primitive-signal-yellow);
  --sp-color-grade-c-fill-small: var(--sp-color-primitive-signal-yellow);
  --sp-color-grade-c-on: var(--sp-color-palette-frame);
  --sp-color-grade-d-fill: var(--sp-color-primitive-orange);
  --sp-color-grade-d-fill-small: var(--sp-color-primitive-orange);
  --sp-color-grade-d-on: var(--sp-color-palette-frame);
  --sp-color-grade-e-fill: var(--sp-color-primitive-red-flag);
  --sp-color-grade-e-fill-small: var(--sp-color-primitive-red-flag-small);
  --sp-color-grade-e-on: var(--sp-color-primitive-pure-white);
  --sp-color-grade-none-fill: var(--sp-color-palette-frame-sunken);
  --sp-color-grade-none-on: var(--sp-color-text-secondary-on-muted);
  --sp-color-grade-edge: var(--sp-color-border-sticker);
  --sp-color-grade-ring: var(--sp-color-primitive-plotter-paper);
  --sp-color-mark-good-fill: var(--sp-color-primitive-signal-yellow);
  --sp-color-mark-good-on: var(--sp-color-palette-frame);
  --sp-color-mark-good-halo: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-mark-flag-fill: var(--sp-color-primitive-red-flag-small);
  --sp-color-mark-flag-on: var(--sp-color-primitive-pure-white);
  --sp-color-mark-flag-icon: var(--sp-color-primitive-red-flag);
  --sp-color-mark-vibe-fill: var(--sp-color-primitive-vibe-pink);
  --sp-color-mark-vibe-on: var(--sp-color-palette-frame);
  --sp-color-mark-heart: var(--sp-color-primitive-red-flag);
  --sp-color-overlay-scrim: color-mix(in srgb, var(--sp-color-palette-frame-night) 65%, transparent);
  --sp-color-overlay-photo: color-mix(in srgb, var(--sp-color-palette-frame-night) 72%, transparent);
  --sp-color-shadow-base: var(--sp-color-palette-frame-night);
  --sp-color-shadow-key: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-shadow-ambient: color-mix(in srgb, var(--sp-color-palette-frame-night) 60%, transparent);
  --sp-color-shadow-deep: color-mix(in srgb, var(--sp-color-palette-frame-night) 75%, transparent);
  --sp-color-shadow-edge: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 6%, transparent);
  --sp-color-focus-inner: var(--sp-color-palette-frame);
  --sp-color-focus-outer: var(--sp-color-primitive-plotter-paper);
  --sp-color-focus-on-brand-inner: var(--sp-color-palette-frame);
  --sp-color-focus-on-brand-outer: var(--sp-color-primitive-plotter-paper);
  --sp-color-focus-on-inverse-inner: var(--sp-color-focus-outer);
  --sp-color-focus-on-inverse-outer: var(--sp-color-focus-inner);
  --sp-color-focus-on-photo-inner: var(--sp-color-focus-outer);
  --sp-color-focus-on-photo-outer: var(--sp-color-focus-inner);
  --sp-color-skeleton-base: var(--sp-color-palette-frame-raised);
  --sp-color-skeleton-highlight: var(--sp-color-palette-frame-brand);
  --sp-color-photo-edge: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 10%, transparent);
  --sp-color-brand-mark: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-land: var(--sp-color-primitive-map-night-land);
  --sp-color-map-park: var(--sp-color-primitive-map-night-park);
  --sp-color-map-water: var(--sp-color-primitive-map-night-water);
  --sp-color-map-building: var(--sp-color-primitive-map-night-building);
  --sp-color-map-road: var(--sp-color-primitive-map-night-road);
  --sp-color-map-road-major: var(--sp-color-primitive-map-night-road-major);
  --sp-color-map-road-casing: var(--sp-color-primitive-map-night-casing);
  --sp-color-map-label: var(--sp-color-primitive-map-night-label);
  --sp-color-map-label-water: var(--sp-color-primitive-map-night-label-water);
  --sp-color-map-label-minor: var(--sp-color-primitive-map-night-label-minor);
  --sp-color-map-label-halo: var(--sp-color-map-land);
  --sp-color-map-label-water-halo: var(--sp-color-map-water);
  --sp-color-map-user: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-user-ring: var(--sp-color-map-land);
  --sp-color-map-user-halo: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 16%, transparent);
  --sp-color-map-dot-edge: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-pill-edge: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 55%, transparent);
  --sp-color-map-dot-vegan-ring: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-route: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-route-casing: var(--sp-color-map-land);
  --sp-color-map-pin-shadow: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-map-grade-c: var(--sp-color-primitive-map-grade-sand);
  --sp-color-contrast-more-text-secondary: var(--sp-color-palette-frame-strong);
  --sp-color-contrast-more-text-disabled: var(--sp-color-palette-frame-dim);
  --sp-color-contrast-more-border: var(--sp-color-palette-frame-dim);
  --sp-color-contrast-more-map-label: var(--sp-color-primitive-plotter-paper);
  --sp-color-hours-open: var(--sp-color-primitive-hours-open-night);
  --sp-color-hours-closed: var(--sp-color-primitive-hours-closed-night);
  --sp-color-hours-soon: var(--sp-color-primitive-hours-soon-night);
  --sp-elevation-1: 0px 1px 2px 0px var(--sp-color-shadow-key), 0px 10px 22px -12px var(--sp-color-shadow-ambient);
  --sp-elevation-2: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px 10px 24px -10px var(--sp-color-shadow-ambient);
  --sp-elevation-3: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px 18px 40px -18px var(--sp-color-shadow-deep);
  --sp-elevation-pill: 0px 1px 2px 0px var(--sp-color-shadow-key), 0px 4px 10px -6px var(--sp-color-shadow-ambient);
  --sp-elevation-sheet: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px -8px 24px -14px var(--sp-color-shadow-ambient);
  --sp-elevation-cta: 0px 8px 18px -10px var(--sp-color-shadow-deep);
  --sp-component-button-primary-fill: var(--sp-color-action-primary);
  --sp-component-button-primary-on: var(--sp-color-action-on-primary);
  --sp-component-button-secondary-border: var(--sp-color-border-strong);
  --sp-component-button-secondary-on: var(--sp-color-text-primary);
  --sp-component-button-danger-fill: var(--sp-color-action-danger);
  --sp-component-button-danger-on: var(--sp-color-action-on-danger);
  --sp-component-button-danger-edge: var(--sp-color-border-sticker);
  --sp-component-button-disabled-fill: var(--sp-color-action-disabled);
  --sp-component-button-disabled-on: var(--sp-color-text-disabled);
  --sp-component-button-signal-fill: var(--sp-color-action-signal);
  --sp-component-button-signal-on: var(--sp-color-action-on-signal);
  --sp-component-button-on-brand-fill: var(--sp-color-action-primary-on-brand);
  --sp-component-button-on-brand-on: var(--sp-color-action-on-primary-on-brand);
  --sp-component-chip-filter-fill: var(--sp-color-surface-card);
  --sp-component-chip-filter-border: var(--sp-color-border-chip);
  --sp-component-chip-filter-on: var(--sp-color-text-primary);
  --sp-component-chip-filter-selected-fill: var(--sp-color-action-primary);
  --sp-component-chip-filter-selected-on: var(--sp-color-action-on-primary);
  --sp-component-chip-filter-disabled-fill: var(--sp-color-action-disabled);
  --sp-component-chip-filter-disabled-on: var(--sp-color-text-disabled);
  --sp-component-chip-filter-selected-disabled-fill: var(--sp-color-action-selected-disabled);
  --sp-component-chip-filter-selected-disabled-on: var(--sp-color-action-on-primary);
  --sp-component-chip-fact-fill: var(--sp-color-surface-muted);
  --sp-component-chip-fact-on: var(--sp-color-text-primary);
  --sp-component-input-fill: var(--sp-color-surface-muted);
  --sp-component-input-on: var(--sp-color-text-primary);
  --sp-component-input-placeholder: var(--sp-color-text-secondary-on-muted);
  --sp-component-input-border: var(--sp-color-border-control);
  --sp-component-input-focus-border: var(--sp-color-border-strong);
  --sp-component-input-error-border: var(--sp-color-status-error);
  --sp-component-input-error-edge: var(--sp-color-border-sticker);
  --sp-component-input-label: var(--sp-color-text-secondary-on-muted);
  --sp-component-search-field-fill: var(--sp-color-surface-raised);
  --sp-component-search-field-placeholder: var(--sp-color-text-secondary);
  --sp-component-search-field-shadow: var(--sp-elevation-2);
  --sp-component-search-field-submit-fill: var(--sp-color-action-primary);
  --sp-component-search-field-submit-on: var(--sp-color-action-on-primary);
  --sp-component-search-field-on-brand-fill: var(--sp-color-surface-on-brand-control);
  --sp-component-search-field-on-brand-on: var(--sp-color-text-on-brand-control);
  --sp-component-search-field-on-brand-placeholder: var(--sp-color-text-on-brand-control-secondary);
  --sp-component-search-field-on-brand-submit-fill: var(--sp-color-surface-brand);
  --sp-component-search-field-on-brand-submit-on: var(--sp-color-text-on-brand);
  --sp-component-switch-track-on: var(--sp-color-action-primary);
  --sp-component-switch-thumb-on: var(--sp-color-action-on-primary);
  --sp-component-switch-track-off: var(--sp-color-surface-muted);
  --sp-component-switch-track-off-border: var(--sp-color-border-control);
  --sp-component-switch-thumb-off: var(--sp-color-border-control);
  --sp-component-switch-track-disabled: var(--sp-color-action-disabled);
  --sp-component-switch-thumb-disabled: var(--sp-color-text-disabled);
  --sp-component-switch-track-outline-disabled: var(--sp-color-text-disabled);
  --sp-component-card-default-fill: var(--sp-color-surface-card);
  --sp-component-card-default-border: var(--sp-color-border-card);
  --sp-component-card-default-shadow: var(--sp-elevation-1);
  --sp-component-card-brand-fill: var(--sp-color-surface-brand);
  --sp-component-card-brand-on: var(--sp-color-text-on-brand);
  --sp-component-card-brand-on-secondary: var(--sp-color-text-on-brand-secondary);
  --sp-component-card-leaf-fill: var(--sp-color-surface-leaf);
  --sp-component-card-leaf-on: var(--sp-color-text-on-leaf);
  --sp-component-list-row-divider: var(--sp-color-border-subtle);
  --sp-component-list-row-title: var(--sp-color-text-primary);
  --sp-component-list-row-meta: var(--sp-color-text-secondary);
  --sp-component-sheet-fill: var(--sp-color-surface-raised);
  --sp-component-sheet-shadow: var(--sp-elevation-sheet);
  --sp-component-sheet-scrim: var(--sp-color-overlay-scrim);
  --sp-component-sheet-grabber: var(--sp-color-border-control);
  --sp-component-dialog-fill: var(--sp-color-surface-raised);
  --sp-component-dialog-shadow: var(--sp-elevation-3);
  --sp-component-dialog-scrim: var(--sp-color-overlay-scrim);
  --sp-component-snackbar-fill: var(--sp-color-surface-inverse);
  --sp-component-snackbar-on: var(--sp-color-text-on-inverse);
  --sp-component-snackbar-shadow: var(--sp-elevation-2);
  --sp-component-tab-bar-fill: var(--sp-color-surface-bar);
  --sp-component-tab-bar-glass-fill: var(--sp-color-surface-bar-glass);
  --sp-component-tab-bar-glass-rim: var(--sp-color-border-bar-glass);
  --sp-component-tab-bar-lens: var(--sp-color-surface-bar-lens);
  --sp-component-tab-bar-edge-fade: var(--sp-color-surface-bar-fade);
  --sp-component-tab-bar-border: var(--sp-color-border-subtle);
  --sp-component-tab-bar-active: var(--sp-color-text-primary);
  --sp-component-tab-bar-inactive: var(--sp-color-text-secondary-on-muted);
  --sp-component-tab-bar-indicator: var(--sp-color-text-primary);
  --sp-component-tab-bar-shadow: var(--sp-elevation-2);
  --sp-component-divider-color: var(--sp-color-border-subtle);
  --sp-component-focus-ring-inner: var(--sp-color-focus-inner);
  --sp-component-focus-ring-outer: var(--sp-color-focus-outer);
  --sp-component-focus-ring-on-brand-inner: var(--sp-color-focus-on-brand-inner);
  --sp-component-focus-ring-on-brand-outer: var(--sp-color-focus-on-brand-outer);
  --sp-component-focus-ring-on-inverse-inner: var(--sp-color-focus-on-inverse-inner);
  --sp-component-focus-ring-on-inverse-outer: var(--sp-color-focus-on-inverse-outer);
  --sp-component-focus-ring-on-photo-inner: var(--sp-color-focus-on-photo-inner);
  --sp-component-focus-ring-on-photo-outer: var(--sp-color-focus-on-photo-outer);
  --sp-component-skeleton-base: var(--sp-color-skeleton-base);
  --sp-component-skeleton-highlight: var(--sp-color-skeleton-highlight);
  --sp-component-rating-tile-fill: var(--sp-color-surface-card);
  --sp-component-rating-tile-rule: var(--sp-color-border-strong);
  --sp-component-rating-tile-star: var(--sp-color-text-primary);
  --sp-component-rating-tile-number: var(--sp-color-text-primary);
  --sp-component-rating-tile-label: var(--sp-color-text-secondary);
  --sp-component-grade-scale-ring: var(--sp-color-grade-ring);
  --sp-component-note-row-text: var(--sp-color-text-primary);
  --sp-component-note-row-divider: var(--sp-color-border-subtle);
  --sp-component-note-row-good: var(--sp-color-mark-good-fill);
  --sp-component-note-row-flag: var(--sp-color-mark-flag-icon);
  --sp-component-note-row-flag-edge: var(--sp-color-border-sticker);
  --sp-component-note-row-vibe: var(--sp-color-mark-vibe-fill);
  --sp-component-note-row-good-edge: var(--sp-color-border-keyline);
  --sp-component-note-row-vibe-edge: var(--sp-color-border-keyline);
  --sp-component-note-strip-good-fill: var(--sp-color-mark-good-fill);
  --sp-component-note-strip-good-on: var(--sp-color-mark-good-on);
  --sp-component-note-strip-flag-fill: var(--sp-color-mark-flag-fill);
  --sp-component-note-strip-flag-on: var(--sp-color-mark-flag-on);
  --sp-component-note-strip-vibe-fill: var(--sp-color-mark-vibe-fill);
  --sp-component-note-strip-vibe-on: var(--sp-color-mark-vibe-on);
  --sp-component-highlight-fill: var(--sp-color-mark-good-fill);
  --sp-component-highlight-on: var(--sp-color-mark-good-on);
  --sp-component-lens-color: var(--sp-color-mark-good-fill);
  --sp-component-lens-halo: var(--sp-color-mark-good-halo);
  --sp-component-lens-label-fill: var(--sp-color-mark-good-fill);
  --sp-component-lens-label-on: var(--sp-color-mark-good-on);
  --sp-component-photo-edge: var(--sp-color-photo-edge);
  --sp-component-photo-overlay: var(--sp-color-overlay-photo);
  --sp-component-photo-caption: var(--sp-color-text-on-photo);
  --sp-component-photo-caption-secondary: var(--sp-color-text-on-photo-secondary);
  --sp-component-map-leaf-pin-a-fill: var(--sp-color-grade-a-fill);
  --sp-component-map-leaf-pin-a-fill-small: var(--sp-color-grade-a-fill-small);
  --sp-component-map-leaf-pin-a-letter: var(--sp-color-grade-a-on);
  --sp-component-map-leaf-pin-b-fill: var(--sp-color-grade-b-fill);
  --sp-component-map-leaf-pin-b-fill-small: var(--sp-color-grade-b-fill-small);
  --sp-component-map-leaf-pin-b-letter: var(--sp-color-grade-b-on);
  --sp-component-map-leaf-pin-c-fill: var(--sp-color-grade-c-fill);
  --sp-component-map-leaf-pin-c-fill-small: var(--sp-color-grade-c-fill-small);
  --sp-component-map-leaf-pin-c-letter: var(--sp-color-grade-c-on);
  --sp-component-map-leaf-pin-d-fill: var(--sp-color-grade-d-fill);
  --sp-component-map-leaf-pin-d-fill-small: var(--sp-color-grade-d-fill-small);
  --sp-component-map-leaf-pin-d-letter: var(--sp-color-grade-d-on);
  --sp-component-map-leaf-pin-e-fill: var(--sp-color-grade-e-fill);
  --sp-component-map-leaf-pin-e-fill-small: var(--sp-color-grade-e-fill-small);
  --sp-component-map-leaf-pin-e-letter: var(--sp-color-grade-e-on);
  --sp-component-map-leaf-pin-ring: var(--sp-color-border-strong);
  --sp-component-map-leaf-pin-shadow: var(--sp-color-map-pin-shadow);
  --sp-component-map-leaf-pin-edge: var(--sp-color-map-dot-edge);
  --sp-component-map-cluster-fill: var(--sp-color-surface-raised);
  --sp-component-map-cluster-ring: var(--sp-color-border-strong);
  --sp-component-map-cluster-on: var(--sp-color-text-primary);
  --sp-component-map-cluster-shadow: var(--sp-elevation-pill);
  --sp-component-map-user-fill: var(--sp-color-map-user);
  --sp-component-map-user-ring: var(--sp-color-map-user-ring);
  --sp-component-map-user-halo: var(--sp-color-map-user-halo);
  --sp-component-checkbox-fill-on: var(--sp-color-action-primary);
  --sp-component-checkbox-check: var(--sp-color-action-on-primary);
  --sp-component-checkbox-border: var(--sp-color-border-control);
  --sp-component-checkbox-disabled: var(--sp-color-text-disabled);
  --sp-component-status-dot-fill: var(--sp-color-status-positive);
  --sp-component-status-dot-edge: var(--sp-color-border-sticker);
  --sp-component-grade-chip-a-fill: var(--sp-color-grade-a-fill);
  --sp-component-grade-chip-a-fill-small: var(--sp-color-grade-a-fill-small);
  --sp-component-grade-chip-a-letter: var(--sp-color-grade-a-on);
  --sp-component-grade-chip-b-fill: var(--sp-color-grade-b-fill);
  --sp-component-grade-chip-b-fill-small: var(--sp-color-grade-b-fill-small);
  --sp-component-grade-chip-b-letter: var(--sp-color-grade-b-on);
  --sp-component-grade-chip-c-fill: var(--sp-color-grade-c-fill);
  --sp-component-grade-chip-c-fill-small: var(--sp-color-grade-c-fill-small);
  --sp-component-grade-chip-c-letter: var(--sp-color-grade-c-on);
  --sp-component-grade-chip-d-fill: var(--sp-color-grade-d-fill);
  --sp-component-grade-chip-d-fill-small: var(--sp-color-grade-d-fill-small);
  --sp-component-grade-chip-d-letter: var(--sp-color-grade-d-on);
  --sp-component-grade-chip-e-fill: var(--sp-color-grade-e-fill);
  --sp-component-grade-chip-e-fill-small: var(--sp-color-grade-e-fill-small);
  --sp-component-grade-chip-e-letter: var(--sp-color-grade-e-on);
  --sp-component-grade-chip-edge: var(--sp-color-grade-edge);
}
}

[data-theme="dark"] {
  color-scheme: dark;
  --sp-color-surface-ground: var(--sp-color-palette-frame);
  --sp-color-surface-card: var(--sp-color-palette-frame-card);
  --sp-color-surface-raised: var(--sp-color-palette-frame-raised);
  --sp-color-surface-bar: var(--sp-color-palette-frame-raised);
  --sp-color-surface-bar-glass: color-mix(in srgb, var(--sp-color-palette-frame-raised) 80%, transparent);
  --sp-color-surface-bar-lens: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 12%, transparent);
  --sp-color-surface-bar-fade: color-mix(in srgb, var(--sp-color-palette-frame) 55%, transparent);
  --sp-color-surface-muted: var(--sp-color-palette-frame-sunken);
  --sp-color-surface-inverse: var(--sp-color-primitive-plotter-paper);
  --sp-color-surface-brand: var(--sp-color-palette-frame-brand);
  --sp-color-surface-leaf: var(--sp-color-palette-spinach);
  --sp-color-surface-on-brand-control: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-primary: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-secondary: var(--sp-color-palette-frame-dim);
  --sp-color-text-disabled: var(--sp-color-palette-frame-disabled);
  --sp-color-text-on-inverse: var(--sp-color-palette-frame);
  --sp-color-text-on-inverse-secondary: var(--sp-color-primitive-mute);
  --sp-color-text-on-brand: var(--sp-color-primitive-plotter-paper);
  --sp-color-text-on-brand-secondary: var(--sp-color-palette-frame-dim);
  --sp-color-text-on-leaf: var(--sp-color-primitive-pure-white);
  --sp-color-text-on-photo: var(--sp-color-primitive-white);
  --sp-color-text-on-photo-secondary: var(--sp-color-primitive-paper-2);
  --sp-color-text-link: var(--sp-color-text-primary);
  --sp-color-text-link-visited: var(--sp-color-text-link);
  --sp-color-text-secondary-on-muted: var(--sp-color-palette-frame-dim);
  --sp-color-text-on-brand-control: var(--sp-color-palette-frame);
  --sp-color-text-on-brand-control-secondary: var(--sp-color-primitive-mute);
  --sp-color-border-bar-glass: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 16%, transparent);
  --sp-color-border-subtle: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 12%, transparent);
  --sp-color-border-default: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 16%, transparent);
  --sp-color-border-chip: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 25%, transparent);
  --sp-color-border-control: var(--sp-color-palette-frame-dim);
  --sp-color-border-strong: var(--sp-color-primitive-plotter-paper);
  --sp-color-border-card: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 12%, transparent);
  --sp-color-border-sticker: var(--sp-color-primitive-plotter-paper);
  --sp-color-border-keyline: color-mix(in srgb, var(--sp-color-palette-frame) 0%, transparent);
  --sp-color-action-primary: var(--sp-color-primitive-plotter-paper);
  --sp-color-action-on-primary: var(--sp-color-palette-frame);
  --sp-color-action-disabled: var(--sp-color-palette-frame-raised);
  --sp-color-action-danger: var(--sp-color-primitive-red-flag-small);
  --sp-color-action-on-danger: var(--sp-color-primitive-pure-white);
  --sp-color-action-signal: var(--sp-color-primitive-signal-yellow);
  --sp-color-action-on-signal: var(--sp-color-palette-frame);
  --sp-color-action-selected-disabled: var(--sp-color-palette-frame-disabled);
  --sp-color-action-primary-on-brand: var(--sp-color-primitive-plotter-paper);
  --sp-color-action-on-primary-on-brand: var(--sp-color-palette-frame);
  --sp-color-status-positive: var(--sp-color-palette-spinach);
  --sp-color-status-error: var(--sp-color-primitive-red-flag);
  --sp-color-grade-a-fill: var(--sp-color-palette-spinach);
  --sp-color-grade-a-fill-small: var(--sp-color-palette-spinach-small);
  --sp-color-grade-a-on: var(--sp-color-primitive-pure-white);
  --sp-color-grade-b-fill: var(--sp-color-primitive-lime);
  --sp-color-grade-b-fill-small: var(--sp-color-primitive-lime);
  --sp-color-grade-b-on: var(--sp-color-palette-frame);
  --sp-color-grade-c-fill: var(--sp-color-primitive-signal-yellow);
  --sp-color-grade-c-fill-small: var(--sp-color-primitive-signal-yellow);
  --sp-color-grade-c-on: var(--sp-color-palette-frame);
  --sp-color-grade-d-fill: var(--sp-color-primitive-orange);
  --sp-color-grade-d-fill-small: var(--sp-color-primitive-orange);
  --sp-color-grade-d-on: var(--sp-color-palette-frame);
  --sp-color-grade-e-fill: var(--sp-color-primitive-red-flag);
  --sp-color-grade-e-fill-small: var(--sp-color-primitive-red-flag-small);
  --sp-color-grade-e-on: var(--sp-color-primitive-pure-white);
  --sp-color-grade-none-fill: var(--sp-color-palette-frame-sunken);
  --sp-color-grade-none-on: var(--sp-color-text-secondary-on-muted);
  --sp-color-grade-edge: var(--sp-color-border-sticker);
  --sp-color-grade-ring: var(--sp-color-primitive-plotter-paper);
  --sp-color-mark-good-fill: var(--sp-color-primitive-signal-yellow);
  --sp-color-mark-good-on: var(--sp-color-palette-frame);
  --sp-color-mark-good-halo: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-mark-flag-fill: var(--sp-color-primitive-red-flag-small);
  --sp-color-mark-flag-on: var(--sp-color-primitive-pure-white);
  --sp-color-mark-flag-icon: var(--sp-color-primitive-red-flag);
  --sp-color-mark-vibe-fill: var(--sp-color-primitive-vibe-pink);
  --sp-color-mark-vibe-on: var(--sp-color-palette-frame);
  --sp-color-mark-heart: var(--sp-color-primitive-red-flag);
  --sp-color-overlay-scrim: color-mix(in srgb, var(--sp-color-palette-frame-night) 65%, transparent);
  --sp-color-overlay-photo: color-mix(in srgb, var(--sp-color-palette-frame-night) 72%, transparent);
  --sp-color-shadow-base: var(--sp-color-palette-frame-night);
  --sp-color-shadow-key: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-shadow-ambient: color-mix(in srgb, var(--sp-color-palette-frame-night) 60%, transparent);
  --sp-color-shadow-deep: color-mix(in srgb, var(--sp-color-palette-frame-night) 75%, transparent);
  --sp-color-shadow-edge: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 6%, transparent);
  --sp-color-focus-inner: var(--sp-color-palette-frame);
  --sp-color-focus-outer: var(--sp-color-primitive-plotter-paper);
  --sp-color-focus-on-brand-inner: var(--sp-color-palette-frame);
  --sp-color-focus-on-brand-outer: var(--sp-color-primitive-plotter-paper);
  --sp-color-focus-on-inverse-inner: var(--sp-color-focus-outer);
  --sp-color-focus-on-inverse-outer: var(--sp-color-focus-inner);
  --sp-color-focus-on-photo-inner: var(--sp-color-focus-outer);
  --sp-color-focus-on-photo-outer: var(--sp-color-focus-inner);
  --sp-color-skeleton-base: var(--sp-color-palette-frame-raised);
  --sp-color-skeleton-highlight: var(--sp-color-palette-frame-brand);
  --sp-color-photo-edge: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 10%, transparent);
  --sp-color-brand-mark: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-land: var(--sp-color-primitive-map-night-land);
  --sp-color-map-park: var(--sp-color-primitive-map-night-park);
  --sp-color-map-water: var(--sp-color-primitive-map-night-water);
  --sp-color-map-building: var(--sp-color-primitive-map-night-building);
  --sp-color-map-road: var(--sp-color-primitive-map-night-road);
  --sp-color-map-road-major: var(--sp-color-primitive-map-night-road-major);
  --sp-color-map-road-casing: var(--sp-color-primitive-map-night-casing);
  --sp-color-map-label: var(--sp-color-primitive-map-night-label);
  --sp-color-map-label-water: var(--sp-color-primitive-map-night-label-water);
  --sp-color-map-label-minor: var(--sp-color-primitive-map-night-label-minor);
  --sp-color-map-label-halo: var(--sp-color-map-land);
  --sp-color-map-label-water-halo: var(--sp-color-map-water);
  --sp-color-map-user: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-user-ring: var(--sp-color-map-land);
  --sp-color-map-user-halo: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 16%, transparent);
  --sp-color-map-dot-edge: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-pill-edge: color-mix(in srgb, var(--sp-color-primitive-plotter-paper) 55%, transparent);
  --sp-color-map-dot-vegan-ring: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-route: var(--sp-color-primitive-plotter-paper);
  --sp-color-map-route-casing: var(--sp-color-map-land);
  --sp-color-map-pin-shadow: color-mix(in srgb, var(--sp-color-palette-frame-night) 40%, transparent);
  --sp-color-map-grade-c: var(--sp-color-primitive-map-grade-sand);
  --sp-color-contrast-more-text-secondary: var(--sp-color-palette-frame-strong);
  --sp-color-contrast-more-text-disabled: var(--sp-color-palette-frame-dim);
  --sp-color-contrast-more-border: var(--sp-color-palette-frame-dim);
  --sp-color-contrast-more-map-label: var(--sp-color-primitive-plotter-paper);
  --sp-color-hours-open: var(--sp-color-primitive-hours-open-night);
  --sp-color-hours-closed: var(--sp-color-primitive-hours-closed-night);
  --sp-color-hours-soon: var(--sp-color-primitive-hours-soon-night);
  --sp-elevation-1: 0px 1px 2px 0px var(--sp-color-shadow-key), 0px 10px 22px -12px var(--sp-color-shadow-ambient);
  --sp-elevation-2: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px 10px 24px -10px var(--sp-color-shadow-ambient);
  --sp-elevation-3: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px 18px 40px -18px var(--sp-color-shadow-deep);
  --sp-elevation-pill: 0px 1px 2px 0px var(--sp-color-shadow-key), 0px 4px 10px -6px var(--sp-color-shadow-ambient);
  --sp-elevation-sheet: 0px 0px 0px 1px var(--sp-color-shadow-edge), 0px -8px 24px -14px var(--sp-color-shadow-ambient);
  --sp-elevation-cta: 0px 8px 18px -10px var(--sp-color-shadow-deep);
  --sp-component-button-primary-fill: var(--sp-color-action-primary);
  --sp-component-button-primary-on: var(--sp-color-action-on-primary);
  --sp-component-button-secondary-border: var(--sp-color-border-strong);
  --sp-component-button-secondary-on: var(--sp-color-text-primary);
  --sp-component-button-danger-fill: var(--sp-color-action-danger);
  --sp-component-button-danger-on: var(--sp-color-action-on-danger);
  --sp-component-button-danger-edge: var(--sp-color-border-sticker);
  --sp-component-button-disabled-fill: var(--sp-color-action-disabled);
  --sp-component-button-disabled-on: var(--sp-color-text-disabled);
  --sp-component-button-signal-fill: var(--sp-color-action-signal);
  --sp-component-button-signal-on: var(--sp-color-action-on-signal);
  --sp-component-button-on-brand-fill: var(--sp-color-action-primary-on-brand);
  --sp-component-button-on-brand-on: var(--sp-color-action-on-primary-on-brand);
  --sp-component-chip-filter-fill: var(--sp-color-surface-card);
  --sp-component-chip-filter-border: var(--sp-color-border-chip);
  --sp-component-chip-filter-on: var(--sp-color-text-primary);
  --sp-component-chip-filter-selected-fill: var(--sp-color-action-primary);
  --sp-component-chip-filter-selected-on: var(--sp-color-action-on-primary);
  --sp-component-chip-filter-disabled-fill: var(--sp-color-action-disabled);
  --sp-component-chip-filter-disabled-on: var(--sp-color-text-disabled);
  --sp-component-chip-filter-selected-disabled-fill: var(--sp-color-action-selected-disabled);
  --sp-component-chip-filter-selected-disabled-on: var(--sp-color-action-on-primary);
  --sp-component-chip-fact-fill: var(--sp-color-surface-muted);
  --sp-component-chip-fact-on: var(--sp-color-text-primary);
  --sp-component-input-fill: var(--sp-color-surface-muted);
  --sp-component-input-on: var(--sp-color-text-primary);
  --sp-component-input-placeholder: var(--sp-color-text-secondary-on-muted);
  --sp-component-input-border: var(--sp-color-border-control);
  --sp-component-input-focus-border: var(--sp-color-border-strong);
  --sp-component-input-error-border: var(--sp-color-status-error);
  --sp-component-input-error-edge: var(--sp-color-border-sticker);
  --sp-component-input-label: var(--sp-color-text-secondary-on-muted);
  --sp-component-search-field-fill: var(--sp-color-surface-raised);
  --sp-component-search-field-placeholder: var(--sp-color-text-secondary);
  --sp-component-search-field-shadow: var(--sp-elevation-2);
  --sp-component-search-field-submit-fill: var(--sp-color-action-primary);
  --sp-component-search-field-submit-on: var(--sp-color-action-on-primary);
  --sp-component-search-field-on-brand-fill: var(--sp-color-surface-on-brand-control);
  --sp-component-search-field-on-brand-on: var(--sp-color-text-on-brand-control);
  --sp-component-search-field-on-brand-placeholder: var(--sp-color-text-on-brand-control-secondary);
  --sp-component-search-field-on-brand-submit-fill: var(--sp-color-surface-brand);
  --sp-component-search-field-on-brand-submit-on: var(--sp-color-text-on-brand);
  --sp-component-switch-track-on: var(--sp-color-action-primary);
  --sp-component-switch-thumb-on: var(--sp-color-action-on-primary);
  --sp-component-switch-track-off: var(--sp-color-surface-muted);
  --sp-component-switch-track-off-border: var(--sp-color-border-control);
  --sp-component-switch-thumb-off: var(--sp-color-border-control);
  --sp-component-switch-track-disabled: var(--sp-color-action-disabled);
  --sp-component-switch-thumb-disabled: var(--sp-color-text-disabled);
  --sp-component-switch-track-outline-disabled: var(--sp-color-text-disabled);
  --sp-component-card-default-fill: var(--sp-color-surface-card);
  --sp-component-card-default-border: var(--sp-color-border-card);
  --sp-component-card-default-shadow: var(--sp-elevation-1);
  --sp-component-card-brand-fill: var(--sp-color-surface-brand);
  --sp-component-card-brand-on: var(--sp-color-text-on-brand);
  --sp-component-card-brand-on-secondary: var(--sp-color-text-on-brand-secondary);
  --sp-component-card-leaf-fill: var(--sp-color-surface-leaf);
  --sp-component-card-leaf-on: var(--sp-color-text-on-leaf);
  --sp-component-list-row-divider: var(--sp-color-border-subtle);
  --sp-component-list-row-title: var(--sp-color-text-primary);
  --sp-component-list-row-meta: var(--sp-color-text-secondary);
  --sp-component-sheet-fill: var(--sp-color-surface-raised);
  --sp-component-sheet-shadow: var(--sp-elevation-sheet);
  --sp-component-sheet-scrim: var(--sp-color-overlay-scrim);
  --sp-component-sheet-grabber: var(--sp-color-border-control);
  --sp-component-dialog-fill: var(--sp-color-surface-raised);
  --sp-component-dialog-shadow: var(--sp-elevation-3);
  --sp-component-dialog-scrim: var(--sp-color-overlay-scrim);
  --sp-component-snackbar-fill: var(--sp-color-surface-inverse);
  --sp-component-snackbar-on: var(--sp-color-text-on-inverse);
  --sp-component-snackbar-shadow: var(--sp-elevation-2);
  --sp-component-tab-bar-fill: var(--sp-color-surface-bar);
  --sp-component-tab-bar-glass-fill: var(--sp-color-surface-bar-glass);
  --sp-component-tab-bar-glass-rim: var(--sp-color-border-bar-glass);
  --sp-component-tab-bar-lens: var(--sp-color-surface-bar-lens);
  --sp-component-tab-bar-edge-fade: var(--sp-color-surface-bar-fade);
  --sp-component-tab-bar-border: var(--sp-color-border-subtle);
  --sp-component-tab-bar-active: var(--sp-color-text-primary);
  --sp-component-tab-bar-inactive: var(--sp-color-text-secondary-on-muted);
  --sp-component-tab-bar-indicator: var(--sp-color-text-primary);
  --sp-component-tab-bar-shadow: var(--sp-elevation-2);
  --sp-component-divider-color: var(--sp-color-border-subtle);
  --sp-component-focus-ring-inner: var(--sp-color-focus-inner);
  --sp-component-focus-ring-outer: var(--sp-color-focus-outer);
  --sp-component-focus-ring-on-brand-inner: var(--sp-color-focus-on-brand-inner);
  --sp-component-focus-ring-on-brand-outer: var(--sp-color-focus-on-brand-outer);
  --sp-component-focus-ring-on-inverse-inner: var(--sp-color-focus-on-inverse-inner);
  --sp-component-focus-ring-on-inverse-outer: var(--sp-color-focus-on-inverse-outer);
  --sp-component-focus-ring-on-photo-inner: var(--sp-color-focus-on-photo-inner);
  --sp-component-focus-ring-on-photo-outer: var(--sp-color-focus-on-photo-outer);
  --sp-component-skeleton-base: var(--sp-color-skeleton-base);
  --sp-component-skeleton-highlight: var(--sp-color-skeleton-highlight);
  --sp-component-rating-tile-fill: var(--sp-color-surface-card);
  --sp-component-rating-tile-rule: var(--sp-color-border-strong);
  --sp-component-rating-tile-star: var(--sp-color-text-primary);
  --sp-component-rating-tile-number: var(--sp-color-text-primary);
  --sp-component-rating-tile-label: var(--sp-color-text-secondary);
  --sp-component-grade-scale-ring: var(--sp-color-grade-ring);
  --sp-component-note-row-text: var(--sp-color-text-primary);
  --sp-component-note-row-divider: var(--sp-color-border-subtle);
  --sp-component-note-row-good: var(--sp-color-mark-good-fill);
  --sp-component-note-row-flag: var(--sp-color-mark-flag-icon);
  --sp-component-note-row-flag-edge: var(--sp-color-border-sticker);
  --sp-component-note-row-vibe: var(--sp-color-mark-vibe-fill);
  --sp-component-note-row-good-edge: var(--sp-color-border-keyline);
  --sp-component-note-row-vibe-edge: var(--sp-color-border-keyline);
  --sp-component-note-strip-good-fill: var(--sp-color-mark-good-fill);
  --sp-component-note-strip-good-on: var(--sp-color-mark-good-on);
  --sp-component-note-strip-flag-fill: var(--sp-color-mark-flag-fill);
  --sp-component-note-strip-flag-on: var(--sp-color-mark-flag-on);
  --sp-component-note-strip-vibe-fill: var(--sp-color-mark-vibe-fill);
  --sp-component-note-strip-vibe-on: var(--sp-color-mark-vibe-on);
  --sp-component-highlight-fill: var(--sp-color-mark-good-fill);
  --sp-component-highlight-on: var(--sp-color-mark-good-on);
  --sp-component-lens-color: var(--sp-color-mark-good-fill);
  --sp-component-lens-halo: var(--sp-color-mark-good-halo);
  --sp-component-lens-label-fill: var(--sp-color-mark-good-fill);
  --sp-component-lens-label-on: var(--sp-color-mark-good-on);
  --sp-component-photo-edge: var(--sp-color-photo-edge);
  --sp-component-photo-overlay: var(--sp-color-overlay-photo);
  --sp-component-photo-caption: var(--sp-color-text-on-photo);
  --sp-component-photo-caption-secondary: var(--sp-color-text-on-photo-secondary);
  --sp-component-map-leaf-pin-a-fill: var(--sp-color-grade-a-fill);
  --sp-component-map-leaf-pin-a-fill-small: var(--sp-color-grade-a-fill-small);
  --sp-component-map-leaf-pin-a-letter: var(--sp-color-grade-a-on);
  --sp-component-map-leaf-pin-b-fill: var(--sp-color-grade-b-fill);
  --sp-component-map-leaf-pin-b-fill-small: var(--sp-color-grade-b-fill-small);
  --sp-component-map-leaf-pin-b-letter: var(--sp-color-grade-b-on);
  --sp-component-map-leaf-pin-c-fill: var(--sp-color-grade-c-fill);
  --sp-component-map-leaf-pin-c-fill-small: var(--sp-color-grade-c-fill-small);
  --sp-component-map-leaf-pin-c-letter: var(--sp-color-grade-c-on);
  --sp-component-map-leaf-pin-d-fill: var(--sp-color-grade-d-fill);
  --sp-component-map-leaf-pin-d-fill-small: var(--sp-color-grade-d-fill-small);
  --sp-component-map-leaf-pin-d-letter: var(--sp-color-grade-d-on);
  --sp-component-map-leaf-pin-e-fill: var(--sp-color-grade-e-fill);
  --sp-component-map-leaf-pin-e-fill-small: var(--sp-color-grade-e-fill-small);
  --sp-component-map-leaf-pin-e-letter: var(--sp-color-grade-e-on);
  --sp-component-map-leaf-pin-ring: var(--sp-color-border-strong);
  --sp-component-map-leaf-pin-shadow: var(--sp-color-map-pin-shadow);
  --sp-component-map-leaf-pin-edge: var(--sp-color-map-dot-edge);
  --sp-component-map-cluster-fill: var(--sp-color-surface-raised);
  --sp-component-map-cluster-ring: var(--sp-color-border-strong);
  --sp-component-map-cluster-on: var(--sp-color-text-primary);
  --sp-component-map-cluster-shadow: var(--sp-elevation-pill);
  --sp-component-map-user-fill: var(--sp-color-map-user);
  --sp-component-map-user-ring: var(--sp-color-map-user-ring);
  --sp-component-map-user-halo: var(--sp-color-map-user-halo);
  --sp-component-checkbox-fill-on: var(--sp-color-action-primary);
  --sp-component-checkbox-check: var(--sp-color-action-on-primary);
  --sp-component-checkbox-border: var(--sp-color-border-control);
  --sp-component-checkbox-disabled: var(--sp-color-text-disabled);
  --sp-component-status-dot-fill: var(--sp-color-status-positive);
  --sp-component-status-dot-edge: var(--sp-color-border-sticker);
  --sp-component-grade-chip-a-fill: var(--sp-color-grade-a-fill);
  --sp-component-grade-chip-a-fill-small: var(--sp-color-grade-a-fill-small);
  --sp-component-grade-chip-a-letter: var(--sp-color-grade-a-on);
  --sp-component-grade-chip-b-fill: var(--sp-color-grade-b-fill);
  --sp-component-grade-chip-b-fill-small: var(--sp-color-grade-b-fill-small);
  --sp-component-grade-chip-b-letter: var(--sp-color-grade-b-on);
  --sp-component-grade-chip-c-fill: var(--sp-color-grade-c-fill);
  --sp-component-grade-chip-c-fill-small: var(--sp-color-grade-c-fill-small);
  --sp-component-grade-chip-c-letter: var(--sp-color-grade-c-on);
  --sp-component-grade-chip-d-fill: var(--sp-color-grade-d-fill);
  --sp-component-grade-chip-d-fill-small: var(--sp-color-grade-d-fill-small);
  --sp-component-grade-chip-d-letter: var(--sp-color-grade-d-on);
  --sp-component-grade-chip-e-fill: var(--sp-color-grade-e-fill);
  --sp-component-grade-chip-e-fill-small: var(--sp-color-grade-e-fill-small);
  --sp-component-grade-chip-e-letter: var(--sp-color-grade-e-on);
  --sp-component-grade-chip-edge: var(--sp-color-grade-edge);
}

@media (prefers-contrast: more) {
:root,
[data-theme] {
  --sp-color-text-secondary: var(--sp-color-contrast-more-text-secondary);
  --sp-color-text-disabled: var(--sp-color-contrast-more-text-disabled);
  --sp-color-text-secondary-on-muted: var(--sp-color-contrast-more-text-secondary);
  --sp-color-border-subtle: var(--sp-color-contrast-more-border);
  --sp-color-border-default: var(--sp-color-contrast-more-border);
  --sp-color-border-chip: var(--sp-color-contrast-more-border);
  --sp-color-map-label: var(--sp-color-contrast-more-map-label);
  --sp-color-map-label-water: var(--sp-color-contrast-more-map-label);
  --sp-color-map-label-minor: var(--sp-color-contrast-more-map-label);
}
}

[data-contrast="more"],
[data-contrast="more"] [data-theme] {
  --sp-color-text-secondary: var(--sp-color-contrast-more-text-secondary);
  --sp-color-text-disabled: var(--sp-color-contrast-more-text-disabled);
  --sp-color-text-secondary-on-muted: var(--sp-color-contrast-more-text-secondary);
  --sp-color-border-subtle: var(--sp-color-contrast-more-border);
  --sp-color-border-default: var(--sp-color-contrast-more-border);
  --sp-color-border-chip: var(--sp-color-contrast-more-border);
  --sp-color-map-label: var(--sp-color-contrast-more-map-label);
  --sp-color-map-label-water: var(--sp-color-contrast-more-map-label);
  --sp-color-map-label-minor: var(--sp-color-contrast-more-map-label);
}

[data-grade-cue="notch"] {
  --sp-component-grade-cue-grades: c d e;
}

@media (prefers-reduced-motion: reduce) {
:root {
  --sp-duration-fast: var(--sp-motion-reduced-fast);
  --sp-duration-base: var(--sp-motion-reduced-base);
  --sp-duration-slow: var(--sp-motion-reduced-slow);
  --sp-duration-brand: var(--sp-motion-reduced-brand);
  --sp-duration-shimmer: var(--sp-motion-reduced-shimmer);
}
}

.sp-grade-letter[data-grade="a"] { --_g: var(--sp-asset-grade-letter-a); width: 0.6895em; height: 0.7083em; }
.sp-grade-letter[data-grade="b"] { --_g: var(--sp-asset-grade-letter-b); width: 0.5844em; height: 0.7030em; }
.sp-grade-letter[data-grade="c"] { --_g: var(--sp-asset-grade-letter-c); width: 0.5977em; height: 0.7172em; }
.sp-grade-letter[data-grade="d"] { --_g: var(--sp-asset-grade-letter-d); width: 0.5977em; height: 0.7162em; }
.sp-grade-letter[data-grade="e"] { --_g: var(--sp-asset-grade-letter-e); width: 0.5320em; height: 0.7160em; }
.sp-grade-letter[data-grade="none"] { --_g: var(--sp-asset-grade-letter-none); width: 0.4645em; height: 0.0931em; }
.sp-grade-letter[data-grade="v"] { --_g: var(--sp-asset-grade-letter-v); width: 0.6655em; height: 0.7172em; }

/* Kate's grade mark on the web: her leaf chip, or her map pin with data-shape="pin", in flat grade colour with her
   outlined letter. data-size s, m (the default) or l sets the height, and the height sets the fill: letters under 19px
   sit on fill-small, l on Kate's fill. Dark draws the chip's sticker edge; the pin keeps its map keyline in both modes.
   The opt-in grade cue (data-grade-cue="notch" on an ancestor) bites small C, D and E marks. Grade a to e only: an
   ungraded place shows no mark. The pin's ground shadow, selection ring and Kate's ms-stamp texture stay with the map.
   <span class="sp-grade-mark" data-grade="a" data-size="m" role="img" aria-label="Grade A, walk right in"></span> */
.sp-grade-mark::before,
.sp-grade-mark::after {
  content: "";
  position: absolute;
}
.sp-grade-mark::before {
  inset: 0;
  background: var(--_fill);
  -webkit-mask: var(--_shape) center / contain no-repeat;
  mask: var(--_shape) center / contain no-repeat;
}
.sp-grade-mark::after {
  background: var(--_on);
  -webkit-mask: var(--_glyph) center / contain no-repeat;
  mask: var(--_glyph) center / contain no-repeat;
}
.sp-grade-mark {
  --_shape: var(--_whole);
  position: relative;
  display: inline-block;
  flex: none;
  vertical-align: middle;
  --_h: var(--sp-component-grade-chip-height);
  --_whole: var(--sp-asset-shape-grade-chip);
  --_notched: var(--sp-asset-shape-grade-chip-notched);
  --_edge: var(--sp-component-grade-chip-edge);
  --_edge-w: var(--sp-component-grade-chip-edge-width);
  --_baseline: 65.3846%;
  width: calc(var(--_h) * 0.9615);
  height: var(--_h);
  font-size: calc(var(--_h) * var(--sp-component-grade-chip-letter-ratio));
  filter: drop-shadow(var(--_edge-w) 0 0 var(--_edge)) drop-shadow(calc(var(--_edge-w) * -1) 0 0 var(--_edge))
    drop-shadow(0 var(--_edge-w) 0 var(--_edge)) drop-shadow(0 calc(var(--_edge-w) * -1) 0 var(--_edge));
}
.sp-grade-mark[data-size="s"] { --_h: var(--sp-component-grade-chip-min-height); }
.sp-grade-mark[data-size="l"] { --_h: var(--sp-component-grade-chip-large-from); }
.sp-grade-mark[data-grade="a"] { --_fill: var(--sp-component-grade-chip-a-fill-small); --_on: var(--sp-component-grade-chip-a-letter); --_glyph: var(--sp-component-grade-chip-a-glyph); }
.sp-grade-mark[data-grade="a"][data-size="l"] { --_fill: var(--sp-component-grade-chip-a-fill); }
.sp-grade-mark[data-grade="b"] { --_fill: var(--sp-component-grade-chip-b-fill-small); --_on: var(--sp-component-grade-chip-b-letter); --_glyph: var(--sp-component-grade-chip-b-glyph); }
.sp-grade-mark[data-grade="b"][data-size="l"] { --_fill: var(--sp-component-grade-chip-b-fill); }
.sp-grade-mark[data-grade="c"] { --_fill: var(--sp-component-grade-chip-c-fill-small); --_on: var(--sp-component-grade-chip-c-letter); --_glyph: var(--sp-component-grade-chip-c-glyph); }
.sp-grade-mark[data-grade="c"][data-size="l"] { --_fill: var(--sp-component-grade-chip-c-fill); }
.sp-grade-mark[data-grade="d"] { --_fill: var(--sp-component-grade-chip-d-fill-small); --_on: var(--sp-component-grade-chip-d-letter); --_glyph: var(--sp-component-grade-chip-d-glyph); }
.sp-grade-mark[data-grade="d"][data-size="l"] { --_fill: var(--sp-component-grade-chip-d-fill); }
.sp-grade-mark[data-grade="e"] { --_fill: var(--sp-component-grade-chip-e-fill-small); --_on: var(--sp-component-grade-chip-e-letter); --_glyph: var(--sp-component-grade-chip-e-glyph); }
.sp-grade-mark[data-grade="e"][data-size="l"] { --_fill: var(--sp-component-grade-chip-e-fill); }
.sp-grade-mark[data-shape="pin"] {
  --_h: var(--sp-component-map-leaf-pin-height);
  --_whole: var(--sp-asset-shape-leaf-pin);
  --_notched: var(--sp-asset-shape-leaf-pin-notched);
  --_edge: var(--sp-component-map-leaf-pin-edge);
  --_edge-w: var(--sp-component-map-leaf-pin-edge-width);
  --_baseline: 74.0217%;
  width: calc(var(--_h) * 1.0243);
  height: calc(var(--_h) * 1.1780);
  font-size: calc(var(--_h) * var(--sp-component-map-leaf-pin-letter-ratio));
}
.sp-grade-mark[data-shape="pin"][data-size="s"] { --_h: var(--sp-component-map-leaf-pin-min-height); }
.sp-grade-mark[data-shape="pin"][data-size="l"] { --_h: var(--sp-component-map-leaf-pin-large-from); }
.sp-grade-mark[data-shape="pin"][data-grade="a"] { --_fill: var(--sp-component-map-leaf-pin-a-fill-small); --_on: var(--sp-component-map-leaf-pin-a-letter); --_glyph: var(--sp-component-map-leaf-pin-a-glyph); }
.sp-grade-mark[data-shape="pin"][data-grade="a"][data-size="l"] { --_fill: var(--sp-component-map-leaf-pin-a-fill); }
.sp-grade-mark[data-shape="pin"][data-grade="b"] { --_fill: var(--sp-component-map-leaf-pin-b-fill-small); --_on: var(--sp-component-map-leaf-pin-b-letter); --_glyph: var(--sp-component-map-leaf-pin-b-glyph); }
.sp-grade-mark[data-shape="pin"][data-grade="b"][data-size="l"] { --_fill: var(--sp-component-map-leaf-pin-b-fill); }
.sp-grade-mark[data-shape="pin"][data-grade="c"] { --_fill: var(--sp-component-map-leaf-pin-c-fill-small); --_on: var(--sp-component-map-leaf-pin-c-letter); --_glyph: var(--sp-component-map-leaf-pin-c-glyph); }
.sp-grade-mark[data-shape="pin"][data-grade="c"][data-size="l"] { --_fill: var(--sp-component-map-leaf-pin-c-fill); }
.sp-grade-mark[data-shape="pin"][data-grade="d"] { --_fill: var(--sp-component-map-leaf-pin-d-fill-small); --_on: var(--sp-component-map-leaf-pin-d-letter); --_glyph: var(--sp-component-map-leaf-pin-d-glyph); }
.sp-grade-mark[data-shape="pin"][data-grade="d"][data-size="l"] { --_fill: var(--sp-component-map-leaf-pin-d-fill); }
.sp-grade-mark[data-shape="pin"][data-grade="e"] { --_fill: var(--sp-component-map-leaf-pin-e-fill-small); --_on: var(--sp-component-map-leaf-pin-e-letter); --_glyph: var(--sp-component-map-leaf-pin-e-glyph); }
.sp-grade-mark[data-shape="pin"][data-grade="e"][data-size="l"] { --_fill: var(--sp-component-map-leaf-pin-e-fill); }
.sp-grade-mark[data-grade="a"]::after { width: 0.6895em; height: 0.7083em; left: calc(50% - 0.3441em); top: calc(var(--_baseline) - 0.7068em); }
.sp-grade-mark[data-grade="b"]::after { width: 0.5844em; height: 0.7030em; left: calc(50% - 0.2840em); top: calc(var(--_baseline) - 0.7040em); }
.sp-grade-mark[data-grade="c"]::after { width: 0.5977em; height: 0.7172em; left: calc(50% - 0.2977em); top: calc(var(--_baseline) - 0.7174em); }
.sp-grade-mark[data-grade="d"]::after { width: 0.5977em; height: 0.7162em; left: calc(50% - 0.2920em); top: calc(var(--_baseline) - 0.7171em); }
.sp-grade-mark[data-grade="e"]::after { width: 0.5320em; height: 0.7160em; left: calc(50% - 0.2555em); top: calc(var(--_baseline) - 0.7170em); }
[data-grade-cue="notch"] .sp-grade-mark:not([data-shape="pin"]):is([data-grade="c"], [data-grade="d"], [data-grade="e"]):not([data-size="l"]) { --_shape: var(--_notched); }
[data-grade-cue="notch"] .sp-grade-mark[data-shape="pin"]:is([data-grade="c"], [data-grade="d"], [data-grade="e"]):not([data-size="l"]) { --_shape: var(--_notched); }

/* Two-tone focus ring: on ground, cards, sheets and fields one of the two rings clears 3:1 against the control or the
   background. The transparent outline survives forced-colors mode, which drops box-shadow. A single-tone ring
   (outline or ring in focus.outer alone) fails on the brand band, the inverse surface and photos. */
.sp-focus-ring:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 var(--sp-component-focus-ring-inner-width) var(--sp-component-focus-ring-inner),
    0 0 0 calc(var(--sp-component-focus-ring-inner-width) + var(--sp-component-focus-ring-outer-width)) var(--sp-component-focus-ring-outer);
}
/* Controls on the brand band and the inverse surface: the ring re-points for everything inside, so a light control
   on the dark band keeps a dark inner ring and a light outer ring. Put the class on the band itself. */
.sp-surface-brand {
  --sp-component-focus-ring-inner: var(--sp-component-focus-ring-on-brand-inner);
  --sp-component-focus-ring-outer: var(--sp-component-focus-ring-on-brand-outer);
}
.sp-surface-inverse {
  --sp-component-focus-ring-inner: var(--sp-component-focus-ring-on-inverse-inner);
  --sp-component-focus-ring-outer: var(--sp-component-focus-ring-on-inverse-outer);
}
/* Controls set on a photo (a save button, gallery arrows): the ring reverses, so the inner ring always contrasts with
   the control whatever the photo does. A photo tile that is itself the control keeps the standard ring. */
.sp-surface-photo {
  --sp-component-focus-ring-inner: var(--sp-component-focus-ring-on-photo-inner);
  --sp-component-focus-ring-outer: var(--sp-component-focus-ring-on-photo-outer);
}
/* Stretched link (04a rows and cards): the name's <a> covers the whole card or row through ::after, so the surface is
   one target. The ring draws inset on ::after, so it rings the card, not the name text, and a carousel viewport never
   clips it. The host (.sp-stretched-host) is the positioning box and passes its radius in --sp-stretched-radius.
   Hover and press never paint on ::after, which also covers the photo: paint them on the panel. A second control
   (save overlay) sits above with position: relative; z-index: 1. */
.sp-stretched-host { position: relative; }
.sp-stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: var(--sp-stretched-radius, 0);
}
.sp-stretched-link:focus-visible { outline: none; }
.sp-stretched-link:focus-visible::after {
  outline: 2px solid transparent;
  outline-offset: -2px;
  box-shadow: inset 0 0 0 var(--sp-component-focus-ring-inner-width) var(--sp-component-focus-ring-inner),
    inset 0 0 0 calc(var(--sp-component-focus-ring-inner-width) + var(--sp-component-focus-ring-outer-width)) var(--sp-component-focus-ring-outer);
}
/* Light controls on the brand band. The band sets data-theme="dark", so a light field there would take the band's paper
   text (1.00:1 on the field) and the browser's dark-scheme field text and caret. These rules hold the hero search
   (.sp-search-field: component.search-field.on-brand) and the band button (.sp-button-on-brand: component.button.on-brand)
   to their light pairs: fill, text, caret and colour scheme. A plain input on the band keeps the dark field tokens:
   never paint one light. */
.sp-surface-brand .sp-search-field {
  background-color: var(--sp-component-search-field-on-brand-fill);
}
.sp-surface-brand .sp-search-field,
.sp-surface-brand .sp-search-field :is(input, textarea) {
  color: var(--sp-component-search-field-on-brand-on);
  caret-color: currentColor;
  color-scheme: light;
}
.sp-surface-brand .sp-button-on-brand {
  background-color: var(--sp-component-button-on-brand-fill);
  color: var(--sp-component-button-on-brand-on);
  caret-color: currentColor;
  color-scheme: light;
}
/* Links in running text: underlined at rest, in the colour of the text around them (text.link on ground and cards,
   text.on-brand on the band). a:not([class]) carries specificity 0,1,1, so it beats Tailwind's preflight
   (a { text-decoration: inherit }), the typography plugin's .prose a and any bare a { } reset, in either load order.
   A link with classes opts in with .sp-link. Visited links keep the colour (text.link-visited). */
a:not([class]),
a.sp-link,
.sp-link {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-thickness: var(--sp-link-underline-width);
  text-underline-offset: var(--sp-link-underline-offset);
}
a:not([class]):is(:hover, :active),
a.sp-link:is(:hover, :active),
.sp-link:is(:hover, :active) {
  text-decoration-thickness: var(--sp-link-underline-width-hover);
}
/* Placeholders: every field placeholder in its token, never the browser's grey (the Tailwind preset repeats these
   after preflight, which would otherwise paint gray-400 at 1.9:1). */
input::placeholder,
textarea::placeholder {
  color: var(--sp-component-input-placeholder);
  opacity: 1;
}
.sp-search-field::placeholder,
.sp-search-field :is(input, textarea)::placeholder {
  color: var(--sp-component-search-field-placeholder);
}
.sp-surface-brand .sp-search-field::placeholder,
.sp-surface-brand .sp-search-field :is(input, textarea)::placeholder {
  color: var(--sp-component-search-field-on-brand-placeholder);
}
/* The dish worth ordering: yellow behind the words. Use <mark class="sp-highlight">, and always set the worth-ordering
   icon or the mono 'worth ordering' label beside it: yellow alone is 1.1 to 1.4:1 on light surfaces and gone in
   greyscale. Forced colours keep a mark in the user's own Mark colours. */
.sp-highlight {
  background: var(--sp-component-highlight-fill);
  color: var(--sp-component-highlight-on);
  padding-inline: var(--sp-component-highlight-padding-x);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
/* Edges for Kate's marking colours where they fall under 3:1 alone: .sp-icon-keyline (ink round yellow and pink, light
   only) and .sp-icon-sticker (paper round red and green, dark only). Each paints nothing where its token is transparent.
   Prefer the icons/svg/edged/*.svg files for Kate's icons; this outlines any glyph (an icon font, an <img>). */
.sp-icon-keyline,
.sp-icon-sticker {
  filter: drop-shadow(0.75px 0 0 var(--_edge)) drop-shadow(-0.75px 0 0 var(--_edge)) drop-shadow(0 0.75px 0 var(--_edge))
    drop-shadow(0 -0.75px 0 var(--_edge));
}
.sp-icon-keyline {
  --_edge: var(--sp-color-border-keyline);
}
.sp-icon-sticker {
  --_edge: var(--sp-color-border-sticker);
}
/* Kate's grade letter (outlined Squid Boy) in currentColor, sized like text: font-size is the letter size.
   <span class="sp-grade-letter" data-grade="a" role="img" aria-label="Grade A, walk right in"></span> */
.sp-grade-letter {
  display: inline-block;
  vertical-align: middle;
  background: currentColor;
  -webkit-mask: var(--_g) center / contain no-repeat;
  mask: var(--_g) center / contain no-repeat;
}
.sp-tabular {
  font-variant-numeric: tabular-nums;
}
/* Forced colours (Windows High Contrast): the highlighter keeps a mark in the user's own Mark colours, grade letters
   draw in CanvasText (their fills drop to Canvas) and a grade mark becomes a Canvas leaf with a CanvasText edge and
   letter. Last in the file, so nothing above overrides it. */
@media (forced-colors: active) {
  .sp-highlight {
    forced-color-adjust: none;
    background: Mark;
    color: MarkText;
  }
  .sp-grade-letter {
    forced-color-adjust: none;
    background: CanvasText;
  }
  .sp-grade-mark {
    forced-color-adjust: none;
    filter: drop-shadow(1px 0 0 CanvasText) drop-shadow(-1px 0 0 CanvasText) drop-shadow(0 1px 0 CanvasText) drop-shadow(0 -1px 0 CanvasText);
  }
  .sp-grade-mark::before {
    background: Canvas;
  }
  .sp-grade-mark::after {
    background: CanvasText;
  }
}

.sp-type-display-xl {
  font-family: var(--sp-typography-web-display-xl-font-family);
  font-weight: var(--sp-typography-web-display-xl-font-weight);
  font-size: var(--sp-typography-web-display-xl-font-size);
  line-height: var(--sp-typography-web-display-xl-line-height);
  letter-spacing: var(--sp-typography-web-display-xl-letter-spacing);
}

.sp-type-display {
  font-family: var(--sp-typography-web-display-font-family);
  font-weight: var(--sp-typography-web-display-font-weight);
  font-size: var(--sp-typography-web-display-font-size);
  line-height: var(--sp-typography-web-display-line-height);
  letter-spacing: var(--sp-typography-web-display-letter-spacing);
}

.sp-type-title {
  font-family: var(--sp-typography-web-title-font-family);
  font-weight: var(--sp-typography-web-title-font-weight);
  font-size: var(--sp-typography-web-title-font-size);
  line-height: var(--sp-typography-web-title-line-height);
  letter-spacing: var(--sp-typography-web-title-letter-spacing);
}

.sp-type-numeral {
  font-family: var(--sp-typography-web-numeral-font-family);
  font-weight: var(--sp-typography-web-numeral-font-weight);
  font-size: var(--sp-typography-web-numeral-font-size);
  line-height: var(--sp-typography-web-numeral-line-height);
  letter-spacing: var(--sp-typography-web-numeral-letter-spacing);
}

.sp-type-heading {
  font-family: var(--sp-typography-web-heading-font-family);
  font-weight: var(--sp-typography-web-heading-font-weight);
  font-size: var(--sp-typography-web-heading-font-size);
  line-height: var(--sp-typography-web-heading-line-height);
  letter-spacing: var(--sp-typography-web-heading-letter-spacing);
}

.sp-type-lead {
  font-family: var(--sp-typography-web-lead-font-family);
  font-weight: var(--sp-typography-web-lead-font-weight);
  font-size: var(--sp-typography-web-lead-font-size);
  line-height: var(--sp-typography-web-lead-line-height);
  letter-spacing: var(--sp-typography-web-lead-letter-spacing);
}

.sp-type-name {
  font-family: var(--sp-typography-web-name-font-family);
  font-weight: var(--sp-typography-web-name-font-weight);
  font-size: var(--sp-typography-web-name-font-size);
  line-height: var(--sp-typography-web-name-line-height);
  letter-spacing: var(--sp-typography-web-name-letter-spacing);
}

.sp-type-body {
  font-family: var(--sp-typography-web-body-font-family);
  font-weight: var(--sp-typography-web-body-font-weight);
  font-size: var(--sp-typography-web-body-font-size);
  line-height: var(--sp-typography-web-body-line-height);
  letter-spacing: var(--sp-typography-web-body-letter-spacing);
}

.sp-type-small {
  font-family: var(--sp-typography-web-small-font-family);
  font-weight: var(--sp-typography-web-small-font-weight);
  font-size: var(--sp-typography-web-small-font-size);
  line-height: var(--sp-typography-web-small-line-height);
  letter-spacing: var(--sp-typography-web-small-letter-spacing);
}

.sp-type-label {
  font-family: var(--sp-typography-web-label-font-family);
  font-weight: var(--sp-typography-web-label-font-weight);
  font-size: var(--sp-typography-web-label-font-size);
  line-height: var(--sp-typography-web-label-line-height);
  letter-spacing: var(--sp-typography-web-label-letter-spacing);
}

.sp-type-button {
  font-family: var(--sp-typography-web-button-font-family);
  font-weight: var(--sp-typography-web-button-font-weight);
  font-size: var(--sp-typography-web-button-font-size);
  line-height: var(--sp-typography-web-button-line-height);
  letter-spacing: var(--sp-typography-web-button-letter-spacing);
}

.sp-type-meta {
  font-family: var(--sp-typography-web-meta-font-family);
  font-weight: var(--sp-typography-web-meta-font-weight);
  font-size: var(--sp-typography-web-meta-font-size);
  line-height: var(--sp-typography-web-meta-line-height);
  letter-spacing: var(--sp-typography-web-meta-letter-spacing);
}

.sp-type-eyebrow {
  font-family: var(--sp-typography-web-eyebrow-font-family);
  font-weight: var(--sp-typography-web-eyebrow-font-weight);
  font-size: var(--sp-typography-web-eyebrow-font-size);
  line-height: var(--sp-typography-web-eyebrow-line-height);
  letter-spacing: var(--sp-typography-web-eyebrow-letter-spacing);
}

.sp-type-note {
  font-family: var(--sp-typography-web-note-font-family);
  font-weight: var(--sp-typography-web-note-font-weight);
  font-size: var(--sp-typography-web-note-font-size);
  line-height: var(--sp-typography-web-note-line-height);
  letter-spacing: var(--sp-typography-web-note-letter-spacing);
}
