:root{--orange:#ff8c00;--ink:#181818;--muted:#686a6d;--line:#e3e4e6;--paper:#f5f5f3;--green:#14734e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Calibri,"Segoe UI",Arial,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}.top{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:22px 4vw;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;font-size:23px;letter-spacing:1px}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.4px;color:var(--muted)}.brand-mark{background:var(--orange);color:#121212;display:grid;place-items:center;width:42px;height:48px;font-size:30px;clip-path:polygon(0 0,100% 0,100% 100%,0 86%)}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}nav form{margin:0}.link{border:0;background:none;padding:0;cursor:pointer}main{max-width:1240px;margin:auto;padding:32px 30px 65px}.page-heading{margin:4px 0 28px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#9e5300;margin:0 0 9px}h1{font-size:32px;line-height:1.15;letter-spacing:-.7px;margin:0}h2{font-size:25px;line-height:1.25;margin-top:0}h3{font-size:20px;line-height:1.3}p{margin:12px 0}.hero{background:#171717;color:#fff;display:grid;grid-template-columns:1.35fr 1fr;gap:35px;align-items:center;padding:42px;border-radius:18px;position:relative;overflow:hidden;margin-bottom:35px}.hero .eyebrow{color:var(--orange)}.hero h2{font-size:40px;letter-spacing:-1px;margin:13px 0}.hero p{color:#d8d8d8;max-width:540px}.hero img{width:100%;border-radius:12px}.hero-ai{position:absolute;right:48px;bottom:19px;color:#ccc;font-size:10px}.hero.compact{display:block}.chips{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin:25px 0 15px}.chips span{padding:5px 12px;border:1px solid #555;border-radius:30px}progress{appearance:none;width:100%;height:7px;border:0;border-radius:4px;background:#444}progress::-webkit-progress-bar{background:#444;border-radius:4px}progress::-webkit-progress-value{background:var(--orange);border-radius:4px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;padding:26px;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.module{margin:0;position:relative;display:flex;align-items:flex-start;flex-direction:column}.module h3{margin-bottom:5px}.module p{font-size:14px}.module .button{margin-top:auto}.module-number{font-size:30px;font-weight:800;color:#bababa;margin-bottom:12px}.module>.tag{position:absolute;right:23px;top:30px}.tag{display:inline-block;background:#efefed;padding:4px 9px;border-radius:6px;font-size:12px;font-weight:700}.success{background:#e0f3e8!important;color:#136545}.warning{background:#fff1db!important;color:#865000}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.section-title h2{margin:0}.section-title span,.muted{color:var(--muted);font-size:14px}.module-grid+section{margin-top:28px}.button,button:not(.link){display:inline-flex;justify-content:center;align-items:center;background:var(--orange);border:1px solid transparent;color:#161616;padding:11px 18px;font-weight:700;border-radius:7px;text-decoration:none;cursor:pointer;gap:8px}.button.secondary{background:white;border-color:var(--line)}button:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats strong{display:block;font-size:32px}.stats span{color:var(--muted)}label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:6px;margin:0 0 19px}input:not([type=checkbox]),select,textarea{border:1px solid #bfc1c4;border-radius:6px;padding:11px 12px;width:100%;background:#fff;color:#222}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #ffb255;outline-offset:1px}.check,.answer{flex-direction:row;align-items:center;gap:12px}.check input,.answer input{width:19px;height:19px;accent-color:var(--orange);flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.span-2{grid-column:1/-1}.narrow{max-width:530px;margin:35px auto}.notice{background:#fff2df;border-left:4px solid var(--orange);padding:16px 20px;margin-bottom:23px;border-radius:5px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;background:#f5f5f4;padding:12px}td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}td a{margin-right:10px}figure{margin:20px 0}figure img{max-width:100%;max-height:450px;object-fit:contain;border-radius:8px}figcaption{font-size:11px;color:var(--muted)}.lesson-layout{display:grid;grid-template-columns:1fr 320px;gap:24px}.lesson-text{white-space:pre-wrap;line-height:1.8}.lesson-sidebar a{display:block;padding:10px 0;border-bottom:1px solid #eee;text-decoration:none;font-size:14px}.lesson-sidebar .current{font-weight:800;color:#9e5300}.question{background:white;border:1px solid var(--line);padding:25px;border-radius:12px;margin:20px 0}.question legend{font-size:20px;font-weight:700;padding:0 10px}.question figure img{max-height:300px}.answer{padding:13px;background:#f5f5f4;border-radius:7px;font-weight:400;margin:10px 0}.answer:has(input:checked){background:#fff0d9;outline:1px solid var(--orange)}.score{background:#171717;color:#fff;padding:30px;border-radius:12px;display:flex;gap:24px;align-items:center;margin-bottom:25px}.score strong{font-size:40px}.player{background:#111;padding:10px;border-radius:12px}.player video{width:100%;max-height:500px;display:block}.player-bar{display:flex;gap:12px;align-items:center;padding:12px 3px;color:white;flex-wrap:wrap}.player-bar input{max-width:110px}.player-status{font-size:12px;color:#ddd}.timer{position:sticky;top:0;z-index:10;background:#171717;color:white;padding:15px;border-radius:8px;font-weight:700}.error{color:#b32727}footer{max-width:1240px;padding:20px 30px;margin:auto;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}details summary{cursor:pointer;font-weight:700;padding:8px 0}@media(max-width:900px){.top{align-items:flex-start;flex-direction:column}nav{gap:15px}.module-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero img{display:none}.hero-ai{display:none}.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{order:2}}@media(max-width:560px){main{padding:24px 16px}.hero{padding:25px}.hero h2{font-size:32px}.module-grid,.stats,.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.section-title{align-items:flex-start;flex-direction:column}.card{padding:20px}.top{padding:18px}.question legend{font-size:17px}h1{font-size:27px}}
.editor-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:20px}.pdf-stage{position:relative;background:white;box-shadow:0 3px 20px #0002;max-width:100%;overflow:hidden}.pdf-stage canvas{position:absolute;top:0;left:0}.pdf-fields{position:absolute;inset:0}.overlay-field{position:absolute;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.3;border:1px dashed #ff8c0088;min-height:18px;cursor:move;touch-action:none;user-select:none}.overlay-field.selected{outline:2px solid #ff8c00;background:#ff8c001a}.qr-placeholder{border:3px solid #222;background:#fff;display:grid;place-items:center;font-weight:bold;color:#222}.hash{overflow-wrap:anywhere;font-family:monospace;font-size:11px}#certificate-editor details{padding:12px 0;border-bottom:1px solid #ddd}#certificate-editor details select{margin:10px 0}@media(max-width:950px){.editor-grid{grid-template-columns:1fr}}
.brand-logo{width:94px;height:54px;object-fit:contain}.brand{font-size:20px;letter-spacing:0}

/* Accessible navigation and motion preferences */
.skip-link{position:absolute;left:1rem;top:-6rem;padding:1rem;background:#111;color:white;z-index:1000}.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid #1559a6;outline-offset:4px}button,a.button{min-height:44px}pre,code{white-space:pre-wrap;overflow-wrap:anywhere}main:focus{outline:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.top,footer,form,.actions{display:none!important}.card{break-inside:avoid;box-shadow:none}}


.player:fullscreen,.player.player-expanded{width:100%;height:100%;max-width:none;display:block;border-radius:0;background:#000;padding:0;overflow:hidden}
.player:fullscreen video,.player.player-expanded video{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;max-width:none;object-fit:contain}
.player:fullscreen .player-controls,.player.player-expanded .player-controls{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:50px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:linear-gradient(transparent,rgba(0,0,0,.88));opacity:1;transition:opacity .2s ease}
.player:fullscreen .player-bar,.player.player-expanded .player-bar{padding:8px 0;gap:16px;flex-wrap:wrap}
.player:fullscreen .player-status,.player.player-expanded .player-status{margin:4px 0;color:#fff}
.player:fullscreen.controls-hidden .player-controls,.player.player-expanded.controls-hidden .player-controls{opacity:0;pointer-events:none}
.player:fullscreen.controls-hidden,.player.player-expanded.controls-hidden{cursor:none}
.player .player-controls:focus-within{cursor:auto}
.player .player-bar button:focus-visible,.player .player-bar input:focus-visible{outline:3px solid #fff;outline-offset:4px}
.player.player-expanded{position:fixed;inset:0;z-index:10000;height:100dvh}
.player-expanded-open{overflow:hidden}
@media(max-width:600px){.player:fullscreen .player-bar,.player.player-expanded .player-bar{gap:8px}.player:fullscreen .player-controls,.player.player-expanded .player-controls{padding-left:12px;padding-right:12px}.player-bar button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.player-controls{transition:none!important}}
