/*! tailwindcss v4.0.0-alpha.13 | MIT License | https://tailwindcss.com */@layer theme{:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family-sans);--default-font-feature-settings:var(--font-family-sans--font-feature-settings);--default-font-variation-settings:var(--font-family-sans--font-variation-settings);--default-mono-font-family:var(--font-family-mono);--default-mono-font-feature-settings:var(--font-family-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-family-mono--font-variation-settings);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--color-black:#000;--color-white:#fff;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712;--color-zinc-50:#fafafa;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-300:#d4d4d8;--color-zinc-400:#a1a1aa;--color-zinc-500:#71717a;--color-zinc-600:#52525b;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-zinc-950:#09090b;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-400:#a8a29e;--color-stone-500:#78716c;--color-stone-600:#57534e;--color-stone-700:#44403c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-stone-950:#0c0a09;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-red-900:#7f1d1d;--color-red-950:#450a0a;--color-orange-50:#fff7ed;--color-orange-100:#ffedd5;--color-orange-200:#fed7aa;--color-orange-300:#fdba74;--color-orange-400:#fb923c;--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-700:#c2410c;--color-orange-800:#9a3412;--color-orange-900:#7c2d12;--color-orange-950:#431407;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-amber-950:#451a03;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c3;--color-yellow-200:#fef08a;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#713f12;--color-yellow-950:#422006;--color-lime-50:#f7fee7;--color-lime-100:#ecfccb;--color-lime-200:#d9f99d;--color-lime-300:#bef264;--color-lime-400:#a3e635;--color-lime-500:#84cc16;--color-lime-600:#65a30d;--color-lime-700:#4d7c0f;--color-lime-800:#3f6212;--color-lime-900:#365314;--color-lime-950:#1a2e05;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-700:#15803d;--color-green-800:#166534;--color-green-900:#14532d;--color-green-950:#052e16;--color-emerald-50:#ecfdf5;--color-emerald-100:#d1fae5;--color-emerald-200:#a7f3d0;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-emerald-800:#065f46;--color-emerald-900:#064e3b;--color-emerald-950:#022c22;--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#99f6e4;--color-teal-300:#5eead4;--color-teal-400:#2dd4bf;--color-teal-500:#14b8a6;--color-teal-600:#0d9488;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#134e4a;--color-teal-950:#042f2e;--color-cyan-50:#ecfeff;--color-cyan-100:#cffafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-cyan-500:#06b6d4;--color-cyan-600:#0891b2;--color-cyan-700:#0e7490;--color-cyan-800:#155e75;--color-cyan-900:#164e63;--color-cyan-950:#083344;--color-sky-50:#f0f9ff;--color-sky-100:#e0f2fe;--color-sky-200:#bae6fd;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-sky-700:#0369a1;--color-sky-800:#075985;--color-sky-900:#0c4a6e;--color-sky-950:#082f49;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-800:#1e40af;--color-blue-900:#1e3a8a;--color-blue-950:#172554;--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b;--color-violet-50:#f5f3ff;--color-violet-100:#ede9fe;--color-violet-200:#ddd6fe;--color-violet-300:#c4b5fd;--color-violet-400:#a78bfa;--color-violet-500:#8b5cf6;--color-violet-600:#7c3aed;--color-violet-700:#6d28d9;--color-violet-800:#5b21b6;--color-violet-900:#4c1d95;--color-violet-950:#2e1065;--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-300:#d8b4fe;--color-purple-400:#c084fc;--color-purple-500:#a855f7;--color-purple-600:#9333ea;--color-purple-700:#7e22ce;--color-purple-800:#6b21a8;--color-purple-900:#581c87;--color-purple-950:#3b0764;--color-fuchsia-50:#fdf4ff;--color-fuchsia-100:#fae8ff;--color-fuchsia-200:#f5d0fe;--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-fuchsia-500:#d946ef;--color-fuchsia-600:#c026d3;--color-fuchsia-700:#a21caf;--color-fuchsia-800:#86198f;--color-fuchsia-900:#701a75;--color-fuchsia-950:#4a044e;--color-pink-50:#fdf2f8;--color-pink-100:#fce7f3;--color-pink-200:#fbcfe8;--color-pink-300:#f9a8d4;--color-pink-400:#f472b6;--color-pink-500:#ec4899;--color-pink-600:#db2777;--color-pink-700:#be185d;--color-pink-800:#9d174d;--color-pink-900:#831843;--color-pink-950:#500724;--color-rose-50:#fff1f2;--color-rose-100:#ffe4e6;--color-rose-200:#fecdd3;--color-rose-300:#fda4af;--color-rose-400:#fb7185;--color-rose-500:#f43f5e;--color-rose-600:#e11d48;--color-rose-700:#be123c;--color-rose-800:#9f1239;--color-rose-900:#881337;--color-rose-950:#4c0519;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur:8px;--blur-sm:4px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--radius:.25rem;--radius-sm:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-xs:0 1px #0000000d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--inset-shadow-xs:inset 0 1px #0000000d;--inset-shadow-sm:inset 0 1px 1px #0000000d;--inset-shadow:inset 0 2px 4px #0000000d;--drop-shadow:0 1px 2px #0000001a,0 1px 1px #0000000f;--drop-shadow-sm:0 1px 1px #0000000d;--drop-shadow-md:0 4px 3px #00000012,0 2px 2px #0000000f;--drop-shadow-lg:0 10px 8px #0000000a,0 4px 3px #0000001a;--drop-shadow-xl:0 20px 13px #00000008,0 8px 5px #00000014;--drop-shadow-2xl:0 25px 25px #00000026;--spacing-px:1px;--spacing-0:0px;--spacing-0_5:.125rem;--spacing-1:.25rem;--spacing-1_5:.375rem;--spacing-2:.5rem;--spacing-2_5:.625rem;--spacing-3:.75rem;--spacing-3_5:.875rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--spacing-36:9rem;--spacing-40:10rem;--spacing-44:11rem;--spacing-48:12rem;--spacing-52:13rem;--spacing-56:14rem;--spacing-60:15rem;--spacing-64:16rem;--spacing-72:18rem;--spacing-80:20rem;--spacing-96:24rem;--width-3xs:16rem;--width-2xs:18rem;--width-xs:20rem;--width-sm:24rem;--width-md:28rem;--width-lg:32rem;--width-xl:36rem;--width-2xl:42rem;--width-3xl:48rem;--width-4xl:56rem;--width-5xl:64rem;--width-6xl:72rem;--width-7xl:80rem;--width-prose:65ch;--font-family-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-family-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:.75rem;--font-size-xs--line-height:1rem;--font-size-sm:.875rem;--font-size-sm--line-height:1.25rem;--font-size-base:1rem;--font-size-base--line-height:1.5rem;--font-size-lg:1.125rem;--font-size-lg--line-height:1.75rem;--font-size-xl:1.25rem;--font-size-xl--line-height:1.75rem;--font-size-2xl:1.5rem;--font-size-2xl--line-height:2rem;--font-size-3xl:1.875rem;--font-size-3xl--line-height:2.25rem;--font-size-4xl:2.25rem;--font-size-4xl--line-height:2.5rem;--font-size-5xl:3rem;--font-size-5xl--line-height:1;--font-size-6xl:3.75rem;--font-size-6xl--line-height:1;--font-size-7xl:4.5rem;--font-size-7xl--line-height:1;--font-size-8xl:6rem;--font-size-8xl--line-height:1;--font-size-9xl:8rem;--font-size-9xl--line-height:1;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--line-height-3:.75rem;--line-height-4:1rem;--line-height-5:1.25rem;--line-height-6:1.5rem;--line-height-7:1.75rem;--line-height-8:2rem;--line-height-9:2.25rem;--line-height-10:2.5rem;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--transition-timing-function-linear:linear;--transition-timing-function-in:cubic-bezier(.4,0,1,1);--transition-timing-function-out:cubic-bezier(0,0,.2,1);--transition-timing-function-in-out:cubic-bezier(.4,0,.2,1)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}input:where(:not([type=button],[type=reset],[type=submit])),select,textarea{border:1px solid}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}summary{display:list-item}menu,ol,ul{list-style:none}textarea{resize:vertical}::placeholder{opacity:1;color:color-mix(in srgb,currentColor 50%,transparent)}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:var(--spacing-0,0)}.top-0{top:var(--spacing-0,0)}.left-0{left:var(--spacing-0,0)}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.my-8{margin-top:var(--spacing-8,2rem);margin-bottom:var(--spacing-8,2rem)}.mt-1{margin-top:var(--spacing-1,.25rem)}.mt-1\.5{margin-top:var(--spacing-1_5,.375rem)}.mt-16{margin-top:var(--spacing-16,4rem)}.mt-2{margin-top:var(--spacing-2,.5rem)}.mt-3{margin-top:var(--spacing-3,.75rem)}.mx-auto{margin-left:auto;margin-right:auto}.mb-12{margin-bottom:var(--spacing-12,3rem)}.mb-2{margin-bottom:var(--spacing-2,.5rem)}.mb-3{margin-bottom:var(--spacing-3,.75rem)}.mb-4{margin-bottom:var(--spacing-4,1rem)}.mb-8{margin-bottom:var(--spacing-8,2rem)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.aspect-\[16\/9\]{aspect-ratio:16/9}.h-12{height:var(--spacing-12,3rem)}.h-14{height:var(--spacing-14,3.5rem)}.h-6{height:var(--spacing-6,1.5rem)}.h-80{height:var(--spacing-80,20rem)}.h-96{height:var(--spacing-96,24rem)}.h-auto{height:auto}.h-full{height:100%}.min-h-full{min-height:100%}.w-28{width:var(--spacing-28,7rem)}.w-32{width:var(--spacing-32,8rem)}.w-6{width:var(--spacing-6,1.5rem)}.w-72{width:var(--spacing-72,18rem)}.w-full{width:100%}.max-w-5xl{max-width:var(--width-5xl,64rem)}.max-w-\[640px\]{max-width:640px}.min-w-0{min-width:var(--spacing-0,0)}.flex-1{flex:1}.flex-none{flex:none}.-translate-x-2{--tw-translate-x:calc(var(--spacing-2,.5rem)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.scroll-mt-24{scroll-margin-top:var(--spacing-24,6rem)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing-1,.25rem)}.gap-2{gap:var(--spacing-2,.5rem)}.gap-3{gap:var(--spacing-3,.75rem)}.gap-4{gap:var(--spacing-4,1rem)}.gap-6{gap:var(--spacing-6,1.5rem)}.gap-x-2{column-gap:var(--spacing-2,.5rem)}.gap-x-3{column-gap:var(--spacing-3,.75rem)}.gap-x-5{column-gap:var(--spacing-5,1.25rem)}:where(.space-y-10>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-10,2.5rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-10,2.5rem)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not([hidden])~:not([hidden])){margin-bottom:calc(var(--spacing-3,.75rem)*var(--tw-space-y-reverse));margin-top:calc(var(--spacing-3,.75rem)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-1{row-gap:var(--spacing-1,.25rem)}.gap-y-2{row-gap:var(--spacing-2,.5rem)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[4px\]{border-radius:4px}.rounded-md{border-radius:var(--radius-md,.375rem)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[color\:color-mix\(in_srgb\,var\(--text\)_15\%\,transparent\)\]{border-color:color-mix(in srgb,var(--text)15%,transparent)}.border-current{border-color:currentColor}.border-current\/15{border-color:color-mix(in srgb,currentColor 15%,transparent)}.border-current\/20{border-color:color-mix(in srgb,currentColor 20%,transparent)}.border-current\/30{border-color:color-mix(in srgb,currentColor 30%,transparent)}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.bg-black\/30{background-color:color-mix(in srgb,var(--color-black,#000)30%,transparent)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing-1,.25rem)}.p-2{padding:var(--spacing-2,.5rem)}.p-3{padding:var(--spacing-3,.75rem)}.p-6{padding:var(--spacing-6,1.5rem)}.py-12{padding-top:var(--spacing-12,3rem);padding-bottom:var(--spacing-12,3rem)}.py-3{padding-top:var(--spacing-3,.75rem);padding-bottom:var(--spacing-3,.75rem)}.py-5{padding-top:var(--spacing-5,1.25rem);padding-bottom:var(--spacing-5,1.25rem)}.py-6{padding-top:var(--spacing-6,1.5rem);padding-bottom:var(--spacing-6,1.5rem)}.py-8{padding-bottom:var(--spacing-8,2rem)}.pt-8,.py-8{padding-top:var(--spacing-8,2rem)}.px-4{padding-left:var(--spacing-4,1rem);padding-right:var(--spacing-4,1rem)}.text-center{text-align:center}.text-justify{text-align:justify}.text-left{text-align:left}.font-mono{font-family:var(--font-family-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace)}.text-2xl{font-size:var(--font-size-2xl,1.5rem);line-height:var(--font-size-2xl--line-height,2rem)}.text-3xl{font-size:var(--font-size-3xl,1.875rem);line-height:var(--font-size-3xl--line-height,2.25rem)}.text-base{font-size:var(--font-size-base,1rem);line-height:var(--font-size-base--line-height,1.5rem)}.text-sm{font-size:var(--font-size-sm,.875rem);line-height:var(--font-size-sm--line-height,1.25rem)}.text-xl{font-size:var(--font-size-xl,1.25rem);line-height:var(--font-size-xl--line-height,1.75rem)}.text-xs{font-size:var(--font-size-xs,.75rem);line-height:var(--font-size-xs--line-height,1rem)}.text-\[11px\]{font-size:11px}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[0\.95\]{line-height:.95}.leading-\[1\.2\]{line-height:1.2}.leading-none{line-height:var(--line-height-none,1)}.leading-relaxed{line-height:var(--line-height-relaxed,1.625)}.leading-snug{line-height:var(--line-height-snug,1.375)}.tracking-\[0\.01em\]{letter-spacing:.01em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:var(--letter-spacing-tight,-.025em)}.tracking-tighter{letter-spacing:var(--letter-spacing-tighter,-.05em)}.tracking-wider{letter-spacing:var(--letter-spacing-wider,.05em)}.text-\[color\:color-mix\(in_srgb\,var\(--text\)_50\%\,transparent\)\]{color:color-mix(in srgb,var(--text)50%,transparent)}.text-\[color\:color-mix\(in_srgb\,var\(--text\)_55\%\,transparent\)\]{color:color-mix(in srgb,var(--text)55%,transparent)}.text-\[color\:color-mix\(in_srgb\,var\(--text\)_60\%\,transparent\)\]{color:color-mix(in srgb,var(--text)60%,transparent)}.text-\[color\:color-mix\(in_srgb\,var\(--text\)_70\%\,transparent\)\]{color:color-mix(in srgb,var(--text)70%,transparent)}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--sa-blue\)\]{color:var(--sa-blue)}.text-\[var\(--sa-green\)\]{color:var(--sa-green)}.text-\[var\(--sa-red\)\]{color:var(--sa-red)}.text-\[var\(--text\)\]{color:var(--text)}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:var(--transition-timing-function-in-out,cubic-bezier(.4,0,.2,1))}.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:var(--spacing-0,0px);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:text-\[var\(--accent\)\]:is(:where(.group):hover *){color:var(--accent)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}@media (width>=640px){.sm\:mb-4{margin-bottom:var(--spacing-4,1rem)}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:var(--spacing-0,0)}.sm\:gap-6{gap:var(--spacing-6,1.5rem)}.sm\:p-4{padding:var(--spacing-4,1rem)}.sm\:p-6{padding:var(--spacing-6,1.5rem)}.sm\:px-6{padding-left:var(--spacing-6,1.5rem);padding-right:var(--spacing-6,1.5rem)}.sm\:text-3xl{font-size:var(--font-size-3xl,1.875rem);line-height:var(--font-size-3xl--line-height,2.25rem)}.sm\:text-4xl{font-size:var(--font-size-4xl,2.25rem);line-height:var(--font-size-4xl--line-height,2.5rem)}.sm\:text-base{font-size:var(--font-size-base,1rem);line-height:var(--font-size-base--line-height,1.5rem)}.sm\:text-lg{font-size:var(--font-size-lg,1.125rem);line-height:var(--font-size-lg--line-height,1.75rem)}}@media (width>=768px){.md\:col-start-2{grid-column-start:2}.md\:mb-2{margin-bottom:var(--spacing-2,.5rem)}.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:py-10{padding-top:var(--spacing-10,2.5rem);padding-bottom:var(--spacing-10,2.5rem)}.md\:py-12{padding-top:var(--spacing-12,3rem);padding-bottom:var(--spacing-12,3rem)}.md\:text-right{text-align:right}.md\:text-4xl{font-size:var(--font-size-4xl,2.25rem);line-height:var(--font-size-4xl--line-height,2.5rem)}.md\:text-lg{font-size:var(--font-size-lg,1.125rem);line-height:var(--font-size-lg--line-height,1.75rem)}}@media (width>=1024px){.lg\:mb-4{margin-bottom:var(--spacing-4,1rem)}}}:root{--paper:#f6f4ee;--paper-2:#edeae1;--paper-3:#ddd8cb;--ink:#1f1b16;--ink-soft:#3a332a;--ink-mute:#6b6155;--indigo:#2a4d6e;--red-oxide:#a6382e;--mustard:#c9a227;--yellow:#f2c72e;--olive:#728c16;--teal:#24a68e;--cream:#efe3c7;--rule:#1f1b162e;--rule-strong:#1f1b168c;--sa-black:#1f1b16;--sa-white:#f6f4ee;--sa-off-white:#ddd8cb;--sa-yellow:#f2c72e;--sa-red:#a6382e;--sa-blue:#2a4d6e;--sa-green:#728c16;--background:var(--paper);--text:var(--ink);--muted:var(--ink-mute);--accent:var(--red-oxide);--max:1180px;--gutter:28px;--sh-class:#4c97f8;--sh-identifier:#d1d5db;--sh-sign:#8996a3;--sh-string:#5eead4;--sh-keyword:#f47067;--sh-comment:#9ca3af;--sh-jsxliterals:#a5b4fc;--sh-property:#f59e0b;--sh-entity:#f59e0b;--sh-background:#1a1612}.dark{--paper:#1a1612;--paper-2:#221c16;--paper-3:#2c251d;--ink:#f4ecdc;--ink-soft:#dccfb4;--ink-mute:#9c907f;--rule:#f4ecdc2e;--rule-strong:#f4ecdc8c;--cream:#2c251d;--sa-black:#1a1612;--sa-white:#f4ecdc;--sa-off-white:#2c251d;--background:var(--paper);--text:var(--ink);--muted:var(--ink-mute);--accent:var(--mustard)}*{box-sizing:border-box}html{background-color:var(--background);min-width:320px}body{background:var(--paper);color:var(--ink);font-family:var(--font-serif-body),"Iowan Old Style",Georgia,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 20% 10%,#1f1b1606,#0000 40%),radial-gradient(circle at 80% 60%,#1f1b1605,#0000 50%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.10 0 0 0 0 0.08 0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");margin:0;padding:0;font-size:19px;line-height:1.6;transition:background-color .35s,color .35s}.dark body{background-image:radial-gradient(circle at 20% 10%,#f4ecdc06,#0000 40%),radial-gradient(circle at 80% 60%,#f4ecdc05,#0000 50%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.92 0 0 0 0 0.86 0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}a{color:inherit;text-decoration:none}a:hover{color:var(--red-oxide)}.dark a:hover{color:var(--mustard)}img{max-width:100%;display:block}::selection{background:var(--mustard);color:var(--ink)}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.page-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:56px;padding-top:48px;display:grid}.page-content{min-width:0}.page-content .section{padding:40px 0 64px}.page-content .section:first-child{padding-top:8px}.sidenav{font-family:var(--font-serif-display),"Playfair Display",Georgia,serif;border-right:1px solid var(--rule);align-self:start;padding-right:32px;position:sticky;top:48px}.sidenav-mark{border-bottom:1px solid var(--rule);justify-content:center;width:100%;margin:0 auto 22px;padding-bottom:18px;display:flex;overflow:hidden}.sidenav-mark img{width:100%;max-width:220px;height:auto;margin:0 auto;display:block}.sidenav-list{margin:0 0 24px;padding:0;list-style:none}.sidenav-list li{border-bottom:1px dotted var(--rule);margin:0}.sidenav-list li:last-child{border-bottom:none}.sidenav-list a{color:var(--ink);letter-spacing:-.005em;grid-template-columns:28px 1fr auto;align-items:baseline;gap:10px;padding:10px 0 10px 4px;font-size:18px;line-height:1.2;transition:color .2s;display:grid}.sidenav-list .sn-num{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);letter-spacing:.04em;font-size:12px;font-style:italic}.sidenav-list .sn-label{color:var(--ink)}.sidenav-list .sn-arrow{color:var(--accent);opacity:0;align-self:center;transition:opacity .2s,transform .2s;display:inline-flex;transform:translate(-8px)}.sidenav-list a:hover,.sidenav-list a:hover .sn-label{color:var(--red-oxide)}.sidenav-list a:hover .sn-arrow{opacity:1;transform:translate(0)}.dark .sidenav-list a:hover,.dark .sidenav-list a:hover .sn-label{color:var(--mustard)}.sidenav-list a[aria-current=page] .sn-label{color:var(--red-oxide)}.dark .sidenav-list a[aria-current=page] .sn-label{color:var(--mustard)}.sidenav-social{border-top:1px solid var(--rule);justify-content:center;align-items:center;gap:18px;padding-top:18px;display:flex}.sidenav-social a{color:var(--ink-mute);place-items:center;transition:color .18s,transform .18s;display:grid}.sidenav-social a:hover{color:var(--red-oxide);transform:translateY(-1px)}.dark .sidenav-social a:hover{color:var(--mustard)}.sidenav-social svg{display:block}.sidenav-mobile-bar{display:none}@media (width<=900px){.page-grid{grid-template-columns:1fr;gap:24px;padding-top:28px}.sidenav{border-right:none;border-bottom:1px solid var(--rule);padding-bottom:16px;padding-right:0;position:static}.sidenav-mark{margin-bottom:16px;padding-bottom:14px}.sidenav-mark img{max-width:140px}.sidenav-list{grid-template-columns:1fr 1fr;gap:4px 24px;display:grid}.sidenav-social{gap:12px}}.label{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.02em;color:var(--ink-mute);font-size:15px;font-style:italic;font-weight:400}.tamil{font-family:var(--font-tamil),"Noto Sans Tamil",sans-serif;font-weight:600}.hero{padding:32px 0 24px;position:relative}.hero-intro{max-width:54rem;font-family:var(--font-serif-body),Georgia,serif;letter-spacing:-.005em;color:var(--ink);margin:0;padding:28px 0 24px;font-size:28px;font-style:italic;line-height:1.5}.hero-columns{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);grid-template-columns:minmax(0,.75fr) minmax(0,1.7fr) minmax(0,1fr);display:grid}.hero-column{border-right:1px solid var(--rule-strong);align-items:baseline;padding:14px 18px;display:flex}.hero-column:last-child{border-right:none}.hero-column-value{min-width:0;font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.005em;color:var(--ink);white-space:nowrap;font-size:18px;font-weight:400;line-height:1.25}.projects-masthead{border-bottom:1px solid var(--rule-strong);padding:28px 0 20px}.projects-masthead-head{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,180px) minmax(0,1fr);align-items:start;gap:20px;padding-bottom:26px;display:grid}.projects-kicker{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding-top:8px;font-size:12px;font-weight:600}.projects-masthead-head h1{max-width:13ch;font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.025em;color:var(--ink);margin:0;font-size:clamp(52px,8vw,92px);font-weight:400;line-height:.94}.projects-masthead-body{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:32px;padding-top:22px;display:grid}.projects-masthead-copy{max-width:58ch;font-family:var(--font-serif-body),Georgia,serif;color:var(--ink);margin:0;font-size:25px;font-style:italic;line-height:1.58}.projects-masthead-notes{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);grid-template-columns:1fr;display:grid}.projects-note{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:18px;padding:14px 0;display:grid}.projects-note:last-child{border-bottom:none}.projects-note-label{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.projects-note-value{font-family:var(--font-serif-display),Georgia,serif;color:var(--ink);font-size:19px;line-height:1.35}.project-atlas{border-top:1px solid var(--rule-strong);gap:0}.project-atlas,.project-feature{border-bottom:1px solid var(--rule-strong);display:grid}.project-feature{grid-template-columns:72px minmax(0,1.15fr) minmax(280px,.85fr);align-items:stretch;gap:24px;padding:22px 0}.project-feature:last-child{border-bottom:none}.project-feature:nth-child(2n) .project-feature-body{order:3}.project-feature:nth-child(2n) .project-feature-image{order:2}.project-feature-index{justify-content:flex-start;align-items:flex-start;padding-top:6px;display:flex}.project-feature-index span{font-family:var(--font-serif-display),Georgia,serif;color:var(--accent);font-size:26px;line-height:1}.project-feature-body{flex-direction:column;gap:12px;min-width:0;display:flex}.project-feature-meta{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.project-feature h3{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.015em;color:var(--ink);margin:0;font-size:42px;font-weight:400;line-height:1;transition:color .18s}.project-feature p{max-width:42ch;color:var(--ink-soft);margin:0;font-size:17px;font-style:italic;line-height:1.62}.project-feature p,.project-feature-note{font-family:var(--font-serif-body),Georgia,serif}.project-feature-note{border-top:1px solid var(--rule);color:var(--ink-mute);margin-top:auto;padding-top:10px;font-size:14px;line-height:1.4}.project-feature-image{border:1px solid var(--rule-strong);background:var(--paper-2);min-height:240px;position:relative;overflow:hidden}.project-feature:hover h3{color:var(--red-oxide)}.dark .project-feature:hover h3{color:var(--mustard)}.project-register{border-top:1px solid var(--rule-strong)}.project-register,.project-register-row{border-bottom:1px solid var(--rule-strong)}.project-register-row{grid-template-columns:minmax(0,1.05fr) minmax(200px,.5fr) minmax(0,1.2fr);align-items:start;gap:24px;padding:18px 0;display:grid}.project-register-row:last-child{border-bottom:none}.project-register-title h3{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.01em;color:var(--ink);margin:0;font-size:31px;font-weight:400;line-height:1.04;transition:color .18s}.project-register-row:hover .project-register-title h3{color:var(--red-oxide)}.dark .project-register-row:hover .project-register-title h3{color:var(--mustard)}.project-register-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);flex-direction:column;gap:6px;padding-top:4px;font-size:11px;font-weight:600;display:flex}.project-register-copy,.project-register-meta{font-family:var(--font-serif-body),Georgia,serif}.project-register-copy{max-width:48ch;color:var(--ink-soft);margin:0;font-size:16px;font-style:italic;line-height:1.58}.project-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.project-map-column{flex-direction:column;gap:12px;padding:0 0 6px;display:flex}.project-map-label{font-family:var(--font-serif-display),Georgia,serif;color:var(--ink);font-size:28px;line-height:1.04}.project-map-description{border-bottom:1px solid var(--rule);font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-soft);margin:0;padding-bottom:14px;font-size:15px;font-style:italic;line-height:1.5}.project-map-list{border-top:1px solid var(--rule-strong);margin:0;padding:0;list-style:none}.project-map-list li{border-bottom:1px solid var(--rule);font-family:var(--font-serif-display),Georgia,serif;color:var(--ink);padding:11px 0;font-size:18px;line-height:1.3}.section{padding:64px 0}.section-head{border-bottom:1px solid var(--rule-strong);grid-template-columns:auto 1fr auto;align-items:baseline;gap:24px;margin-bottom:32px;padding-bottom:16px;display:grid}.section-head .num{font-family:var(--font-serif-display),Georgia,serif;color:var(--red-oxide);font-size:16px}.dark .section-head .num{color:var(--mustard)}.section-head h2{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.01em;margin:0;font-size:44px;font-weight:400;line-height:1}.section-head .right{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);font-size:15px;font-style:italic}.featured{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px;display:grid}.featured .img-frame{background:var(--paper-2);border:1px solid var(--rule-strong);aspect-ratio:4/3;width:100%;position:relative;overflow:hidden}.featured .img-frame img{object-fit:cover;width:100%;height:100%;display:block}.featured .img-frame .stamp{background:var(--red-oxide);color:var(--cream);font-family:var(--font-serif-display),Georgia,serif;letter-spacing:.02em;z-index:2;padding:6px 12px;font-size:14px;position:absolute;top:16px;left:16px}.dark .featured .img-frame .stamp{background:var(--mustard);color:var(--ink)}.featured .img-frame .corner{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);background:var(--paper);border:1px solid var(--rule);z-index:2;padding:4px 10px;font-size:13px;font-style:italic;position:absolute;bottom:14px;right:14px}.featured .copy{flex-direction:column;justify-content:flex-start;gap:18px;display:flex}.featured .copy h3{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.02em;margin:-10px 0 0;font-size:56px;font-weight:400;line-height:.98}.featured .copy h3 a:hover{color:var(--red-oxide)}.dark .featured .copy h3 a:hover{color:var(--mustard)}.featured .dek{color:var(--ink-soft);max-width:50ch;margin:0;font-size:21px;line-height:1.5}.featured .copy .meta,.featured .dek{font-family:var(--font-serif-body),Georgia,serif}.featured .copy .meta{color:var(--ink-mute);align-items:baseline;gap:18px;font-size:15px;font-style:italic;display:flex}.featured .read-on{font-family:var(--font-serif-display),Georgia,serif;border-bottom:1px solid var(--ink);align-self:flex-start;align-items:center;gap:10px;margin-top:8px;padding-bottom:4px;font-size:18px;transition:color .2s;display:inline-flex}.featured .read-on svg{color:var(--accent);opacity:0;transition:opacity .2s,transform .2s;transform:translate(-8px)}.featured .read-on:hover{color:var(--accent)}.featured .read-on:hover svg{opacity:1;transform:translate(0)}.posts{grid-template-columns:1fr;display:grid}.post-row{border-bottom:1px solid var(--rule);grid-template-columns:110px 1fr auto;align-items:baseline;gap:28px;padding:22px 0;transition:background-color .2s;display:grid}.post-row:last-child{border-bottom:none}.post-row:hover{background:#1f1b1609}.dark .post-row:hover{background:#f4ecdc0a}.post-row .date{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);white-space:nowrap;font-size:15px;font-style:italic}.post-row .title{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:14px;font-size:26px;font-weight:400;line-height:1.1;display:flex}.post-row .title .tag-dot{border-radius:50%;flex:none;width:10px;height:10px;margin-right:4px;display:inline-block;position:relative;top:-2px}.tag-dot.t-research{background:var(--indigo)}.tag-dot.t-tutorial{background:var(--olive)}.tag-dot.t-life{background:var(--red-oxide)}.tag-dot.t-notes{background:var(--mustard)}.tag-dot.t-default{background:var(--ink-mute)}.post-row .read{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);white-space:nowrap;font-size:14px;font-style:italic}.rec-grid{border:1px solid var(--rule-strong);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.rec-cell{border-right:1px solid var(--rule-strong);color:var(--ink);flex-direction:column;gap:12px;min-height:180px;padding:22px 24px 26px;display:flex;position:relative}.rec-cell:last-child{border-right:none}.rec-meta{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.rec-kind{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.rec-glyph{color:var(--ink-soft);align-items:center;transition:color .18s,transform .25s;display:inline-flex}.rec-glyph svg{width:38px;height:auto;display:block}.rec-cell:hover .rec-glyph{color:var(--accent);transform:translate(2px)}.rec-name{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.01em;margin-top:auto;font-size:26px;font-weight:400;line-height:1.1;transition:color .18s}.rec-cell:hover .rec-name{color:var(--red-oxide)}.dark .rec-cell:hover .rec-name{color:var(--mustard)}.front-package{border:1px solid var(--rule-strong);grid-template-columns:1.7fr 1fr;gap:0;display:grid}.fp-lead{color:var(--ink);border-right:1px solid var(--rule-strong);flex-direction:column;gap:14px;padding:14px 14px 32px;display:flex;position:relative}.fp-lead>:not(.fp-lead-photo){padding-inline:14px}.fp-side,.fp-story{flex-direction:column;display:flex}.fp-story{color:var(--ink);border-bottom:1px solid var(--rule-strong);gap:10px;padding:28px;position:relative}.fp-story:last-child{border-bottom:none}.fp-lead-photo{aspect-ratio:16/9;background:var(--paper-2);border:1px solid var(--rule-strong);margin-bottom:10px;position:relative;overflow:hidden}.fp-lead-photo img{object-fit:cover;width:100%;height:100%;display:block}.fp-story-photo{--fp-story-photo-src:url(/sa-publications.jpg);--fp-story-photo-pos:35% center;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.10 0 0 0 0 0.08 0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),linear-gradient(180deg,color-mix(in srgb,var(--background)0,transparent)0,color-mix(in srgb,var(--background)0,transparent)5%,var(--background)70%,var(--background)100%),var(--fp-story-photo-src);background-size:240px 240px,100% 100%,cover;background-position:0 0,50%,var(--fp-story-photo-pos);background-repeat:repeat,no-repeat,no-repeat;flex:1;justify-content:flex-end;padding-right:28px}.dark .fp-story-photo{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.92 0 0 0 0 0.86 0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"),linear-gradient(180deg,color-mix(in srgb,var(--background)0,transparent)0,color-mix(in srgb,var(--background)0,transparent)5%,var(--background)70%,var(--background)100%),var(--fp-story-photo-src)}.fp-story-photo.is-about-rai{--fp-story-photo-src:url(/about/rai.jpg);--fp-story-photo-pos:center center}.front-package .fp-story-photo .more{margin-top:0}.fp-lead h3{letter-spacing:-.015em;margin:0 0 10px;font-size:52px;line-height:.98}.fp-lead h3,.fp-story h3{font-family:var(--font-serif-display),Georgia,serif;font-weight:400}.fp-story h3{letter-spacing:-.01em;margin:0;font-size:28px;line-height:1.05}.fp-lead .dek{max-width:50ch;font-size:19px;line-height:1.5}.fp-lead .dek,.fp-story .dek{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-soft);margin:0;font-style:italic}.fp-story .dek{font-size:16px;line-height:1.55}.teaser-list{border-top:1px solid var(--rule);margin:6px 0 0;padding:0;list-style:none}.teaser-list li{border-bottom:1px solid var(--rule);grid-template-columns:36px 1fr;align-items:baseline;gap:12px;padding:9px 0;display:grid}.teaser-list .idx{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);font-size:14px;font-style:italic}.teaser-list .name{letter-spacing:-.01em;font-size:19px}.front-package .more,.teaser-list .name{font-family:var(--font-serif-display),Georgia,serif}.front-package .more{align-self:flex-start;align-items:center;gap:8px;margin-top:auto;padding-top:6px;font-size:17px;display:inline-flex}.front-package .more svg{color:var(--accent);opacity:0;flex:none;transition:opacity .2s,transform .2s;transform:translate(-8px)}.fp-lead:hover .more svg,.fp-story:hover .more svg{opacity:1;transform:translate(0)}.fp-lead:hover h3,.fp-story:hover h3{color:var(--red-oxide)}.dark .fp-lead:hover h3,.dark .fp-story:hover h3{color:var(--mustard)}.profile-lede{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink);text-align:justify;text-wrap:pretty;padding:48px 0;font-size:17px;line-height:1.65}.profile-lede:after{content:"";clear:both;display:block}.profile-portrait{aspect-ratio:16/10;float:left;background:var(--paper-2);border:1px solid var(--rule-strong);width:min(58%,640px);margin:6px 34px 16px 0;position:relative;overflow:hidden}.profile-portrait img{object-fit:cover;width:100%;height:100%;display:block}.profile-lede p{margin:0 0 16px}.profile-lede p:last-child{margin-bottom:0}.profile-lede a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px;transition:color .18s}.profile-lede a:hover{color:var(--accent)}.profile-affiliations{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;padding:28px 0;display:flex}.profile-affiliations-logo{justify-content:center;align-items:center;width:48px;height:48px;transition:transform .2s;display:inline-flex}.profile-affiliations-logo:focus-visible,.profile-affiliations-logo:hover{outline:none;transform:scale(1.18)}.profile-affiliations-logo img{object-fit:contain;max-width:100%;max-height:100%}.exp-grid{border:1px solid var(--rule-strong)}.exp-row{border-bottom:1px solid var(--rule-strong);align-items:stretch;display:grid}.exp-row:last-child{border-bottom:none}.exp-row-7-5{grid-template-columns:7fr 5fr}.exp-row-1-1{grid-template-columns:1fr 1fr}.exp-row-1-1-1{grid-template-columns:1fr 1fr 1fr}.exp-meta{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.exp-grid h3{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:400;transition:color .18s}.exp-grid p{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-soft);margin:0;font-style:italic;line-height:1.6}.exp-grid a:hover h3{color:var(--red-oxide)}.dark .exp-grid a:hover h3{color:var(--mustard)}.exp-big{border-right:1px solid var(--rule-strong);color:inherit;flex-direction:column;gap:14px;padding:14px 14px 32px;text-decoration:none;display:flex}.exp-row>.exp-big:last-child{border-right:none}.exp-big>:not(.exp-big-photo){padding-inline:14px}.exp-big-photo{aspect-ratio:16/9;background:var(--paper-2);border:1px solid var(--rule-strong);margin-bottom:6px;position:relative;overflow:hidden}.exp-big-photo img{object-fit:cover;width:100%;height:100%;display:block}.exp-big h3{font-size:30px;line-height:1.05}.exp-big p{max-width:52ch;font-size:16px;line-height:1.55}.exp-big.is-lead h3{font-size:42px;line-height:1}.exp-big.is-lead p{font-size:17px}.exp-big.is-portrait .exp-big-photo{aspect-ratio:auto;flex:auto;min-height:440px}.exp-grid>.exp-row:first-child .exp-big-photo{aspect-ratio:4/3}.exp-stamp{background:var(--red-oxide);color:var(--cream);font-family:var(--font-serif-display),Georgia,serif;letter-spacing:.04em;z-index:2;padding:5px 11px;font-size:12px;position:absolute;top:14px;left:14px}.dark .exp-stamp{background:var(--mustard);color:var(--ink)}.exp-more{font-family:var(--font-serif-display),Georgia,serif;color:var(--ink);align-self:flex-start;align-items:center;gap:8px;margin-top:4px;font-size:17px;display:inline-flex}.exp-more svg{color:var(--accent);opacity:0;flex:none;transition:opacity .2s,transform .2s;transform:translate(-8px)}.exp-big:hover .exp-more svg{opacity:1;transform:translate(0)}.exp-tile{color:var(--ink);background-image:linear-gradient(180deg,color-mix(in srgb,var(--background)0,transparent)0,color-mix(in srgb,var(--background)0,transparent)12%,var(--background)78%,var(--background)100%),var(--exp-tile-src);background-size:100% 100%,cover;background-position:50%,var(--exp-tile-pos,center);background-repeat:no-repeat,no-repeat;flex-direction:column;justify-content:flex-end;gap:10px;padding:28px;text-decoration:none;display:flex;position:relative}.exp-tile h3{font-size:24px;line-height:1.1}.exp-tile p{max-width:38ch;font-size:14px;line-height:1.5}.exp-tile[data-bg=osl]{--exp-tile-src:url(/about/sa-main.jpg);--exp-tile-pos:center center}.exp-tile[data-bg=rai]{--exp-tile-src:url(/about/rai.jpg);--exp-tile-pos:center center}.exp-tile[data-bg=ballbot]{--exp-tile-src:url(/projects/ballbot-main.jpg);--exp-tile-pos:center top}.exp-tile[data-bg=iitm]{--exp-tile-src:url(/about/iitm.jpg);--exp-tile-pos:10% center}.exp-tile-stack{flex-direction:column;display:flex}.exp-tile-stack>.exp-tile{border-bottom:1px solid var(--rule-strong);flex:1}.exp-tile-stack>.exp-tile:last-child{border-bottom:none}.exp-big-stack{flex-direction:column;display:flex}.exp-big-stack>.exp-big{border-right:none;border-bottom:1px solid var(--rule-strong);flex:1}.exp-big-stack>.exp-big:last-child{border-bottom:none}.chronology-table{border-collapse:collapse;border:1px solid var(--rule-strong);width:100%;color:var(--ink)}.chronology-table tr{border-bottom:1px solid var(--rule-strong)}.chronology-table tr:last-child{border-bottom:none}.chronology-table td,.chronology-table th{vertical-align:top;text-align:left}.chronology-table th{border-right:1px solid var(--rule-strong);width:230px;font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding:22px 28px 22px 18px;font-size:11px;font-weight:600;line-height:1.45}.chronology-table td{padding:20px 18px 22px 28px}.chronology-table h3{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.01em;color:var(--ink);margin:0;font-size:28px;font-weight:400;line-height:1.08}.chronology-org{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-soft);margin:6px 0 0;font-size:16px;font-style:italic;line-height:1.45}.profile-tools{border:1px solid var(--rule-strong);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.profile-tool{border-right:1px solid var(--rule-strong);flex-direction:column;gap:10px;padding:24px 28px 26px;display:flex}.profile-tool:last-child{border-right:none}.profile-tool-label{font-family:var(--font-serif-body),Georgia,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:600}.profile-tool-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.profile-tool-list li{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:-.005em;color:var(--ink);border-bottom:1px solid var(--rule);padding:8px 0;font-size:17px;font-weight:400;line-height:1.35}.profile-tool-list li:last-child{border-bottom:none}.now-block{display:block}.now-block .copy{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-soft);margin-bottom:48px;font-size:21px;line-height:1.6}.now-block .copy p{margin:0 0 16px}.now-block .copy strong{color:var(--ink);font-weight:600}.now-block .copy em{color:var(--ink)}.recs{border:1px solid var(--rule-strong);background:var(--paper-2);padding:18px 26px 24px;position:relative}.recs .ornament{opacity:.85;color:var(--ink-soft);justify-content:center;margin:-2px 0 12px;display:flex}.recs h4{font-family:var(--font-serif-display),Georgia,serif;text-align:center;margin:0 0 18px;font-size:26px;font-weight:400;line-height:1}.recs ul{margin:0;padding:0;list-style:none}.recs li{border-top:1px dashed var(--rule);grid-template-columns:28px 1fr auto;align-items:baseline;gap:12px;padding:12px 0;font-size:17px;display:grid}.recs li:first-child{border-top:none;padding-top:4px}.recs li .idx{font-family:var(--font-serif-display),Georgia,serif;color:var(--ink-mute);font-size:15px}.recs li .name{font-family:var(--font-serif-body),Georgia,serif}.recs li .name a{border-bottom:1px solid var(--rule);padding-bottom:1px}.recs li .kind{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);font-size:14px;font-style:italic}.foot{margin-top:64px;padding:36px 0 44px}.foot-ornament{justify-content:center;align-items:center;height:56px;margin:0 0 28px;padding:0;display:flex;position:relative}.foot-ornament:before{content:"";background:var(--rule);height:1px;position:absolute;top:50%;left:0;right:0}.foot-ornament .kolam-wrap{background:var(--paper);color:var(--ink-soft);opacity:.8;align-items:center;padding:0 22px;display:flex;position:relative}.foot-row{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:24px;padding-top:18px;display:flex}.foot-end,.foot-row{align-items:baseline}.foot-end{font-family:var(--font-serif-display),Georgia,serif;letter-spacing:.02em;white-space:nowrap;gap:10px;margin-right:auto;font-size:22px;display:inline-flex}.foot-end .ta{font-family:var(--font-tamil),"Noto Sans Tamil",sans-serif;color:var(--red-oxide);letter-spacing:0;font-size:18px;font-weight:500}.dark .foot-end .ta{color:var(--mustard)}.foot-copy,.foot-source{font-family:var(--font-serif-body),Georgia,serif;color:var(--ink-mute);font-size:15px;font-style:italic}.foot-source{border-bottom:1px solid var(--rule)}.foot-source:hover{color:var(--red-oxide);border-bottom-color:var(--red-oxide)}.dark .foot-source:hover{color:var(--mustard);border-bottom-color:var(--mustard)}@media (width<=1240px){.featured{grid-template-columns:1fr;gap:32px}.featured .copy h3{font-size:44px}}@media (width<=960px){.projects-masthead-head{grid-template-columns:1fr}.projects-masthead-head h1{max-width:none;font-size:56px}.projects-masthead-body{grid-template-columns:1fr}.projects-masthead-copy{font-size:22px}.projects-note{gap:6px}.front-package,.projects-note{grid-template-columns:1fr}.fp-lead{border-right:none;border-bottom:1px solid var(--rule-strong);padding:28px 20px}.fp-story{padding:24px 20px}.fp-lead h3{font-size:38px}.hero-intro{padding:24px 0 20px;font-size:24px}.hero-column{padding:14px}.hero-column-value{font-size:16px}.post-row{grid-template-columns:1fr;gap:6px}.post-row .date,.post-row .read{grid-column:1}.post-row .title{grid-column:1;font-size:22px}.rec-grid{grid-template-columns:1fr}.rec-cell{border-right:none;border-bottom:1px solid var(--rule-strong);min-height:0;padding:22px 20px}.rec-cell:last-child{border-bottom:none}.rec-name{font-size:22px}.section-head h2{font-size:32px}.foot-row{text-align:center;justify-content:center;gap:12px}.foot-end{margin-right:0}.profile-lede{padding:24px 0 40px;font-size:18px}.profile-portrait{float:none;aspect-ratio:16/10;width:100%;max-width:none;margin:0 0 24px}.profile-affiliations{gap:28px;padding:22px 0}.exp-row-1-1,.exp-row-1-1-1,.exp-row-7-5{grid-template-columns:1fr}.exp-row>.exp-big{border-right:none;border-bottom:1px solid var(--rule-strong)}.exp-row>.exp-big:last-child{border-bottom:none}.exp-big.is-lead h3{font-size:34px}.exp-big h3{font-size:26px}.exp-tile{min-height:280px}.exp-row>.exp-tile{border-bottom:1px solid var(--rule-strong)}.exp-row>.exp-tile:last-child{border-bottom:none}.project-feature{grid-template-columns:56px 1fr;gap:16px 18px}.project-feature:nth-child(2n) .project-feature-body,.project-feature:nth-child(2n) .project-feature-image{order:0}.project-feature-image{grid-column:2;min-height:220px}.project-feature h3{font-size:34px}.project-register-row{grid-template-columns:1fr;gap:10px}.project-map{grid-template-columns:1fr;gap:24px}.chronology-table,.chronology-table tbody,.chronology-table td,.chronology-table th,.chronology-table tr{width:100%;display:block}.chronology-table th{border-right:none;padding:22px 16px 8px}.chronology-table td{padding:0 16px 24px}.chronology-table h3{font-size:24px}.profile-tools{grid-template-columns:1fr}.profile-tool{border-right:none;border-bottom:1px solid var(--rule-strong);padding:22px 16px}.profile-tool:last-child{border-bottom:none}}@media (width<=620px){body{font-size:17px}.projects-masthead{padding:24px 0 12px}.projects-masthead-head{gap:10px;padding-bottom:18px}.projects-kicker{padding-top:0}.projects-masthead-head h1{font-size:42px}.projects-masthead-body{gap:22px;padding-top:18px}.projects-masthead-copy{font-size:19px}.projects-note-value{font-size:17px}.hero{padding:32px 0 20px}.hero-intro{max-width:none;padding:18px 0 16px;font-size:20px}.hero-columns{grid-template-columns:1fr}.hero-column{border-right:none;border-bottom:1px solid var(--rule-strong);padding:12px 0;display:grid}.hero-column:last-child{border-bottom:none}.hero-column-value{white-space:normal;font-size:16px}.featured .copy h3{font-size:36px}.section{padding:44px 0}.project-feature{grid-template-columns:1fr;padding:18px 0 20px}.project-feature-index{padding-top:0}.project-feature-image{order:3;grid-column:auto;min-height:200px}.project-feature h3{font-size:28px}.project-register-title h3{font-size:26px}.project-map-label{font-size:24px}.exp-tile{min-height:240px}}.sa-link{text-underline-offset:4px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:all .15s ease-out;position:relative}.sa-link:focus-visible,.sa-link:hover{transform:translateY(-1px);-webkit-text-decoration-color:var(--accent)!important;text-decoration-color:var(--accent)!important}.muted{color:var(--muted)}.accent{color:var(--accent)}.sidebar{background-color:var(--background)}.title{text-wrap:balance;color:var(--accent)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.prose{font-family:var(--font-serif),Georgia,"Times New Roman",serif;color:color-mix(in srgb,var(--text)78%,transparent);hanging-punctuation:first last;font-feature-settings:"kern" 1,"liga" 1;font-size:1rem;line-height:1.65}.prose p{text-wrap:pretty;margin-bottom:1rem}.prose strong{color:var(--text);font-weight:600}.prose em{color:var(--text);font-style:italic}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-serif),Georgia,serif;color:var(--text);text-wrap:balance;letter-spacing:.01em}.prose h1{margin:2.25rem 0 .5rem;font-size:1.875rem;font-weight:500;line-height:1.2}.prose h2{margin:2rem 0 1rem;font-size:1.5rem;line-height:1.35}.prose h2,.prose h3{letter-spacing:.02em;font-weight:500}.prose h3{margin:1.75rem 0 .75rem;font-size:1.25rem;line-height:1.4}.prose h4{font-size:1.1rem}.prose h4,.prose h5,.prose h6{margin:1.5rem 0 .5rem;font-weight:500}.prose h5,.prose h6{font-family:var(--font-geist-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:color-mix(in srgb,var(--text)60%,transparent);font-size:.8rem}.prose .anchor{cursor:pointer;opacity:0;width:1em;margin-left:-1em;padding-right:.5em;text-decoration:none;transition:opacity .15s ease-out;position:absolute}.prose .anchor:after{content:"#";color:var(--muted)}.prose h1:hover .anchor,.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor,.prose h5:hover .anchor,.prose h6:hover .anchor{opacity:1}.prose a:not(.anchor){color:var(--text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--text)25%,transparent);text-decoration-color:color-mix(in srgb,var(--text)25%,transparent);text-underline-offset:2px;text-decoration-thickness:1px;transition:text-decoration-color .15s ease-out}.prose a:not(.anchor):hover{-webkit-text-decoration-color:color-mix(in srgb,var(--text)60%,transparent);text-decoration-color:color-mix(in srgb,var(--text)60%,transparent)}.prose code{background-color:color-mix(in srgb,var(--sa-off-white)35%,transparent);font-size:.875em;color:var(--text);border-radius:3px;padding:.15em .4em}.prose .code-block-pre,.prose code,.prose pre{font-family:var(--font-geist-mono),ui-monospace,monospace}.prose .code-block-pre,.prose pre{background-color:var(--sh-background);border:1px solid color-mix(in srgb,var(--sa-black)80%,transparent);font-size:.85rem;line-height:1.6;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--sa-white)30%,transparent)transparent;border-radius:4px;padding:1rem 1.25rem;overflow-x:auto}.prose pre{margin:1.5rem -1rem}@media (width>=640px){.prose pre{margin-left:0;margin-right:0}}.prose .code-block{background-color:var(--sh-background);border:1px solid color-mix(in srgb,var(--sa-black)80%,transparent);border-radius:4px;margin:1.75rem -1rem;overflow:hidden}@media (width>=640px){.prose .code-block{margin-left:0;margin-right:0}}.prose .code-block .code-block-pre{border:none;border-radius:0;margin:0}.prose .code-block-header{background-color:color-mix(in srgb,var(--sa-white)6%,var(--sh-background));border-bottom:1px solid color-mix(in srgb,var(--sa-white)12%,transparent);font-family:var(--font-geist-mono),ui-monospace,monospace;color:color-mix(in srgb,var(--sa-white)75%,transparent);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .875rem;font-size:.75rem;display:flex}.prose .code-block-filename{letter-spacing:.02em}.prose .code-block-actions{align-items:center;gap:.5rem;display:flex}.prose .code-block-header .code-block-copy,.prose .code-block-header a.code-block-action{border:1px solid color-mix(in srgb,var(--sa-white)18%,transparent);font:inherit;color:color-mix(in srgb,var(--sa-white)70%,transparent);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:.35rem;padding:.2rem .5rem;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.prose .code-block-header .code-block-copy:hover,.prose .code-block-header a.code-block-action:hover{color:var(--sa-white);border-color:color-mix(in srgb,var(--sa-white)35%,transparent);background:color-mix(in srgb,var(--sa-white)5%,transparent);text-decoration:none}.prose .callout{border-left:3px solid var(--callout-accent,var(--text));background-color:color-mix(in srgb,var(--callout-accent,var(--text))6%,transparent);border-radius:0 3px 3px 0;margin:1.5rem 0;padding:.875rem 1rem}.prose .callout-note{--callout-accent:var(--sa-blue)}.prose .callout-tip{--callout-accent:var(--sa-green)}.prose .callout-warning{--callout-accent:var(--sa-red)}.dark .prose .callout-warning{--callout-accent:var(--sa-yellow)}.prose .callout-header{font-family:var(--font-geist-mono),ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--callout-accent);align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.75rem;font-weight:500;display:flex}.prose .callout-icon{align-items:center;display:inline-flex}.prose .callout-body>:first-child{margin-top:0}.prose .callout-body>:last-child{margin-bottom:0}.prose .callout-body p{margin:.4em 0;font-size:.95em}.prose .step{margin:2.5rem 0}.prose .step-header{border-bottom:1px solid color-mix(in srgb,var(--text)15%,transparent);align-items:baseline;gap:.875rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.prose .step-num{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.08em;color:color-mix(in srgb,var(--text)50%,transparent);white-space:nowrap;font-size:.75rem;font-weight:500}.prose .step-of{opacity:.7}.prose .step-title{font-family:var(--font-serif),Georgia,serif;color:var(--text);letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:500;line-height:1.3}.prose .step-body>:first-child{margin-top:.75rem}.dark .prose pre{border-color:var(--sa-white)}.prose pre code{font-size:inherit;color:var(--sa-white);background:0 0;border:none;border-radius:0;padding:0}.prose pre code span{font-weight:500}.prose blockquote{border-left:3px solid var(--text);color:color-mix(in srgb,var(--text)85%,transparent);margin:1.25rem 0;padding-left:1rem;font-style:italic}.prose blockquote p{margin:.5em 0}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose ol,.prose ul{margin:1rem 0;padding-left:1.5rem}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{margin-bottom:.5rem;padding-left:.25em}.prose li>p{margin:.35em 0}.prose li>ol,.prose li>ul{margin:.4em 0}.prose figure{border:1px solid var(--sa-black);background-color:var(--paper);margin:2.25rem 0;overflow:hidden;box-shadow:0 6px 6px -6px #00000080}.dark .prose figure{border-color:var(--sa-white)}.prose figure img{width:100%;height:auto;margin:0;display:block}.prose figure figcaption{border-top:1px solid var(--sa-black);background-color:var(--paper);color:var(--sa-black);text-align:center;padding:.5rem 1rem;font-size:.85em;font-style:italic;line-height:1.4}.dark .prose figure figcaption{border-color:var(--sa-white);color:var(--sa-white)}.prose hr{border:0;border-top:1px solid color-mix(in srgb,var(--text)15%,transparent);margin:2rem 0}.prose table{white-space:nowrap;border:1px solid color-mix(in srgb,var(--text)20%,transparent);max-width:fit-content;margin:1.5rem 0;font-size:.95em;display:block;overflow-x:auto}.prose td,.prose th{border-bottom:1px solid color-mix(in srgb,var(--text)12%,transparent);text-align:left;padding:.5rem .875rem}.prose th{background-color:color-mix(in srgb,var(--text)5%,transparent);font-weight:700}pre::-webkit-scrollbar{display:none}pre{-ms-overflow-style:none;scrollbar-width:none}input[type=email],input[type=text]{appearance:none}table{white-space:nowrap;max-width:fit-content;display:block;overflow-x:auto}.comic{box-sizing:border-box;gap:12px;margin-top:12px;display:grid;overflow:visible}.panel{background-color:var(--background);border:1px solid var(--sa-black);background-position:50%;background-size:cover;min-height:200px;position:relative;overflow:hidden;box-shadow:0 6px 6px -6px #00000080}.dark .panel{border-color:var(--sa-white);box-shadow:0 6px 6px -6px #0000004d}.panel .text{background-color:var(--paper);color:var(--ink);border:2px solid var(--ink);z-index:1;margin:0;padding:3px 16px 6px;font-size:clamp(.75rem,2vw,1rem);position:absolute}.panel .top-left{top:-2px;left:-6px}.panel .bottom-right{bottom:-2px;right:-6px}.panel .top-right{top:-2px;right:-6px}.panel .bottom-left{bottom:-2px;left:-6px}.panel .speech{background-color:var(--paper);border:2px solid var(--ink);z-index:1;color:var(--ink);border-radius:4px;margin:.5em;padding:.5em 1em;font-family:inherit;font-size:clamp(.75rem,2vw,1rem);display:inline-block;position:relative}.panel .speech:before{border:12px solid #0000;border-left:12px solid var(--ink);border-top:12px solid var(--ink);bottom:-24px;left:24px}.panel .speech:after,.panel .speech:before{content:"";width:0;height:0;position:absolute;transform:skew(-15deg)}.panel .speech:after{border:10px solid #0000;border-left:10px solid var(--paper);border-top:10px solid var(--paper);bottom:-19px;left:27px}.panel .description{background-color:var(--paper);color:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);font-family:var(--font-serif-body),Georgia,serif;letter-spacing:0;text-align:left;z-index:1;box-sizing:border-box;margin:0;padding:.55rem .95rem .6rem;font-size:clamp(.85rem,1.7vw,1rem);font-style:italic;font-weight:400;line-height:1.4;position:absolute;left:0;right:0}@media (hover:hover){.panel .description{opacity:0;pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out;transform:translateY(4px)}.panel:focus-within .description,.panel:hover .description{opacity:1;transform:translateY(0)}}.panel .description-top{border-top-width:0;border-bottom-width:2px;top:0}.panel .description-bottom{border-top-width:2px;border-bottom-width:0;bottom:0}.affiliations-strip{z-index:5;background:var(--paper);border-top:2px solid var(--ink);font-family:var(--font-geist-sans),Helvetica,sans-serif;color:var(--ink);justify-content:center;align-items:center;gap:.75rem;padding:.45rem .85rem;display:flex;position:absolute;bottom:0;left:0;right:0}.affiliations-label{letter-spacing:.01em;white-space:nowrap;flex-shrink:0;font-size:1rem;font-style:italic;font-weight:800}.affiliations-logos{scrollbar-width:none;align-items:center;gap:.45rem;display:flex;overflow-x:auto}.affiliations-logos::-webkit-scrollbar{display:none}.affiliations-logo{background:var(--paper);border:2px solid var(--ink);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .15s ease-out,border-color .15s ease-out;display:inline-flex}.affiliations-logo:focus-visible,.affiliations-logo:hover{border-color:var(--red-oxide);outline:none;transform:translateY(-2px)}.affiliations-logo img{object-fit:contain;border-radius:999px;width:100%;height:100%;padding:3px}.affiliations-logo[data-affiliation=NSF] img{padding:0;transform:scale(1.05)}@media (width>=768px){.affiliations-label{font-size:1.1rem}.affiliations-logo{width:40px;height:40px}}.panel-link-hover{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.panel-link-hover:hover{z-index:10;transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)!important}.dark .panel-link-hover:hover{box-shadow:6px 6px 0 var(--sa-white)!important}.panel-button{border:4px solid #0000}.panel-button:hover{border-color:var(--accent)}@media screen and (height>=800px){.comic{grid-template-rows:minmax(250px,1fr) minmax(250px,1fr) auto auto}.panel{min-height:250px}}@media screen and (height>=1200px){.comic{grid-template-rows:minmax(300px,1fr) minmax(300px,1fr) auto auto}.panel{min-height:300px}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-translate-x{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"<length>";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"<transform-function>";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"<transform-function>";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"<transform-function>";inherits:false;initial-value:rotate(0)}@property --tw-skew-x{syntax:"<transform-function>";inherits:false;initial-value:skew(0)}@property --tw-skew-y{syntax:"<transform-function>";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"<number>";inherits:false;initial-value:0}@property --tw-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-colored{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-colored{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}