:root{--font-display: ui-rounded, "Nunito", "Quicksand", system-ui, sans-serif;--font-body: "Quicksand", "Nunito", ui-sans-serif, system-ui, sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, monospace;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--topic-primary: #F8A5B8;--topic-primary-light: #FFCAD4;--topic-primary-dark: #E8899C;--topic-secondary: #7BC8F6;--topic-secondary-light: #A5DDFB;--topic-secondary-dark: #5AADE0;--topic-accent: #C9A0DC;--topic-accent-light: #DFC5EC;--topic-accent-dark: #A87DC2;--topic-success: #8ED16C;--topic-success-dark: #6DB855;--topic-gold: #F5D76E;--topic-bg: #FFF9F5;--topic-bg-alt: #FFF5E6;--topic-bg-warm: #FFF5F8;--topic-card: #FFFFFF;--topic-border: #F0E6EB;--topic-text: #5D4E60;--topic-text-soft: #7A6B7D;--topic-text-faint: #9B8A9E;--topic-shadow-color: rgba(248, 165, 184, .15);--topic-bg-gradient: linear-gradient(135deg, #FFF9F5 0%, #F0F8FF 50%, #FFF5F8 100%);--surface-glass: rgba(255, 255, 255, .9);--surface-muted: color-mix(in srgb, var(--topic-card) 78%, var(--topic-bg) 22%);--surface-blue: color-mix(in srgb, var(--topic-secondary-light) 38%, var(--topic-card) 62%);--surface-pink: color-mix(in srgb, var(--topic-primary-light) 45%, var(--topic-card) 55%);--surface-green: color-mix(in srgb, var(--topic-success) 22%, var(--topic-card) 78%);--button-bg: var(--topic-text);--button-text: var(--topic-card);--button-soft: var(--topic-primary-light);--button-soft-text: var(--topic-text);--focus-ring: var(--topic-accent-dark);--shadow-soft: 0 10px 30px var(--topic-shadow-color);--shadow-tight: 0 8px 20px color-mix(in srgb, var(--topic-text) 10%, transparent);--shell-main: 1180px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--topic-bg);color:var(--topic-text);font-family:var(--font-body);line-height:1.65}body:before{position:fixed;inset:0;z-index:-1;background:var(--topic-bg-gradient);content:"";pointer-events:none}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.site-shell{width:min(calc(100% - 2rem),var(--shell-main));margin:0 auto}.site-nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);background:color-mix(in srgb,var(--topic-bg) 86%,transparent);border-bottom:1px solid color-mix(in srgb,var(--topic-border) 72%,transparent)}.site-nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:var(--space-lg)}.brand-link{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-weight:900;text-decoration:none;letter-spacing:0}.brand-mark{display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--topic-primary) 42%,var(--topic-card));border-radius:var(--radius-md);background:linear-gradient(135deg,var(--topic-primary-light),var(--topic-secondary-light));box-shadow:var(--shadow-tight);color:var(--topic-text);font-family:var(--font-mono);font-size:.86rem}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-links a,.inline-link{border-radius:var(--radius-full);color:var(--topic-text-soft);font-weight:800;text-decoration:none}.nav-links a{padding:.56rem .8rem}.nav-links a:hover,.inline-link:hover{background:var(--surface-pink);color:var(--topic-text)}.button,.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:42px;border:0;border-radius:var(--radius-full);cursor:pointer;font-weight:900;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button{padding:.72rem 1.05rem;background:var(--button-bg);color:var(--button-text);box-shadow:var(--shadow-tight)}.button.secondary,.tool-button.secondary{background:var(--button-soft);color:var(--button-soft-text)}.button:hover,.tool-button:hover{transform:translateY(-1px)}.button:active,.tool-button:active{transform:translateY(1px) scale(.99)}.hero{display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:stretch;padding:var(--space-md) 0 var(--space-xl)}.hero-copy{display:grid;justify-items:center;width:100%;max-width:900px;margin:0 auto;gap:.85rem;min-width:0;text-align:center}.hero-calculator{width:min(100%,1040px);margin:0 auto}.eyebrow{display:inline-flex;width:fit-content;align-items:center;gap:.45rem;padding:.38rem .8rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--topic-secondary-light) 42%,var(--topic-card) 58%);color:var(--topic-text);font-size:.86rem;font-weight:900}h1,h2,h3{margin:0;color:var(--topic-text);font-family:var(--font-display);letter-spacing:0;line-height:1.08}h1{width:min(100%,11ch);max-width:11ch;font-size:2.65rem;text-wrap:balance}h2{font-size:2.1rem;text-wrap:balance}h3{font-size:1.2rem}p{margin:0}.lead{max-width:62ch;color:var(--topic-text-soft);font-size:1.08rem;overflow-wrap:anywhere}.hero .lead{max-width:58ch}.hero-actions,.card-actions,.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.hero-actions{justify-content:center;max-width:100%}.hero-actions .button{max-width:100%;text-align:center;white-space:normal}.surface-panel,.content-card,.calculator-panel{border:1px solid var(--topic-border);border-radius:var(--radius-lg);background:var(--surface-glass);box-shadow:var(--shadow-soft)}.surface-panel{padding:.75rem}.section{padding:var(--space-2xl) 0}.section.stack{display:grid;gap:var(--space-lg)}.section-header{display:grid;max-width:760px;gap:.7rem}.bento-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:var(--space-md)}.content-card{display:grid;gap:.75rem;min-height:170px;padding:var(--space-lg);text-decoration:none}.content-card:nth-child(4n+1){background:var(--surface-pink)}.content-card:nth-child(4n+2){background:var(--surface-blue)}.content-card:nth-child(4n+3){background:var(--surface-green)}.content-card.large{grid-row:span 2;min-height:360px}.card-kicker,.formula-chip{color:var(--topic-text-soft);font-family:var(--font-mono);font-size:.84rem}.formula-chip{width:fit-content;max-width:100%;overflow-wrap:anywhere;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--topic-card) 78%,transparent);padding:.35rem .55rem;color:var(--topic-text)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:var(--space-xl);align-items:start}.text-stack{display:grid;gap:var(--space-md)}.list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}.mini-card{display:grid;gap:.55rem;border:1px solid var(--topic-border);border-radius:var(--radius-md);background:var(--topic-card);padding:var(--space-md);text-decoration:none;box-shadow:var(--shadow-tight)}.mini-card p,.content-card p,.text-stack p{color:var(--topic-text-soft)}.footer{margin-top:var(--space-2xl);border-top:1px solid var(--topic-border);padding:var(--space-xl) 0;color:var(--topic-text-soft)}.calculator-panel{width:100%;overflow:hidden;background:var(--topic-card)}.calculator-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:600px}.graph-stage{position:relative;min-width:0;min-height:560px;background:linear-gradient(135deg,color-mix(in srgb,var(--topic-primary-light) 18%,transparent),color-mix(in srgb,var(--topic-secondary-light) 24%,transparent)),var(--topic-bg)}.graph-canvas{position:absolute;inset:0}.graph-status{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem;pointer-events:none}.status-pill{border:1px solid color-mix(in srgb,var(--topic-border) 70%,transparent);border-radius:var(--radius-full);background:color-mix(in srgb,var(--topic-card) 85%,transparent);padding:.35rem .65rem;color:var(--topic-text);font-family:var(--font-mono);font-size:.78rem;font-weight:700}.control-panel{display:grid;align-content:start;gap:var(--space-md);min-width:0;border-left:1px solid var(--topic-border);background:color-mix(in srgb,var(--topic-bg) 42%,var(--topic-card) 58%);padding:var(--space-md)}.field{display:grid;gap:.45rem}.field label,.toggle-row{color:var(--topic-text);font-size:.92rem;font-weight:900}.field input,.field select,.field textarea{width:100%;border:1px solid var(--topic-border);border-radius:var(--radius-sm);background:var(--topic-card);color:var(--topic-text);padding:.65rem .75rem}.field textarea{min-height:88px;resize:vertical;font-family:var(--font-mono);line-height:1.45}.range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.toggle-row input{width:20px;height:20px;accent-color:var(--topic-accent-dark)}.tool-button{min-width:42px;padding:.64rem .85rem;background:var(--button-bg);color:var(--button-text)}.tool-button svg{width:18px;height:18px;flex:0 0 auto}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.notice,.error-box,.teacher-card,.contour-box{border-radius:var(--radius-md);padding:var(--space-md)}.notice{background:var(--surface-green);color:var(--topic-text);font-weight:800}.error-box{background:color-mix(in srgb,var(--topic-primary-light) 72%,var(--topic-card) 28%);color:var(--topic-text);font-weight:800}.teacher-card{display:grid;gap:.65rem;background:var(--surface-blue)}.contour-box{display:grid;gap:.55rem;background:var(--surface-muted)}.contour-box canvas{width:100%;aspect-ratio:1 / 1;border:1px solid var(--topic-border);border-radius:var(--radius-sm);background:var(--topic-card)}.embed-body{margin:0;background:transparent}.embed-body .calculator-panel{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.embed-body .calculator-grid{min-height:100dvh}.calculator-compact .calculator-grid{grid-template-columns:minmax(0,1.08fr) 280px;min-height:520px}.calculator-compact .graph-stage{min-height:520px}.calculator-compact .control-panel{padding:.85rem}.calculator-compact .field textarea{min-height:70px}.hero-calculator .calculator-compact .calculator-grid{grid-template-columns:minmax(0,1fr) 300px;min-height:370px}.hero-calculator .calculator-compact .graph-stage{min-height:370px}.hero-calculator .calculator-compact .control-panel{gap:var(--space-sm)}@media(min-width:721px){h1{width:min(100%,14ch);max-width:14ch;font-size:3.85rem}h2{font-size:2.75rem}}@media(min-width:1180px){h1{width:min(100%,16ch);max-width:16ch;font-size:4.3rem}h2{font-size:3.1rem}}@media(max-width:980px){.hero,.two-column,.calculator-grid{grid-template-columns:1fr}h1{width:min(100%,11ch);max-width:11ch}.control-panel{border-left:0;border-top:1px solid var(--topic-border)}.calculator-compact .calculator-grid{grid-template-columns:1fr}.hero-calculator .calculator-compact .calculator-grid{grid-template-columns:1fr;min-height:auto}.calculator-compact .graph-stage{min-height:430px}.hero-calculator .calculator-compact .graph-stage{min-height:340px}.bento-grid{grid-template-columns:1fr 1fr}.content-card.large{grid-row:auto;min-height:220px}}@media(max-width:720px){.site-shell{width:min(calc(100% - 1rem),var(--shell-main))}.site-nav-inner{min-height:auto;align-items:flex-start;flex-direction:column;padding:.75rem 0}.nav-links{width:100%;overflow-x:auto;padding-bottom:.2rem}.hero{padding-top:var(--space-md)}.hero-actions{flex-direction:column;align-items:center;width:100%}.hero-actions .button{width:min(100%,220px);flex:none;padding-right:.85rem;padding-left:.85rem}.hero .lead{max-width:28ch;font-size:1rem;overflow-wrap:normal;text-wrap:balance}.bento-grid,.list-grid{grid-template-columns:1fr}.graph-stage{min-height:430px}.hero-calculator .calculator-compact .graph-stage{min-height:320px}.hero-calculator .calculator-compact .control-panel{padding:var(--space-sm)}.tool-grid{grid-template-columns:1fr}.hero-calculator .calculator-compact .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
