.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Overused Grotesk;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/OverusedGrotesk-VF.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/Manrope-Variable-latin.woff2) format("woff2")}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--surface: #0e0e0e;--surface-container-low: #131313;--surface-container: #1a1a1a;--surface-container-high: #1f1f1f;--surface-container-highest: #262626;--surface-variant: rgba(38,38,38,.6);--primary: #ffe792;--primary-hover: #fff0b8;--primary-fixed: #ffe792;--on-primary: #655400;--surface-tint: rgba(255,231,146,.12);--on-surface: #e5e5e5;--on-surface-variant: #adaaaa;--outline-variant: rgba(255,255,255,.15);--destructive: #e84057;--success: #30d158;--accent-blue: #5e9eff;--space-nano: 1px;--space-micro: 2px;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-md-lg: 1.25rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xl-2xl: 2.25rem;--space-2xl: 2.5rem;--space-3xl: 3rem;--space-4xl: 4rem;--radius-2xs: 2px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-pill: 999px;--shadow-subtle: 0 1px 3px rgba(0,0,0,.4), 0 1px 1px rgba(0,0,0,.25);--shadow-md: 0 4px 16px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 8px 40px rgba(0,0,0,.4), 0 3px 8px rgba(0,0,0,.25);--shadow-float: 0 8px 40px rgba(255,255,255,.06), 0 2px 8px rgba(0,0,0,.3);--shadow-elevated: 0 12px 40px var(--black-50), 0 2px 6px var(--black-30);--font-display: "Manrope", system-ui, -apple-system, sans-serif;--font-body: "Overused Grotesk", system-ui, -apple-system, sans-serif;--font-weight-extrabold: 800;--font-weight-bold: 700;--font-weight-semibold: 600;--font-weight-medium: 500;--font-weight-normal: 400;--line-height-tight: 1.1;--line-height-compact: 1.2;--line-height-snug: 1.4;--line-height-base: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tight: -.02em;--letter-spacing-card: -.01em;--letter-spacing-display: -.03em;--letter-spacing-chip: .02em;--letter-spacing-tab: .03em;--letter-spacing-caps: .04em;--letter-spacing-section: .1em;--letter-spacing-brand: .15em;--opacity-faint: .2;--opacity-disabled: .35;--opacity-muted: .5;--opacity-subtle: .6;--opacity-soft: .7;--opacity-medium: .8;--font-size-micro: 7px;--font-size-3xs: 9px;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: clamp(1.5rem, 1.3rem + .6vw, 1.875rem);--font-size-3xl: clamp(1.75rem, 1.5rem + .8vw, 2.25rem);--font-size-4xl: clamp(2rem, 1.6rem + 1.2vw, 2.75rem);--font-size-5xl: clamp(2.5rem, 2rem + 1.6vw, 3.5rem);--font-size-6xl: clamp(3.5rem, 2.5rem + 3vw, 5rem);--timing-bounce: cubic-bezier(.175, .885, .32, 1.275);--timing-smooth: cubic-bezier(.22, 1, .36, 1);--timing-in-out: cubic-bezier(.77, 0, .175, 1);--duration-snappy: .15s;--duration-fast: .2s;--duration-medium: .35s;--duration-smooth: .4s;--duration-slow: .6s;--delay-snappy: .1s;--max-width-content: 48rem;--max-width-grid: 64rem;--controls-width: 24rem;--editor-min-height: 400px;--glass-bg: rgba(20,20,20,.6);--glass-blur: 24px;--blur-sm: 4px;--blur-md: 12px;--blur-lg: 24px;--hover-bg: rgba(255,255,255,.04);--color-slider-track: rgba(255,255,255,.08);--color-slider-fill: var(--primary);--opacity-noise: .025;--scrollbar-width: 6px;--scrollbar-thumb: rgba(255,255,255,.08);--scrollbar-thumb-hover: rgba(255,255,255,.15);--glass-border: inset 0 0 0 1px var(--outline-variant);--primary-glow: 0 2px 12px rgba(255,231,146,.2);--primary-inner-glow: inset 0 0 20px var(--surface-tint);--active-ring: inset 0 0 0 1px rgba(255,231,146,.3);--primary-tint-03: rgba(255,231,146,.03);--primary-tint-06: rgba(255,231,146,.06);--primary-tint-08: rgba(255,231,146,.08);--primary-tint-10: rgba(255,231,146,.1);--primary-tint-12: rgba(255,231,146,.12);--primary-tint-14: rgba(255,231,146,.14);--primary-tint-15: rgba(255,231,146,.15);--primary-tint-20: rgba(255,231,146,.2);--primary-tint-30: rgba(255,231,146,.3);--primary-tint-35: rgba(255,231,146,.35);--primary-tint-40: rgba(255,231,146,.4);--destructive-bg: rgba(232,64,87,.1);--destructive-bg-hover: rgba(232,64,87,.12);--destructive-hover: #c4354a;--destructive-text: #ff8a8a;--destructive-text-bg: rgba(255,100,100,.08);--destructive-text-bg-hover: rgba(255,100,100,.12);--label-red: #e84057;--label-yellow: #f5c542;--label-green: #4caf50;--label-blue: #42a5f5;--label-purple: #ab47bc;--outline: rgba(255,255,255,.25);--success-badge: #00e676;--on-success-badge: #000;--success-glow: 0 0 20px rgba(0,230,118,.6), 0 0 6px rgba(0,230,118,.4);--success-glow-intense: 0 0 30px rgba(0,230,118,.8), 0 0 10px rgba(0,230,118,.5);--beta-badge: #ffab40;--on-beta-badge: #000;--beta-glow: 0 0 20px rgba(255,171,64,.5), 0 0 6px rgba(255,171,64,.35);--beta-glow-intense: 0 0 30px rgba(255,171,64,.7), 0 0 10px rgba(255,171,64,.45);--beta-banner-bg: rgba(255,171,64,.06);--beta-banner-border: rgba(255,171,64,.2);--clip-shadow: rgba(100,160,255,.9);--clip-shadow-bg: rgba(100,160,255,.15);--clip-highlight: rgba(255,90,90,.9);--clip-highlight-bg: rgba(255,90,90,.15);--canvas-bg-black: #000;--canvas-bg-neutral: #808080;--surface-scrim: rgba(14,14,14,.75);--surface-scrim-heavy: rgba(14,14,14,.8);--surface-scrim-dark: rgba(20,20,20,.85);--handle-fill: rgba(255,255,255,.9);--handle-stroke: rgba(0,0,0,.3);--handle-ring-stroke: rgba(255,255,255,.9);--handle-center-fill: rgba(0,0,0,.5);--handle-center-stroke: rgba(0,0,0,.4);--handle-feather-fill: rgba(255,180,60,.9);--line-solid: rgba(255,255,255,.85);--line-connecting: rgba(255,255,255,.5);--line-dashed: rgba(255,255,255,.4);--line-guide: rgba(255,255,255,.7);--cursor-crosshair: crosshair;--cursor-grab: grab;--cursor-grabbing: grabbing;--cursor-move: move;--cursor-eyedropper: url(/cursors/eyedropper.svg?v=2) 1 23, crosshair;--cursor-target-adjust: url(/cursors/target-adjust.svg?v=2) 12 16, ns-resize;--cursor-ew-resize: ew-resize;--cursor-ns-resize: ns-resize;--cursor-nwse-resize: nwse-resize;--cursor-nesw-resize: nesw-resize;--cursor-rotate: url(/cursors/rotate.svg?v=2) 11 11, grab;--cursor-zoom-in: zoom-in;--white-04: rgba(255,255,255,.04);--white-06: rgba(255,255,255,.06);--white-08: rgba(255,255,255,.08);--white-10: rgba(255,255,255,.1);--white-15: rgba(255,255,255,.15);--white-20: rgba(255,255,255,.2);--white-30: rgba(255,255,255,.3);--white-40: rgba(255,255,255,.4);--white-50: rgba(255,255,255,.5);--white-60: rgba(255,255,255,.6);--white-70: rgba(255,255,255,.7);--white-85: rgba(255,255,255,.85);--white-90: rgba(255,255,255,.9);--white-95: rgba(255,255,255,.95);--black-15: rgba(0,0,0,.15);--black-30: rgba(0,0,0,.3);--black-40: rgba(0,0,0,.4);--black-50: rgba(0,0,0,.5);--black-60: rgba(0,0,0,.6);--black-75: rgba(0,0,0,.75);--icon-btn-size-2xs: 20px;--icon-btn-size-xs: 22px;--icon-btn-size: 28px;--icon-btn-size-lg: 32px;--icon-btn-size-xl: 40px;--license-badge-permissive: rgba(110,231,183,.1);--license-badge-copyleft: rgba(251,191,36,.1);--license-badge-font: rgba(94,158,255,.1);--overlay-bg: rgba(0,0,0,.6);--overlay-blur: 12px;--transition-fast: var(--duration-fast) var(--timing-smooth);--transition-medium: var(--duration-medium) var(--timing-smooth);--text-shadow-overlay: 0 1px 4px rgba(0,0,0,.6);--gradient-scrim-bottom: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 50%);--gradient-scrim-light: linear-gradient(to top, rgba(0,0,0,.5) 0%, transparent 60%)}html{font-family:var(--font-body);background:var(--surface);color:var(--on-surface);font-size:var(--font-size-base);line-height:var(--line-height-base);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;height:100vh;height:100dvh;overflow:hidden;position:relative;overscroll-behavior:none;padding-top:var(--safe-area-top);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);-webkit-user-select:none;user-select:none;cursor:default}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='0.91'/%3E%3CfeFuncG type='linear' slope='0.91'/%3E%3CfeFuncB type='linear' slope='0.91'/%3E%3CfeFuncA type='linear' slope='0.56'/%3E%3C/feComponentTransfer%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='1.47' intercept='-0.23'/%3E%3CfeFuncG type='linear' slope='1.47' intercept='-0.23'/%3E%3CfeFuncB type='linear' slope='1.47' intercept='-0.23'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:var(--opacity-noise);z-index:0}*{box-sizing:border-box}svg{flex-shrink:0}button,a,[role=button],label[for],select,summary{cursor:pointer}button{font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea,[contenteditable]{-webkit-user-select:text;user-select:text;-webkit-tap-highlight-color:transparent;font-size:16px}img,canvas,svg,a,button{-webkit-user-drag:none;user-drag:none}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),select:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible){outline:none}::selection{background:var(--primary-tint-30);color:inherit}::view-transition-old(root){animation:page-fade-out var(--duration-medium) var(--timing-smooth) both}::view-transition-new(root){animation:page-fade-in var(--duration-medium) var(--timing-smooth) both}@keyframes page-fade-out{0%{opacity:1}to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:var(--scrollbar-width)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-2xs)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}*{transition-duration:.1s!important;transition-property:opacity,color,background-color,border-color,box-shadow!important}}@media not all and (hover:hover)and (pointer:fine){button:hover,a:hover{transform:none!important}}
