@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base,library,carousel,carousel-custom;
@layer base {
  :where(html) {
    --font-sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell,
      Noto Sans, sans-serif, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans,
      sans-serif, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
    --font-serif: ui-serif, serif;
    --font-mono: Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace,
      SF Mono, Monaco, Droid Sans Mono, Source Code Pro, monospace;
    --font-weight-1: 100;
    --font-weight-2: 200;
    --font-weight-3: 300;
    --font-weight-4: 400;
    --font-weight-5: 500;
    --font-weight-6: 600;
    --font-weight-7: 700;
    --font-weight-8: 800;
    --font-weight-9: 900;
    --font-lineheight-00: 0.95;
    --font-lineheight-0: 1.1;
    --font-lineheight-1: 1.25;
    --font-lineheight-2: 1.375;
    --font-lineheight-3: 1.5;
    --font-lineheight-4: 1.75;
    --font-lineheight-5: 2;
    --font-letterspacing-0: -0.05em;
    --font-letterspacing-1: 0.025em;
    --font-letterspacing-2: 0.05em;
    --font-letterspacing-3: 0.075em;
    --font-letterspacing-4: 0.15em;
    --font-letterspacing-5: 0.5em;
    --font-letterspacing-6: 0.75em;
    --font-letterspacing-7: 1em;
    --font-size-00: 0.5rem;
    --font-size-0: 0.75rem;
    --font-size-1: 1rem;
    --font-size-2: 1.1rem;
    --font-size-3: 1.25rem;
    --font-size-4: 1.5rem;
    --font-size-5: 2rem;
    --font-size-6: 2.5rem;
    --font-size-7: 3rem;
    --font-size-8: 3.5rem;
    --font-size-fluid-0: clamp(0.75rem, 2vw, 1rem);
    --font-size-fluid-1: clamp(1rem, 4vw, 1.5rem);
    --font-size-fluid-2: clamp(1.5rem, 6vw, 2.5rem);
    --font-size-fluid-3: clamp(2rem, 9vw, 3.5rem);
    --size-000: -0.5rem;
    --size-00: -0.25rem;
    --size-1: 0.25rem;
    --size-2: 0.5rem;
    --size-3: 1rem;
    --size-4: 1.25rem;
    --size-5: 1.5rem;
    --size-6: 1.75rem;
    --size-7: 2rem;
    --size-8: 3rem;
    --size-9: 4rem;
    --size-10: 5rem;
    --size-11: 7.5rem;
    --size-12: 10rem;
    --size-13: 15rem;
    --size-14: 20rem;
    --size-15: 30rem;
    --size-fluid-1: clamp(0.5rem, 1vw, 1rem);
    --size-fluid-2: clamp(1rem, 2vw, 1.5rem);
    --size-fluid-3: clamp(1.5rem, 3vw, 2rem);
    --size-fluid-4: clamp(2rem, 4vw, 3rem);
    --size-fluid-5: clamp(4rem, 5vw, 5rem);
    --size-fluid-6: clamp(5rem, 7vw, 7.5rem);
    --size-fluid-7: clamp(7.5rem, 10vw, 10rem);
    --size-fluid-8: clamp(10rem, 20vw, 15rem);
    --size-fluid-9: clamp(15rem, 30vw, 20rem);
    --size-fluid-10: clamp(20rem, 40vw, 30rem);
    --size-content-1: 20ch;
    --size-content-2: 45ch;
    --size-content-3: 60ch;
    --size-header-1: 20ch;
    --size-header-2: 25ch;
    --size-header-3: 35ch;
    --size-xxs: 240px;
    --size-xs: 360px;
    --size-sm: 480px;
    --size-md: 768px;
    --size-lg: 1024px;
    --size-xl: 1440px;
    --size-xxl: 1920px;
    --ease-1: cubic-bezier(0.25, 0, 0.5, 1);
    --ease-2: cubic-bezier(0.25, 0, 0.4, 1);
    --ease-3: cubic-bezier(0.25, 0, 0.3, 1);
    --ease-4: cubic-bezier(0.25, 0, 0.2, 1);
    --ease-5: cubic-bezier(0.25, 0, 0.1, 1);
    --ease-in-1: cubic-bezier(0.25, 0, 1, 1);
    --ease-in-2: cubic-bezier(0.5, 0, 1, 1);
    --ease-in-3: cubic-bezier(0.7, 0, 1, 1);
    --ease-in-4: cubic-bezier(0.9, 0, 1, 1);
    --ease-in-5: cubic-bezier(1, 0, 1, 1);
    --ease-out-1: cubic-bezier(0, 0, 0.75, 1);
    --ease-out-2: cubic-bezier(0, 0, 0.5, 1);
    --ease-out-3: cubic-bezier(0, 0, 0.3, 1);
    --ease-out-4: cubic-bezier(0, 0, 0.1, 1);
    --ease-out-5: cubic-bezier(0, 0, 0, 1);
    --ease-in-out-1: cubic-bezier(0.1, 0, 0.9, 1);
    --ease-in-out-2: cubic-bezier(0.3, 0, 0.7, 1);
    --ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1);
    --ease-in-out-4: cubic-bezier(0.7, 0, 0.3, 1);
    --ease-in-out-5: cubic-bezier(0.9, 0, 0.1, 1);
    --ease-elastic-1: cubic-bezier(0.5, 0.75, 0.75, 1.25);
    --ease-elastic-2: cubic-bezier(0.5, 1, 0.75, 1.25);
    --ease-elastic-3: cubic-bezier(0.5, 1.25, 0.75, 1.25);
    --ease-elastic-4: cubic-bezier(0.5, 1.5, 0.75, 1.25);
    --ease-elastic-5: cubic-bezier(0.5, 1.75, 0.75, 1.25);
    --ease-squish-1: cubic-bezier(0.5, -0.1, 0.1, 1.5);
    --ease-squish-2: cubic-bezier(0.5, -0.3, 0.1, 1.5);
    --ease-squish-3: cubic-bezier(0.5, -0.5, 0.1, 1.5);
    --ease-squish-4: cubic-bezier(0.5, -0.7, 0.1, 1.5);
    --ease-squish-5: cubic-bezier(0.5, -0.9, 0.1, 1.5);
    --ease-step-1: steps(2);
    --ease-step-2: steps(3);
    --ease-step-3: steps(4);
    --ease-step-4: steps(7);
    --ease-step-5: steps(10);
    --layer-1: 1;
    --layer-2: 2;
    --layer-3: 3;
    --layer-4: 4;
    --layer-5: 5;
    --layer-important: 2147483647;
    --shadow-color: 220 3% 15%;
    --shadow-strength: 1%;
    --shadow-1: 0 1px 2px -1px hsl(var(--shadow-color) /
          calc(var(--shadow-strength) + 9%));
    --shadow-2: 0 3px 5px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 3%)),
      0 7px 14px -5px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 5%));
    --shadow-3: 0 -1px 3px 0 hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 2%)),
      0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
      0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
      0 4px 12px -5px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 5%)),
      0 12px 15px -5px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 7%));
    --shadow-4: 0 -2px 5px 0 hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 2%)),
      0 1px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
      0 2px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
      0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
      0 9px 9px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
      0 16px 16px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 6%));
    --shadow-5: 0 -1px 2px 0 hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 2%)),
      0 2px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
      0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
      0 10px 10px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 4%)),
      0 20px 20px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 5%)),
      0 40px 40px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 7%));
    --shadow-6: 0 -1px 2px 0 hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 2%)),
      0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
      0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
      0 12px 10px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 4%)),
      0 22px 18px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 5%)),
      0 41px 33px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 6%)),
      0 100px 80px -2px hsl(var(--shadow-color) /
            calc(var(--shadow-strength) + 7%));
    --inner-shadow-0: inset 0 0 0 1px
      hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
    --inner-shadow-1: inset 0 1px 2px 0
      hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
    --inner-shadow-2: inset 0 1px 4px 0
      hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
    --inner-shadow-3: inset 0 2px 8px 0
      hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
    --inner-shadow-4: inset 0 2px 14px 0
      hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
    --ratio-square: 1;
    --ratio-landscape: 4/3;
    --ratio-portrait: 3/4;
    --ratio-widescreen: 16/9;
    --ratio-ultrawide: 18/5;
    --ratio-golden: 1.618/1;
    --gray-0: #f8f9fa;
    --gray-1: #f1f3f5;
    --gray-2: #e9ecef;
    --gray-3: #dee2e6;
    --gray-4: #ced4da;
    --gray-5: #adb5bd;
    --gray-6: #868e96;
    --gray-7: #495057;
    --gray-8: #343a40;
    --gray-9: #212529;
    --red-0: #fff5f5;
    --red-1: #ffe3e3;
    --red-2: #ffc9c9;
    --red-3: #ffa8a8;
    --red-4: #ff8787;
    --red-5: #ff6b6b;
    --red-6: #fa5252;
    --red-7: #f03e3e;
    --red-8: #e03131;
    --red-9: #c92a2a;
    --pink-0: #fff0f6;
    --pink-1: #ffdeeb;
    --pink-2: #fcc2d7;
    --pink-3: #faa2c1;
    --pink-4: #f783ac;
    --pink-5: #f06595;
    --pink-6: #e64980;
    --pink-7: #d6336c;
    --pink-8: #c2255c;
    --pink-9: #a61e4d;
    --grape-0: #f8f0fc;
    --grape-1: #f3d9fa;
    --grape-2: #eebefa;
    --grape-3: #e599f7;
    --grape-4: #da77f2;
    --grape-5: #cc5de8;
    --grape-6: #be4bdb;
    --grape-7: #ae3ec9;
    --grape-8: #9c36b5;
    --grape-9: #862e9c;
    --violet-0: #f3f0ff;
    --violet-1: #e5dbff;
    --violet-2: #d0bfff;
    --violet-3: #b197fc;
    --violet-4: #9775fa;
    --violet-5: #845ef7;
    --violet-6: #7950f2;
    --violet-7: #7048e8;
    --violet-8: #6741d9;
    --violet-9: #5f3dc4;
    --indigo-0: #edf2ff;
    --indigo-1: #dbe4ff;
    --indigo-2: #bac8ff;
    --indigo-3: #91a7ff;
    --indigo-4: #748ffc;
    --indigo-5: #5c7cfa;
    --indigo-6: #4c6ef5;
    --indigo-7: #4263eb;
    --indigo-8: #3b5bdb;
    --indigo-9: #364fc7;
    --blue-0: #e7f5ff;
    --blue-1: #d0ebff;
    --blue-2: #a5d8ff;
    --blue-3: #74c0fc;
    --blue-4: #4dabf7;
    --blue-5: #339af0;
    --blue-6: #228be6;
    --blue-7: #1c7ed6;
    --blue-8: #1971c2;
    --blue-9: #1864ab;
    --cyan-0: #e3fafc;
    --cyan-1: #c5f6fa;
    --cyan-2: #99e9f2;
    --cyan-3: #66d9e8;
    --cyan-4: #3bc9db;
    --cyan-5: #22b8cf;
    --cyan-6: #15aabf;
    --cyan-7: #1098ad;
    --cyan-8: #0c8599;
    --cyan-9: #0b7285;
    --teal-0: #e6fcf5;
    --teal-1: #c3fae8;
    --teal-2: #96f2d7;
    --teal-3: #63e6be;
    --teal-4: #38d9a9;
    --teal-5: #20c997;
    --teal-6: #12b886;
    --teal-7: #0ca678;
    --teal-8: #099268;
    --teal-9: #087f5b;
    --green-0: #ebfbee;
    --green-1: #d3f9d8;
    --green-2: #b2f2bb;
    --green-3: #8ce99a;
    --green-4: #69db7c;
    --green-5: #51cf66;
    --green-6: #40c057;
    --green-7: #37b24d;
    --green-8: #2f9e44;
    --green-9: #2b8a3e;
    --lime-0: #f4fce3;
    --lime-1: #e9fac8;
    --lime-2: #d8f5a2;
    --lime-3: #c0eb75;
    --lime-4: #a9e34b;
    --lime-5: #94d82d;
    --lime-6: #82c91e;
    --lime-7: #74b816;
    --lime-8: #66a80f;
    --lime-9: #5c940d;
    --yellow-0: #fff9db;
    --yellow-1: #fff3bf;
    --yellow-2: #ffec99;
    --yellow-3: #ffe066;
    --yellow-4: #ffd43b;
    --yellow-5: #fcc419;
    --yellow-6: #fab005;
    --yellow-7: #f59f00;
    --yellow-8: #f08c00;
    --yellow-9: #e67700;
    --orange-0: #fff4e6;
    --orange-1: #ffe8cc;
    --orange-2: #ffd8a8;
    --orange-3: #ffc078;
    --orange-4: #ffa94d;
    --orange-5: #ff922b;
    --orange-6: #fd7e14;
    --orange-7: #f76707;
    --orange-8: #e8590c;
    --orange-9: #d9480f;
    --gradient-1: linear-gradient(
      to bottom right,
      #1f005c,
      #5b0060,
      #870160,
      #ac255e,
      #ca485c,
      #e16b5c,
      #f39060,
      #ffb56b
    );
    --gradient-2: linear-gradient(to bottom right, #48005c, #8300e2, #a269ff);
    --gradient-3: radial-gradient(
        circle at top right,
        #0ff,
        rgba(0, 255, 255, 0)
      ),
      radial-gradient(circle at bottom left, #ff1492, rgba(255, 20, 146, 0));
    --gradient-4: linear-gradient(to bottom right, #00f5a0, #00d9f5);
    --gradient-5: conic-gradient(from -270deg at 75% 110%, #f0f, #fffaf0);
    --gradient-6: conic-gradient(from -90deg at top left, #000, #fff);
    --gradient-7: linear-gradient(to bottom right, #72c6ef, #004e8f);
    --gradient-8: conic-gradient(from 90deg at 50% 0%, #111, 50%, #222, #111);
    --gradient-9: conic-gradient(from 0.5turn at bottom center, #add8e6, #fff);
    --gradient-10: conic-gradient(
      from 90deg at 40% -25%,
      gold,
      #f79d03,
      #ee6907,
      #e6390a,
      #de0d0d,
      #d61039,
      #cf1261,
      #c71585,
      #cf1261,
      #d61039,
      #de0d0d,
      #ee6907,
      #f79d03,
      gold,
      gold,
      gold
    );
    --gradient-11: conic-gradient(at bottom left, #ff1493, cyan);
    --gradient-12: conic-gradient(
      from 90deg at 25% -10%,
      #ff4500,
      #d3f340,
      #7bee85,
      #afeeee,
      #7bee85
    );
    --gradient-13: radial-gradient(
      circle at 50% 200%,
      #000142,
      #3b0083,
      #b300c3,
      #ff059f,
      #ff4661,
      #ffad86,
      #fff3c7
    );
    --gradient-14: conic-gradient(at top right, lime, cyan);
    --gradient-15: linear-gradient(to bottom right, #c7d2fe, #fecaca, #fef3c7);
    --gradient-16: radial-gradient(circle at 50% -250%, #374151, #111827, #000);
    --gradient-17: conic-gradient(from -90deg at 50% -25%, blue, #8a2be2);
    --gradient-18: linear-gradient(
        0deg,
        rgba(255, 0, 0, 0.8),
        rgba(255, 0, 0, 0) 75%
      ),
      linear-gradient(60deg, rgba(255, 255, 0, 0.8), rgba(255, 255, 0, 0) 75%),
      linear-gradient(120deg, rgba(0, 255, 0, 0.8), rgba(0, 255, 0, 0) 75%),
      linear-gradient(180deg, rgba(0, 255, 255, 0.8), rgba(0, 255, 255, 0) 75%),
      linear-gradient(240deg, rgba(0, 0, 255, 0.8), rgba(0, 0, 255, 0) 75%),
      linear-gradient(300deg, rgba(255, 0, 255, 0.8), rgba(255, 0, 255, 0) 75%);
    --gradient-19: linear-gradient(to bottom right, #ffe259, #ffa751);
    --gradient-20: conic-gradient(
      from -135deg at -10% center,
      orange,
      #ff7715,
      #ff522a,
      #ff3f47,
      #ff5482,
      #ff69b4
    );
    --gradient-21: conic-gradient(
      from -90deg at 25% 115%,
      red,
      #f06,
      #f0c,
      #c0f,
      #60f,
      #00f,
      #00f,
      #00f,
      #00f
    );
    --gradient-22: linear-gradient(to bottom right, #acb6e5, #86fde8);
    --gradient-23: linear-gradient(to bottom right, #536976, #292e49);
    --gradient-24: conic-gradient(
      from 0.5turn at 0% 0%,
      #00c476,
      10%,
      #82b0ff,
      90%,
      #00c476
    );
    --gradient-25: conic-gradient(
      at 125% 50%,
      #b78cf7,
      #ff7c94,
      #ffcf0d,
      #ff7c94,
      #b78cf7
    );
    --gradient-26: linear-gradient(to bottom right, #9796f0, #fbc7d4);
    --gradient-27: conic-gradient(from 0.5turn at bottom left, #ff1493, #639);
    --gradient-28: conic-gradient(from -90deg at 50% 105%, #fff, orchid);
    --gradient-29: radial-gradient(
        circle at top right,
        #bfb3ff,
        rgba(191, 179, 255, 0)
      ),
      radial-gradient(circle at bottom left, #86acf9, rgba(134, 172, 249, 0));
    --gradient-30: radial-gradient(
        circle at top right,
        #00ff80,
        rgba(0, 255, 128, 0)
      ),
      radial-gradient(circle at bottom left, #adffd6, rgba(173, 255, 214, 0));
    --noise-1: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.005' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    --noise-2: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.05' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    --noise-3: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.25' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    --noise-4: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 2056 2056' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    --noise-5: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 2056 2056' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    --noise-filter-1: contrast(300%) brightness(100%);
    --noise-filter-2: contrast(200%) brightness(150%);
    --noise-filter-3: contrast(200%) brightness(250%);
    --noise-filter-4: contrast(200%) brightness(500%);
    --noise-filter-5: contrast(200%) brightness(1000%);
    --animation-fade-in: fade-in 0.5s var(--ease-3);
    --animation-fade-in-bloom: fade-in-bloom 2s var(--ease-3);
    --animation-fade-out: fade-out 0.5s var(--ease-3);
    --animation-fade-out-bloom: fade-out-bloom 2s var(--ease-3);
    --animation-scale-up: scale-up 0.5s var(--ease-3);
    --animation-scale-down: scale-down 0.5s var(--ease-3);
    --animation-slide-out-up: slide-out-up 0.5s var(--ease-3);
    --animation-slide-out-down: slide-out-down 0.5s var(--ease-3);
    --animation-slide-out-right: slide-out-right 0.5s var(--ease-3);
    --animation-slide-out-left: slide-out-left 0.5s var(--ease-3);
    --animation-slide-in-up: slide-in-up 0.5s var(--ease-3);
    --animation-slide-in-down: slide-in-down 0.5s var(--ease-3);
    --animation-slide-in-right: slide-in-right 0.5s var(--ease-3);
    --animation-slide-in-left: slide-in-left 0.5s var(--ease-3);
    --animation-shake-x: shake-x 0.75s var(--ease-out-5);
    --animation-shake-y: shake-y 0.75s var(--ease-out-5);
    --animation-spin: spin 2s linear infinite;
    --animation-ping: ping 5s var(--ease-out-3) infinite;
    --animation-blink: blink 1s var(--ease-out-3) infinite;
    --animation-float: float 3s var(--ease-in-out-3) infinite;
    --animation-bounce: bounce 2s var(--ease-squish-2) infinite;
    --animation-pulse: pulse 2s var(--ease-out-3) infinite;
    --border-size-1: 1px;
    --border-size-2: 2px;
    --border-size-3: 5px;
    --border-size-4: 10px;
    --border-size-5: 25px;
    --radius-1: 2px;
    --radius-2: 5px;
    --radius-3: 1rem;
    --radius-4: 2rem;
    --radius-5: 4rem;
    --radius-6: 8rem;
    --radius-round: 1e5px;
    --radius-blob-1: 30% 70% 70% 30%/53% 30% 70% 47%;
    --radius-blob-2: 53% 47% 34% 66%/63% 46% 54% 37%;
    --radius-blob-3: 37% 63% 56% 44%/49% 56% 44% 51%;
    --radius-blob-4: 63% 37% 37% 63%/43% 37% 63% 57%;
    --radius-blob-5: 49% 51% 48% 52%/57% 44% 56% 43%;
    --radius-conditional-1: clamp(
      0px,
      calc(100vw - 100%) * 1e5,
      var(--radius-1)
    );
    --radius-conditional-2: clamp(
      0px,
      calc(100vw - 100%) * 1e5,
      var(--radius-2)
    );
    --radius-conditional-3: clamp(
      0px,
      calc(100vw - 100%) * 1e5,
      var(--radius-3)
    );
    --radius-conditional-4: clamp(
      0px,
      calc(100vw - 100%) * 1e5,
      var(--radius-4)
    );
    --radius-conditional-5: clamp(
      0px,
      calc(100vw - 100%) * 1e5,
      var(--radius-5)
    );
    --radius-conditional-6: clamp(
      0px,
      calc(100vw - 100%) * 1e5,
      var(--radius-6)
    );
  }
}
@layer base {
  @media (prefers-color-scheme: dark) {
    :where(html) {
      --shadow-color: 220 40% 2%;
      --shadow-strength: 25%;
    }
  }
}
@layer base {
  @-webkit-keyframes fade-in {
    to {
      opacity: 1;
    }
  }
  @keyframes fade-in {
    to {
      opacity: 1;
    }
  }
  @-webkit-keyframes fade-in-bloom {
    0% {
      filter: brightness(1) blur(20px);
      opacity: 0;
    }
    10% {
      filter: brightness(2) blur(10px);
      filter: brightness(0.5) blur(10px);
      opacity: 1;
    }
    to {
      filter: brightness(1) blur(0);
      opacity: 1;
    }
  }
  @keyframes fade-in-bloom {
    0% {
      filter: brightness(1) blur(20px);
      opacity: 0;
    }
    10% {
      filter: brightness(2) blur(10px);
      filter: brightness(0.5) blur(10px);
      opacity: 1;
    }
    to {
      filter: brightness(1) blur(0);
      opacity: 1;
    }
  }
  @-webkit-keyframes fade-out {
    to {
      opacity: 0;
    }
  }
  @keyframes fade-out {
    to {
      opacity: 0;
    }
  }
  @-webkit-keyframes fade-out-bloom {
    to {
      filter: brightness(1) blur(20px);
      opacity: 0;
    }
    10% {
      filter: brightness(2) blur(10px);
      filter: brightness(0.5) blur(10px);
      opacity: 1;
    }
    0% {
      filter: brightness(1) blur(0);
      opacity: 1;
    }
  }
  @keyframes fade-out-bloom {
    to {
      filter: brightness(1) blur(20px);
      opacity: 0;
    }
    10% {
      filter: brightness(2) blur(10px);
      filter: brightness(0.5) blur(10px);
      opacity: 1;
    }
    0% {
      filter: brightness(1) blur(0);
      opacity: 1;
    }
  }
  @-webkit-keyframes scale-up {
    to {
      transform: scale(1.25);
    }
  }
  @keyframes scale-up {
    to {
      transform: scale(1.25);
    }
  }
  @-webkit-keyframes scale-down {
    to {
      transform: scale(0.75);
    }
  }
  @keyframes scale-down {
    to {
      transform: scale(0.75);
    }
  }
  @-webkit-keyframes slide-out-up {
    to {
      transform: translateY(-100%);
    }
  }
  @keyframes slide-out-up {
    to {
      transform: translateY(-100%);
    }
  }
  @-webkit-keyframes slide-out-down {
    to {
      transform: translateY(100%);
    }
  }
  @keyframes slide-out-down {
    to {
      transform: translateY(100%);
    }
  }
  @-webkit-keyframes slide-out-right {
    to {
      transform: translate(100%);
    }
  }
  @keyframes slide-out-right {
    to {
      transform: translate(100%);
    }
  }
  @-webkit-keyframes slide-out-left {
    to {
      transform: translate(-100%);
    }
  }
  @keyframes slide-out-left {
    to {
      transform: translate(-100%);
    }
  }
  @-webkit-keyframes slide-in-up {
    0% {
      transform: translateY(100%);
    }
  }
  @keyframes slide-in-up {
    0% {
      transform: translateY(100%);
    }
  }
  @-webkit-keyframes slide-in-down {
    0% {
      transform: translateY(-100%);
    }
  }
  @keyframes slide-in-down {
    0% {
      transform: translateY(-100%);
    }
  }
  @-webkit-keyframes slide-in-right {
    0% {
      transform: translate(-100%);
    }
  }
  @keyframes slide-in-right {
    0% {
      transform: translate(-100%);
    }
  }
  @-webkit-keyframes slide-in-left {
    0% {
      transform: translate(100%);
    }
  }
  @keyframes slide-in-left {
    0% {
      transform: translate(100%);
    }
  }
  @-webkit-keyframes shake-x {
    0%,
    to {
      transform: translate(0);
    }
    20% {
      transform: translate(-5%);
    }
    40% {
      transform: translate(5%);
    }
    60% {
      transform: translate(-5%);
    }
    80% {
      transform: translate(5%);
    }
  }
  @keyframes shake-x {
    0%,
    to {
      transform: translate(0);
    }
    20% {
      transform: translate(-5%);
    }
    40% {
      transform: translate(5%);
    }
    60% {
      transform: translate(-5%);
    }
    80% {
      transform: translate(5%);
    }
  }
  @-webkit-keyframes shake-y {
    0%,
    to {
      transform: translateY(0);
    }
    20% {
      transform: translateY(-5%);
    }
    40% {
      transform: translateY(5%);
    }
    60% {
      transform: translateY(-5%);
    }
    80% {
      transform: translateY(5%);
    }
  }
  @keyframes shake-y {
    0%,
    to {
      transform: translateY(0);
    }
    20% {
      transform: translateY(-5%);
    }
    40% {
      transform: translateY(5%);
    }
    60% {
      transform: translateY(-5%);
    }
    80% {
      transform: translateY(5%);
    }
  }
  @-webkit-keyframes spin {
    to {
      transform: rotate(1turn);
    }
  }
  @keyframes spin {
    to {
      transform: rotate(1turn);
    }
  }
  @-webkit-keyframes ping {
    90%,
    to {
      opacity: 0;
      transform: scale(2);
    }
  }
  @keyframes ping {
    90%,
    to {
      opacity: 0;
      transform: scale(2);
    }
  }
  @-webkit-keyframes blink {
    0%,
    to {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  @keyframes blink {
    0%,
    to {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  @-webkit-keyframes float {
    50% {
      transform: translateY(-25%);
    }
  }
  @keyframes float {
    50% {
      transform: translateY(-25%);
    }
  }
  @-webkit-keyframes bounce {
    25% {
      transform: translateY(-20%);
    }
    40% {
      transform: translateY(-3%);
    }
    0%,
    60%,
    to {
      transform: translateY(0);
    }
  }
  @keyframes bounce {
    25% {
      transform: translateY(-20%);
    }
    40% {
      transform: translateY(-3%);
    }
    0%,
    60%,
    to {
      transform: translateY(0);
    }
  }
  @-webkit-keyframes pulse {
    50% {
      transform: scale(0.9);
    }
  }
  @keyframes pulse {
    50% {
      transform: scale(0.9);
    }
  }
}
@layer library {
  :where(html) {
    --link: var(--indigo-7);
    --link-visited: var(--grape-7);
    --text-1: var(--gray-9);
    --text-2: var(--gray-7);
    --surface-1: var(--gray-0);
    --surface-2: var(--gray-2);
    --surface-3: var(--gray-3);
    --surface-4: var(--gray-4);
    --scrollthumb-color: var(--gray-6);
    -webkit-text-size-adjust: none;
    accent-color: var(--link);
    background-color: var(--surface-1);
    block-size: 100%;
    caret-color: var(--link);
    color: var(--text-2);
    color-scheme: light;
    font-family: var(--font-sans);
    line-height: var(--font-lineheight-3);
    scrollbar-color: var(--scrollthumb-color) transparent;
  }
}
@layer library {
  @media (dynamic-range: high) {
    @supports (color(display-p3 0 0.5 1)) {
      :where(html) {
        --link: color(display-p3 0 0.5 1);
        --link-visited: color(display-p3 0.6 0.2 1);
      }
    }
  }
}
@layer library {
  @media (prefers-color-scheme: dark) {
    :where(html) {
      --link: var(--indigo-3);
      --link-visited: var(--grape-3);
      --text-1: var(--gray-1);
      --text-2: var(--gray-4);
      --surface-1: var(--gray-9);
      --surface-2: var(--gray-8);
      --surface-3: var(--gray-7);
      --surface-4: var(--gray-6);
      color-scheme: dark;
    }
  }
}
@layer library {
  :where(h1, h2, h3, h4, h5, h6, dt) {
    color: var(--text-1);
  }
  :where(a[href]) {
    color: var(--link);
  }
  :where(a[href]):visited {
    color: var(--link-visited);
  }
  :focus-visible {
    outline-color: var(--link);
  }
}
@layer library {
  @media (prefers-color-scheme: light) {
    :where(html) {
      --scrollthumb-color: var(--gray-7);
    }
  }
}
@layer library {
  *,
  :after,
  :before {
    box-sizing: border-box;
  }
  :where(:not(dialog)) {
    margin: 0;
  }
  :where(:not(fieldset):not(progress):not(meter)) {
    background-origin: border-box;
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0;
  }
}
@layer library {
  @media (prefers-reduced-motion: no-preference) {
    :where(html) {
      scroll-behavior: smooth;
    }
  }
}
@layer library {
  @media (prefers-reduced-motion: no-preference) {
    :where(:focus-visible) {
      transition: outline-offset 145ms var(--ease-2);
    }
    :where(:not(:active):focus-visible) {
      transition-duration: 0.25s;
    }
  }
}
@layer library {
  :where(:not(:active):focus-visible) {
    outline-offset: 5px;
  }
  :where(body) {
    min-block-size: 100%;
  }
  :where(h1, h2, h3, h4, h5, h6) {
    font-weight: var(--font-weight-9);
    line-height: var(--font-lineheight-1);
  }
  :where(h1) {
    font-size: var(--font-size-8);
    max-inline-size: var(--size-header-1);
  }
  :where(h2) {
    font-size: var(--font-size-6);
    max-inline-size: var(--size-header-2);
  }
  :where(h3) {
    font-size: var(--font-size-5);
  }
  :where(h4) {
    font-size: var(--font-size-4);
  }
  :where(h5) {
    font-size: var(--font-size-3);
  }
  :where(h3, h4, h5, h6, dt) {
    max-inline-size: var(--size-header-3);
  }
  :where(p, ul, ol, dl, h6) {
    font-size: var(--font-size-2);
  }
  :where(a, u, ins, abbr) {
    text-underline-offset: 1px;
  }
  @supports (-moz-appearance: none) {
    :where(a, u, ins, abbr) {
      text-underline-offset: 2px;
    }
  }
  :where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*='-'])) {
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    touch-action: manipulation;
  }
  :where(a) {
    margin-block: calc(var(--size-1) * -1);
    margin-inline: calc(var(--size-1) * -1);
    padding-block: var(--size-1);
    padding-inline: var(--size-1);
  }
  :where(a):where([href]) {
    -webkit-text-decoration-color: var(--indigo-2);
    text-decoration-color: var(--indigo-2);
  }
  :where(a):where([href]):where(:visited) {
    -webkit-text-decoration-color: var(--grape-2);
    text-decoration-color: var(--grape-2);
  }
  :where(a):where(:not(:hover)) {
    text-decoration: inherit;
  }
  :where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block;
  }
  :where(img, svg, video) {
    block-size: auto;
    max-inline-size: 100%;
  }
  :where(input, button, textarea, select),
  :where(input[type='file'])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit;
  }
  :where(input, textarea) {
    padding-block: var(--size-1);
    padding-inline: var(--size-2);
  }
  :where(select) {
    padding-block: 0.75ch;
    padding-inline: 1.25ch 0;
  }
  :where(textarea, select, input:not(button):not(button[type]):not(input[type='button']):not(input[type='submit']):not(input[type='reset'])) {
    background-color: var(--surface-2);
    border-radius: var(--radius-2);
  }
}
@layer library {
  @media (prefers-color-scheme: dark) {
    :where(textarea, select, input:not(button):not(button[type]):not(input[type='button']):not(input[type='submit']):not(input[type='reset'])) {
      background-color: #171a1c;
    }
  }
}
@layer library {
  :where(textarea) {
    resize: block;
  }
  :where(input[type='checkbox'], input[type='radio']) {
    block-size: var(--size-3);
    inline-size: var(--size-3);
  }
  :where(svg) {
    stroke: none;
    fill: currentColor;
  }
  :where(svg):where(:not([fill])) {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  :where(svg):where(:not([width])) {
    inline-size: var(--size-10);
  }
  :where(code, kbd, samp, pre) {
    font-family: var(--font-mono);
  }
  :where(:not(pre) > code, kbd) {
    white-space: nowrap;
  }
  :where(pre) {
    max-inline-size: -webkit-max-content;
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
    min-inline-size: 0;
    white-space: pre;
  }
  :where(:not(pre) > code) {
    background: var(--surface-2);
    border-radius: var(--radius-2);
    padding: var(--size-1) var(--size-2);
  }
  :where(kbd, var) {
    border-color: var(--surface-4);
    border-radius: var(--radius-2);
    border-width: var(--border-size-1);
    padding: var(--size-1) var(--size-2);
  }
  :where(mark) {
    border-radius: var(--radius-2);
    padding-inline: var(--size-1);
  }
  :where(ol, ul) {
    -webkit-padding-start: var(--size-8);
    padding-inline-start: var(--size-8);
  }
  :where(li) {
    -webkit-padding-start: var(--size-2);
    padding-inline-start: var(--size-2);
  }
  :where(li, dd, figcaption) {
    max-inline-size: var(--size-content-2);
  }
  :where(p) {
    max-inline-size: var(--size-content-3);
  }
  :where(dt, summary) {
    font-weight: var(--font-weight-7);
  }
  :where(dt:not(:first-of-type)) {
    -webkit-margin-before: var(--size-5);
    margin-block-start: var(--size-5);
  }
  :where(small) {
    font-size: max(0.5em, var(--font-size-0));
    max-inline-size: var(--size-content-1);
  }
  :where(hr) {
    background-color: var(--surface-3);
    height: var(--border-size-2);
    margin-block: var(--size-fluid-5);
  }
  :where(figure) {
    display: grid;
    gap: var(--size-2);
    place-items: center;
  }
  :where(figure) > :where(figcaption) {
    font-size: var(--font-size-1);
  }
  :where(blockquote, :not(blockquote) > cite) {
    border-inline-start-width: var(--border-size-3);
  }
  :where(blockquote) {
    display: grid;
    gap: var(--size-3);
    max-inline-size: var(--size-content-2);
    padding-block: var(--size-3);
    padding-inline: var(--size-4);
  }
  :where(:not(blockquote) > cite) {
    -webkit-padding-start: var(--size-2);
    padding-inline-start: var(--size-2);
  }
  :where(summary) {
    background: var(--surface-3);
    border-radius: var(--radius-2);
    margin: calc(var(--size-2) * -1) calc(var(--size-3) * -1);
    padding: var(--size-2) var(--size-3);
  }
  :where(details) {
    background: var(--surface-2);
    border-radius: var(--radius-2);
    padding-block: var(--size-2);
    padding-inline: var(--size-3);
  }
  :where(details[open] > summary) {
    border-end-end-radius: 0;
    border-end-start-radius: 0;
    margin-bottom: var(--size-2);
  }
  :where(fieldset) {
    border: var(--border-size-1) solid var(--surface-4);
    border-radius: var(--radius-2);
  }
  :where(del) {
    background: var(--red-9);
    color: var(--red-2);
  }
  :where(ins) {
    background: var(--green-9);
    color: var(--green-1);
  }
  :where(abbr) {
    -webkit-text-decoration-color: var(--blue-5);
    text-decoration-color: var(--blue-5);
  }
  :where(dialog) {
    background-color: var(--surface-1);
    border-radius: var(--radius-3);
    box-shadow: var(--shadow-6);
    color: inherit;
  }
}
@layer library {
  @media (prefers-color-scheme: dark) {
    :where(dialog) {
      background-color: var(--surface-2);
    }
  }
}
@layer library {
  :where(dialog)::-webkit-backdrop {
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
  }
  :where(dialog)::backdrop {
    -webkit-backdrop-filter: blur(25px);
    backdrop-filter: blur(25px);
  }
  :where(html[\:has\(dialog\[open\]\)]) {
    overflow: hidden;
  }
  :where(html:has(dialog[open])) {
    overflow: hidden;
  }
  :where(menu) {
    display: flex;
    gap: var(--size-3);
    -webkit-padding-start: 0;
    padding-inline-start: 0;
  }
  :where(sup) {
    font-size: 0.5em;
  }
}
@layer carousel {
  :where(.gui-carousel) {
    --_carousel-item-size: 80%;
    --_carousel-gutters: max(
      4rem,
      calc((100% - var(--_carousel-item-size)) / 2)
    );
    --_carousel-scrollbar-gutter: var(--size-6);
    --_carousel-pagination-size: var(--size-8);
    display: grid;
    grid-template-columns: [carousel-gutter] var(--_carousel-gutters) 1fr [carousel-gutter] var(
        --_carousel-gutters
      );
    grid-template-rows: [carousel-scroller] 1fr [carousel-pagination] var(
        --_carousel-pagination-size
      );
  }
  :where(.gui-carousel):focus-visible {
    outline-offset: -5px;
  }
  [carousel-pagination='gallery']:where(.gui-carousel) {
    --_carousel-pagination-size: var(--size-10);
  }
  [carousel-pagination='gallery']:where(.gui-carousel)
    > .gui-carousel--pagination {
    -webkit-mask-image: linear-gradient(
      to right,
      rgba(0, 0, 0, 0) 0%,
      #000 5%,
      95%,
      #000,
      rgba(0, 0, 0, 0)
    );
  }
  [carousel-pagination='none']:where(.gui-carousel) {
    grid-template-rows: [carousel-scroller] 1fr;
  }
  [carousel-pagination='none']:where(.gui-carousel)
    > .gui-carousel--pagination {
    display: none;
  }
  [carousel-controls='none']:where(.gui-carousel) {
    grid-template-columns: 0 1fr 0;
  }
  [carousel-controls='none']:where(.gui-carousel) > .gui-carousel--controls {
    display: none;
  }
  [carousel-scrollbar='none']:where(.gui-carousel) {
    --_carousel-pagination-size: var(--size-5);
  }
  [carousel-scrollbar='none']:where(.gui-carousel) > .gui-carousel--scroller {
    scrollbar-width: none;
  }
  [carousel-scrollbar='none']:where(.gui-carousel)
    > .gui-carousel--scroller::-webkit-scrollbar {
    display: none;
  }
  [carousel-scrollbar='none']:where(.gui-carousel) > .gui-carousel--pagination {
    place-self: start center;
  }
  [carousel-snapstop='always']:where(.gui-carousel) .gui-carousel--snap {
    scroll-snap-stop: always;
  }
  :where(.gui-carousel--scroller) {
    grid-row: 1;
    grid-column: 1/-1;
    display: grid;
    grid-auto-columns: 100%;
    grid-auto-flow: column;
    align-items: center;
    gap: var(--_carousel-gutters);
    padding-block: var(--size-2) var(--_carousel-scrollbar-gutter);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--_carousel-gutters);
    padding-inline: var(--_carousel-gutters);
  }
  @media (prefers-reduced-motion: no-preference) {
    :where(.gui-carousel--scroller) {
      scroll-behavior: smooth;
    }
  }
  :where(.gui-carousel--snap) {
    scroll-snap-align: center;
  }
  :where(.gui-carousel--controls) {
    display: flex;
    justify-content: space-between;
    padding-inline: var(--_carousel-gutters);
    display: contents;
  }
  :where(.gui-carousel--controls) > .gui-carousel--control {
    -webkit-margin-after: var(--_carousel-scrollbar-gutter);
    margin-block-end: var(--_carousel-scrollbar-gutter);
  }
  :where(.gui-carousel--controls)
    > .gui-carousel--control:not([disabled='true']):active {
    transform: scale(0.95);
  }
  :where(.gui-carousel--control) {
    --_shadow-size: 0;
    --_shadow-highlight-light: hsl(0 0% 50% / 10%);
    --_shadow-highlight-dark: hsl(0 0% 100% / 20%);
    --_shadow-highlight: var(--_shadow-highlight-light);
    grid-row: 1;
    place-self: center;
    background: var(--surface-1);
    color: var(--text-2);
    inline-size: var(--size-8);
    aspect-ratio: var(--ratio-square);
    border-radius: var(--radius-round);
    box-shadow: 0 0 0 var(--_shadow-size) var(--_shadow-highlight);
    border: var(--border-size-1) solid transparent;
    text-indent: 10ch;
    padding: 0;
    overflow: hidden;
    z-index: var(--layer-1);
    transition: opacity 0.5s var(--ease-2) 0.5s;
  }
  @media (prefers-reduced-motion: no-preference) {
    :where(.gui-carousel--control) {
      transition: opacity 0.5s var(--ease-2) 0.5s, transform 0.2s var(--ease-4),
        box-shadow 0.2s var(--ease-4), outline-offset 145ms var(--ease-2);
    }
  }
  @media (prefers-color-scheme: dark) {
    :where(.gui-carousel--control) {
      --_shadow-highlight: var(--_shadow-highlight-dark);
    }
  }
  :where(.gui-carousel--control):hover {
    --_shadow-size: 6px;
  }
  .--previous:where(.gui-carousel--control) {
    grid-column: 1;
  }
  .--next:where(.gui-carousel--control) {
    grid-column: 3;
  }
  [dir='rtl'] :where(.gui-carousel--control) > svg {
    transform: rotateY(180deg);
  }
  [disabled]:where(.gui-carousel--control) {
    cursor: not-allowed;
    transition-delay: 0s;
  }
  [disabled]:where(.gui-carousel--control) > svg {
    opacity: 0.25;
  }
  :where(.gui-carousel--control):not([disabled]):is(:hover, :focus-visible) {
    color: var(--link);
  }
  @media (prefers-reduced-motion: no-preference) {
    :where(.gui-carousel--control):not([disabled]) svg > path {
      --_transform: translateX(var(--_x)) scale(0.95);
      transition: transform 0.5s var(--ease-squish-3);
      transform-origin: center center;
    }
  }
  [aria-label='Next Item']:where(.gui-carousel--control):not([disabled]):is(:hover, :focus-visible)
    svg
    > path {
    --_x: 2px;
    transform: var(--_transform);
  }
  [aria-label='Previous Item']:where(.gui-carousel--control):not([disabled]):is(:hover, :focus-visible)
    svg
    > path {
    --_x: -2px;
    transform: var(--_transform);
  }
  :where(.gui-carousel--pagination) {
    grid-column: 1/-1;
    place-self: center;
    display: grid;
    grid-auto-flow: column;
    gap: var(--size-2);
    max-inline-size: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    padding-block: var(--size-2);
    padding-inline: var(--size-4);
    scrollbar-width: none;
  }
  :where(.gui-carousel--pagination)::-webkit-scrollbar {
    display: none;
  }
  @media (prefers-reduced-motion: no-preference) {
    :where(.gui-carousel--pagination) {
      scroll-behavior: smooth;
    }
  }
  [carousel-pagination='gallery'] :where(.gui-carousel--pagination) {
    -webkit-margin-after: 0;
    margin-block-end: 0;
  }
  :where(.gui-carousel--pagination) > [aria-selected='true'] {
    background: var(--link);
  }
  :where(.gui-carousel--pagination) > [aria-selected='false'] {
    transform: scale(0.75);
  }
  :where(.gui-carousel--pagination) > button {
    inline-size: var(--size-3);
    background-color: var(--surface-4);
    border: var(--border-size-1) solid transparent;
  }
  :where(.gui-carousel--pagination) > button.--gallery {
    inline-size: var(--size-fluid-5);
    border-radius: var(--radius-2);
    border: none;
    background-origin: border-box;
    background-size: cover;
  }
  @-webkit-keyframes gui-carousel--control-keypress {
    0% {
      outline-offset: 5px;
    }
    50% {
      outline-offset: 0;
    }
  }
  @keyframes gui-carousel--control-keypress {
    0% {
      outline-offset: 5px;
    }
    50% {
      outline-offset: 0;
    }
  }
  @-webkit-keyframes carousel-scrollstart {
    0% {
      scroll-snap-align: center;
    }
    to {
      scroll-snap-align: unset;
    }
  }
  @keyframes carousel-scrollstart {
    0% {
      scroll-snap-align: center;
    }
    to {
      scroll-snap-align: unset;
    }
  }
}
@layer carousel-custom {
  @media (prefers-reduced-motion: no-preference) {
    .animate-visibility {
      transition: transform 0.3s var(--ease-3);
      will-change: transform;
    }
    .gui-carousel--snap:not(.--in-view) .animate-visibility {
      transform: scale(0.9);
    }
  }
  .fullwidth > .gui-carousel {
    --_carousel-item-size: 100%;
  }
  .fullwidth .gui-carousel--scroller {
    padding-inline: 0;
  }
  .fullwidth .captioned-image {
    border-radius: 0;
    box-shadow: none;
    max-inline-size: 100%;
  }
  .fullwidth .captioned-image > img {
    inline-size: 100%;
  }
  .constrained {
    max-inline-size: 500px;
    justify-self: center;
  }
  .scrollhint .gui-carousel--scroller {
    -moz-column-gap: var(--size-2);
    column-gap: var(--size-2);
  }
  .captioned-image {
    display: grid;
    grid: [stack] 100% / [stack] 100%;
    align-items: end;
    box-shadow: var(--shadow-4);
    border-radius: var(--radius-4);
    overflow: hidden;
    max-inline-size: -webkit-max-content;
    max-inline-size: -moz-max-content;
    max-inline-size: max-content;
    margin-inline: auto;
  }
  .captioned-image > * {
    grid-area: stack;
  }
  .captioned-image > figcaption {
    max-inline-size: 100%;
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.93333),
      75%,
      rgba(0, 0, 0, 0)
    );
    justify-self: stretch;
    text-align: center;
    padding-block: var(--size-9) var(--size-3);
    padding-inline: var(--size-3);
  }
  .captioned-image > figcaption > a {
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.93333);
  }
  .captioned-image > img {
    -o-object-fit: cover;
    object-fit: cover;
    background-color: var(--surface-3);
    box-shadow: var(--inner-shadow-1);
  }
  .product-image {
    place-content: start;
    place-items: start;
  }
  .product-image sup {
    font-size: 0.5em;
  }
  .product-image h4 {
    font-size: var(--font-size-3);
    font-weight: var(--font-weight-4);
  }
  .testimonial > blockquote {
    -webkit-border-start: none;
    border-inline-start: none;
  }
  .testimonial > blockquote > p {
    font-size: var(--font-size-5);
    font-weight: var(--font-weight-2);
    line-height: var(--font-lineheight-0);
    text-align: center;
  }
  .testimonial cite {
    -webkit-border-start: none;
    border-inline-start: none;
  }
  .paged-collections .gui-carousel--snap {
    display: grid;
    gap: var(--size-5);
  }
  @media (min-width: 480px) {
    .paged-collections .gui-carousel--snap {
      grid-template-columns: repeat(auto-fit, minmax(40%, 1fr));
    }
  }
  @media (min-width: 768px) {
    .paged-collections .gui-carousel--snap {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .hubs .gui-carousel--pagination > button {
    aspect-ratio: var(--ratio-ultrawide);
    border-radius: 0;
    inline-size: var(--size-5);
  }
  .win-8-example {
    display: grid;
    gap: var(--size-5);
    grid-template-columns: repeat(4, 1fr);
    max-inline-size: 70vw;
    margin-inline: auto;
  }
  .win-8-example.v2 {
    grid-template-columns: repeat(3, 1fr);
  }
  .win-8-example.v2 > div {
    aspect-ratio: var(--ratio-landscape);
  }
  .win-8-example.v2 > div:first-of-type {
    align-self: stretch;
  }
  .win-8-example.v3 {
    grid-template-columns: repeat(4, 1fr);
  }
  .win-8-example.v3 > div:first-of-type {
    grid-column: initial;
    grid-row: initial;
  }
  .win-8-example > div {
    background: var(--indigo-4);
    box-shadow: var(--shadow-3);
    border: 1px solid transparent;
    aspect-ratio: var(--ratio-square);
    opacity: 0;
  }
  .--in-view .win-8-example > div {
    -webkit-animation: var(--animation-fade-in) forwards;
    animation: var(--animation-fade-in) forwards;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
  }
  .win-8-example > div:first-of-type {
    grid-column: span 2;
    grid-row: span 2;
  }
  .win-8-example > div:nth-of-type(2) {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .win-8-example > div:nth-of-type(3) {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
  }
  .win-8-example > div:nth-of-type(4) {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
  }
  .win-8-example > div:nth-of-type(5) {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
  }
  .win-8-example > div:nth-of-type(6) {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s;
  }
  .win-8-example > div:nth-of-type(7) {
    -webkit-animation-delay: 0.7s;
    animation-delay: 0.7s;
  }
  .win-8-example > div:nth-of-type(8) {
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
  }
}
body {
  display: grid;
  gap: 10vh;
  place-content: center;
  overflow-x: hidden;
  max-inline-size: 100vw;
}
body > section:first-of-type {
  -webkit-margin-before: 10vh;
  margin-block-start: 10vh;
}
body > section:last-of-type {
  -webkit-margin-after: 10vh;
  margin-block-end: 10vh;
}
section {
  display: grid;
  gap: 2vh;
}
section h2,
section > header {
  margin-inline: auto;
  text-align: center;
}
.github-corner {
  position: absolute;
  right: 4px;
  width: 80px;
  height: 80px;
  fill: var(--surface-4);
  color: var(--surface-1);
}
.github-corner:hover .octo-arm {
  -webkit-animation: octocat-wave 0.56s ease-in-out;
  animation: octocat-wave 0.56s ease-in-out;
}
.github-corner > svg {
  fill: inherit;
  stroke: inherit;
  position: absolute;
  top: 0;
  right: 0;
}
@-webkit-keyframes octocat-wave {
  0%,
  to {
    transform: rotate(0);
  }
  20%,
  60% {
    transform: rotate(-25deg);
  }
  40%,
  80% {
    transform: rotate(10deg);
  }
}
@keyframes octocat-wave {
  0%,
  to {
    transform: rotate(0);
  }
  20%,
  60% {
    transform: rotate(-25deg);
  }
  40%,
  80% {
    transform: rotate(10deg);
  }
}
