
.learning-layout{grid-template-columns:minmax(0,1fr) 350px}.world-doors{position:relative;isolation:isolate;overflow:hidden;padding:24px 18px 16px;border:1px solid #e9dce5;border-radius:24px 24px 42px 24px;background:linear-gradient(145deg,#fff 25%,#fcedf5);box-shadow:0 10px 30px #12283805}.world-doors:before{content:"";position:absolute;z-index:-1;width:150px;height:150px;border:24px solid #fec48a28;border-radius:50%;right:-65px;top:-60px}.world-doors .eyebrow{font-size:9px;letter-spacing:1.4px}.world-doors h2{font-size:23px;letter-spacing:-.7px}.world-doors>p{font-size:12px;color:#657580;margin-top:5px}.doors-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}.world-door{--door:#abd4ed;--edge:#468fc3;--tint:#edf6fc;position:relative;min-width:0;padding:0;border:0;border-radius:10px;background:transparent;color:#122838;text-align:center}.world-door.science{--door:#fec48a;--edge:#bc793f;--tint:#fff5e9}.world-door.languages{--door:#f4b3d4;--edge:#b43c7a;--tint:#fcedf5}.door-scene{display:block;position:relative;height:151px;perspective:650px;padding:0 4px 7px}.door-frame{display:block;position:relative;width:100%;height:100%;border:6px solid var(--tint);border-radius:55px 55px 5px 5px;background:var(--edge);box-shadow:0 0 0 1px #12283812,3px 5px 0 #12283814,inset 0 0 15px #12283850}.door-world{z-index:0;position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;border-radius:45px 45px 0 0;background:radial-gradient(ellipse at 50% 30%,white,var(--tint) 45%,var(--door));color:var(--edge)}.door-world>svg{width:35px;z-index:1;opacity:0;visibility:hidden;transform:scale(.65);transition:transform .5s,opacity .2s}.world-orbit{position:absolute;width:100px;height:100px;border:1px solid currentColor;border-radius:50%;opacity:.2;transform:rotateX(55deg) rotateZ(-25deg)}.door-leaf{z-index:1;position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;border:1px solid #fff9;border-radius:45px 45px 2px 2px;background:linear-gradient(115deg,#ffffff65,transparent 60%),var(--door);box-shadow:inset -3px 0 0 #12283814,2px 0 4px #12283820;transform-origin:left center;transition:transform .5s cubic-bezier(.2,.75,.2,1);backface-visibility:hidden;color:var(--edge)}.door-number{font:600 8px/1.2 'DM Sans',sans-serif;letter-spacing:2px;margin-top:16px;opacity:.8}.door-emblem{width:34px;height:34px;display:grid;place-items:center;margin-top:7px;border-radius:50%;background:#ffffff65;box-shadow:0 2px 2px #1228380a}.door-emblem svg{width:24px;height:24px}.door-panel{position:absolute;bottom:10px;left:13px;right:13px;height:36px;border:1px solid #ffffff95;border-radius:16px 16px 3px 3px;box-shadow:inset 1px 1px 2px #12283812}.door-handle{position:absolute;right:7px;top:64%;width:6px;height:6px;border-radius:50%;background:#fff4d7;box-shadow:1px 2px 0 var(--edge)}.door-step{position:absolute;bottom:0;left:0;right:0;height:8px;border-radius:3px;background:var(--tint);box-shadow:0 3px 0 #12283815}.door-name{display:block;margin-top:14px;font-size:13px;font-weight:700}.door-invitation{display:block;font-size:10px;color:#657580;margin-top:2px}.world-door:focus-visible .door-leaf{transform:rotateY(-25deg)}
@media(hover:hover) and (pointer:fine){.world-door:hover .door-leaf{transform:rotateY(-25deg)}.world-door:hover .door-invitation{color:var(--edge)}}
.world-door.is-open .door-leaf{transform:rotateY(-108deg)}.world-door.is-open .door-world>svg{opacity:1;visibility:visible;transform:scale(1)}.world-door.is-open .door-name{color:var(--edge)}.world-doors .doors-status{margin-top:20px;font-size:10px;text-align:center;min-height:16px;border-top:1px solid #eadfea;padding-top:12px}
@media(max-width:1100px){.learning-layout{grid-template-columns:minmax(0,1fr) 320px}.doors-row{gap:8px}.world-doors{padding-inline:14px}}
@media(max-width:850px){.learning-layout{grid-template-columns:1fr}.companion-rail{grid-template-columns:1fr}.world-doors{padding:26px}.doors-row{gap:24px;max-width:470px;margin:26px auto 0}.door-scene{height:190px}.door-emblem{width:42px;height:42px;margin-top:15px}.door-panel{height:50px}.door-name{font-size:15px}}
@media(max-width:380px){.world-doors{padding:20px 12px}.doors-row{gap:10px}.door-scene{height:155px}.door-name{font-size:12px}}
.focus-mode .learning-layout{grid-template-columns:1fr}
@media(prefers-reduced-motion:reduce){.door-leaf,.door-world>svg{transition:none}.world-door:hover .door-leaf,.world-door:focus-visible .door-leaf{transform:none}.world-door.is-open .door-leaf{transform:none;opacity:0}}

/* One learning space: door selection, then subject content. */
.learning-layout{grid-template-columns:minmax(0,1fr);gap:26px}
.learning-stage{min-width:0}
.stage-content>[hidden]{display:none!important}
.stage-content>.world-doors{padding:24px;text-align:center;box-shadow:none;border:0;background:linear-gradient(145deg,#fff,#fcedf580)}
.stage-content>.world-doors .doors-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,4vw,64px);max-width:920px;margin:38px auto 0}
.stage-content>.world-doors .door-scene{width:200px;height:300px;max-width:100%;margin-inline:auto}
.stage-content>.world-doors .door-name{font-size:16px}
.stage-content>.world-doors .door-invitation{font-size:12px}
.world-door[aria-disabled=true]{cursor:wait}
.world-door.placeholder-door{cursor:not-allowed;opacity:.72}
.world-door.placeholder-door:focus-visible .door-leaf{transform:none}
@media(hover:hover) and (pointer:fine){.world-door.placeholder-door:hover .door-leaf{transform:none}.world-door.placeholder-door:hover .door-invitation{color:#657580}}
.back-to-doors{display:inline-flex;align-items:center;gap:12px;text-align:left;padding:10px 0;margin-bottom:24px;border:0;background:transparent;color:#7a0141;font-size:14px;font-weight:600}
.back-to-doors:hover{color:#b12b73}.back-to-doors span{transition:transform .2s}.back-to-doors:hover span{transform:translateX(-3px)}
#learning-subject-title{font-size:24px;margin-bottom:20px;letter-spacing:-.5px}
.embedded-classroom.math-page,.embedded-classroom.english-page{max-width:none;overflow:visible;border-radius:0;background:transparent;box-shadow:none}
.embedded-classroom .classroom-heading{display:none}
.embedded-classroom.math-page #child,.embedded-classroom.english-page #english-class{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.embedded-classroom.math-page .math-overview,.embedded-classroom.english-page .english-progress{margin-top:0}
.learning-layout>.companion-rail{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start}
.learning-layout>.companion-rail .companion-card{display:grid;grid-template-columns:180px 1fr;align-items:center}
.learning-layout>.companion-rail .companion-portrait{height:230px;border-bottom:0}
@media(max-width:720px){.learning-layout>.companion-rail{grid-template-columns:1fr}.learning-layout>.companion-rail .companion-card{grid-template-columns:110px 1fr}.learning-layout>.companion-rail .companion-portrait{height:100%;min-height:180px}.back-to-doors{font-size:12px}#learning-subject-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){.back-to-doors span{transition:none}.back-to-doors:hover span{transform:none}}

/* Larger doors, side by side within the learning stage. */
.stage-content>.world-doors .door-frame{border-width:9px;border-radius:100px 100px 6px 6px}
.stage-content>.world-doors .door-world,.stage-content>.world-doors .door-leaf{border-radius:90px 90px 3px 3px}
.stage-content>.world-doors .door-number{font-size:12px;margin-top:30px}
.stage-content>.world-doors .door-emblem{width:58px;height:58px;margin-top:18px}
.stage-content>.world-doors .door-emblem svg{width:38px;height:38px}
.stage-content>.world-doors .door-world>svg{width:55px}
.stage-content>.world-doors .door-panel{bottom:18px;left:23px;right:23px;height:75px;border-radius:28px 28px 5px 5px}
.stage-content>.world-doors .door-handle{width:10px;height:10px;right:13px}
.stage-content>.world-doors .door-name{font-size:20px;margin-top:20px}
.stage-content>.world-doors .door-invitation{font-size:13px}
@media(max-width:720px){.stage-content>.world-doors{padding:20px 0}.stage-content>.world-doors .doors-row{gap:12px;margin-top:28px}.stage-content>.world-doors .door-scene{width:145px;height:220px}.stage-content>.world-doors .door-frame{border-width:6px}.stage-content>.world-doors .door-number{font-size:9px;margin-top:22px}.stage-content>.world-doors .door-emblem{width:40px;height:40px;margin-top:12px}.stage-content>.world-doors .door-emblem svg{width:28px;height:28px}.stage-content>.world-doors .door-panel{height:50px;left:14px;right:14px;bottom:12px}.stage-content>.world-doors .door-name{font-size:15px}.stage-content>.world-doors .door-handle{width:7px;height:7px;right:8px}}
@media(max-width:420px){.stage-content>.world-doors .doors-row{gap:8px}.stage-content>.world-doors .door-scene{height:165px;padding-inline:2px}.stage-content>.world-doors .door-frame{border-width:4px}.stage-content>.world-doors .door-number{margin-top:15px}.stage-content>.world-doors .door-emblem{width:30px;height:30px;margin-top:8px}.stage-content>.world-doors .door-emblem svg{width:22px;height:22px}.stage-content>.world-doors .door-panel{height:34px;left:9px;right:9px}.stage-content>.world-doors .door-name{font-size:12px;margin-top:14px}.stage-content>.world-doors .door-invitation{font-size:10px}.stage-content>.world-doors .door-world>svg{width:30px}}
