*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-body-large);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);color:var(--color-on-surface);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg,video{display:block;max-width:100%}img.icon{display:inline;vertical-align:middle;max-width:none}a{color:var(--color-primary-text);text-decoration:none;transition:color var(--transition-fast)}a:focus-visible,a:hover{color:var(--color-primary-hover);text-decoration:underline}ol,ul{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:0 0}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-on-surface);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-display-small);letter-spacing:var(--tracking-display)}h2{font-size:var(--text-headline-large);letter-spacing:var(--tracking-display)}h3{font-size:var(--text-headline-small)}h4{font-size:var(--text-title-large)}h5{font-size:var(--text-title-medium)}h6{font-size:var(--text-title-small)}p{color:var(--color-on-surface-variant);line-height:var(--leading-relaxed)}strong{font-weight:var(--weight-bold);color:var(--color-on-surface)}::selection{background-color:var(--color-primary-container);color:var(--color-on-primary-container)}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-6)}.section{padding-block:var(--section-padding)}.section-surface{background-color:var(--color-surface-container)}.section-header{margin-bottom:var(--space-16);text-align:center}.section-header h2{margin-bottom:var(--space-4)}.section-header p{max-width:38rem;margin-inline:auto;font-size:1.0625rem}.overline-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);background-color:var(--color-secondary-container);color:var(--color-on-secondary-container);border-radius:var(--radius-full);font-size:var(--text-label-medium);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.organic-shapes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:var(--z-below)}.organic-shape{position:absolute;border-radius:var(--radius-full);filter:blur(64px);opacity:.15}.organic-shape-primary{width:40rem;height:40rem;background:var(--color-primary);top:-10rem;left:-8rem;opacity:.12}.organic-shape-secondary{width:32rem;height:32rem;background:var(--color-secondary-container);top:5rem;right:-6rem;opacity:.25}.organic-shape-tertiary{width:24rem;height:24rem;background:var(--color-tertiary-container);bottom:-6rem;left:25%;opacity:.2}.scroll-reveal{opacity:0;transform:translateY(1.5rem);transition:opacity var(--duration-long) var(--ease-decelerate),transform var(--duration-long) var(--ease-decelerate)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.scroll-highlight{transition:background-color 1s ease}.scroll-highlight.is-highlighted{background-color:var(--color-primary-container);border-radius:var(--radius-sm)}.dev-index-body{background-color:var(--color-background);min-height:100vh;display:flex;align-items:center;justify-content:center}.dev-index{padding:var(--space-12);max-width:40rem;width:100%}.dev-index h1{font-size:var(--text-headline-medium);color:var(--color-on-surface);margin-bottom:var(--space-2)}.dev-index p{color:var(--color-on-surface-variant);margin-bottom:var(--space-8);font-size:var(--text-body-medium)}.dev-index code{font-family:var(--font-mono);font-size:var(--text-body-small);background-color:var(--color-surface-container);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);color:var(--color-primary-text)}.dev-index-list{display:flex;flex-direction:column;gap:var(--space-3)}.dev-index-list a{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-6);background-color:var(--color-surface-container);border-radius:var(--radius-lg);border:1px solid var(--color-outline-variant);text-decoration:none;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.dev-index-list a:hover{background-color:var(--color-surface-container-low);box-shadow:var(--shadow-md);transform:translateY(-1px);text-decoration:none}.dev-index-list strong{font-size:var(--text-body-large);color:var(--color-on-surface)}.dev-index-list span{font-size:var(--text-body-medium);color:var(--color-primary-text);font-family:var(--font-mono)}.dev-index-list small{font-size:var(--text-label-small);color:var(--color-on-surface-variant)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}