:root{--navy:#0B2545;--navy2:#13315C;--teal:#13A8A8;--teal-d:#0C8585;--orange:#FF6B35;--mark:#F97316;--ink:#1F2937;--mut:#6B7280;
  --line:#E2E8F0;--bg:#F3F6FA;--card:#fff;--good:#10B981;--good-bg:#E7F8F1;--bad:#E63946;--bad-bg:#FDECEE;--warn:#F0A500;--warn-bg:#FEF3C7;
  --tip-bg:#E3F6F6;--panel:#EEF1F5;--r:14px}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.55 Figtree,"Segoe UI",system-ui,-apple-system,sans-serif}
a{color:var(--teal-d)}
img{max-width:100%;height:auto}
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.top .in{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.5px}
.brand img{width:30px;height:30px}
.brand small{display:block;color:#9FB3CC;font-weight:600;letter-spacing:0;font-size:12px;line-height:1}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav a{color:#C9D6E8;text-decoration:none;padding:7px 12px;border-radius:9px;font-weight:600;font-size:15px}
.nav a.on,.nav a:hover{background:var(--navy2);color:#fff}
.who{margin-left:auto;color:#C9D6E8;font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.who a{color:#fff}
main{max-width:1080px;margin:0 auto;padding:22px 16px 60px}
h1{font-size:28px;line-height:1.2;color:var(--navy);margin:4px 0 10px;text-wrap:balance}
h2{font-size:21px;color:var(--navy);margin:26px 0 10px;text-wrap:balance}
h3{font-size:17px;color:var(--navy);margin:18px 0 6px}
.kicker{color:var(--teal-d);font-weight:800;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.sub{color:var(--mut);margin:0 0 18px}
.card{background:var(--card);border-radius:var(--r);box-shadow:0 1px 3px rgba(11,37,69,.08);padding:18px 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;border:0;border-radius:11px;padding:11px 18px;
  font-weight:700;font-size:15px;line-height:1;font-family:inherit;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(.95)}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn.teal{background:var(--teal)}
.btn.small{padding:7px 12px;font-size:13px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.say{background:var(--panel);border-left:4px solid var(--navy);border-radius:10px;padding:12px 16px;font-weight:700;color:var(--navy);margin:8px 0;font-size:17px}
.says{background:var(--panel);border-left:4px solid var(--teal);border-radius:10px;padding:10px 16px;margin:8px 0}
.says ol{margin:0;padding-left:22px}.says li{font-weight:700;color:var(--navy);margin:5px 0}
.note{border-radius:10px;padding:11px 15px;margin:12px 0;border-left:4px solid var(--teal);background:var(--tip-bg)}
.note.warn{border-color:var(--warn);background:var(--warn-bg)}.note.stop{border-color:var(--bad);background:var(--bad-bg)}
.note.good{border-color:var(--good);background:var(--good-bg)}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;border-radius:10px;overflow:hidden}
.tbl th{background:var(--navy);color:#fff;text-align:left;padding:9px 10px;font-size:13px}
.tbl td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}
.tbl tr:nth-child(even) td{background:#F8F9FB}
.tblwrap{overflow-x:auto;border-radius:10px;box-shadow:0 1px 3px rgba(11,37,69,.08);margin:8px 0}
.shot{border:1px solid var(--line);border-radius:10px;display:block;margin:10px 0 6px;background:#fff}
.legend{list-style:none;padding:0;margin:6px 0 14px;counter-reset:n}
.legend li{position:relative;padding:3px 0 6px 36px;counter-increment:n}
.legend li:before{content:counter(n);position:absolute;left:0;top:3px;width:24px;height:24px;border-radius:50%;background:var(--mark);color:#fff;
  font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.outcome{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:18px;align-items:start;margin:12px 0 20px}
@media(max-width:700px){.outcome{grid-template-columns:1fr}}
.line{margin:14px 0}.line .l{font-weight:800;color:var(--navy);font-size:17px}
.ans{border-top:1px solid var(--line);padding:12px 0}
.ans .h{font-weight:800;color:var(--navy)}
.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}
.pill.done{background:var(--good-bg);color:#047857}.pill.todo{background:var(--panel);color:var(--mut)}.pill.bad{background:var(--bad-bg);color:#B42318}
.pill.wait{background:var(--warn-bg);color:#8A5A00}
.progress{height:12px;border-radius:999px;background:var(--panel);overflow:hidden}
.progress b{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--good));border-radius:999px}
.lessons{display:grid;gap:8px}
.lrow{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink);
  box-shadow:0 1px 3px rgba(11,37,69,.06)}
.lrow:hover{box-shadow:0 2px 8px rgba(11,37,69,.12)}
.lrow .n{width:34px;height:34px;border-radius:50%;background:var(--panel);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy);flex:none}
.lrow.done .n{background:var(--good);color:#fff}
.lrow .t{font-weight:700;flex:1;min-width:0}.lrow .m{color:var(--mut);font-size:13px}
.tile{display:block;text-decoration:none;color:var(--ink)}
.tile h3{margin:6px 0 4px}.tile p{margin:0;color:var(--mut);font-size:14px}
.tile .ico{font-size:26px}
.quiz .qq{margin:16px 0 6px;font-weight:700;color:var(--navy)}
.opt{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;margin:6px 0;cursor:pointer}
.opt input{margin-top:4px}
.opt.right{border-color:var(--good);background:var(--good-bg)}.opt.wrong{border-color:var(--bad);background:var(--bad-bg)}
.why{font-size:14px;color:#374151;margin:4px 0 0 4px}
.dvbtns{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:14px 0}
.dvd{background:#F8FAFC;border:0;border-left:5px solid #999;border-radius:9px;padding:12px 12px;text-align:left;font-weight:700;font-size:15px;
  font-family:inherit;color:var(--navy);cursor:pointer}
.dvd:hover{background:#EEF2F7}.dvd.right{background:var(--good-bg);outline:2px solid var(--good)}.dvd.wrong{background:var(--bad-bg);outline:2px solid var(--bad)}
.scene{font-size:19px;font-weight:700;color:var(--navy);background:#fff;border-radius:12px;padding:18px;border-left:5px solid var(--teal)}
.stat{display:flex;gap:18px;flex-wrap:wrap;color:var(--mut);font-size:14px}.stat b{color:var(--navy);font-size:18px}
.findwrap{position:relative;display:inline-block;width:100%;cursor:crosshair}
.findwrap img{display:block;width:100%;border-radius:10px;border:1px solid var(--line)}
.box{position:absolute;border:3px solid var(--good);border-radius:8px;pointer-events:none;box-shadow:0 0 0 4px rgba(16,185,129,.25)}
.dot{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:3px solid #fff;pointer-events:none;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.flip{min-height:190px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.transcript{display:grid;gap:6px;margin-top:12px}
.tl{padding:8px 12px;border-radius:10px;background:#fff;cursor:pointer;border-left:4px solid var(--line)}
.tl.A{border-color:var(--teal)}.tl.O{border-color:#CBD5E1}
.tl.now{background:#FFF7ED;border-color:var(--orange)}
.tl small{display:block;font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--mut)}
.recrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.recdot{width:12px;height:12px;border-radius:50%;background:var(--bad);display:inline-block;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.2}}
textarea,input[type=text],select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;background:#fff}
textarea{min-height:90px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.muted{color:var(--mut)}.small{font-size:13px}
.score{font-size:44px;font-weight:800;color:var(--navy);line-height:1}
.cert{background:#fff;border:10px solid var(--navy);outline:3px solid var(--teal);outline-offset:-18px;padding:56px 40px;text-align:center;border-radius:6px}
.cert h1{font-size:34px}.cert .nm{font-size:40px;font-weight:800;color:var(--orange);margin:18px 0}
@media print{.top,.noprint{display:none}main{padding:0}body{background:#fff}}
.hero{background:linear-gradient(135deg,var(--navy),#16406F);color:#fff;border-radius:var(--r);padding:26px 24px}
.hero h1{color:#fff}.hero p{color:#C9D6E8}
.copy{display:flex;gap:6px}.copy input{font-size:13px}
footer{color:var(--mut);font-size:12px;text-align:center;padding:20px}
