/* Shared primitives; each concept below owns its layout and visual system. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#18354c;background:#f8f9f7;font-synthesis:none;--navy:#173650;--blue:#1687c9;--orange:#ff9854;--muted:#637582}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:720;letter-spacing:-.045em}h1{line-height:1.09}h2{line-height:1.22}p{line-height:1.65}em{font-style:normal}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #df6a19}main:focus{outline:none}.icon{width:23px;height:23px;flex-shrink:0;vertical-align:middle}.button{display:inline-flex;gap:15px;align-items:center;justify-content:center;padding:17px 25px;border-radius:13px;font-size:15px;font-weight:650;min-height:52px;line-height:1.2;transition:transform .18s,background .18s,box-shadow .18s}.button:hover{transform:translateY(-2px)}.primary{background:#207fbd;color:white;box-shadow:0 4px 0 #17699f}.primary:hover{background:#126ba6}.secondary{background:#eef3f5;color:#23485f;border:1px solid #d6e1e8}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;background:none;padding:8px 0;min-height:44px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.eyebrow{display:block;font-size:10px;line-height:1.5;font-weight:750;letter-spacing:1.8px}.pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;line-height:1.4;padding:8px 13px;border:1px solid #d6e2e9;border-radius:30px}.small-note{font-size:12px;color:#607485;line-height:1.5}.muted{color:#647988}.brand{display:flex;gap:10px;align-items:center;width:max-content;font-size:13px;line-height:1.1;font-weight:500;letter-spacing:-.2px}.brand b{font-size:20px;font-weight:750;letter-spacing:-.6px}.brand-mark{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:35px;height:35px}.brand-mark i{background:currentColor;border-radius:2px}.brand-mark i:nth-child(2){border-radius:2px 10px 2px 2px}.brand-mark i:nth-child(4){background:#ff9854;border-radius:2px 2px 10px 2px}.prototype-bar{min-height:44px;background:#fff;color:#4c6172;border-bottom:1px solid #e4e9ed;display:flex;align-items:center;justify-content:space-between;padding:5px 25px;font-size:11px;gap:14px;position:relative;z-index:20}.prototype-bar nav{display:flex;gap:5px}.prototype-bar nav a{padding:7px 13px;border-radius:5px;min-height:32px;display:flex;align-items:center}.prototype-bar nav a:hover{background:#f0f4f7}.prototype-bar nav a[aria-current]{color:#163750;background:#e9f0f5;font-weight:700}.prototype-home,.prototype-info{display:flex;align-items:center;gap:7px;background:none;font-size:11px;min-height:32px;padding:0}.prototype-bar .icon{width:15px;height:15px}.skip-link{position:fixed;top:-100px;left:12px;padding:14px;background:white;color:#163750;z-index:100}.skip-link:focus{top:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{font-size:25px}.section-heading .eyebrow{margin-bottom:8px}.demo-label{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1.4;padding:8px 12px;border:1px solid #b9c9d6;border-radius:30px;color:#4e677d;white-space:nowrap}.demo-label:before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#7197b4}.sample-callout{display:block;font-size:12px;line-height:1.6;color:#5a6f7d}.dot-array{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:9px;max-width:250px;margin:20px auto}.dot-array i{aspect-ratio:1;border-radius:50%;background:#2389c3;max-width:23px;min-width:9px}.answer-feedback{min-height:60px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;line-height:1.5;margin:10px 0}.answer-feedback.correct{color:#26715c}.answer-feedback.wrong,.answer-feedback.empty{color:#a54f1c}.answer-feedback .icon{width:19px;height:19px}.finish-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.trophy-art{width:220px;height:auto;display:block;margin:auto}dialog{border:none;border-radius:23px;padding:36px;max-width:510px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);color:#18354c;box-shadow:0 30px 100px #0b203a33}dialog::backdrop{background:#10283c80;backdrop-filter:blur(5px)}dialog h2{font-size:27px;padding-right:24px;margin-bottom:20px}dialog p{font-size:14px;margin:14px 0}dialog .trophy-art{width:170px}.dialog-close{position:absolute;right:15px;top:15px;background:#f0f4f6;border-radius:50%;width:38px;height:38px}.dialog-note{background:#eff5f8;border-left:3px solid #2999d2;padding:16px;font-size:13px;line-height:1.6;border-radius:0 8px 8px 0}.dialog-done{margin-top:22px;width:100%}.sample-certificate{padding:30px 15px;border:5px double #d8b679;text-align:center;background:#fffdf6}.sample-certificate>span{font-weight:700;display:block}.sample-certificate .icon{width:45px;height:45px;color:#c98433;display:block;margin:24px auto 16px}.sample-certificate small{font-size:10px;letter-spacing:3px}.sample-certificate h3{font-size:30px;margin-top:10px}.sample-certificate b{font-size:9px;letter-spacing:1px;color:#856b39}

/* A — airy horizontal learning space, soft cards, focused input. */
.design-a{background:#fbfcfa;min-height:calc(100vh - 44px);color:#1b3c51}.a-header{height:98px;max-width:1240px;padding:0 44px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.a-header nav{display:flex;gap:12px}.a-header .nav-link{display:flex;gap:8px;align-items:center;padding:12px 17px;font-size:13px;font-weight:600;border-radius:24px;color:#68808e;transition:background .2s}.a-header .nav-link.active{background:#eaf2f6;color:#2378ab}.a-header .nav-link:hover{background:#f0f5f8}.a-header .nav-link .icon{width:18px;height:18px}.guest-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f5dfc7;color:#8e542f;font-size:13px;font-weight:700;border:4px solid white;box-shadow:0 0 0 1px #e9e6dd}.a-main{max-width:1240px;padding:0 44px 42px;margin:auto}.a-welcome{display:flex;align-items:center;justify-content:space-between;margin:22px 0 21px;color:#698594}.a-welcome .eyebrow{font-size:9px;letter-spacing:1.6px}.welcome-note{font-size:11px;display:flex;align-items:center;gap:7px}.welcome-note .icon{width:15px;height:15px;color:#d68b46}.a-hero{min-height:358px;background:#eaf4fa;border-radius:28px;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;position:relative}.a-hero-copy{padding:35px 0 35px 38px;position:relative;z-index:1}.a-hero .pill{background:#f7fbfe;border:0;color:#4982a0;font-size:10px;padding:7px 12px}.a-hero h1{font-size:clamp(34px,3.5vw,48px);letter-spacing:-1.9px;line-height:1.14;margin:19px 0 14px}.a-hero h1 em{color:#2389be}.a-hero p{color:#57798d;font-size:14px;line-height:1.7}.a-hero-actions{display:flex;align-items:center;gap:20px;margin-top:25px}.a-hero-actions>span{font-size:11px;color:#638299;display:flex;align-items:center;gap:6px}.a-hero-actions>span .icon{width:15px;height:15px}.a-hero-actions .button{font-size:13px;padding:14px 21px;min-height:48px}.playful-art{min-height:350px;position:relative;width:100%;max-width:470px;justify-self:center}.art-orbit{position:absolute;border:1px dashed #9dc8e0;width:280px;height:280px;border-radius:50%;left:13%;top:32px;transform:rotate(-20deg)}.art-number{position:absolute;top:72px;left:27%;width:164px;height:178px;border-radius:44px 43px 44px 14px;transform:rotate(-12deg);background:#319bd3;box-shadow:10px 14px 0 #b9deef;color:white;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:112px;letter-spacing:-10px}.art-number span{position:absolute;font-size:65px;right:-29px;bottom:-18px;color:#134a72;transform:rotate(12deg);line-height:1}.art-grid{position:absolute;left:10%;top:47px;display:grid;grid-template-columns:repeat(3,12px);gap:8px;transform:rotate(-12deg)}.art-grid i{width:12px;height:12px;background:#3b8bb5;border-radius:50%}.art-orange{position:absolute;width:108px;height:108px;border-radius:50%;right:7%;top:38px;background:#ffb06c;box-shadow:5px 7px 0 #fbd5b4;display:grid;place-items:center;transform:rotate(10deg);color:#fff8e8}.art-orange .icon{width:62px;height:62px;stroke-width:1.2}.art-equation{position:absolute;left:16%;bottom:29px;border-radius:14px;background:#fff;padding:17px 24px;box-shadow:0 7px 20px #40688012;transform:rotate(-5deg);font-size:23px;font-weight:700;letter-spacing:-.5px}.art-equation span{color:#1681b4}.art-flash{position:absolute;left:7%;top:176px;color:#f29b50;transform:rotate(-12deg)}.art-flash .icon{width:47px;height:47px;fill:#ffd4aa;stroke-width:1.3}.art-plus{position:absolute;right:12%;bottom:66px;font-size:34px;transform:rotate(15deg);color:#76a8c0}.art-dot{width:12px;height:12px;background:#f8b174;border-radius:50%;position:absolute;left:48%;top:20px}.art-scribble{position:absolute;right:0;top:162px;color:#5697be}.art-scribble .icon{width:30px;height:30px}.a-modes{margin-top:38px}.a-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.a-mode-card{padding:23px 24px 19px;border:1px solid #e1e9e9;border-radius:22px;text-align:left;position:relative;transition:transform .2s,box-shadow .2s;background:#fff}.a-mode-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #214d6810}.mode-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mode-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px}.sky .mode-icon{background:#e3f2fb;color:#2785bc}.peach .mode-icon{background:#fff0df;color:#b77134}.lavender .mode-icon{background:#edecf9;color:#7773a5}.mode-num{font-size:11px;color:#9cabb2;letter-spacing:1px}.a-mode-card h3{font-size:20px;letter-spacing:-.6px;margin-bottom:10px}.a-mode-card p{font-size:12px;color:#6b8290;max-width:245px;line-height:1.7}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:11px;font-weight:600}.round-arrow{display:grid;place-items:center;width:31px;height:31px;background:#f3f7f9;border-radius:50%}.round-arrow .icon{width:17px;height:17px}.a-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:24px}.a-table-picker,.a-progress-teaser{display:flex;gap:13px;align-items:center;border-radius:16px;padding:18px 20px;background:#f1f5f4}.a-table-picker h3{font-size:14px;letter-spacing:-.3px}.a-table-picker p{font-size:10px;color:#6d8190;margin-top:5px}.small-icon{display:grid;place-items:center;color:#5c899a;flex-shrink:0}.small-icon.orange{color:#b87739}.number-picks{display:flex;gap:6px;margin-left:auto}.number-picks button{width:40px;height:40px;background:white;border:1px solid #dfe8e9;border-radius:10px;font-size:14px;font-weight:650}.number-picks button:hover{background:#dbeef8;border-color:#8dbbd0}.a-progress-teaser{background:#fcf4e9}.a-progress-teaser strong{font-size:12px;display:block}.a-progress-teaser div>span{font-size:10px;color:#8d7e66;display:block;margin-top:5px}.a-progress-teaser>.icon{width:18px;margin-left:auto}.a-footer{max-width:1152px;margin:auto;border-top:1px solid #e4eae9;padding:23px 0 28px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8a9a9d}.practice-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 30px}.a-practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.a-question-panel{background:white;border:1px solid #e1e9ed;border-radius:27px;padding:26px 34px 34px;text-align:center}.question-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#6f8797}.steps{display:flex;gap:7px}.steps>span{height:28px;width:28px;display:grid;place-items:center;border-radius:50%;background:#f0f4f7;font-size:9px;color:#7891a2}.steps .current{background:#2387c2;color:white}.steps .done{background:#dcefe6;color:#357d64}.steps .icon{width:13px;height:13px}.a-question-panel h1{font-size:29px;margin-top:39px;letter-spacing:-.8px}.a-question-panel>.muted{font-size:13px;margin:12px 0}.a-equation{display:flex;justify-content:center;align-items:center;gap:20px;font-size:clamp(43px,5vw,73px);font-weight:700;margin:36px 0 6px;letter-spacing:-2px}.a-equation .multiply,.a-equation .equals{color:#8bb0c3;font-weight:350;font-size:.65em}.a-equation input{width:114px;height:110px;text-align:center;border:2px dashed #86bdd8;background:#f0f8fc;border-radius:20px;color:#1c7db4;font-size:65px;font-weight:700;letter-spacing:-2px}.a-equation input::placeholder{color:#83b5cd}.a-equation input:disabled{border-style:solid;background:#e7f6ec;border-color:#78b99f;color:#2f795e}.a-question-panel form>.button{min-width:240px}.hint-button{display:flex;align-items:center;gap:7px;background:none;color:#6f8591;font-size:12px;margin:20px auto 0;padding:10px}.hint-button:hover{color:#247dad}.hint-button .icon{width:17px;height:17px}.a-support{align-self:start;margin-top:32px;background:#edf4f2;border-radius:22px;padding:28px 23px}.a-support-icon{display:grid;place-items:center;width:42px;height:42px;background:#fff;border-radius:14px;color:#5c9d92}.a-support h2{font-size:23px;margin:23px 0 12px;letter-spacing:-.8px}.a-support p{font-size:12px;color:#64867e}.support-squares{display:flex;align-items:center;gap:6px;margin:31px 0}.support-squares i{font-style:normal;display:grid;place-items:center;width:33px;height:36px;background:#d7e8e1;border-radius:8px;color:#4e7f73;font-weight:700}.support-squares i:nth-child(2n){background:none;font-size:18px}.a-support-foot{display:flex;align-items:center;gap:7px;font-size:10px;color:#6b877f;margin-top:25px;border-top:1px solid #dce6e2;padding-top:18px;line-height:1.5}.a-support-foot .icon{width:16px;height:16px}.a-finish{text-align:center;padding:24px 0 50px}.a-finish .trophy-art{width:230px}.a-finish .eyebrow{margin:14px 0;color:#5a9398}.a-finish h1{font-size:43px}.a-finish p{font-size:15px;color:#68808e;margin:20px 0 25px}.a-finish>.small-note{display:block;margin-top:22px}.page-title{display:flex;gap:25px;align-items:center;justify-content:space-between;margin:28px 0}.page-title h1{font-size:35px;max-width:600px;margin-top:12px}.page-title .eyebrow{color:#7993a0}.a-progress-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:22px}.a-overview{display:flex;align-items:center;gap:35px;padding:35px;background:#eaf4fa;border-radius:24px}.ring{width:180px;height:180px;flex-shrink:0;border-radius:50%;background:conic-gradient(#2b95c9 var(--progress),#d0e6f0 0);display:grid;place-items:center;transform:rotate(-90deg)}.ring>div{transform:rotate(90deg);display:flex;flex-direction:column;justify-content:center;align-items:center;width:151px;height:151px;background:#eaf4fa;border-radius:50%}.ring strong{font-size:49px;letter-spacing:-3px}.ring strong small{font-size:20px;letter-spacing:0;margin-left:3px;color:#749ab2}.ring span{font-size:11px;color:#5c879c;margin-top:4px}.a-overview h2{font-size:27px;margin-bottom:10px}.a-overview p{font-size:12px;color:#5d8095}.a-overview .sample-callout{font-size:10px;margin:15px 0}.a-overview .button{font-size:12px;min-height:44px;padding:12px 18px}.a-award{background:#fff4e6;border:1px solid #f4e2c9;border-radius:24px;text-align:center;padding:21px}.a-award .eyebrow{font-size:9px;color:#98794f}.a-award .trophy-art{width:120px;margin:8px auto 2px}.a-award h3{font-size:20px}.a-award p{font-size:11px;color:#967b60;margin:8px 0}.a-award .text-link{font-size:11px;color:#7e613d}.a-table-progress{margin-top:30px}.a-fact-cards{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.fact-card{background:white;border:1px solid #e4eaec;border-radius:15px;padding:17px 12px;text-align:left;transition:transform .2s}.fact-card:hover{transform:translateY(-4px)}.fact-number{font-size:27px;font-weight:650;letter-spacing:-1px}.fact-card>span:nth-child(2){display:flex;align-items:center;gap:4px;font-size:9px;color:#7c8e99;margin:14px 0}.fact-card .icon{width:12px;height:12px}.fact-card>i{display:block;width:100%;height:4px;background:#eaf0f2;border-radius:10px;overflow:hidden}.fact-card>i:before{content:"";display:block;width:var(--value);height:100%;background:#69ad9a}.fact-card.mastered{background:#f1f7f3;border-color:#d9e9e1}.fact-card.mastered>span:nth-child(2){color:#4a816f}

/* Concept gallery */
.gallery-body{background:#f4f5f2}.gallery{max-width:1280px;margin:auto;padding:36px 45px}.gallery header{display:flex;align-items:center;justify-content:space-between;padding-bottom:70px}.gallery main>.eyebrow{color:#6f8899}.gallery h1{font-size:55px;line-height:1.12;margin:18px 0}.gallery h1 em{color:#2587be}.gallery-intro{font-size:16px;color:#758893}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.gallery-card{background:white;border-radius:21px;overflow:hidden;border:1px solid #e1e5e6;transition:transform .25s,box-shadow .25s}.gallery-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px #17365013}.gallery-art{height:225px;position:relative;overflow:hidden}.gallery-a .gallery-art{background:#e6f2f8}.gallery-a .playful-art{transform:scale(.66);transform-origin:center top;width:430px;left:calc(50% - 215px);top:0}.gallery-b .gallery-art{background:#102e4c}.gallery-b .lab-art{height:250px;width:100%;margin-top:-15px}.gallery-c .gallery-art{background:#d9eaf2;background-image:linear-gradient(#b5d2e655 1px,transparent 1px),linear-gradient(90deg,#b5d2e655 1px,transparent 1px);background-size:24px 24px}.gallery-card-copy{padding:27px}.gallery-card-copy>.eyebrow{font-size:9px;color:#6b8597}.gallery-card h2{font-size:28px;margin:12px 0 16px;letter-spacing:-1px}.gallery-card p{font-size:13px;color:#718595;min-height:65px}.gallery-open{display:flex;justify-content:space-between;align-items:center;margin-top:24px;border-top:1px solid #e5ebee;padding-top:18px;font-size:12px;font-weight:650}.gallery-note{margin-top:28px;display:flex;align-items:center;gap:9px;font-size:12px;color:#6d8090;line-height:1.6}.gallery-note .icon{width:17px;height:17px}.gallery-island{height:100%;display:flex;align-items:center;justify-content:center;gap:10px;transform:rotate(-13deg)}.gallery-island>span{width:72px;height:68px;flex-shrink:0;background:#238ac0;color:white;border-radius:16px;box-shadow:0 8px 0 #12648f,0 20px 0 #b7cfda;display:grid;place-items:center;font-size:26px;font-weight:750;transform:skewY(-3deg)}.gallery-island>span:last-child{background:#ffae62;color:#743c1e;box-shadow:0 8px 0 #c9783f,0 20px 0 #b7cfda;transform:translateY(-23px)}.gallery-island>i{border-top:4px dotted #7998ab;width:15px;flex-shrink:0}.gallery-spark{position:absolute;right:24px;top:23px;color:#3388b1;width:30px;height:30px}
