:root{--navy:#071a38;--gold:#b89448;--ink:#152033;--red:#b42318;--green:#16834a;--paper:#fff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--ink);background:#f8f8f6;background-image:linear-gradient(115deg,#cfd2d41c 1px,transparent 1px),linear-gradient(25deg,#b8bdc21a 1px,transparent 1px);background-size:140px 90px}header{text-align:center;padding:28px 16px 18px;border-bottom:3px solid var(--gold);background:#ffffffdc}h1{color:var(--navy);margin:.3rem}.school{color:var(--gold);font-weight:800}.wrap{max-width:1180px;margin:auto;padding:20px}.back{float:right;color:var(--navy);text-decoration:none;font-weight:800}.hero{text-align:center;padding:22px}.hero button,.toolbar button,.btn{border:1px solid var(--gold);background:var(--navy);color:white;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.toolbar input,.toolbar select,input,select{padding:9px;border:1px solid #aab1bb;border-radius:10px;background:#fff}.labs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.labs article,.panel,.card{background:#fff;border:1px solid #d7d9dc;border-top:4px solid var(--navy);border-radius:16px;padding:18px;box-shadow:0 8px 24px #0000000d}.labs article{display:flex;min-height:170px;flex-direction:column;gap:12px}.labs b{font-size:1.15rem;color:var(--navy)}.labs a,.social a{margin-top:auto;text-align:center;text-decoration:none;background:var(--navy);color:white;padding:9px;border-radius:10px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.workspace{min-height:260px;background:#fff;border:2px solid var(--navy);border-radius:16px;position:relative;overflow:hidden}.gridbg{background-image:linear-gradient(#071a3812 1px,transparent 1px),linear-gradient(90deg,#071a3812 1px,transparent 1px);background-size:25px 25px}.dotbg{background-image:radial-gradient(#071a3850 1.5px,transparent 1.5px);background-size:24px 24px}.bigmath{text-align:center;font-size:2rem;font-weight:800;color:var(--navy);padding:12px}.notice{background:#f6f2e8;border-right:5px solid var(--gold);padding:12px;border-radius:10px}.statbar{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.stat{background:#fff;border:1px solid #ddd;border-radius:12px;padding:12px;flex:1}.stars{color:var(--gold);font-size:1.5rem;cursor:pointer}.social{display:flex;gap:10px;flex-wrap:wrap}.social a{min-width:120px}.numberline{position:relative;height:150px;margin:40px 20px}.axis{position:absolute;left:2%;right:2%;top:70px;height:4px;background:var(--navy)}.ticks{position:absolute;left:2%;right:2%;top:58px;display:flex;justify-content:space-between}.tick{font-size:12px}.marker{position:absolute;top:33px;transform:translateX(-50%);font-size:28px;color:var(--gold);transition:left .7s}.balance-wrap{height:280px;position:relative}.beam{position:absolute;left:10%;right:10%;top:125px;height:9px;background:var(--navy);transform-origin:center;transition:transform .45s;border-radius:10px}.pivot{position:absolute;left:47%;top:132px;border-left:30px solid transparent;border-right:30px solid transparent;border-bottom:80px solid var(--gold)}.pan{position:absolute;top:45px;width:35%;min-height:70px;border-bottom:5px solid var(--gold);text-align:center;font-size:1.35rem;font-weight:800;padding:20px}.pan.left{left:7%}.pan.right{right:7%}.feedback{text-align:center;font-size:1.25rem;font-weight:900;min-height:35px}.ok{color:var(--green)}.bad{color:var(--red)}.clock{width:250px;height:250px;border:9px solid var(--navy);border-radius:50%;position:relative;margin:18px auto;background:#fff}.hand{position:absolute;left:50%;bottom:50%;transform-origin:bottom center;background:var(--navy);border-radius:8px}.hour{width:7px;height:65px}.minute{width:5px;height:90px;background:var(--gold)}.num{position:absolute;transform:translate(-50%,-50%);font-weight:800}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.metrics>div{text-align:center;padding:12px;background:#f7f7f7;border-radius:12px}.shape3d{text-align:center;font-size:7rem;min-height:150px;transition:transform .5s}.count-pieces{display:flex;gap:8px;flex-wrap:wrap;min-height:70px;padding:10px}.piece{width:34px;height:34px;border-radius:50%;background:var(--gold);border:3px solid var(--navy)}canvas{max-width:100%;touch-action:none}footer{text-align:center;padding:24px;color:var(--navy);font-weight:800}@media(max-width:650px){.wrap{padding:12px}.bigmath{font-size:1.5rem}.toolbar button{flex:1}.pan{font-size:1rem}.clock{width:220px;height:220px}}
/* 2026-09 refresh: calm learning palette */
:root{--blush:#f7eef2;--sage:#eef5f0;--sky:#eef5fa;--lav:#f2eff8;--sand:#faf5ea}
body{background-color:#fbfbfa;background-image:linear-gradient(115deg,#cfd2d410 1px,transparent 1px),linear-gradient(25deg,#b8bdc210 1px,transparent 1px)}
.labs article:nth-child(5n+1),.panel:nth-child(5n+1){background:linear-gradient(145deg,#fff,var(--sky))}.labs article:nth-child(5n+2),.panel:nth-child(5n+2){background:linear-gradient(145deg,#fff,var(--sage))}.labs article:nth-child(5n+3),.panel:nth-child(5n+3){background:linear-gradient(145deg,#fff,var(--blush))}.labs article:nth-child(5n+4),.panel:nth-child(5n+4){background:linear-gradient(145deg,#fff,var(--lav))}.labs article:nth-child(5n+5),.panel:nth-child(5n+5){background:linear-gradient(145deg,#fff,var(--sand))}
.clean-grid{background:#fff!important}.lang-toggle{margin-inline-start:auto}.lang-toggle button.active{background:var(--gold);color:var(--navy)}
/* final interaction polish */
.back{float:none;display:inline-flex;align-items:center;gap:7px;background:linear-gradient(145deg,#d4b96d,#a98231);color:#071a38!important;border:2px solid #fff3c9;border-radius:14px;padding:9px 15px;box-shadow:0 5px 0 #76591f,0 8px 18px #071a3820;font-weight:900;position:relative;z-index:5}.back:before{content:'🏠'}.back:active{transform:translateY(4px);box-shadow:0 1px 0 #76591f}.clean-grid{background:#fff!important}
.ratingHistory{display:inline-block;margin-top:7px;line-height:1.9;color:var(--ink);font-size:.92rem}.stat small{line-height:1.8}.workspace canvas{display:block;width:100%;height:auto}
/* Luxury identity */
.brand-footer{display:flex;align-items:center;justify-content:center;gap:10px}.brand-footer img,.brandline img{width:54px;height:54px;object-fit:cover;border-radius:50%;border:2px solid var(--gold);background:#fff;box-shadow:0 6px 18px #071a3820}.lux-home{background:radial-gradient(circle at 50% 0,#fff8e8 0,#fff 35%,#f8f4ec 100%)}.lux-header{min-height:500px;padding:34px 18px 46px;background:radial-gradient(circle at 50% 25%,#fff 0,#fff8e8 48%,#f3e5c5 100%);position:relative;overflow:hidden;border-bottom:3px solid var(--gold)}.lux-header:before,.lux-header:after{content:'∑  π  √  ∞  △  ○';position:absolute;color:#b8944815;font-size:5rem;font-weight:900;letter-spacing:20px;transform:rotate(-10deg)}.lux-header:before{top:70px;left:-20px}.lux-header:after{bottom:35px;right:-20px}.brandline{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.brandline strong{color:var(--navy)}.eyebrow{position:relative;z-index:2;display:inline-block;background:#fff9;border:1px solid #d9bd79;border-radius:999px;padding:7px 28px;font-weight:900;color:var(--navy);box-shadow:0 6px 18px #071a3810}.lux-header h1{position:relative;z-index:2;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1;margin:20px 0 10px;text-shadow:0 3px 0 #fff,0 10px 22px #071a3820}.lux-header h1 span{color:#b07b2e}.lead{position:relative;z-index:2;display:inline-block;background:#f7dfe8;border:1px solid #e9b5c8;border-radius:999px;padding:9px 24px;font-weight:900}.motto{position:relative;z-index:2;color:#8c5c1d;font-size:1.15rem;font-weight:900}.lux-cta{position:relative;z-index:2;border:1px solid #f6df9d;background:linear-gradient(145deg,#0b244d,#071a38);color:#fff;border-radius:16px;padding:13px 25px;font-size:1.05rem;font-weight:900;box-shadow:0 8px 0 #b89448,0 16px 28px #071a3820;cursor:pointer}.impact{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:-28px auto 26px;position:relative;z-index:4}.impact>div{background:#ffffffee;border:1px solid #ead9b5;border-radius:18px;padding:18px;text-align:center;box-shadow:0 12px 28px #071a3812;font-size:1.3rem}.impact b,.impact span{display:block}.impact b{color:var(--navy);font-size:1rem;margin:6px}.impact span{font-size:.85rem;color:#687386}.lux-home .labs article{border:1px solid #ead9b5;border-top:0;box-shadow:0 12px 30px #071a3810;transition:.25s;position:relative;overflow:hidden}.lux-home .labs article:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#b89448,#f2dfaa,#071a38)}.lux-home .labs article:hover{transform:translateY(-5px);box-shadow:0 18px 36px #071a3818}.lux-home .labs a{background:linear-gradient(145deg,#102c5c,#071a38);border:1px solid #c8a85e}.vision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:34px 0}.vision-grid article{border-radius:22px;padding:22px;border:1px solid #ead9b5;box-shadow:0 12px 28px #071a3810}.vision-grid article:nth-child(1){background:linear-gradient(145deg,#fff,#fbe9ed)}.vision-grid article:nth-child(2){background:linear-gradient(145deg,#fff,#eaf4fb)}.vision-grid article:nth-child(3){background:linear-gradient(145deg,#fff,#f2eafb)}.vision-grid article:nth-child(4){background:linear-gradient(145deg,#fff,#fff5df)}.vision-grid h2{color:var(--navy);margin:5px 0 10px}.vision-grid p{line-height:1.9;margin:0}.vicon{font-size:2rem}.quote-card{text-align:center;font-size:1.45rem;padding:24px;border-radius:22px;background:linear-gradient(100deg,#fff8e9,#f8e9ef,#edf5fb);border:1px solid #e6c984;color:var(--navy);box-shadow:0 12px 28px #071a3810}.quote-card b{color:#a66d24}.lux-home .stat,.lux-home .card{border-color:#ead9b5;box-shadow:0 10px 24px #071a3810}@media(max-width:850px){.impact,.vision-grid{grid-template-columns:repeat(2,1fr)}.lux-header{min-height:440px}.lux-header h1{font-size:3.3rem}}@media(max-width:520px){.impact,.vision-grid{grid-template-columns:1fr}.brandline{align-items:center}.lux-header h1{font-size:2.7rem}.lead{border-radius:18px}.brand-footer{flex-direction:column}}

/* Hasnaa Math learning gateway */
.portal-hero{max-width:1120px;margin:24px auto;padding:34px 24px;border:1px solid #d8c38b;border-radius:28px;background:linear-gradient(135deg,#fff,#fbf7ee);box-shadow:0 18px 50px #10264a12;text-align:center}.portal-brand{font-weight:900;letter-spacing:.5px;color:#b07b2e}.portal-grid,.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.portal-card,.stage-card{border:1px solid #e2d6b6;border-radius:22px;padding:22px;background:#fff;box-shadow:0 10px 30px #10264a0c}.portal-card h2,.stage-card h2{color:#10264a;margin-top:4px}.stage-card a,.portal-card a{display:inline-block;margin-top:10px;text-decoration:none}.stage-card.primary{background:linear-gradient(180deg,#f6fbff,#fff)}.stage-card.middle{background:linear-gradient(180deg,#f5fbf7,#fff)}.stage-card.high{background:linear-gradient(180deg,#fbf7ff,#fff)}.all-game{margin:20px 0;border:1px solid #d7b65c;border-radius:24px;padding:22px;text-align:center;background:linear-gradient(135deg,#fff9e8,#fff)}.lab-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.lab-links a{padding:8px 12px;border-radius:999px;background:#f4f6fa;color:#10264a;text-decoration:none;font-weight:700}.portal-section-title{text-align:center;color:#10264a;margin-top:38px}@media(max-width:800px){.portal-grid,.stage-grid{grid-template-columns:1fr}}
/* Integer adventure */
.adventure{margin-top:22px;border:1px solid #d9c47f;border-radius:24px;padding:22px;background:linear-gradient(145deg,#fffaf0,#fff)}.adventure h2{text-align:center;color:#10264a}.adv-levels,.adv-options{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.adv-levels button,.adv-options button{border:0;border-radius:16px;padding:12px 18px;font-weight:800;cursor:pointer}.adv-levels button{background:#eef2f8;color:#10264a}.adv-options button{min-width:92px;font-size:22px;background:#fff;box-shadow:0 8px 20px #10264a18;border:1px solid #e4e8ef}.adv-options button.correct{background:#dff5e8;color:#137544}.adv-options button.wrong{animation:advShake .25s;background:#fde7ed;color:#b52f59}@keyframes advShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.adv-question{text-align:center;font-size:34px;font-weight:1000;color:#10264a;margin:18px}.adv-meta{text-align:center;margin-top:14px;font-weight:700}.adv-feedback{text-align:center;min-height:28px;font-weight:900;margin-top:12px}
/* 2026-09-26 stage-first gateway */
.identity-box{margin:28px 0}.identity-toggle{width:100%;border:1px solid #d8c38b;border-radius:18px;background:linear-gradient(135deg,#fff,#fff9ec);color:var(--navy);padding:16px 22px;font-size:1.08rem;font-weight:900;cursor:pointer;box-shadow:0 10px 25px #071a3810;display:flex;justify-content:space-between}.identity-content{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-height:0;overflow:hidden;opacity:0;transition:.35s}.identity-content.open{max-height:520px;opacity:1;padding-top:14px}.identity-content article{background:#fff;border:1px solid #ead9b5;border-radius:18px;padding:18px}.identity-content b{color:#a66d24;font-size:1.08rem}.identity-content p{line-height:1.9;margin-bottom:0}.stage-intro{text-align:center;color:#687386;margin-top:-8px}.stage-panel{margin:20px 0;border:1px solid #dfcfaa;border-radius:28px;padding:22px;box-shadow:0 14px 35px #071a3810;overflow:hidden}.stage-panel.primary{background:linear-gradient(135deg,#f5fbff,#fff)}.stage-panel.middle{background:linear-gradient(135deg,#f3faf5,#fff)}.stage-panel.high{background:linear-gradient(135deg,#faf5ff,#fff)}.stage-heading{display:flex;align-items:center;gap:14px;border-bottom:1px solid #e6dcc4;padding-bottom:14px;margin-bottom:16px}.stage-heading h2{margin:0;color:var(--navy);font-size:1.65rem}.stage-heading p{margin:4px 0 0;color:#9a6b27;font-weight:800}.stage-icon{font-size:2.2rem}.stage-labs{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}.stage-labs a{text-decoration:none;color:var(--navy);background:#ffffffd9;border:1px solid #e5dcc6;border-radius:17px;padding:15px;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;box-shadow:0 7px 18px #071a380b;transition:.2s}.stage-labs a:hover{transform:translateY(-3px);border-color:#c6a653;box-shadow:0 12px 24px #071a3815}.stage-labs a>span{font-size:1.6rem;grid-row:1/3}.stage-labs b{font-size:1rem}.stage-labs small{color:#6c7685}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.activity-card{background:#fff;border:1px solid #e5dcc6;border-radius:18px;padding:16px;text-align:center}.choice-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.choice-row button{border:1px solid #d8c38b;background:#fff;border-radius:14px;padding:11px 15px;font-weight:800;cursor:pointer}.choice-row button:hover{background:#fff7e5}.feedback-box{text-align:center;font-weight:900;min-height:30px;margin:12px}.meter-object{font-size:4rem;display:block;margin:8px}.chip-zone{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;min-height:76px;padding:12px;border-radius:16px;background:#fff}.int-chip{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:1000;color:#fff;box-shadow:0 5px 12px #071a3820;transition:.35s}.int-chip.pos{background:#16834a}.int-chip.neg{background:#c13b67}.int-chip.cancel{transform:scale(.15) rotate(120deg);opacity:0}.root-clock{width:min(360px,88vw);aspect-ratio:1;border:10px solid var(--navy);border-radius:50%;margin:20px auto;position:relative;background:radial-gradient(circle,#fff 0 62%,#fff7e8 63%);box-shadow:0 14px 35px #071a3820}.root-clock .rnum{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--ang)) translateY(-145px) rotate(calc(-1 * var(--ang)));font-weight:900;color:var(--navy)}.root-hand{position:absolute;left:calc(50% - 4px);bottom:50%;width:8px;height:115px;background:linear-gradient(#b89448,#8a6428);border-radius:8px;transform-origin:bottom center;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.root-center{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--navy);left:50%;top:50%;transform:translate(-50%,-50%);z-index:3}.formula-box{font-size:1.35rem;font-weight:900;text-align:center;padding:16px;background:#fff;border-radius:16px;border:1px solid #ead9b5}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.property{background:#fff;border:1px solid #e1d5b7;border-radius:16px;padding:16px}.property b{color:#a66d24}.numberline-wide{overflow-x:auto;padding:5px}.numberline-wide .numberline{min-width:980px}@media(max-width:760px){.identity-content{grid-template-columns:1fr}.identity-content.open{max-height:900px}.stage-panel{padding:16px}.stage-labs{grid-template-columns:1fr}.root-clock .rnum{transform:translate(-50%,-50%) rotate(var(--ang)) translateY(-118px) rotate(calc(-1 * var(--ang)))}.root-hand{height:92px}}
.numberline-wide .numberline{min-width:2200px}.numberline-wide .tick{min-width:12px!important;font-size:10px}.numberline-wide .ticks{gap:0}
/* 2026 interactive lab additions */
.challenge-card{background:#fff;border:1px solid #e6d7b8;border-radius:20px;padding:18px;margin-top:16px}.challenge-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.choice-grid button{min-height:52px}.big-math{font-size:clamp(26px,5vw,48px);font-weight:900;text-align:center;direction:ltr;margin:18px}.feedback-good{color:#16834b;font-weight:900}.feedback-bad{color:#c53232;font-weight:900}.skill-report{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.skill-report div{background:#f7f4ee;border-radius:14px;padding:12px;text-align:center}.mini-canvas{width:min(100%,520px);height:auto;display:block;margin:12px auto;border:1px solid #ddd;border-radius:16px;background:#fff}.matrix{display:inline-grid;gap:6px;padding:8px 14px;border-left:3px solid #0d294b;border-right:3px solid #0d294b;margin:8px;direction:ltr}.matrix input{width:58px;text-align:center;padding:8px}.step-strip{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin:16px 0}.factor{padding:10px 14px;border-radius:12px;background:#f2e8d6;font-weight:900;font-size:22px}.factor.active{outline:3px solid #b89448;transform:scale(1.08)}.stat-input{width:min(100%,620px)}
