@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin.woff2) format("woff2");font-weight:400 900;font-display:swap;font-style:normal}@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans-latin.woff2) format("woff2");font-weight:200 900;font-display:swap;font-style:normal}@font-face{font-family:"Source Serif 4 Fallback";src:local("Georgia");size-adjust:102%;ascent-override:95%;descent-override:22%;line-gap-override:0%}@font-face{font-family:Nunito Sans Fallback;src:local("Arial");size-adjust:100%;ascent-override:100%;descent-override:22%;line-gap-override:0%}:root{--color-primary: oklch(40% .1 155);--color-primary-hover: oklch(35% .1 155);--color-primary-light: oklch(92% .03 155);--color-bg: oklch(95% .015 75);--color-bg-deep: oklch(91% .018 70);--color-surface: oklch(97% .01 75);--color-surface-raised: oklch(98% .008 75);--color-text: oklch(18% .01 60);--color-text-secondary: oklch(45% .01 60);--color-text-on-primary: oklch(98% .005 155);--color-border: oklch(82% .008 60);--color-hover: oklch(94% .01 60);--color-nav-bg: oklch(95% .015 75 / .8);--color-nav-bg-scrolled: oklch(95% .015 75 / .92);--color-hero-glow: oklch(85% .08 155 / .5);--color-text-on-primary-muted: oklch(90% .02 155);--color-phone-bezel: oklch(15% .01 60);--color-phone-highlight: oklch(30% .01 60);--color-phone-shadow: oklch(15% .01 60 / .2);--font-heading: "Source Serif 4", "Source Serif 4 Fallback", Georgia, serif;--font-body: "Nunito Sans", "Nunito Sans Fallback", system-ui, sans-serif;--text-xs: clamp(.7rem, .65rem + .25vw, .8rem);--text-sm: clamp(.8rem, .75rem + .25vw, .9rem);--text-base: clamp(.95rem, .9rem + .25vw, 1.05rem);--text-lg: clamp(1.15rem, 1rem + .75vw, 1.35rem);--text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);--text-2xl: clamp(1.8rem, 1.3rem + 2.5vw, 2.8rem);--text-3xl: clamp(2.2rem, 1.5rem + 3.5vw, 3.6rem);--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: clamp(48px, 4vw + 32px, 64px);--space-96: clamp(64px, 6vw + 40px, 96px);--space-128: clamp(80px, 8vw + 48px, 128px);--radius-lg: 12px;--radius-md: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 3px oklch(18% .01 60 / .06);--shadow-md: 0 4px 12px oklch(18% .01 60 / .08);--shadow-lg: 0 8px 24px oklch(18% .01 60 / .1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--max-width: 1100px}[data-theme=dark]{--color-primary: oklch(55% .09 155);--color-primary-hover: oklch(60% .09 155);--color-primary-light: oklch(28% .03 155);--color-bg: oklch(22% .008 60);--color-bg-deep: oklch(18% .01 60);--color-surface: oklch(26% .006 60);--color-surface-raised: oklch(29% .005 60);--color-text: oklch(88% .006 60);--color-text-secondary: oklch(62% .008 60);--color-text-on-primary: oklch(98% .005 155);--color-border: oklch(33% .008 60);--color-hover: oklch(30% .008 60);--color-nav-bg: oklch(22% .008 60 / .8);--color-nav-bg-scrolled: oklch(22% .008 60 / .92);--color-hero-glow: oklch(40% .06 155 / .25);--color-text-on-primary-muted: oklch(85% .02 155);--color-phone-bezel: oklch(28% .01 60);--color-phone-highlight: oklch(38% .01 60);--color-phone-shadow: oklch(0% 0 0 / .3);--shadow-sm: 0 1px 3px oklch(0% 0 0 / .15);--shadow-md: 0 4px 12px oklch(0% 0 0 / .2);--shadow-lg: 0 8px 24px oklch(0% 0 0 / .25)}body.theme-transitioning,body.theme-transitioning *,body.theme-transitioning *:before,body.theme-transitioning *:after{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;font-kerning:normal}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}p{margin:0;max-width:65ch}a{color:inherit;text-decoration:none}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}img{max-width:100%;height:auto;display:block}ul{list-style:none;margin:0;padding:0}.skip-link{position:absolute;top:-100%;left:var(--space-16);z-index:999;padding:var(--space-8) var(--space-16);background:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--radius-md);font-weight:600}.skip-link:focus{top:var(--space-8)}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(var(--space-16),4vw,var(--space-24))}.section{padding:var(--space-48) 0}.section-header{max-width:600px;margin:0 auto var(--space-32);text-align:center}.section-header h2{font-size:var(--text-2xl);margin-bottom:var(--space-12)}.section-header p{color:var(--color-text-secondary);font-size:var(--text-lg);line-height:1.5}.btn{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);border-radius:var(--radius-md);border:none;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}section.gamification,section.community,section.explore{position:relative;overflow:hidden}section.gamification,section.community,section.explore,section.problem{position:relative;overflow:hidden}section.gamification>.container,section.community>.container,section.explore>.container,.problem>.container{position:relative;z-index:1}section.gamification:before,section.community:before,section.explore:before,section.problem:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--color-primary) .8px,transparent .8px);background-size:32px 32px;opacity:.04;pointer-events:none;z-index:0}section.gamification:after,section.community:after,section.explore:after{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:900px;height:500px;background:radial-gradient(ellipse,var(--color-primary) 0%,transparent 65%);opacity:.06;pointer-events:none;z-index:0}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal-stagger]>[data-reveal]{transition-delay:calc(var(--i, 0) * 80ms)}[data-reveal-stagger]>[data-reveal]:nth-child(odd){transform:translate(-16px) translateY(16px)}[data-reveal-stagger]>[data-reveal]:nth-child(2n){transform:translate(16px) translateY(16px)}[data-reveal-stagger]>[data-reveal].revealed{transform:translate(0) translateY(0)}.section-floating{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.section-floating .floating-icon{position:absolute;opacity:.12;color:var(--color-primary);animation:section-float 20s ease-in-out infinite}.section-floating .fi-a{top:12%;right:7%;font-size:22px;animation-delay:-2s;animation-duration:19s}.section-floating .fi-b{top:60%;left:5%;font-size:20px;animation-delay:-6s;animation-duration:23s}.section-floating .fi-c{top:35%;right:4%;font-size:18px;animation-delay:-10s;animation-duration:21s}@keyframes section-float{0%,to{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(-20px) translate(10px) rotate(5deg)}50%{transform:translateY(-8px) translate(-8px) rotate(-3deg)}75%{transform:translateY(-25px) translate(5px) rotate(4deg)}}.section-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border-radius:50%;color:var(--color-primary);margin:0 auto var(--space-16)}.section-icon svg{width:36px;height:36px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
