:root{--deep:#052e28;--forest:#09493a;--emerald:#176e53;--light:#d5eecf;--gold:#f4c979;--cream:#fff9e9;--white:#fffef6;--border:#b99649;--mist:#e6f7e8;--ink:#113b31;--shade:#05332da3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#fef8e9;background:#063b33;min-height:100vh}.site-bg{position:fixed;z-index:-2;inset:0;background:linear-gradient(180deg,#01251fd6 0%,#032b23e5 55%,#073a34f2 100%),url('assets/green_3d_atmosphere.jpg') center top/cover}.site-bg:after{position:absolute;inset:0;content:'';background:radial-gradient(ellipse at 77% 18%,#eab55e21,transparent 30%),radial-gradient(ellipse at 0% 72%,#2dc18c22,transparent 44%)}
button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.site-shell{max-width:1440px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 35px;background:#052e28ef;border-bottom:1px solid #daa75880;position:sticky;z-index:30;top:0;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;border:0;background:none;color:white;text-align:left;padding:0}.brand-signet{display:grid;place-items:center;width:43px;height:43px;border:1.5px solid #f2c77d;border-radius:13px;box-shadow:inset 0 0 18px #e0aa504a;color:#f6d08b;font-size:27px}.brand b{display:block;font-size:18px;letter-spacing:1.4px}.brand small{font-size:10px;color:#e2c581;letter-spacing:2px}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav button{color:#f6f1dd;background:transparent;border:0;border-radius:10px;padding:11px 14px;font-size:13px;font-weight:650}.topbar nav button:hover{background:#275f4b}.coin{display:flex;align-items:center;gap:8px;border:1px solid #e7ba6a9c;border-radius:28px;padding:9px 14px;color:#fce6ab;background:linear-gradient(150deg,#0f5d49,#063b32);white-space:nowrap;font-size:12px}.coin strong{font-size:19px}.coin span:first-child{font-size:19px}
main{min-height:calc(100vh - 170px)}.homeHero{position:relative;min-height:345px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #bba15d77}.homeHero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#052f28 9%,#07372dd9 42%,#0f463255 100%),url('assets/green_3d_atmosphere.jpg') center 40%/cover;filter:saturate(1.25)}.homeHero:after{content:'✧';font-family:'Noto Serif',Georgia,serif;font-size:390px;position:absolute;right:9%;top:-135px;line-height:1;opacity:.08;color:#fff7dc}.homeCopy{position:relative;z-index:1;max-width:950px;padding:52px 44px 50px}.eyebrow{display:inline-block;border:1px solid #f2cb8d;color:#f6d99c;background:#0b4335d4;border-radius:40px;font-weight:800;letter-spacing:1.4px;padding:9px 17px;font-size:11px}.homeHero h1{font-family:'Noto Serif',Georgia,serif;font-weight:700;font-size:clamp(42px,6.3vw,87px);line-height:1.04;color:#ffebc0;margin:20px 0 14px;text-shadow:0 7px 22px #071c1daa}.homeHero .lead{font-size:clamp(16px,1.6vw,21px);line-height:1.7;max-width:790px;color:#f7f4e7}.heroflow{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}.heroflow span{padding:8px 13px;border-radius:100px;background:#073f35d9;border:1px solid #dcb56c80;font-size:12px;color:#ffeed3}.wrap{max-width:1260px;margin:auto;padding:35px 30px}.section-head{text-align:center;margin:10px auto 28px}.overline{font-size:12px;letter-spacing:2.4px;color:#fbd59e;font-weight:800;text-transform:uppercase}.section-head h2{font-family:'Noto Serif',Georgia,serif;font-size:clamp(29px,4.4vw,49px);margin:8px 0;color:#fff6de}.section-head p{color:#d9e8d6;margin:0;font-size:14px;line-height:1.8}.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.world-card{min-height:360px;position:relative;border-radius:28px;overflow:hidden;border:2px solid #eac57ba8;background:linear-gradient(160deg,#125743,#062e29);box-shadow:0 20px 60px #020f0fa1,inset 0 0 16px #fce5a526;transition:transform .18s,box-shadow .18s}.world-card:hover{transform:translateY(-4px);box-shadow:0 25px 70px #0009,inset 0 0 20px #edb96870}.world-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#031d1af5 0%,#06382ce8 40%,#103c3360 100%)}.world-card img{position:absolute;top:0;right:0;height:100%;width:49%;object-fit:cover;opacity:.91;mask-image:linear-gradient(90deg,transparent,black 28%);-webkit-mask-image:linear-gradient(90deg,transparent,black 28%)}.world-card:first-child img{width:75%;object-position:center}.world-card:nth-child(2) img{width:58%;object-position:right center}.world-card .inner{position:relative;z-index:1;padding:27px 29px;max-width:390px;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.world-card .num{font-weight:800;letter-spacing:3px;font-size:11px;color:#ffe4a6}.world-card h3{font-family:'Noto Serif',Georgia,serif;font-size:40px;margin:10px 0;color:#fff0bf}.world-card p{max-width:340px;color:#f1e9d6;line-height:1.65;font-size:14px}.pill{display:inline-flex;gap:8px;align-items:center;padding:9px 13px;border-radius:100px;font-size:12px;background:#104d3fbd;border:1px solid #dbaf67c2;color:#ffdfa0}.cta{border:1.5px solid #fff0b7;border-radius:100px;background:linear-gradient(170deg,#ffe8a8,#d4a24b);color:#123b2c;padding:14px 22px;font-weight:900;box-shadow:0 8px 0 #8863294d,0 0 25px #d4a24b6b;transition:transform .15s}.cta:hover{transform:translateY(-3px)}.cta.ghost{color:#ffefc6;background:#0c5b47;border-color:#e8c175;box-shadow:none}.cta.muted{background:#f1ead9;color:#33574b;border:0;box-shadow:none}.cta:disabled{filter:grayscale(.65);opacity:.45;box-shadow:none}.world-card .cta{margin-top:20px}.thin{font-size:13px;color:#dce7d7}.hintbox{margin-top:26px;background:#eaf5e6eb;color:#204b40;border:1px solid #f1d28c;border-radius:23px;padding:24px 27px;line-height:1.6}.hintbox b{color:#105846}
/* lesson page */
.lessonhead{background:linear-gradient(105deg,#052d27f7,#0c523deb);border-bottom:1px solid #debd71;padding:25px 30px}.lessonhead .bread{font-size:12px;color:#f3d38c;margin-bottom:10px}.lessonhead h1{font-family:'Noto Serif',Georgia,serif;font-size:clamp(31px,4vw,55px);margin:0 0 6px;color:#fff0cc}.lessonhead p{font-size:14px;color:#cfe5d5}.lessonhead .headrow{display:flex;justify-content:space-between;gap:12px;align-items:center;max-width:1260px;margin:auto}.lessonbody{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1270px;margin:auto;gap:24px;padding:28px 26px 50px}.panel{border:1px solid #e0bd72;border-radius:24px;background:linear-gradient(165deg,#0b5746d9,#063f35ef);box-shadow:inset 0 1px #ffffe220,0 16px 35px #031e1e85}.rail{align-self:start;padding:20px 14px;position:sticky;top:100px}.rail strong{display:block;color:#fce4b2;margin:0 8px 15px;font-size:15px}.chapBtn{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:transparent;border:1px solid transparent;border-radius:15px;color:#e9f6e5;padding:12px 11px;margin-bottom:6px;font-size:13px}.chapBtn.active{background:#c69b4a21;border-color:#edbe6e;color:#ffe8b6}.chapBtn.locked{opacity:.45}.chapBtn .chNum{width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;border-radius:9px;background:#0c463b;border:1px solid #ddb676;font-size:12px;font-weight:900}.chapBtn.complete .chNum{background:#276e4e;border-color:#70c987}.rail small{display:block;padding:10px;color:#bfd9ca;line-height:1.6}.detail{min-width:0}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}.step{display:flex;align-items:center;justify-content:center;gap:7px;background:#0f5142b8;border:1px solid #9e9461;border-radius:15px;padding:14px 8px;text-align:center;color:#e5e8d6;font-size:12px;font-weight:750}.step.on{background:linear-gradient(160deg,#fce5ae,#c89c4c);color:#123f34}.step.passed{border-color:#82c28f;background:#104b3e;color:#e3ffe4}.paper{background:linear-gradient(140deg,#fffcf0,#f2ead2);color:#1e4137;border:2px solid #dfbc70;border-radius:25px;padding:clamp(22px,4vw,43px);box-shadow:0 20px 46px #041f1caa,inset 0 1px #fff}.paperTitle{font-family:'Noto Serif',Georgia,serif;font-size:clamp(29px,4vw,44px);color:#104d3b;margin:8px 0}.paperSub{color:#946c31;font-weight:800;margin-bottom:23px}.paper p{font-size:clamp(16px,1.6vw,18px);line-height:1.9;max-width:840px;margin:0 0 18px}.fact{padding:18px 20px;margin:24px 0;border-left:5px solid #bd9044;background:#f5e8bd;border-radius:13px;font-size:14px;line-height:1.6}.nextstory{padding:20px;border:1px dashed #b9924b;color:#365743;border-radius:16px;font-size:14px;background:#f8f5e6;margin:24px 0}.actions{display:flex;gap:12px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.actions .cta{font-size:14px}.section-note{font-size:13px;color:#d6eadc;line-height:1.6;margin-top:15px}.film{max-width:100%;display:block;width:100%;border:2px solid #efc471;border-radius:18px;background:#063b33;box-shadow:0 15px 35px #173d297a;aspect-ratio:720/404}.videonote{margin:18px 0;padding:18px 20px;background:#f4e6c6;color:#415a41;border-radius:14px;font-size:14px;line-height:1.7}.videoBtn{margin-top:20px}.filmTag{font-size:12px;letter-spacing:1.7px;color:#936c2c;font-weight:850}.quizQuestion{font-size:22px;font-weight:800;line-height:1.4;margin:22px 0;color:#164c3e}.answer{width:100%;text-align:left;border-radius:17px;background:white;border:1.5px solid #cab485;padding:16px 18px;margin:8px 0;color:#133c32;font-weight:650}.answer:hover{background:#f5eccb}.answer.good{background:#caefce;border-color:#329a5c}.answer.bad{background:#ffe0d7;border-color:#b85b42}.answer:disabled{cursor:default}.quiz-meta{color:#765c33;font-size:13px}.bar{height:11px;border-radius:12px;background:#d4dac3;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#276f5b,#d2a653);width:0%;transition:width .3s}.feedback{font-size:14px;min-height:25px;margin:16px 0}.reward{text-align:center}.shield{width:126px;height:147px;display:grid;place-items:center;margin:12px auto 15px;position:relative;clip-path:polygon(50% 0%,100% 17%,92% 76%,50% 100%,8% 76%,0 17%);background:linear-gradient(130deg,#a37c40,#e4bc70,#8b5d22);filter:drop-shadow(0 13px 12px #17382e55);box-shadow:inset 0 0 20px #fff8}.shield span{font-size:55px;color:white;text-shadow:1px 3px 4px #4a341f8c}.shield.wood{background:linear-gradient(130deg,#9b774c,#cbae73,#6b472e)}.shield.bronze{background:linear-gradient(140deg,#a05c31,#ecc08e,#7f3f20)}.shield.silver{background:linear-gradient(140deg,#8f9f9b,#f2fbf6,#7c9c99)}.shield.gold{background:linear-gradient(140deg,#b57f28,#ffefa6,#d29a36)}.reward h2{font-family:'Noto Serif',Georgia,serif;color:#134b3e;font-size:36px;margin:4px 0 8px}.reward .rank{font-size:21px;font-weight:850;color:#956522}.stars{font-size:25px;color:#ba8a29;letter-spacing:6px}.resultsList{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.miniStat{background:linear-gradient(135deg,#f7ecd1,#fef9e9);border:1px solid #efc884;color:#174e3d;border-radius:18px;padding:20px}.miniStat b{font-size:32px;display:block;color:#8e6a29}.miniStat small{color:#4e6555}.badgeGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.badgeCard{display:flex;align-items:center;gap:15px;background:#f7f0da;color:#194f42;border-radius:17px;border:1px solid #edc881;padding:15px}.badgeCard .shield{width:61px;height:72px;margin:0;flex-shrink:0}.badgeCard .shield span{font-size:24px}.badgeCard .badgeText b{display:block;font-size:14px}.badgeCard .badgeText small{font-size:12px;color:#567466}.progressPanel{background:#f7f0dc;border:1px solid #e4c686;border-radius:23px;padding:25px;color:#184637;margin-bottom:18px}.progressPanel h3{color:#155140;margin:3px 0 12px}.progressPanel .bar{margin:12px 0}.progressPanel .cta{font-size:12px}.sourceLinks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sourceLinks a{display:block;padding:17px;border-radius:16px;color:#184b3f;text-decoration:underline;text-decoration-color:#c1a66b;background:#fff8e9;border:1px solid #dbb979;overflow-wrap:anywhere}.footer{padding:20px 32px;border-top:1px solid #bba36b80;background:#032e27de;display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;color:#d7dfce;font-size:11px;line-height:1.5}
@media(max-width:950px){.topbar{padding:13px 17px;gap:10px}.topbar nav{order:3;width:100%;justify-content:space-between}.topbar nav button{padding:8px 9px}.lessonbody{grid-template-columns:1fr}.rail{position:static}.rail .chapList{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.paths{gap:15px}.world-card h3{font-size:32px}}
@media(max-width:650px){.topbar nav{gap:0}.topbar nav button{font-size:11px}.homeCopy{padding:40px 22px 35px}.homeHero{min-height:360px}.homeHero h1{font-size:45px}.paths{grid-template-columns:1fr}.wrap{padding:24px 16px}.world-card{min-height:330px}.world-card .inner{padding:22px}.lessonbody{padding:19px 12px}.lessonhead{padding:18px 17px}.lessonhead .headrow{flex-direction:column;align-items:flex-start}.rail .chapList{grid-template-columns:repeat(2,1fr)}.chapBtn{padding:8px 6px;font-size:11px}.step{font-size:10px;padding:11px 4px}.paper{padding:20px 16px}.paper p{font-size:15px;line-height:1.75}.badgeGrid,.resultsList,.sourceLinks{grid-template-columns:1fr}}

/* Minimal addition: original styling unchanged; only 2-minute film player layout */
.fullfilm{max-width:1110px;margin:24px auto 44px}.fullfilm .film{display:block;width:100%;aspect-ratio:16/9;border:2px solid #c7a36a;border-radius:16px;background:#082a27}.fullfilm .film-note{font-size:14px;line-height:1.7;color:#284d3d;margin:14px 0 18px}.world-card .cta.ghost{margin-top:11px;font-size:13px;padding:11px 16px}.world-card .cta{max-width:100%}
