:root{--ink:#111827;--navy:#132238;--teal:#1d6f73;--gold:#d6a84f;--cream:#fffaf0;--paper:#fff7e8;--muted:#64748b;--red:#9f3434;--line:rgba(17,24,39,.14);--shadow:0 18px 44px rgba(17,24,39,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Calibri,"Segoe UI",system-ui,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(242,211,140,.38),transparent 32rem),radial-gradient(circle at 90% 5%,rgba(29,111,115,.22),transparent 28rem),linear-gradient(135deg,#fbefd8,#ead1a0)}a{color:inherit}button,input{font:inherit}.shell{width:min(1280px,calc(100% - 28px));margin:0 auto 44px}.hero{margin:18px 0;border-radius:34px;overflow:hidden;background:linear-gradient(125deg,#132238,#24445b);box-shadow:var(--shadow);border:2px solid rgba(17,24,39,.16)}.hero-inner{display:grid;grid-template-columns:1fr .82fr;gap:28px;align-items:center;padding:42px}.eyebrow{display:inline-flex;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);color:#fff4d2;padding:9px 14px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:18px 0 12px;color:#fffaf0;font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.05em}.hero h1 span{display:block;color:#f2d38c}.hero p{margin:0 0 22px;color:#f8ecd8;font-size:20px;line-height:1.45}.btn{border:0;border-radius:999px;min-height:42px;padding:10px 15px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:.18s transform}.btn:hover{transform:translateY(-2px)}.btn.gold{background:#fff1c8;color:#111827}.btn.clear{background:rgba(255,255,255,.1);color:#fffaf0;border:1px solid rgba(255,255,255,.26)}.btn.dark{background:var(--navy);color:#fffaf0}.btn.light{background:#fffaf0;color:var(--navy);border:1px solid var(--line)}.btn.small{min-height:34px;padding:8px 12px;font-size:14px}.actions,.nav-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-art{min-height:330px;border-radius:26px;overflow:hidden;background:#111827;border:2px solid rgba(255,255,255,.28);box-shadow:0 18px 44px rgba(0,0,0,.25)}.topbar{position:sticky;top:0;z-index:50;margin-bottom:20px;background:rgba(255,250,240,.86);backdrop-filter:blur(16px);border:2px solid rgba(17,24,39,.1);border-radius:22px;box-shadow:0 10px 24px rgba(17,24,39,.1);padding:10px}.nav-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,var(--teal),var(--gold));color:white;display:grid;place-items:center}.nav-actions a,.nav-actions button{text-decoration:none;border:1px solid var(--line);border-radius:999px;background:white;color:#20344f;padding:9px 12px;font-weight:900;cursor:pointer}.notice{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;background:var(--cream);border:2px solid rgba(17,24,39,.1);border-radius:22px;padding:15px 16px;box-shadow:0 10px 24px rgba(17,24,39,.1);margin:20px 0}.notice-icon{width:42px;height:42px;border-radius:15px;background:#f7dfa7;display:grid;place-items:center;font-size:22px}.notice p{margin:0;line-height:1.45}.section{margin:28px 0;background:rgba(255,250,240,.84);border:2px solid rgba(17,24,39,.1);border-radius:32px;box-shadow:var(--shadow);overflow:hidden}.section-header{padding:28px 28px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid rgba(17,24,39,.08);background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.12))}.section-header h2{margin:0;font-size:clamp(30px,4vw,50px);line-height:1.02;letter-spacing:-.04em}.section-header p{margin:8px 0 0;color:var(--muted);font-size:18px;line-height:1.45}.pill{display:inline-flex;border-radius:999px;background:var(--navy);color:#fffaf0;padding:10px 12px;font-weight:900;white-space:nowrap}.grid{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:14px}.card strong{display:block;margin-bottom:8px;font-size:18px}.card p,.card li,.card span{margin:0;color:var(--muted);line-height:1.45;font-size:17px}.card ul{margin:0;padding-left:22px}.vocab-card{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;min-height:118px}.vocab-img{width:78px;height:78px;border-radius:18px;background:#f4e1b7;border:2px solid rgba(17,24,39,.16);display:grid;place-items:center;overflow:hidden;font-size:34px}.vocab-card h3{margin:0 0 6px;font-size:22px}.scene-stack{padding:24px;display:grid;gap:24px}.scene-card{display:grid;grid-template-columns:minmax(390px,.9fr) minmax(500px,1.1fr);border:3px solid #111827;border-radius:30px;background:var(--paper);overflow:hidden;box-shadow:10px 10px 0 rgba(17,24,39,.12)}.scene-card:nth-child(even){grid-template-columns:minmax(500px,1.1fr) minmax(390px,.9fr)}.scene-card:nth-child(even) .art-panel{order:2;border-left:3px solid #111827;border-right:0}.art-panel{height:420px;position:relative;background:#111827;border-right:3px solid #111827;overflow:hidden}.scene-svg{display:block;width:100%;height:420px}.scene-tag{position:absolute;top:16px;left:16px;z-index:5;background:var(--cream);border:2px solid #111827;border-radius:999px;padding:8px 12px;font-weight:900;box-shadow:5px 5px 0 rgba(0,0,0,.13);max-width:calc(100% - 32px)}.scene-content{padding:24px;display:flex;flex-direction:column;gap:16px}.kicker{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.scene-content h3{margin:0;font-size:clamp(30px,3.4vw,42px);line-height:1.02;letter-spacing:-.04em}.scene-content p{margin:0;font-size:19px;line-height:1.46}.passage{background:#fff1e5;border:2px solid rgba(159,52,52,.38);border-radius:18px;padding:14px}.passage-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.passage-top span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-weight:900}.passage-top strong{font-size:14px;background:var(--cream);border-radius:999px;padding:6px 9px}.quote{font-style:italic;font-weight:800;color:#4b2530;margin:0 0 12px;line-height:1.42;font-size:19px}.details ul{margin:0;padding-left:22px}.details li{color:var(--muted);line-height:1.45;margin-bottom:8px}.drawer{display:none;background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:12px}.drawer.active{display:block}.toggle[aria-expanded=true]{background:var(--navy);color:#fffaf0}.student-check{background:var(--cream);border:1px solid var(--line);border-radius:16px;overflow:hidden}.student-check summary{list-style:none;cursor:pointer;font-weight:900;color:var(--navy);padding:12px 14px;background:#fff4d9;border-bottom:1px solid rgba(17,24,39,.1)}.student-check summary::-webkit-details-marker{display:none}.student-check summary:after{content:' +'} .student-check[open] summary:after{content:' −'}.student-check div{padding:12px 14px}.student-check ol{margin:8px 0 0;padding-left:24px}.student-check li{color:var(--muted);line-height:1.45;margin-bottom:8px;font-size:17px}.quote-list{display:grid;gap:10px}.quote-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:start;background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:12px}.quote-row strong{color:var(--navy);line-height:1.25}.quote-row span{color:var(--muted);line-height:1.45}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.choice{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);background:#fff7e7;border-radius:14px;padding:10px;cursor:pointer;line-height:1.35}.choice.correct{background:#def2ea;outline:3px solid rgba(29,111,115,.22)}.choice.incorrect{background:#fde8df;outline:3px solid rgba(159,52,52,.2)}.feedback{min-height:22px;margin-top:10px;font-weight:900;color:var(--teal)}.quote-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(10,14,20,.62);z-index:150;padding:18px}.quote-modal.active{display:flex}.quote-modal-card{position:relative;width:min(720px,100%);background:var(--cream);border:3px solid #111827;border-radius:28px;box-shadow:0 24px 60px rgba(0,0,0,.28);padding:24px}.close-modal{position:absolute;right:14px;top:12px;width:42px;height:42px;border-radius:50%;border:0;background:var(--navy);color:#fffaf0;font-size:26px;cursor:pointer}.modal-kicker{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:8px}.quote-modal-card h3{margin:0 0 10px;font-size:34px;line-height:1.04}.modal-quote{font-size:22px;line-height:1.45;font-style:italic;background:#fff1e5;border:2px solid rgba(159,52,52,.35);padding:14px;border-radius:18px;margin:0 0 14px}.modal-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:10px}.modal-section strong{display:block;margin-bottom:6px}.modal-section span{display:block;color:var(--muted);line-height:1.45}.tools{position:fixed;left:16px;bottom:16px;z-index:120;display:flex;flex-wrap:wrap;gap:8px}.tools button{border:0;border-radius:999px;background:var(--cream);color:var(--navy);font-weight:900;padding:9px 12px;box-shadow:0 8px 22px rgba(0,0,0,.16);cursor:pointer}.status{position:fixed;right:16px;bottom:16px;z-index:120;background:var(--navy);color:#fffaf0;border-radius:999px;padding:10px 14px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.status.show{opacity:1;transform:translateY(0)}body.large-text{font-size:118%}body.high-contrast{background:#0d1623;color:#fff}body.high-contrast .section,body.high-contrast .topbar,body.high-contrast .notice,body.high-contrast .card,body.high-contrast .scene-content,body.high-contrast .passage,body.high-contrast .drawer,body.high-contrast .student-check,body.high-contrast .quote-modal-card,body.high-contrast .modal-section{background:#fff;color:#111}@media(max-width:1050px){.hero-inner,.scene-card,.scene-card:nth-child(even){grid-template-columns:1fr}.scene-card:nth-child(even) .art-panel{order:0;border-left:0;border-right:0;border-bottom:3px solid #111827}.art-panel{height:auto;border-right:0;border-bottom:3px solid #111827}.scene-svg{height:auto;min-height:260px}.grid{grid-template-columns:1fr}}@media(max-width:700px){.shell{width:min(100% - 16px,1280px)}.hero-inner{padding:28px}.section-header{display:block;padding:22px 20px 16px}.pill{margin-top:14px}.scene-stack,.grid{padding:18px}.scene-content{padding:18px}.scene-content h3{font-size:30px}.scene-content p{font-size:18px}.vocab-card{grid-template-columns:70px 1fr}.quote-row,.choice-grid{grid-template-columns:1fr}.hero h1{font-size:42px}}