@import url('');
:root{--ink:#153b40;--muted:#577276;--paper:#f6f4e9;--mint:#dcebcf;--teal:#185b59;--gold:#eab557;--line:#d3ddd1;--orange:#d56a3f;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:transparent;color:inherit;border-radius:12px;padding:12px 19px;min-height:48px;font-weight:650}button:hover{background:#e4e9dc}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d88139;outline-offset:4px}a{color:inherit}header{max-width:1440px;margin:auto;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:1.5px}.wordmark small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.mark{height:46px;width:46px;display:grid;place-content:center;background:var(--teal);color:var(--paper);font-size:30px;border-radius:50%}.mark span{position:absolute;font-size:14px;margin:24px 0 0 31px;background:var(--gold);border-radius:50%;width:21px;height:21px;text-align:center;color:var(--ink)}nav{display:flex;gap:8px}nav button{border:0;font-size:13px}main{max-width:1320px;margin:auto;padding:38px 5% 64px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(40px,5.7vw,77px);line-height:1.03;letter-spacing:-2px;margin-bottom:24px}h1 em{color:var(--teal)}h2{font-family:Georgia,serif;font-size:34px;font-weight:500;letter-spacing:-.7px}h3{font-size:21px}p{line-height:1.65}.hero{display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:40px;padding:18px 0 48px}.hero p{max-width:490px;color:var(--muted);font-size:16px}.hero-art{position:relative;background:#dce8d2;border-radius:50% 50% 40% 45%;min-height:400px;overflow:hidden;display:grid;place-items:center}.hero-art img{width:100%;height:420px;object-fit:cover;mix-blend-mode:multiply}.orbit{position:absolute;border:1px solid #6d9380;inset:22px;border-radius:50%;transform:rotate(-20deg)}.artlabel{position:absolute;bottom:26px;left:25px;background:var(--paper);padding:12px 19px;border-radius:28px;font-size:12px;font-weight:700}.pill{display:inline-block;padding:7px 13px;border:1px solid var(--line);border-radius:25px;font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:22px}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#10433f}.actions{display:flex;gap:12px;flex-wrap:wrap}.stats{display:flex;gap:26px;margin-top:30px;color:var(--muted);font-size:11px}.stats b{display:block;font-size:24px;font-family:Georgia,serif;color:var(--ink);font-weight:500}.maphead{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-top:25px;border-top:1px solid var(--line)}.maphead h2{margin:9px 0}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:25px 0}.filters select{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-height:48px;color:var(--ink)}.filters button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fffdf6;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.card-visual{height:142px;background:#e1eacf;position:relative;display:grid;place-items:center;font-size:65px}.card.physical .card-visual{background:#e5e6d9}.card-visual:before{content:'';position:absolute;width:95px;height:95px;border:1px solid #9aac94;border-radius:50%}.card-visual span{z-index:1}.card-visual small{position:absolute;top:14px;left:16px;font-size:10px;letter-spacing:1px;background:#f8f6eb;padding:6px 10px;border-radius:20px}.cardbody{padding:21px;display:flex;flex:1;flex-direction:column}.cardbody .eyebrow{font-size:9px}.cardbody h3{font-family:Georgia,serif;font-size:25px;font-weight:500;line-height:1.15;margin:8px 0 12px}.cardbody p{font-size:12px;color:var(--muted);flex:1}.cardbody button{display:flex;justify-content:space-between;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 0 0;min-height:48px;font-size:12px}.done{color:#287444;font-weight:800}.note{font-size:12px;color:var(--muted);margin:20px 0}.lessonhead{display:flex;gap:20px;justify-content:space-between;align-items:center}.lessonhead h1{font-size:46px;margin:10px 0 26px}.lesson-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:25px}.panel{border:1px solid var(--line);border-radius:22px;padding:28px;background:#fffdf6}.panel h2{font-size:29px}.panel p{font-size:14px}.model{background:#e6edde;border-radius:16px;padding:22px;margin:20px 0;min-height:260px}.model label{display:block;font-size:13px;font-weight:700;margin:16px 0 10px}.model input[type=range]{width:100%;accent-color:var(--teal);min-height:44px}.model output{display:block;font-size:26px;font-family:Georgia,serif;margin:12px 0}.model select{width:100%;padding:12px;background:#fffdf6;border:1px solid var(--line);border-radius:8px;min-height:48px}.visual-track{height:100px;border-bottom:3px solid #93a58e;position:relative;overflow:hidden}.cart{position:absolute;bottom:0;font-size:42px;transition:left .3s}.bars{display:flex;align-items:end;height:130px;gap:20px;padding:15px 10px 0}.bar{background:#49836a;min-width:40px;border-radius:8px 8px 0 0}.bar:nth-child(2){background:#d9aa54}.cell-art{font-size:65px;text-align:center}.model .note{margin-bottom:0}.question h2{font-family:inherit;font-size:24px;line-height:1.35;margin:22px 0}.choices{display:grid;gap:11px}.choices button{text-align:left;background:var(--paper);font-size:14px;font-weight:500;padding:16px}.choices button.correct{border-color:#2b784b;background:#e0efda}.choices button.wrong{border-color:#b26943;background:#f7e3d4}.feedback{margin:16px 0;line-height:1.6;font-size:14px}.feedback:empty{display:none}.companion{display:flex;align-items:center;gap:14px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.companion video{width:90px;height:90px;object-fit:cover;border-radius:50%;background:#dcebcf}.companion p{margin:0;font-size:12px}.progress{height:5px;background:#dae0d2;border-radius:8px;overflow:hidden}.progress div{height:100%;background:var(--teal)}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;gap:20px;align-items:center;font-size:13px}footer img{width:85px;height:65px;object-fit:contain}footer small{color:var(--muted);font-size:10px}footer button{margin-left:auto;font-size:11px}#cinema{position:fixed;inset:0;z-index:1000;background:#071d22;width:100vw;height:100dvh}#cinema[hidden]{display:none}#film{width:100%;height:100%;object-fit:cover;display:block}#filmPause,#filmSound{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));background:#102d30b8;color:white;border:1px solid #a5bcad;font-size:12px;min-width:48px}#filmPause{right:20px}#filmSound{right:84px}#mediaStatus{position:absolute;left:20px;bottom:25px;color:white;font-size:12px}dialog{max-width:720px;width:90%;border:1px solid var(--line);border-radius:22px;padding:38px;background:var(--paper);color:var(--ink);max-height:85vh}dialog::backdrop{background:#112b30b0}.close{float:right;padding:5px 15px;font-size:25px}.setting{display:flex;gap:15px;align-items:center;margin:18px 0;min-height:48px}.setting input{width:24px;height:24px;accent-color:var(--teal)}.skiplink{position:fixed;left:10px;top:-80px;background:white;padding:15px;z-index:2000}.skiplink:focus{top:10px}textarea{width:100%;height:100px;padding:15px;font:inherit;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.empty{text-align:center;padding:60px}.result{max-width:760px;margin:30px auto;text-align:center}.result img{height:180px;max-width:100%;object-fit:contain}.result h1{font-size:50px}body.motion-reduced *{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(max-width:900px){.hero{gap:20px}.hero-art{min-height:290px}.hero-art img{height:310px}.cards{grid-template-columns:repeat(2,1fr)}.lesson-grid{grid-template-columns:1fr}.lessonhead h1{font-size:38px}nav{gap:0}nav button{padding:10px;font-size:11px}footer{flex-wrap:wrap}}@media(max-width:600px){header{padding:16px 5%;align-items:start}.wordmark{font-size:11px;letter-spacing:1px}.wordmark small{font-size:6px}.mark{width:35px;height:35px;font-size:24px}.mark span{margin:18px 0 0 24px}nav{flex-direction:column}nav button{min-height:44px;padding:3px 8px;text-align:right}.hero{grid-template-columns:1fr;padding-top:0}.hero h1{font-size:52px}.hero-art{min-height:250px;grid-row:2}.hero-art img{height:280px}.stats{justify-content:space-between;gap:10px}.cards{grid-template-columns:1fr}.maphead{align-items:start}.maphead h2{font-size:29px}.panel{padding:20px}.lessonhead{align-items:start}.lessonhead h1{font-size:35px}.lessonhead button{font-size:11px;padding:10px}footer{gap:12px}footer img{width:65px}footer button{margin-left:0}main{padding-top:25px}.filters{gap:5px}.filters button{font-size:12px;padding:10px 13px}}
main:focus{outline:none}.artlabel{left:auto;right:40px;bottom:42px}
#cinema{background-position:center;background-size:cover;background-repeat:no-repeat}

/* Keep the cinema full viewport; preserve the entire film on every screen. */
#cinema{isolation:isolate;overflow:hidden;background:#071d22;background-image:none;width:100%;height:100vh;height:100dvh}
#cinema::before{content:"";position:absolute;inset:-32px;z-index:0;background-image:var(--film-poster);background-size:cover;background-position:center;filter:blur(28px);opacity:.35;pointer-events:none}
#filmStill,#film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;border:0;border-radius:0;max-width:none;max-height:none}
#filmStill{z-index:1}#film{z-index:2}#filmPause,#filmSound,#mediaStatus{z-index:3}
.hero>*,.lesson-grid>*,.card{min-width:0}
@media(max-width:600px){.hero-art{border-radius:24px;min-height:0;display:block}.hero-art img{display:block;width:100%;height:auto;object-fit:contain}.hero-art .orbit{display:none}.artlabel{right:12px;bottom:12px;padding:9px 12px;font-size:10px}}

/* A full-screen stage must never scroll when its pause control receives focus. */
#cinema{overflow:hidden;overflow:clip}

.profile-screen{max-width:860px;margin:20px auto;padding:28px;background:#f7faf5ed;border-radius:28px}.profile-screen h1{font-size:clamp(2rem,6vw,3.6rem)}.profile-screen form{display:grid;gap:12px}.profile-screen input{font:inherit;padding:16px;border:2px solid #557b7b;border-radius:12px}.profile-screen fieldset{border:0;padding:12px 0}.avatar-options,.profile-list{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.avatar-options button,.profile-list button[data-profile]{display:grid;justify-items:center;gap:8px;min-width:100px;min-height:112px;padding:12px}.avatar-options button[aria-pressed=true]{outline:4px solid #00867f;outline-offset:2px}.avatar-options img,.profile-list img{width:76px;height:64px;object-fit:cover}.crew-avatar{display:block;width:76px;height:64px;overflow:hidden;position:relative}.crew-avatar img{position:absolute;width:205px;max-width:none;height:115px;object-fit:cover;top:-12px}.crew-avatar.maya img{left:-4px}.crew-avatar.leo img{left:-127px}.shape-avatar{font-size:48px;color:#007d79;line-height:64px}.profile-screen button{min-height:48px}.profile-screen small{display:block}.profile-screen #profileError{color:#a12b19}.profile-list>div{display:grid;gap:6px}@media(max-width:600px){.profile-screen{padding:20px;margin:12px}.avatar-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-options button{min-width:0}header nav{flex-wrap:wrap}}
