
:root{--paper:#f7f5ed;--ink:#233f36;--green:#245e4c;--muted:#5d6e62;--line:#d8ddce;--lime:#e3efb4;--pink:#f2d6cd;--blue:#d7e6f1;--white:#fffef8;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1160px;margin:auto;padding:26px 30px 20px;display:flex;align-items:center;gap:18px}.brand{color:var(--ink);font-size:23px;font-weight:750;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.brand-icon{font-size:36px;vertical-align:middle;color:var(--green);margin-right:8px}.year{margin-left:auto;font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);padding:13px 20px;font-weight:650;min-height:48px}button:hover{border-color:var(--green);background:#edf1df}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ad672e;outline-offset:4px}.quiet{background:transparent;border-color:transparent;font-size:13px}nav{display:flex;gap:8px;max-width:1100px;margin:auto;padding:0 0 16px;border-bottom:1px solid var(--line)}nav button{font-size:14px;padding:10px 16px;min-height:42px;background:transparent;border-color:transparent}nav button.active{background:var(--green);color:white}main{max-width:1100px;margin:auto;padding:42px 0 20px;min-height:65vh}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-1.5px}h1{font-size:clamp(42px,5.6vw,68px);line-height:1.06;margin-bottom:24px}h2{font-size:36px;line-height:1.15}h3{font-size:21px;letter-spacing:-.4px}p{font-size:18px;line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;margin-bottom:18px;color:var(--green)}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:center;margin:14px 0 40px}.hero p{max-width:490px}.hero-art{height:322px;background:var(--lime);border:1px solid #d2df9d;border-radius:130px 130px 18px 18px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.hero-art:before,.hero-art:after{content:'';position:absolute;border:1px solid #b7c68e;border-radius:50%;width:310px;height:310px;top:30px}.hero-art:after{width:220px;height:220px;top:75px}.art-row{display:flex;gap:17px;align-items:center;z-index:1}.number-tile{width:90px;height:100px;border-radius:18px;display:flex;justify-content:center;align-items:center;font:46px Georgia,serif;box-shadow:0 8px 0 #263f3614;border:1px solid #233f3620;background:var(--white);transform:rotate(-8deg)}.number-tile:nth-child(2){background:var(--pink);transform:translateY(-22px) rotate(5deg)}.number-tile:nth-child(3){background:var(--blue);transform:rotate(10deg)}.art-caption{z-index:1;margin-top:35px;font-size:13px;letter-spacing:1px;font-weight:650}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#194736;color:white}.actions{display:flex;gap:10px;flex-wrap:wrap}.route{display:flex;gap:0;border-block:1px solid var(--line);margin-bottom:32px;padding:18px 0}.route span{flex:1;font-size:14px;color:var(--muted)}.route b{color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:var(--white);border-radius:20px;padding:25px;display:flex;flex-direction:column}.card p{font-size:16px;flex:1}.card .icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font:29px Georgia,serif;background:var(--lime);margin-bottom:25px}.card:nth-child(2) .icon{background:var(--pink)}.card:nth-child(3) .icon{background:var(--blue)}.card button{width:100%}.tag{font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:10px}.settings{margin:24px 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px}.settings label{cursor:pointer;display:flex;gap:9px;align-items:center}.settings input{width:20px;height:20px;accent-color:var(--green)}.note{padding:16px 20px;background:#ecefdf;border-radius:12px;font-size:15px;line-height:1.6}.learn-tabs{display:flex;gap:10px;margin:0 0 25px}.learn-tabs button.selected{background:var(--green);color:white}.lesson{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:var(--white);padding:32px;border:1px solid var(--line);border-radius:22px}.lesson h2{font-size:40px}.formula{font-family:Georgia,serif;font-size:34px;margin:23px 0}.trap{background:#f6e8df;border-left:3px solid #b77150;padding:16px;font-size:16px;line-height:1.65;border-radius:0 12px 12px 0}.visual{background:#eff2df;border-radius:18px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.dots{display:grid;gap:5px;grid-template-columns:repeat(var(--n),1fr);width:min(180px,100%);aspect-ratio:1}.dot{background:var(--green);border-radius:4px;min-width:7px;min-height:7px}.layers{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.layers .dots{width:75px}.layers .layer-label{display:block;font-size:12px;margin-top:7px;color:var(--muted)}.visual-controls{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:20px}.visual-controls button{padding:8px 16px;font-size:20px}.visual-caption{font-size:16px;margin:20px 0 0}.prime-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.prime-buttons button{padding:8px 12px;min-width:44px}.prime-buttons button.selected{background:var(--green);color:white}.factor-pairs{font-size:24px;font-family:Georgia,serif;line-height:1.8}.inline-check{margin-top:22px;border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--white)}.inline-check h3{margin-bottom:12px}.inline-check .feedback{margin-top:15px}.lesson-bottom{margin-top:24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.game{max-width:740px;margin:0 auto}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.game-top p{margin:0;font-size:14px}progress{width:100%;height:8px;border:0;appearance:none;display:block;border-radius:5px;overflow:hidden;background:var(--line);margin-bottom:26px}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}.question{padding:36px;border:1px solid var(--line);background:var(--white);border-radius:22px;text-align:center}.question h2{font:500 25px/1.45 system-ui;letter-spacing:-.5px;margin-bottom:18px}.big-number{font:72px Georgia,serif;letter-spacing:-2px;margin:20px 0 30px}.big-number.words{font:25px Georgia,serif;letter-spacing:0}.answer-form{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.answer-form label{width:100%;font-size:14px;color:var(--muted)}input[type=text]{width:150px;padding:12px;font-size:27px;text-align:center;border:2px solid var(--line);border-radius:12px;background:white;color:var(--ink)}.choice-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.choice-buttons button{min-width:140px}.feedback{padding:20px;text-align:left;background:#e7efdb;border-radius:14px;margin-top:22px;line-height:1.6;font-size:17px}.feedback.wrong{background:#f7e8db}.feedback p{font-size:17px;margin:6px 0 0}.next{margin-top:20px;width:100%}.results{text-align:center}.score{font:80px Georgia,serif;margin:20px}.review-list{text-align:left;display:grid;gap:12px;margin:25px 0}.review-item{padding:20px;background:var(--white);border:1px solid var(--line);border-radius:14px}.review-item p{font-size:16px;margin:6px 0}.review-item b{font-size:18px}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reference-grid .card p{font-size:17px}.facts{font-size:18px;line-height:1.9}.source{margin-top:30px;font-size:14px;line-height:1.7;color:var(--muted)}a{color:var(--green)}footer{max-width:1100px;margin:35px auto 0;padding:25px 0 35px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.8}footer span{font-size:11px}.completion{font-size:14px;color:var(--green);margin-top:15px}.error{color:#953d20;font-size:15px;margin-top:10px}.hidden{display:none}@media(max-width:800px){header{padding:18px 20px}.year{display:none}header .quiet{margin-left:auto}nav{margin:0 20px;overflow:auto;white-space:nowrap}main{padding:25px 20px}.hero{gap:25px;margin-top:0;grid-template-columns:1fr}.hero h1{max-width:500px}.hero-art{height:220px;border-radius:90px 90px 18px 18px}.number-tile{width:70px;height:75px;font-size:35px}.art-caption{margin-top:25px}.cards,.reference-grid{grid-template-columns:1fr}.card{padding:23px}.card .icon{margin-bottom:16px}.route{gap:15px}.route span{font-size:12px}.lesson{grid-template-columns:1fr;padding:23px}.lesson h2{font-size:34px}.learn-tabs button{flex:1;padding:10px 7px;font-size:14px}.question{padding:25px 18px}.choice-buttons button{min-width:0;flex:1;padding:12px 8px;font-size:15px}.big-number{font-size:60px}.game-top{gap:12px}footer{margin:20px;padding:20px 0}.visual{min-height:250px}h2{font-size:32px}}@media(prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-3px);transition:transform .2s}.hero-art .number-tile{animation:arrive .7s ease-out}@keyframes arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}}@media print{header,nav,footer,button,.source{display:none!important}body{background:white}main{padding:0}.reference-grid{display:block}.card{break-inside:avoid;margin-bottom:15px}.card .icon{display:none}h1{font-size:32px}}
@media(max-width:480px){nav{gap:2px;overflow:visible}nav button{flex:1;min-width:0;padding:10px 7px;font-size:12px;white-space:normal}header{gap:8px}.brand{font-size:21px}header .quiet{padding:10px 5px;font-size:12px}}
