:root{--navy:#0d2b45;--blue:#174b70;--gold:#c89b3c;--cream:#f6f0e4;--ink:#1d2831;--muted:#64717c;--white:#fff;--ok:#2f7d5b;--shadow:0 8px 24px #0d2b4518}*{box-sizing:border-box}body{margin:0;background:#f2f4f5;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}header{position:sticky;top:0;z-index:5;min-height:76px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:flex;align-items:center;padding:12px 14px;gap:10px;box-shadow:0 4px 18px #0003}header div{flex:1}header small{color:#ead49a;letter-spacing:1.8px;font-weight:800;font-size:10px}header h1{font-family:Georgia,serif;font-size:20px;margin:2px 0}.icon{border:0;background:#ffffff18;color:white;border-radius:12px;width:42px;height:42px;font-size:25px}.hidden{visibility:hidden}main{padding:18px 16px 96px;max-width:760px;margin:auto}nav{position:fixed;z-index:6;bottom:0;left:0;right:0;height:72px;background:white;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 -5px 20px #0d2b4520}nav button{border:0;background:none;color:#63717c;font-size:23px;padding:8px}nav span{display:block;font-size:11px;font-weight:700;margin-top:2px}.hero{background:linear-gradient(145deg,#0d2b45,#286789);color:white;border-radius:24px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"✦";position:absolute;right:-8px;bottom:-42px;color:#ffffff12;font-size:150px}.hero .eyebrow,.eyebrow{color:#e7c96e;font-weight:800;letter-spacing:1.2px;font-size:12px}.hero h2{font:700 31px/1.05 Georgia,serif;margin:8px 0}.hero p{color:#dae6ed;line-height:1.45}.button{border:0;border-radius:13px;padding:13px 17px;background:var(--gold);color:#172431;font-weight:800;font-size:15px}.button.secondary{background:#e7edf0;color:var(--navy)}.section-title{font:700 23px Georgia,serif;margin:25px 2px 12px}.lesson,.panel,.info-card,.question{background:white;border-radius:18px;padding:17px;margin:12px 0;box-shadow:var(--shadow)}.lesson{display:flex;gap:14px;align-items:center}.lesson-num{min-width:52px;height:52px;border-radius:16px;background:var(--navy);color:#f0d37d;display:grid;place-items:center;font:700 22px Georgia,serif}.lesson div:nth-child(2){flex:1}.lesson h3{margin:0 0 4px;font:700 17px Georgia,serif}.lesson p,.muted{margin:0;color:var(--muted);font-size:13px}.chev{font-size:24px;color:var(--gold)}.progress{height:8px;background:#dfe6e8;border-radius:9px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#e3c86e)}.tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 10px}.tabs button{white-space:nowrap;border:0;border-radius:12px;padding:11px 15px;font-weight:800;color:var(--navy)}.tabs .active{background:var(--navy);color:white}.info-card{border-top:5px solid var(--gold);background:linear-gradient(180deg,#fff,#fffdf9)}.info-card h3{font:700 19px Georgia,serif;color:var(--navy);margin:0 0 10px}.info-card p{white-space:pre-line;line-height:1.58;margin:0}.question{border-left:5px solid var(--blue)}.question label{display:block;font-weight:700;line-height:1.45;margin-bottom:10px}.question textarea,.field{width:100%;border:1.5px solid #ccd7dd;border-radius:12px;padding:12px;font:inherit;background:#fbfcfc}.question textarea{min-height:105px;resize:vertical}.savebar{position:sticky;bottom:76px;background:#f2f4f5eF;padding:10px 0;display:flex;gap:8px}.savebar .button{flex:1}.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{background:white;border-radius:18px;padding:18px;text-align:center;box-shadow:var(--shadow)}.stat b{font:700 30px Georgia,serif;color:var(--navy);display:block}.notice{background:#fff5d8;border:1px solid #e7cb78;border-radius:14px;padding:14px;line-height:1.45}.success{color:var(--ok);font-weight:800}.search{width:100%;border:0;border-radius:15px;padding:15px;box-shadow:var(--shadow);font:inherit;margin-bottom:10px}@media(min-width:600px){.statgrid{grid-template-columns:repeat(4,1fr)}}

.pwa-toast{position:fixed;left:50%;bottom:88px;z-index:10000;max-width:min(90vw,520px);transform:translateX(-50%) translateY(18px);padding:12px 16px;border-radius:12px;background:#0b3557;color:#fff;font-weight:700;box-shadow:0 8px 30px #0005;opacity:0;transition:.2s ease;pointer-events:none;text-align:center}.pwa-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
