
:root{--blue:#153e8b;--wine:#781c40;--gold:#f2cc70;--cream:#faf7ee;--ink:#203657;--muted:#566681;--line:#dddfe6}*{box-sizing:border-box}[hidden]{display:none!important}.brand>div{min-width:0}.seal{flex-shrink:0}.phase{font-size:12px;color:var(--muted);padding:8px 12px;background:#eef2fb;border-radius:8px;margin:0 0 16px}.skip{position:absolute;left:16px;top:-80px;z-index:10;background:white;padding:8px}.skip:focus{top:12px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}button,input,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d09520;outline-offset:4px}.shell{max-width:1420px;margin:auto;padding:24px 28px}.brand{display:flex;align-items:center;gap:12px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.09em}.seal{display:grid;place-items:center;background:var(--wine);color:var(--gold);width:46px;height:46px;border-radius:50%;font-size:24px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line)}header small{display:block;letter-spacing:.04em;color:var(--muted);font-weight:500}.toplinks{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid var(--line);background:#fff;border-radius:50px;padding:8px 15px;text-decoration:none;font-size:13px;color:var(--blue)}.intro{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;margin:30px 0 26px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--wine);text-transform:uppercase}h1{font-family:Georgia,serif;font-size:clamp(32px,4vw,54px);line-height:1.13;margin:8px 0 16px;font-weight:500}h1 em{color:var(--wine)}.intro p{color:var(--muted);max-width:650px;margin:0}.feature{background:linear-gradient(120deg,#153e8b,#294c90);padding:22px 26px;border-radius:18px;color:#fff;position:relative;overflow:hidden;border:1px solid #ccd6e9}.feature:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 35px #f2cc7060;animation:glow 9s ease-in-out infinite;pointer-events:none}.feature strong{display:block;font-family:Georgia,serif;font-size:27px;color:var(--gold)}.feature small{display:block;color:#e1e9f8;margin:6px 0 14px}.primary{border:0;border-radius:10px;background:var(--wine);color:#fff;font-weight:750;padding:12px 20px}.feature button{background:var(--gold);color:#203657}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}.sidebar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;position:sticky;top:20px;max-height:85vh;overflow:auto}.sidebar label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}input{width:100%;border:1px solid #c7cedb;border-radius:9px;padding:10px;background:#fafbfd}#count{font-size:12px;color:var(--muted);margin:8px 0}.part{font-size:11px;color:var(--wine);letter-spacing:.08em;font-weight:800;margin:20px 0 7px}.lessonbtn{display:flex;gap:10px;width:100%;text-align:left;border:0;border-radius:8px;padding:9px 8px;font-size:13px;line-height:1.4;background:transparent;color:var(--ink)}.lessonbtn:hover{background:#f0f3fa}.lessonbtn[aria-current=page]{background:#e9effc;color:var(--blue);font-weight:750}.num{flex-shrink:0;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eef1f6;font-size:11px}.done .num{background:#e2f2e7;color:#1b6335}.card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.scene{height:240px;position:relative;background:#153e8b}.scene svg{width:100%;height:100%;display:block}.scene .caption{position:absolute;bottom:12px;right:16px;font-size:10px;letter-spacing:.07em;color:#fff;background:#153e8bcb;padding:3px 9px;border-radius:20px}.body{padding:28px 36px}.meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.1em;color:var(--wine);font-weight:800;text-transform:uppercase}h2{font:500 clamp(25px,3vw,36px)/1.2 Georgia,serif;margin:10px 0 18px}#summary{font-size:17px;line-height:1.8;margin:0 0 22px}blockquote{margin:0 0 20px;padding:16px 20px;background:#f7f5ef;border-left:3px solid var(--gold);border-radius:0 9px 9px 0}blockquote p{margin:0;font-family:Georgia,serif;font-size:20px}blockquote cite{font-style:normal;font-size:12px;color:var(--wine);display:block;margin-top:8px}.response{padding:14px 18px;border:1px solid #e6d5de;background:#fff8fb;border-radius:10px}.response b{font-size:11px;color:var(--wine);letter-spacing:.1em}.response p{margin:4px 0 0;font-size:15px}details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-size:13px;font-weight:750}.refs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.refs a{font-size:12px;padding:6px 10px;border-radius:7px;background:#eef2fb;text-decoration:none}.controls{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-top:24px}.secondary{border:1px solid #c5ccda;background:#fff;border-radius:9px;padding:10px 17px;color:var(--blue);font-size:14px;font-weight:650}button:disabled{opacity:.45;cursor:default}.progress{margin:14px 0;font-size:12px;color:var(--muted)}progress{width:100%;height:6px;display:block;margin-top:5px;accent-color:var(--wine)}.bottom{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 28px}.bottom a{font-size:13px}.footer{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:12px}.footer strong{color:var(--wine)}.footer a{margin-right:12px}.mobilemenu{display:none}.finish{background:#edf3fd;border-radius:12px;padding:18px;margin-top:18px}.finish h3{margin:0 0 8px;font-family:Georgia,serif;font-size:24px}.finish p{margin:0 0 10px;font-size:14px}.status{font-size:12px;margin-top:7px;color:var(--muted)}@keyframes glow{0%,70%,100%{opacity:.12}85%{opacity:.7}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media(max-width:850px){.shell{padding:18px}.intro{grid-template-columns:1fr;gap:18px}.layout{grid-template-columns:1fr}.sidebar{position:static;max-height:370px;display:none}.sidebar.open{display:block}.mobilemenu{display:block;width:100%;margin:0 0 16px}.scene{height:205px}.body{padding:22px}.toplinks{display:none}header{padding-bottom:15px}.brand{font-size:11px}.controls{gap:8px}.controls button{flex:1;padding:10px}.intro p{font-size:14px}}@media print{.sidebar,.intro,.controls,.toplinks,.bottom,.mobilemenu{display:none}.layout{display:block}.scene{height:160px}.card{border:0}.shell{padding:0}.footer{font-size:10px}}

.offline-feature-eyebrow{color:#e7eafa}.offline-banner{padding:12px;background:#eef2fb;border-radius:10px;margin-top:16px}

