:root{--navy:#091627;--navy-2:#162744;--yellow:#dad602;--cream:#fffff5;--purple:#7561c5;--purple-lite:#f1edff;--text:#152338;--muted:#667286;--line:#e3e7ec;--white:#fff;--canvas:#f5f6f7;--green:#e4f4e8;--shadow:0 10px 32px rgba(9,22,39,.08)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,a{font:inherit}button{cursor:pointer}.topnote{background:#fff8d8;border-bottom:1px solid #eee3a8;text-align:center;padding:8px 14px;color:#564d1e;font-weight:800;font-size:12px;letter-spacing:.04em}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1400px)/2));gap:18px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:900;font-size:18px;letter-spacing:-.04em}.brand img{width:42px;height:42px}.brand em{font-style:normal;color:var(--purple)}.topnav{display:flex;gap:6px;padding:5px;border-radius:99px;background:#f4f5f6}.topnav a{padding:8px 15px;border-radius:99px;text-decoration:none;color:#647085;font-size:13px;font-weight:750}.topnav a.active{background:var(--navy);color:#fff}.topright{display:flex;align-items:center;gap:13px}.quiet{font-size:13px;color:var(--muted);font-weight:700}.avatar{height:38px;width:38px;border-radius:50%;display:grid;place-items:center;background:#eeeaff;color:#4d398c;font-weight:900}.shell{max-width:1320px;margin:0 auto;padding:26px 28px 60px}.crumb{font-size:13px;color:var(--muted);margin:0 0 14px}.crumb a{color:var(--purple);font-weight:750;text-decoration:none}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.title-row h1{font-size:32px;letter-spacing:-.045em;color:var(--navy);margin:5px 0}.title-row p{color:var(--muted);margin:0}.eyebrow{font-size:11px;font-weight:900;color:var(--purple);letter-spacing:.12em;text-transform:uppercase}.badge{display:inline-flex;align-items:center;gap:7px;background:var(--purple-lite);color:#554297;border-radius:99px;padding:7px 11px;font-size:12px;font-weight:800}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.worlds{display:grid;grid-template-columns:1fr 1fr;gap:20px}.worlds.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.world-card{overflow:hidden}.world-img{height:250px;position:relative;overflow:hidden}.world-img>img{width:100%;height:100%;object-fit:cover}.learner-chip{position:absolute;bottom:15px;left:15px;background:#fff;padding:7px;border:3px solid #fff;border-radius:14px;box-shadow:var(--shadow);display:flex;align-items:center;gap:9px;max-width:250px}.learner-chip img{width:46px;height:46px;border-radius:10px;object-fit:cover}.learner-chip span{font-size:11px;color:var(--muted);line-height:1.25}.learner-chip strong{display:block;color:var(--navy);font-size:12px}.world-body{padding:22px 24px 25px}.world-body h2{color:var(--navy);font-size:22px;letter-spacing:-.03em;margin:6px 0 8px}.world-body p{color:var(--muted);margin:0 0 16px}.world-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tag{background:#f1f3f5;padding:6px 9px;border-radius:8px;color:#556174;font-size:11px;font-weight:750}.btn{border:0;border-radius:12px;min-height:44px;padding:11px 17px;background:var(--yellow);color:var(--navy);font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 0 #b9b500}.btn.dark{background:var(--navy);color:#fff;box-shadow:none}.btn.outline{background:#fff;border:1px solid var(--line);box-shadow:none;color:var(--navy)}.screen-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:18px;align-items:start}.left-rail,.right-rail{padding:19px}.rail-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:900;margin:0 0 12px}.rail-link{padding:10px 11px;border-radius:11px;font-weight:750;font-size:13px;color:#5d6879;margin:3px 0}.rail-link.selected{background:#f0edff;color:#513d9a}.progress{margin:14px 0 10px;height:7px;background:#eceff2;border-radius:99px;overflow:hidden}.progress i{display:block;width:50%;height:100%;background:var(--purple);border-radius:99px}.rail-small{font-size:12px;color:var(--muted)}.scene-panel{overflow:hidden}.scene-head{padding:17px 19px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.scene-head strong{font-size:15px;color:var(--navy)}.scene-wrap{position:relative;height:440px;background:#263046}.scene-wrap>img{height:100%;width:100%;object-fit:cover;display:block}.scene-label{position:absolute;left:16px;top:16px;background:#101b2bdc;color:#fff;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:750}.scene-control{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#fffef4ed;padding:8px;border-radius:14px;box-shadow:var(--shadow);white-space:nowrap}.scene-control button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 11px;color:var(--navy);font-weight:800;font-size:12px}.scene-control button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.scene-bottom{padding:18px 20px 20px}.scene-bottom h2{font-size:21px;color:var(--navy);margin:0 0 5px;letter-spacing:-.03em}.scene-bottom p{margin:0;color:var(--muted)}.prompt-card{padding:18px}.prompt-card h3{font-size:17px;color:var(--navy);margin:5px 0 8px}.prompt-card p{font-size:13px;color:var(--muted);margin:0 0 13px}.answer{display:block;text-align:left;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;margin:8px 0;width:100%;color:var(--text);font-weight:750;font-size:13px}.answer.selected{border:2px solid var(--purple);background:#f7f4ff}.answer:focus{outline:3px solid #b9a7ff}.hint{background:#fff8da;border-radius:12px;padding:12px;color:#5b5121;font-size:12px;margin-top:14px}.support-row{display:flex;gap:8px;margin-top:12px}.support-row button{flex:1;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;color:#59667a;font-size:12px;font-weight:750}.note{color:var(--muted);font-size:12px;margin:15px 0 0}.builder-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 260px;gap:18px;align-items:stretch}.challenge{padding:19px}.challenge h2{font-size:20px;color:var(--navy);letter-spacing:-.03em;margin:6px 0 10px}.challenge p{font-size:13px;color:var(--muted)}.goal{display:flex;gap:10px;align-items:center;border-radius:12px;background:#fffbe2;padding:12px;margin:16px 0;color:#5b5314;font-weight:750;font-size:12px}.materials{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.material{border:1px solid var(--line);background:#fbfbfc;border-radius:11px;padding:10px;text-align:center;font-size:11px;color:#586477;font-weight:750}.material b{display:block;font-size:20px;margin-bottom:3px}.build-area{overflow:hidden;display:flex;flex-direction:column}.build-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.build-stage{flex:1;min-height:385px;background:linear-gradient(#eef5fb 0 64%,#dde8d7 64%);position:relative;display:grid;place-items:end center;padding:38px 22px 50px}.stage-label{position:absolute;top:15px;left:18px;background:#fff;border-radius:9px;padding:7px 10px;font-size:11px;color:#566174;font-weight:800}.river{position:absolute;bottom:0;height:22%;left:0;right:0;background:linear-gradient(90deg,#bfe2ed,#8bcad9,#bfe2ed)}.bridge{position:relative;width:min(85%,500px);height:178px;z-index:1}.bank{position:absolute;bottom:0;width:18%;height:58px;background:#ad9c74;border-radius:9px 9px 0 0}.bank.left{left:0}.bank.right{right:0}.deck{position:absolute;left:12%;right:12%;bottom:55px;height:20px;background:#b58353;border:3px solid #805c3d;border-radius:5px}.truss{position:absolute;bottom:72px;left:14%;right:14%;height:80px;border-bottom:5px solid #825c3a;background:repeating-linear-gradient(130deg,transparent 0 28px,#956a45 29px 35px,transparent 36px 54px),repeating-linear-gradient(50deg,transparent 0 28px,#956a45 29px 35px,transparent 36px 54px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.weight{position:absolute;bottom:75px;left:50%;transform:translateX(-50%);width:38px;height:42px;background:#656b75;color:#fff;border-radius:5px 5px 10px 10px;display:grid;place-items:center;font-size:10px;font-weight:900}.build-actions{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.feedback{padding:18px}.feedback h3{margin:6px 0 8px;color:var(--navy)}.feedback p{font-size:13px;color:var(--muted)}.load-meter{height:10px;background:#eceff2;border-radius:99px;margin:12px 0 5px;overflow:hidden}.load-meter i{display:block;width:39%;height:100%;background:#f0c43b;border-radius:99px;transition:width .3s ease}.learner-photo{width:100%;height:125px;object-fit:cover;border-radius:13px;margin:14px 0}.reflection{background:#f2efff;padding:12px;border-radius:12px;color:#51438d;font-size:12px;margin-top:12px}.footer-note{max-width:1320px;margin:22px auto;color:#7a8492;font-size:11px;padding:0 28px}.toolrow{display:flex;gap:9px;flex-wrap:wrap}.mini-pill{background:#f1f3f5;padding:6px 9px;border-radius:8px;font-size:11px;color:#566174;font-weight:750}.mobile-tabs{display:none}@media(max-width:1050px){.screen-grid{grid-template-columns:180px minmax(0,1fr)}.right-rail{grid-column:2}.builder-layout{grid-template-columns:220px minmax(0,1fr)}.builder-layout .feedback{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px}.world-img{height:220px}}@media(max-width:740px){.topbar{height:auto;min-height:70px;padding:10px 14px;flex-wrap:wrap}.topnav{order:3;width:100%;justify-content:center}.topright .quiet{display:none}.shell{padding:18px 14px 45px}.title-row{align-items:flex-start;flex-direction:column}.title-row h1{font-size:27px}.worlds{grid-template-columns:1fr}.worlds.three-up{grid-template-columns:1fr}.world-img{height:210px}.screen-grid,.builder-layout{grid-template-columns:1fr}.left-rail{display:none}.right-rail,.builder-layout .feedback{grid-column:auto}.right-rail{display:block}.scene-wrap{height:300px}.scene-control{max-width:calc(100% - 20px);white-space:normal;justify-content:center}.scene-control button{padding:7px 8px;font-size:11px}.builder-layout .feedback{display:block}.build-stage{min-height:310px}.footer-note{padding:0 14px}.mobile-tabs{display:flex;gap:7px;margin:0 0 15px}.mobile-tabs .mini-pill{flex:1;text-align:center}}

/* Global design rule: center every button label horizontally and vertically. */
button, .btn, .navbtn, .sidebtn, .answer, .choice, .topnav a, [role="button"] {
  text-align: center;
  align-items: center;
  justify-content: center;
}
button { display: inline-flex; }
.btn, .navbtn, .topnav a, [role="button"] { display: inline-flex; }
.sidebtn, .answer { display: flex; }
.choice { text-align: center; }

.rail-link[role="button"]{display:flex;width:100%}


/* Answer entry and gentle motion for future-world concept previews */
.scene-wrap>img{transform-origin:center;animation:scene-drift 20s ease-in-out infinite alternate;will-change:transform}
@keyframes scene-drift{from{transform:scale(1.015) translate3d(-.3%,0,0)}to{transform:scale(1.075) translate3d(.3%,-.25%,0)}}
.answer-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:16px 20px 19px;border-top:1px solid var(--line);background:#fbfcfd}
.answer-entry label{grid-column:1/-1;font-size:12px;font-weight:850;color:var(--navy)}
.answer-entry textarea{width:100%;min-height:62px;resize:vertical;border:1px solid #d6dce4;border-radius:11px;padding:11px 12px;font:500 13px/1.45 Inter,system-ui,sans-serif;color:var(--navy);background:#fff}
.answer-entry textarea:focus{outline:3px solid #d9d0ff;border-color:var(--purple)}
.answer-entry .btn{align-self:start;min-width:122px;text-align:center;justify-content:center}
.answer-feedback{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.stem-reflection{padding:12px 0 14px;border:0;background:transparent}
@media(max-width:740px){.answer-entry{grid-template-columns:1fr}.answer-entry label,.answer-feedback{grid-column:1}.answer-entry .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.scene-wrap>img{animation:none;transform:scale(1.02)}}
