:root{--font-display: "Helvetica Neue", Arial, system-ui, sans-serif;--font-body: "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--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: #6557d2;--topic-primary-light: #ede9ff;--topic-primary-dark: #4f43c6;--topic-secondary: #1a73e8;--topic-secondary-light: #e8f0fe;--topic-secondary-dark: #1558b0;--topic-accent: #9334e6;--topic-accent-light: #f3e8ff;--topic-accent-dark: #681da8;--topic-success: #188038;--topic-success-dark: #137333;--topic-danger: #d93025;--topic-gold: #fbbc04;--topic-bg: #ffffff;--topic-bg-alt: #f4f3f8;--topic-bg-warm: #f8fafd;--topic-card: #ffffff;--topic-border: #dadce0;--topic-border-strong: #c7c9d1;--topic-text: #202124;--topic-text-soft: #5f6368;--topic-text-faint: #80868b;--topic-shadow-color: rgba(60, 64, 67, .22);--topic-bg-gradient: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);--header-brand-text: #666666;--watermark-text: #a5a6aa;--keyboard-muted: #d1d0d6;--error-bg: #fce8e6;--shadow-header: 0 2px 2px rgba(60, 64, 67, .18), 0 1px 5px rgba(60, 64, 67, .14);--shadow-panel-right: 2px 0 5px rgba(60, 64, 67, .18);--shadow-panel-top: 0 -2px 8px rgba(60, 64, 67, .22);--surface-glass: rgba(255, 255, 255, .96);--surface-muted: #f7f7fb;--surface-blue: #e8f0fe;--surface-pink: #f3e8ff;--surface-green: #e6f4ea;--button-bg: var(--topic-primary);--button-text: #ffffff;--button-soft: #f1f3f4;--button-soft-text: var(--topic-text);--focus-ring: var(--topic-secondary);--shadow-soft: 0 2px 8px rgba(60, 64, 67, .18);--shadow-tight: 0 1px 3px rgba(60, 64, 67, .2);--axis-x: #e31b23;--axis-y: #188038;--axis-z: #001fff;--graph-grid: #c8c9cc;--graph-grid-strong: #aeb0b4;--graph-plane: #bcbec2;--graph-surface-low: #1a73e8;--graph-surface-mid: #6557d2;--graph-surface-high: #d93025;--graph-surface-band: #fbbc04;--app-header-height: 64px;--algebra-rail-width: 72px;--algebra-panel-width: 323px;--algebra-full-width: calc(var(--algebra-rail-width) + var(--algebra-panel-width));--keyboard-height: 222px;--mobile-panel-height: 280px;--shell-main: 1180px;color-scheme:light}@media(max-width:720px){:root{--app-header-height: 48px;--mobile-panel-height: 280px}}*,*: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.6}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.button,.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;border:0;border-radius:var(--radius-md);cursor:pointer;font-weight:700;text-decoration:none;transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease}.button{padding:.68rem 1rem;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{box-shadow:var(--shadow-soft)}.button:active,.tool-button:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-shell{width:min(calc(100% - 2rem),var(--shell-main));margin:0 auto}.section{padding:var(--space-2xl) 0}.section.stack{display:grid;gap:var(--space-lg)}.section-header{display:grid;max-width:760px;gap:.7rem}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:var(--space-xl);align-items:start}.text-stack,.list-grid,.bento-grid{display:grid;gap:var(--space-md)}.list-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bento-grid{grid-template-columns:1.1fr .9fr .9fr}.content-card,.mini-card,.surface-panel{border:1px solid var(--topic-border);border-radius:var(--radius-md);background:var(--topic-card);box-shadow:var(--shadow-tight)}.content-card,.mini-card{display:grid;gap:.75rem;padding:var(--space-lg);text-decoration:none}.mini-card{padding:var(--space-md)}.content-card.large{grid-row:span 2;min-height:360px}.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)}.eyebrow,.formula-chip{display:inline-flex;width:fit-content;max-width:100%;align-items:center;border-radius:var(--radius-md);font-weight:700}.eyebrow{padding:.35rem .7rem;background:var(--topic-secondary-light);color:var(--topic-secondary-dark);font-size:.86rem}.formula-chip{overflow-wrap:anywhere;background:var(--surface-muted);padding:.32rem .5rem;color:var(--topic-text);font-family:var(--font-mono);font-size:.84rem}h1,h2,h3{margin:0;color:var(--topic-text);font-family:var(--font-display);letter-spacing:0;line-height:1.12}h1{max-width:16ch;font-size:3.6rem;text-wrap:balance}h2{font-size:2.4rem;text-wrap:balance}h3{font-size:1.16rem}p{margin:0}.lead{max-width:62ch;color:var(--topic-text-soft);font-size:1.08rem;overflow-wrap:anywhere}.hero-actions,.card-actions,.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.content-card p,.mini-card p,.text-stack p{color:var(--topic-text-soft)}.content-card ul,.content-card ol{display:grid;gap:.5rem;margin:0;padding-left:1.25rem}.content-card li{color:var(--topic-text);font-size:.94rem}.content-card code{border-radius:var(--radius-sm);background:var(--surface-muted);padding:.15rem .4rem;font-family:var(--font-mono);font-size:.86rem}.footer{margin-top:var(--space-2xl);border-top:1px solid var(--topic-border);padding:var(--space-xl) 0;color:var(--topic-text-soft)}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-xl)}.footer-col{display:grid;gap:.65rem;align-content:start}.footer-col strong{color:var(--topic-text);font-family:var(--font-display);font-size:1.02rem}.footer-col a{color:var(--topic-text-soft);text-decoration:none;font-size:.94rem}.footer-col a:hover{color:var(--topic-text);text-decoration:underline}.footer-col p,.footer-bottom p{color:var(--topic-text-soft);font-size:.94rem}.footer-bottom{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--topic-border);text-align:center}@media(max-width:980px){.two-column{grid-template-columns:1fr}.bento-grid{grid-template-columns:1fr 1fr}.content-card.large{grid-row:auto;min-height:220px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.site-shell{width:min(calc(100% - 1rem),var(--shell-main))}.section{padding:var(--space-xl) 0}.bento-grid,.list-grid,.footer-grid{grid-template-columns:1fr}h1{font-size:2.55rem}h2{font-size:2rem}}.site-nav{position:sticky;top:0;z-index:40;height:var(--app-header-height);background:var(--topic-card);box-shadow:var(--shadow-header)}.app-header-inner{display:flex;align-items:center;width:100%;height:100%;gap:.45rem;padding:0 18px}.header-icon-button{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:0;border-radius:var(--radius-full);background:transparent;color:var(--topic-text-soft);text-decoration:none}.header-icon-button:hover{background:var(--surface-muted)}.header-icon-button>span,.header-icon-button>span:before,.header-icon-button>span:after{display:block;width:18px;height:2px;border-radius:var(--radius-full);background:currentColor;content:""}.header-icon-button>span:before{transform:translateY(-6px)}.header-icon-button>span:after{transform:translateY(4px)}.header-icon-button svg{width:24px;height:24px;fill:currentColor}.brand-link{display:inline-flex;align-items:center;gap:.35rem;height:48px;color:var(--header-brand-text);font-family:var(--font-display);font-size:1.72rem;font-weight:400;line-height:1;text-decoration:none}.brand-mark{position:relative;width:20px;height:20px;border:2px solid var(--topic-border-strong);border-radius:var(--radius-full)}.brand-mark:before,.brand-mark:after{position:absolute;width:6px;height:6px;border-radius:var(--radius-full);background:var(--topic-primary);content:""}.brand-mark:before{top:-3px;right:1px}.brand-mark:after{bottom:0;left:-3px}.app-title-link{margin-left:.8rem;color:var(--header-brand-text);font-size:1.5rem;font-weight:700;text-decoration:none;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}.assign-button{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:36px;border-radius:var(--radius-sm);background:var(--topic-primary);color:var(--button-text);font-size:.9rem;font-weight:700;text-decoration:none}.assign-button:hover{background:var(--topic-primary-dark)}.sign-in-link{color:var(--topic-text);font-size:1rem;text-decoration:none;white-space:nowrap}.home-workbench{min-height:calc(100dvh - var(--app-header-height));background:var(--topic-card)}.home-workbench .calculator-panel{height:calc(100dvh - var(--app-header-height));min-height:560px}.noscript-panel{display:grid;max-width:680px;gap:var(--space-md);margin:var(--space-xl) auto;padding:var(--space-lg)}.calculator-panel{position:relative;width:100%;height:min(720px,calc(100dvh - var(--app-header-height)));min-height:640px;overflow:hidden;border:1px solid var(--topic-border);border-radius:var(--radius-md);background:var(--topic-card);box-shadow:var(--shadow-soft)}.home-workbench .calculator-panel,.embed-body .calculator-panel{border:0;border-radius:0;box-shadow:none}.graph-stage{position:absolute;inset:0 0 var(--keyboard-height) var(--algebra-full-width);min-width:0;background:var(--topic-card)}.graph-canvas{position:absolute;inset:0}.algebra-shell{position:absolute;inset:0 auto var(--keyboard-height) 0;z-index:3;display:grid;grid-template-columns:var(--algebra-rail-width) var(--algebra-panel-width);width:var(--algebra-full-width);background:var(--topic-card)}.algebra-rail{display:grid;align-content:start;gap:1.15rem;border-right:1px solid var(--topic-border);background:var(--topic-card);padding-top:32px}.rail-tab{display:grid;width:100%;gap:.25rem;place-items:center;border:0;background:transparent;color:var(--topic-text-soft);cursor:pointer;font-size:.7rem}.rail-tab svg{width:24px;height:24px}.rail-tab.active,.rail-tab:hover{color:var(--topic-text)}.algebra-panel{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border-right:1px solid var(--topic-border);background:var(--topic-card);box-shadow:var(--shadow-panel-right)}.algebra-expression-row{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:48px;border-bottom:1px solid var(--topic-primary)}.algebra-add-button{border:0;border-right:1px solid var(--topic-border);background:var(--topic-card);color:var(--topic-text-soft);cursor:pointer;font-size:1.65rem;line-height:1}.algebra-expression-input{display:grid;min-width:0}.algebra-expression-input input,.desktop-expression-input input{width:100%;min-width:0;border:0;background:var(--topic-card);color:var(--topic-text);font-size:1rem;outline:0;padding:0 .85rem}.graph-status{display:flex;flex-wrap:wrap;gap:.35rem;padding:.7rem .75rem 0;pointer-events:none}.status-pill{border:1px solid var(--topic-border);border-radius:var(--radius-full);background:var(--surface-muted);padding:.22rem .5rem;color:var(--topic-text-soft);font-family:var(--font-mono);font-size:.7rem;font-weight:700}.algebra-settings{display:grid;gap:.75rem;max-height:min(430px,calc(100dvh - 260px));overflow:auto;margin:.75rem;border:1px solid var(--topic-border);border-radius:var(--radius-md);background:var(--surface-muted);padding-bottom:.75rem}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem 0;color:var(--topic-text)}.settings-header button{display:inline-grid;width:30px;height:30px;place-items:center;border:0;border-radius:var(--radius-full);background:transparent;color:var(--topic-text-soft);cursor:pointer;font-size:1.4rem;line-height:1}.settings-header button:hover{background:var(--topic-card)}.field,.teacher-card,.toggle-row,.tool-grid,.algebra-settings canvas{margin-right:.75rem;margin-left:.75rem}.field{display:grid;gap:.35rem}.field label,.toggle-row{color:var(--topic-text);font-size:.88rem;font-weight:700}.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:.55rem .6rem}.range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.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-primary)}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.tool-button{min-width:40px;padding:.55rem .7rem;background:var(--button-bg);color:var(--button-text);font-size:.85rem}.tool-button svg{width:17px;height:17px;flex:0 0 auto}.teacher-card{display:grid;gap:.55rem;border-radius:var(--radius-md);background:var(--surface-blue);padding:var(--space-md)}.teacher-card p{color:var(--topic-text-soft);font-size:.9rem}.algebra-settings canvas{width:calc(100% - 1.5rem);height:auto;border:1px solid var(--topic-border);border-radius:var(--radius-sm);background:var(--topic-card)}.panel-watermark{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:auto;padding-bottom:48px;color:var(--watermark-text);font-size:1rem}.watermark-mark{width:22px;height:22px;clip-path:polygon(50% 0,100% 88%,0 88%);background:linear-gradient(135deg,var(--topic-primary-light),var(--topic-secondary-light));border:1px solid var(--topic-border-strong)}.floating-icon-button{display:inline-grid;place-items:center;border:0;cursor:pointer;color:var(--topic-text-soft)}.floating-icon-button{width:38px;height:38px;border-radius:var(--radius-full);background:var(--topic-card);box-shadow:var(--shadow-tight)}.floating-icon-button svg{width:22px;height:22px}.graph-settings-button{position:absolute;top:14px;right:14px;z-index:4;box-shadow:none}.zoom-control-stack{position:absolute;right:16px;bottom:calc(var(--keyboard-height) + 14px);z-index:4;display:grid;gap:8px}.expression-dock{position:absolute;right:0;bottom:0;left:var(--algebra-full-width);z-index:5;display:grid;justify-content:center;align-content:start;height:var(--keyboard-height);border-top:1px solid var(--topic-border);background:var(--topic-bg-alt);padding-top:8px}.keyboard-tabs{display:flex;align-items:center;gap:.25rem;width:min(640px,calc(100vw - var(--algebra-full-width) - 2rem));height:31px}.keyboard-tab{min-width:52px;height:28px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--topic-text);cursor:pointer;font-size:1rem;font-weight:600}.keyboard-tab.active{background:var(--topic-primary-light);color:var(--topic-text)}.keyboard-tab.icon-only{margin-left:auto}.keyboard-tab svg{width:22px;height:22px}.desktop-expression-input{display:none}.keyboard-grid{display:grid;grid-template-columns:repeat(9,66px);grid-auto-rows:40px;gap:4px}.keyboard-key{display:inline-grid;place-items:center;min-width:0;border:0;border-radius:var(--radius-md);background:var(--topic-card);color:var(--topic-text);cursor:pointer;font-size:1.18rem;font-weight:600}.keyboard-key:hover{background:var(--topic-secondary-light)}.keyboard-key-muted{background:var(--keyboard-muted)}.keyboard-key svg{width:22px;height:22px}.calculator-toast-layer{position:absolute;right:20px;bottom:calc(var(--keyboard-height) + 20px);z-index:8;display:grid;gap:.5rem;width:min(320px,calc(100% - 40px));pointer-events:none}.notice,.error-box{border-radius:var(--radius-md);padding:.8rem .9rem;box-shadow:var(--shadow-soft);font-weight:700}.notice{background:var(--surface-green);color:var(--topic-success-dark)}.error-box{background:var(--error-bg);color:var(--topic-danger)}.calculator-compact{height:540px;min-height:540px}.calculator-compact .expression-dock{display:none}.calculator-compact .graph-stage,.calculator-compact .algebra-shell{bottom:0}.calculator-compact .zoom-control-stack,.calculator-compact .calculator-toast-layer{bottom:16px}.embed-body{margin:0;background:transparent}.embed-body .calculator-panel{height:100dvh;min-height:100dvh}@media(max-width:980px){.calculator-panel,.home-workbench .calculator-panel{height:calc(100dvh - var(--app-header-height));min-height:620px}.graph-stage{inset:0 0 var(--mobile-panel-height) 0}.algebra-shell{inset:auto 0 0;display:grid;grid-template-rows:minmax(0,1fr) 56px;grid-template-columns:1fr;width:100%;height:var(--mobile-panel-height);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-panel-top)}.algebra-shell:before{position:absolute;top:10px;left:50%;width:28px;height:4px;border-radius:var(--radius-full);background:var(--topic-border);content:"";transform:translate(-50%)}.algebra-panel{grid-row:1;border-right:0;box-shadow:none}.algebra-rail{grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;gap:0;border-top:1px solid var(--topic-border);border-right:0;padding:0}.rail-tab{align-content:center}.algebra-expression-row{grid-template-columns:56px minmax(0,1fr);min-height:64px;margin-top:16px;border-top:1px solid var(--topic-border);border-bottom-color:var(--topic-border)}.algebra-panel .graph-status{display:none}.algebra-settings{max-height:118px;margin-top:.5rem}.panel-watermark{padding-bottom:28px}.expression-dock{display:none}.zoom-control-stack{bottom:calc(var(--mobile-panel-height) + 16px)}.calculator-toast-layer{bottom:calc(var(--mobile-panel-height) + 20px)}}@media(max-width:720px){.app-header-inner{gap:.25rem;padding:0 10px}.header-icon-button{width:36px;height:36px}.brand-link{height:40px;font-size:1.2rem}.brand-mark{width:15px;height:15px}.app-title-link,.share-link,.sign-in-link{display:none}.header-actions{gap:.4rem}.assign-button{min-width:96px;height:36px}.calculator-panel,.home-workbench .calculator-panel{min-height:560px}.graph-settings-button{top:12px;right:12px}.panel-watermark{font-size:.95rem}}
