:root{color-scheme:light;--ink:#25382e;--muted:#657168;--paper:#f5f3eb;--line:#d9ddd2;--accent:#416b4e}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #b27a20;outline-offset:6px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;padding:12px 20px;background:white;z-index:9}.skip:focus{top:10px}.masthead{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:750;letter-spacing:2.2px}.brand small{display:block;font-size:9px;letter-spacing:3.1px;font-weight:500;margin-top:6px}.seal{display:grid;place-items:center;border:1px solid #809080;width:41px;height:45px;border-radius:3px 3px 17px 17px;font:32px Georgia,serif}.quiet-link{font-size:13px;display:flex;gap:20px}.quiet-link:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.intro{padding-top:76px;padding-bottom:73px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 26px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:7px;height:7px;background:#79915b;border-radius:50%}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5.5vw,78px);font-weight:400;line-height:1.08;letter-spacing:-3.2px;margin:0;max-width:1000px}h1 em{font-weight:400;color:#6a7959}.lede{font-size:17px;line-height:1.8;max-width:660px;color:var(--muted);margin:26px 0 25px}.text-link{display:inline-flex;gap:36px;align-items:center;font-weight:600;font-size:13px}.collection{padding-bottom:86px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:24px 0}.section-heading h2{font:400 27px Georgia,serif;margin:0}.section-heading>span{font-size:10px;letter-spacing:1.3px;color:var(--muted)}.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.demo{min-width:0;background:#faf9f5;border:1px solid #dce0d6;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.demo:hover{box-shadow:0 12px 35px #293d2e0d;border-color:#aebaac}.visual{height:256px;position:relative;overflow:hidden;display:block}.visual>img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .5s}.demo:hover .visual>img{transform:scale(1.025)}.museum-visual>img{object-position:51% 52%}.museum-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#16291e99)}.visual-label{position:absolute;left:20px;bottom:17px;color:#fff9e9;z-index:1;font-size:11px;letter-spacing:.15px}.arcade-visual{background:#172d2c}.demo-copy{padding:26px 24px 25px;display:flex;flex-direction:column;flex:1}.category{margin:0 0 14px;font-size:9px;letter-spacing:1.6px;font-weight:700;color:#657365;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.demo h3{font:400 27px/1.16 Georgia,serif;letter-spacing:-.6px;margin:0 0 14px}.demo-copy>p:not(.category){font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 24px}.card-link{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--line);font-size:13px;font-weight:600;margin-top:auto;min-height:40px}.card-link:hover{color:#386a44}.card-link>span{font-size:19px}.free-label{font-size:8px;letter-spacing:.7px;background:#e5ecdf;padding:5px 6px;border-radius:3px;color:#3b6041}.calculator-visual{background:radial-gradient(ellipse at 40% 10%,#e8ebe2,#c7d6c9);display:flex;justify-content:center}.calculator-visual .visual-label{color:#314b39}.how{border-top:1px solid var(--line);padding-top:64px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1.5fr;gap:96px}.how-intro .eyebrow{font-size:10px;margin-bottom:20px}.how h2{font:400 44px/1.14 Georgia,serif;letter-spacing:-1.4px;margin:0 0 20px}.how p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.how-steps{display:grid;gap:26px}.how-steps article{display:flex;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--line)}.how-steps article:last-child{border-bottom:0;padding-bottom:0}.how-steps article>span{font:italic 21px Georgia,serif;color:#89957c;margin-top:1px}.how h3{font-size:17px;font-weight:600;margin:0 0 10px}footer{border-top:1px solid var(--line);padding-block:27px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}footer>span{font-family:Georgia,serif;font-size:16px;color:var(--ink)}footer p{margin:0}footer a:hover{text-decoration:underline}
@media(min-width:1600px){.intro{padding-top:90px;padding-bottom:88px}.visual{height:270px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.demo-grid{gap:16px}.demo-copy{padding:22px 18px}.demo h3{font-size:23px}.visual{height:210px}.how{gap:48px}.category{min-height:26px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.masthead{height:90px}.quiet-link{font-size:12px;max-width:125px;line-height:1.5;gap:8px}.brand{font-size:12px;letter-spacing:1.6px}.brand small{font-size:8px}.seal{width:34px;height:39px;font-size:27px}.intro{padding-block:48px 46px}h1{font-size:clamp(40px,8vw,59px);letter-spacing:-1.8px}.eyebrow{font-size:9px;letter-spacing:1.4px}.lede{font-size:15px;line-height:1.75}.section-heading{align-items:center;gap:20px}.section-heading h2{font-size:24px}.section-heading>span{max-width:120px;text-align:right;line-height:1.5;font-size:8px}.demo-grid{grid-template-columns:1fr;gap:24px}.visual{height:250px}.demo-copy{padding:24px}.demo h3{font-size:29px}.category{font-size:10px;min-height:0}.free-label{font-size:9px}.demo-copy>p:not(.category){font-size:15px}.card-link{font-size:14px;padding-top:20px;padding-bottom:3px}.collection{padding-bottom:50px}.how{grid-template-columns:1fr;gap:30px;padding-top:44px;padding-bottom:42px}.how h2{font-size:38px}.how-intro>p:last-child{max-width:460px}.how-steps{gap:22px}.how-steps article{gap:18px}footer{align-items:flex-start;flex-wrap:wrap;gap:16px;font-size:11px}footer p{order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.arrow-icon{flex-shrink:0;display:inline-block}


/* The miniature uses the 3.5-by-7.3-inch case proportions of a graphing
   handheld and a 3:2 LCD. It scales as one object through each card height. */
.calculator-visual{display:flex;justify-content:center;align-items:center;container-type:size;background:radial-gradient(ellipse at 45% 25%,#edf0df,#c6d3c5)}
.mini-gx{height:89%;aspect-ratio:35/73;width:auto;flex:none;padding:3.1% 2.35% 3.55%;padding:3.7cqh 2.7cqh 4cqh;display:flex;flex-direction:column;gap:1.6cqh;color:#eceddf;border:1px solid #202e2d;border-radius:4cqh 4cqh 6cqh 6cqh;background:linear-gradient(110deg,#42524c,#23342e 76%);box-shadow:inset 1px 1px 1px #81908a,inset -2px -3px 2px #172923,2px 3px 0 #1c2925,4px 7px 12px #31483750;transform:rotate(-6deg)}
.mini-plate{display:flex;align-items:center;justify-content:center;font:700 clamp(5px,2.55cqh,8px)/1 Arial,sans-serif;letter-spacing:.13em}
.mini-lcd{width:100%;aspect-ratio:3/2;padding:1.2cqh 1.4cqh;position:relative;flex:none;min-height:0;color:#294736;background:#d1dfbd;border-radius:1cqh;box-shadow:0 0 0 1.45cqh #15251e,inset 0 1px 1px #a3b69c;margin:1.45cqh 0}
.mini-lcd small{display:block;font:600 2.15cqh/1.1 monospace}.mini-lcd svg{position:absolute;bottom:2%;left:6%;width:88%;height:76%;fill:none}.mini-lcd .grid{stroke:#8f9f82;stroke-width:1}.mini-lcd .wave{stroke:#315e48;stroke-width:3}
.mini-functions,.mini-science,.mini-digits{display:grid;gap:1cqh}.mini-functions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6cqh}.mini-gx b,.mini-gx i{text-align:center;display:flex;align-items:center;justify-content:center;min-width:0;font:600 2cqh/1 Arial;padding:.75cqh 0;border-radius:.7cqh;box-shadow:0 1px 0 #101b16}.mini-functions b{font-size:1.65cqh;color:#20362c;background:#bdccbc}
.mini-keyfield{display:flex;align-items:center;justify-content:space-between;gap:1.1cqh}.mini-science{flex:1;grid-template-columns:repeat(3,1fr)}.mini-science i{background:#60736a;color:white}.mini-pad{width:8.2cqh;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#34483c;border:1px solid #8e9a8d;color:#d8ddd1}.mini-pad svg{width:90%;height:90%}
.mini-digits{flex:1;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.mini-digits i{font-size:2.65cqh;background:#e1e2d3;color:#24302c;padding:0}.mini-digits i:nth-child(4n){background:#99afa1}.mini-digits i:nth-last-child(2){background:#e89a64}
.museum-visual{background:#443f31}.museum-visual>img{object-fit:contain;object-position:center}.museum-visual:after{inset:55% 0 0;background:linear-gradient(transparent,#202b20ad)}

.game-links{margin-top:4px}.game-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.game-links a strong,.game-links a small{display:block}.game-links a strong{font-size:14px}.game-links a small{font-size:12px;line-height:1.45;margin-top:3px;color:var(--muted)}.game-links svg{flex:none;color:#456c4e}.game-links a:hover strong{text-decoration:underline;text-underline-offset:3px}
