:root{--text:#0F172A;--text-muted:#475569;--text-invert:#FFFFFF;--surface:#FFFFFF;--surface-muted:#F8FAFC;--surface-alt:#F1F5F9;--border:#E2E8F0;--border-strong:#CBD5E1;--accent:#2563EB;--accent-dark:#1D4ED8;--accent-soft:#DBEAFE;--accent-rgb:37,99,235;--font-body:Outfit,'Noto Color Emoji',sans-serif;--font-mono:'Courier Prime','Courier New',Courier,monospace;--border-radius:0px}*{box-sizing:border-box;font-family:var(--font-body);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}html{scroll-behavior:smooth}body{min-width:320px;font-family:var(--font-body);background-color:var(--surface-muted);color:var(--text)}a{color:inherit;text-decoration:none}button{margin:0;padding:0;border:none;background:none;color:inherit;font-family:inherit}img{display:block;max-width:100%;height:auto;-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);color:var(--text);letter-spacing:0px;line-height:1.2}p{font-size:14px;line-height:1.7;color:var(--text);text-align:justify;text-wrap:pretty;hyphens:auto;hyphenate-limit-chars:4 2 2;hyphenate-limit-zone:50px;hyphenate-limit-lines:no-limit;hyphenate-limit-last:always}@media (min-width:640px){p{font-size:16px}}.katex,.katex *{font-size:11px!important;font-family:KaTeX_Main,'Times New Roman',serif}@media (min-width:640px){.katex,.katex *{font-size:16px!important}}.katex-display{padding-right:2px}.page{display:flex;flex-direction:column;align-items:stretch;background:var(--surface-muted);min-height:100vh}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100vh;min-height:100vh;background:var(--accent-soft);position:relative;overflow:hidden}.hero-shapes{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.hero-shape{position:absolute}.hero-shape-1{top:-120px;left:-160px;width:380px;height:380px;border-radius:50%;background:rgba(var(--accent-rgb),0.09)}.hero-shape-2{bottom:-140px;right:-130px;width:320px;height:320px;border-radius:50%;border:40px solid rgba(var(--accent-rgb),0.08)}.hero-shape-3{top:22%;right:-160px;width:320px;height:170px;transform:rotate(-14deg);background:rgba(var(--accent-rgb),0.07);border-radius:28px}.hero-shape-4{top:auto;bottom:16%;left:-70px;transform:none;width:180px;height:180px;border-radius:50%;background:rgba(var(--accent-rgb),0.10)}.hero-shape-5{bottom:10%;left:-90px;width:400px;height:220px;transform:rotate(10deg);background:rgba(var(--accent-rgb),0.08);border-radius:32px;display:none}.hero-shape-6{top:55%;left:55%;width:120px;height:120px;border-radius:50%;border:18px solid rgba(var(--accent-rgb),0.07)}@media (min-width:640px){.hero-shape-1{top:-220px;left:-220px;width:720px;height:720px}.hero-shape-2{bottom:-200px;right:-160px;width:540px;height:540px;border-width:70px}.hero-shape-3{top:20%;right:-120px;width:520px;height:280px}.hero-shape-4{top:8%;bottom:auto;left:50%;transform:translateX(-50%);width:240px;height:240px}.hero-shape-5{display:block}.hero-shape-6{top:62%;left:30%;width:220px;height:220px;border-width:32px}}#random-walks{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;width:100%;max-width:1080px;padding:0px 24px 0px 24px;flex:1;position:relative;z-index:2}@media (min-width:640px){.hero-content{padding:0px 48px 0px 48px}}.hero-eyebrow{margin:0px 0px -5px 0px;font-size:14px;font-weight:700;letter-spacing:4px;color:var(--accent);text-align:center}.hero-title{font-size:34px;font-weight:600;text-align:center;line-height:1.05}.hero-subtitle{font-size:14px;color:var(--text-muted);text-align:center;max-width:720px;line-height:1.65;text-wrap:balance}@media (min-width:640px){.hero-eyebrow{font-size:18px;letter-spacing:5px}.hero-title{font-size:72px}.hero-subtitle{font-size:18px}}.hero-source{display:block}.hero-source-inner{display:flex;flex-direction:row;align-items:center;gap:8px;margin:10px auto 0px auto;padding:10px 16px 10px 16px;color:var(--text-invert);background-color:var(--accent);border:2px solid var(--accent);border-radius:var(--border-radius);transition:all 0.2s ease}.hero-source:hover .hero-source-inner{background-color:var(--accent-dark);border:2px solid var(--accent-dark)}.hero-source-label-short,.hero-source-label-long{color:var(--text-invert);font-size:12px;font-weight:600}.hero-source-label-short{display:block}.hero-source-label-long{display:none}@media (min-width:640px){.hero-source-label-short{display:none}.hero-source-label-long{display:block;font-size:13px}}.hero-chevron{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);animation:bounceDown 2.5s ease-in-out infinite;z-index:2;color:var(--accent)}@media (min-width:640px){.hero-chevron{bottom:120px}}.content-outer{display:flex;flex-direction:column;align-items:center;width:100%}.content{display:flex;flex-direction:column;align-items:stretch;gap:48px;width:100%;max-width:1080px;padding:32px 20px 32px 20px}@media (min-width:640px){.content{padding:48px 32px 48px 32px}}.section{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;scroll-margin-top:80px}.section-heading{font-size:28px;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-align:center;color:var(--text);width:100%}@media (min-width:640px){.section-heading{font-size:40px;letter-spacing:2px}}.section-text{width:100%;font-size:12px;color:var(--text-muted);line-height:1.65}@media (min-width:640px){.section-text{font-size:16px}}.math-row{display:flex;align-items:center;justify-content:center;width:100%;overflow-x:auto}.math-container{width:fit-content;overflow-x:auto}.factor-card{display:flex;flex-direction:column;width:100%;min-height:100px;padding:0px 20px 0px 20px;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--surface);transition:all 0.2s ease}@media (min-width:640px){.factor-card{padding:12px 32px 12px 32px}}.factor-definition{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:20px 0px 20px 0px}.factor-definition-header{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%}.factor-symbol{font-family:'Courier Prime','Courier New',Courier,monospace;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:4px 10px 2px 10px;border-radius:var(--border-radius);white-space:nowrap}.factor-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.factor-text{width:100%;font-size:12px;color:var(--text-muted);line-height:1.65}@media (min-width:640px){.factor-symbol{font-size:13px}.factor-name{font-size:16px}.factor-text{font-size:13px}}.divider{width:100%;height:1px;background-color:var(--border)}.divider-white{background-color:#FFFFFF}.control-panel{display:flex;width:100%;margin:10px 0px 0px 0px;padding:12px;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--surface-alt)}@media (min-width:640px){.control-panel{padding:16px}}.control-panel-pills{flex-direction:column;align-items:center;justify-content:center;gap:12px}@media (min-width:640px){.control-panel-pills{flex-direction:row}}.control-panel-stack{flex-direction:column;align-items:center;gap:12px}.pill-button{flex:0 0 auto;width:100%;height:40px;padding:0px 16px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-muted);transition:all 0.2s ease}.pill-button:hover{border:2px solid var(--accent);color:var(--accent)}.pill-button.is-active{background:var(--accent);color:var(--text-invert);border:2px solid var(--accent)}.pill-button.is-active:hover{background:var(--accent-dark);border:2px solid var(--accent-dark);color:var(--text-invert)}@media (min-width:640px){.pill-button{flex:1;font-size:13px}}.sort-pills{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%}@media (min-width:640px){.sort-pills{flex-direction:row}}.grid-cards{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%}@media (min-width:640px){.grid-cards{flex-direction:row}}.grid-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex:0 0 auto;height:40px;padding:0px 18px;border-radius:var(--border-radius);background:var(--surface);cursor:pointer;text-align:left;transition:all 0.2s ease;border:2px solid var(--border)}.grid-card:hover{border:2px solid var(--accent)}.grid-card.is-active{border:2px solid var(--accent)}@media (min-width:640px){.grid-card{flex:1}}.grid-card-label{font-size:11px;font-weight:700;color:var(--text)}@media (min-width:640px){.grid-card-label{font-size:13px}}.grid-card-indicator{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;margin-left:12px;border-radius:999px;border:1.5px solid var(--border-strong)}.grid-card-indicator svg{display:none}.grid-card.is-active .grid-card-indicator{background:var(--accent);border:none}.grid-card.is-active .grid-card-indicator svg{display:block;color:var(--text-invert)}.sort-select{width:100%;height:40px;padding:0px 36px 0px 14px;border:2px solid var(--border);border-radius:var(--border-radius);outline:none;box-shadow:none;background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all 0.2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}.sort-select:hover,.sort-select:active{background-color:var(--accent-soft);border:2px solid var(--accent)}@media (min-width:640px){.sort-select{font-size:15px}}.carousel{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.carousel-button{display:flex;align-items:center;justify-content:center;width:calc(50% - 110px);height:40px;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text);cursor:pointer;transition:all 0.2s ease}.carousel-button:hover{border:2px solid var(--accent);color:var(--accent);background:var(--accent-soft)}.carousel-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:220px;margin:0px 10px 0px 10px}.carousel-label{font-size:12px;font-weight:600;color:var(--text);text-align:center}@media (min-width:640px){.carousel-label{font-size:13px}}.carousel-dots{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}.carousel-dot{width:8px;height:8px;border-radius:999px;background:var(--border-strong);cursor:pointer}.carousel-dot:hover{background:var(--accent)}.carousel-dot.is-active{width:24px;background:var(--accent)}.carousel-dot.is-active:hover{background:var(--accent)}.figure-frame{display:flex;align-items:stretch;justify-content:center;width:100%;min-height:200vh;padding:4px 4px 4px 4px;border:2px solid var(--border);border-radius:var(--border-radius);background:var(--surface);animation:fadeIn 0.25s ease;content-visibility:auto;contain-intrinsic-size:1px 600px}@media (min-width:640px){.figure-frame{padding:18px 12px 18px 12px}}.figure-frame img{display:block;width:100%;height:auto}.closing-link{display:inline-block;align-self:center;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;transition:all 0.2s ease}.closing-link:hover{color:var(--accent);border-bottom:2px solid var(--accent)}.closing-link-text{display:block;color:inherit;font-size:12px;line-height:1.65;text-align:center}@media (min-width:640px){.closing-link-text{font-size:16px}}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceDown{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}