:root{--ink:#171915;--paper:#fbf8f1;--surface:#fff;--mist:#f0ede5;--muted:#535950;--line:#e1dccf;--input:#827b6d;--gold:#edaa20;--gold-text:#805400;--success:#24724e;--warn:#805400;--info:#365e76;--radius:16px;--shadow:0 8px 26px #1719150c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,"Helvetica Neue",sans-serif}a{color:inherit}.skip{position:absolute;left:12px;top:-60px;background:var(--surface);padding:10px 14px;z-index:10}.skip:focus{top:12px}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);background:#fbf8f1f2}.wordmark{display:inline-flex;align-items:baseline;text-decoration:none;font-weight:700;letter-spacing:-1.5px;font-size:24px}.wordmark i{font:italic 600 29px Georgia,serif;color:#946500;margin:0 1px}.top-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:13px}.demo-tag{border:1px solid #d3c8ad;color:var(--gold-text);background:#fff9ec;border-radius:999px;padding:4px 10px;font-weight:700}.shell{max-width:1440px;min-height:calc(100vh - 124px);margin:auto;display:grid;grid-template-columns:310px minmax(0,1fr)}.sidebar{padding:30px 26px 24px clamp(18px,3vw,40px);border-right:1px solid var(--line);display:flex;flex-direction:column}.back-link{font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:34px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--gold-text);margin:0 0 12px}.sidebar h1{font-size:32px;line-height:1.06;letter-spacing:-1.1px;margin:0 0 12px}.sidebar h1 em{font:italic 600 34px Georgia,serif;color:#946500}.sidebar-summary{font-size:14px;color:var(--muted);margin:0 0 26px}.progress-wrap{padding:16px 0 21px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.progress-copy{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:9px}.progress-copy strong{color:var(--ink)}.progress-track{height:5px;background:#e2ddcf;border-radius:4px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--gold);transition:width .25s ease}.course-nav{display:grid;gap:4px;padding-top:16px}.nav-item{width:100%;border:0;background:transparent;border-radius:10px;text-align:left;padding:10px 11px;color:var(--muted);font:inherit;display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;cursor:pointer}.nav-item:hover,.nav-item:focus-visible{background:var(--mist);color:var(--ink)}.nav-item[aria-current="page"]{background:#fff1ce;color:var(--ink);font-weight:700}.nav-num{height:26px;width:26px;border:1px solid #cfc8b8;border-radius:50%;display:grid;place-items:center;font-size:11px}.nav-item.done .nav-num{border-color:var(--success);background:var(--success);color:white}.nav-title{font-size:13px;line-height:1.3}.sidebar-foot{margin:auto 0 0;padding-top:25px;color:var(--muted);font-size:12px}main{max-width:900px;width:100%;padding:clamp(28px,5vw,68px) clamp(20px,6vw,86px);outline:none}.lesson-kicker{color:var(--muted);font-size:13px;margin:0 0 10px}.lesson-title{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-1.5px;margin:0 0 16px}.lesson-lead{font-size:18px;line-height:1.5;max-width:700px;color:#30342d;margin:0 0 32px}.lesson-body{font-size:16px;line-height:1.7;color:#30342d}.lesson-body p{margin:0 0 18px}.lesson-body h3{font-size:20px;line-height:1.25;margin:30px 0 12px;color:var(--ink)}.fact-box{border-left:3px solid var(--gold);background:#fff8e9;padding:16px 18px;border-radius:0 10px 10px 0;margin:22px 0}.fact-box strong{display:block;margin-bottom:4px}.source-alert{display:flex;gap:12px;border:1px solid #d3c8ad;background:#fffaf0;border-radius:12px;padding:14px 16px;margin:0 0 24px;color:#4c3b14;font-size:13px}.source-alert b{display:block;color:#5a3a00;margin-bottom:3px}.module-panel{border:1px solid var(--line);background:var(--surface);padding:23px;border-radius:var(--radius);box-shadow:var(--shadow);margin:24px 0}.module-panel h3{margin:0 0 10px;font-size:17px}.module-panel p{margin:0 0 16px;color:var(--muted)}.module-panel p:last-child{margin-bottom:0}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--input);border-radius:9px;padding:10px 17px;background:var(--surface);color:var(--ink);font:700 14px Arial,sans-serif;cursor:pointer;text-decoration:none}.button:hover{background:var(--mist)}.button:focus-visible,.nav-item:focus-visible{outline:3px solid #365e76;outline-offset:2px}.button.primary{background:var(--gold);border-color:#d8970b}.button.primary:hover{background:#f2b638}.button:disabled{opacity:.48;cursor:not-allowed}.choice-list{display:grid;gap:9px;margin:16px 0}.choice{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--input);border-radius:10px;padding:13px 14px;background:var(--surface);cursor:pointer}.choice:has(input:checked){border-color:#805400;background:#fff8e9;box-shadow:0 0 0 1px #805400}.choice input{margin-top:4px;accent-color:#805400}.question{padding:0;border:0;margin:0 0 26px}.question legend{font-weight:700;margin-bottom:12px}.feedback{padding:12px 14px;border-radius:9px;background:#eaf4ee;color:#174b31;font-size:14px}.feedback.wrong{background:#fff0ed;color:#7b281c}.score-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.score-card{background:var(--mist);border-radius:11px;padding:13px}.score-card span{display:block;color:var(--muted);font-size:12px}.score-card strong{font-size:22px}.answer-area{width:100%;min-height:140px;border:1px solid var(--input);border-radius:9px;padding:13px;font:inherit;line-height:1.5;resize:vertical}.answer-area:focus{outline:3px solid #365e76;outline-offset:1px}.small-note{font-size:12px;color:var(--muted)}footer{min-height:54px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(18px,4vw,58px);color:var(--muted);font-size:11px}.powered{white-space:nowrap;color:#5a5d55}
@media(max-width:760px){.topbar{height:60px;padding:0 16px}.top-meta{gap:8px}.top-meta #save-status{display:none}.shell{display:block;min-height:calc(100vh - 114px)}.sidebar{padding:18px 16px 12px;border-right:0;border-bottom:1px solid var(--line)}.back-link{margin-bottom:17px}.sidebar h1{font-size:24px;margin-bottom:6px}.sidebar h1 em{font-size:26px}.sidebar-summary{margin-bottom:15px}.progress-wrap{padding:11px 0 13px}.course-nav{display:flex;overflow:auto;gap:6px;padding:12px 0 2px;scrollbar-width:thin}.nav-item{flex:0 0 auto;width:auto;grid-template-columns:26px auto;padding:8px}.nav-title{max-width:110px}.sidebar-foot{display:none}main{padding:28px 18px 42px}.lesson-title{font-size:32px}.lesson-lead{font-size:16px;margin-bottom:24px}.module-panel{padding:18px}.actions .button{flex:1;padding:9px}.score-row{grid-template-columns:repeat(2,minmax(0,1fr))}footer{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.nig-brand{display:inline-flex;align-items:center;min-width:190px}.nig-brand img{display:block;max-width:190px;height:auto;max-height:34px}.account-link{color:var(--muted);font-size:13px;text-underline-offset:3px}.account-link:hover{color:var(--ink)}
.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}.visual-grid figure{margin:0;min-width:0}.visual-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--mist)}.visual-grid figcaption{font-size:11px;line-height:1.4;color:var(--muted);padding:6px 2px 0}
@media(max-width:760px){.nig-brand{min-width:148px}.nig-brand img{max-width:148px}.visual-grid{grid-template-columns:1fr;gap:9px}.visual-grid img{aspect-ratio:16/9}}
.slide-card{min-height:280px;border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:clamp(22px,4vw,42px);margin:20px 0 26px;box-shadow:var(--shadow);animation:slide-in .24s ease-out}.slide-card h3{font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.6px;margin:0 0 16px}.slide-card>p:not(.lesson-kicker){max-width:700px;font-size:clamp(18px,2vw,22px);line-height:1.55;color:#30342d;margin:0 0 32px}.slide-track{height:4px;background:var(--mist);border-radius:4px;overflow:hidden;margin-top:28px}.slide-track span{display:block;height:100%;background:var(--gold);transition:width .25s ease}.slide-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.slide-actions .button{min-width:100px}.slide-actions .small-note{text-align:center}
@keyframes slide-in{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.slide-card{min-height:250px;padding:22px 18px;margin:12px 0 20px}.slide-actions .small-note{display:none}.slide-actions .button{min-width:82px}}
.certificate-name{display:block;width:min(100%,480px);min-height:46px;border:1px solid var(--input);border-radius:9px;padding:10px 12px;font:inherit;margin:8px 0 4px}.certificate-name:focus{outline:3px solid #365e76;outline-offset:1px}
.certificate-nig-logo{display:block;width:190px;height:auto;max-height:32px;object-fit:contain;margin:0 auto 8px}.certificate-sketch{display:block;width:min(68%,560px);height:94px;object-fit:contain;margin:2px auto 10px}
.hos-logo-lockup{position:relative;width:160px;margin:0 auto;line-height:1}.hos-logo-lockup img{display:block;width:100%;height:auto}.hos-logo-lockup span{position:absolute;right:17px;top:-8px;font:6px Arial,sans-serif;color:#62665d;background:#fffdf8;padding:0 2px}
.certificate-page{background:#fffdf8;border:2px solid #946500;border-radius:12px;padding:30px;margin:20px 0;color:#171915;text-align:center;box-shadow:inset 0 0 0 5px #fffdf8,inset 0 0 0 6px #d7c69a;min-height:560px;display:flex;align-items:center;justify-content:center}.certificate-inner{width:100%;padding:22px}.certificate-org{font-weight:700;letter-spacing:.03em;margin:0 0 4px!important}.certificate-kicker,.certificate-subtitle{font-size:11px;letter-spacing:.12em;color:#946500;font-weight:700;margin:0 0 12px!important}.certificate-page h1{font:40px Georgia,serif;text-transform:uppercase;margin:28px 0 5px}.certificate-intro{color:#62665d;margin:28px 0 12px!important}.certificate-person{font:700 34px Georgia,serif;border-bottom:1px solid #946500;display:inline-block;min-width:min(100%,520px);padding:0 8px 8px;margin:0 auto 16px!important}.certificate-text{color:#62665d;margin:0 0 7px!important}.certificate-page h2{font:700 27px Georgia,serif;margin:0 0 4px}.certificate-source{font-size:13px;color:#62665d;margin:0 0 28px!important}.certificate-score{display:inline-block;border:1px solid #d7c69a;border-radius:999px;background:#fff5dc;padding:10px 25px;font-size:13px;font-weight:700;margin:0 0 16px!important}.certificate-date{font-size:12px;color:#62665d;margin:0 0 9px!important}.certificate-powered{display:flex;flex-direction:column;align-items:center;gap:2px;color:#62665d;font-size:10px}.certificate-powered b{font:700 20px Arial,sans-serif;letter-spacing:-.7px;color:#171915}.certificate-powered i{font:italic 600 22px Georgia,serif;color:#946500}.certificate-note{font-size:9px;color:#62665d;margin:12px 0 0!important}
@media print{@page{size:A4 landscape;margin:0}body.printing-certificate{background:#fff!important}.printing-certificate .topbar,.printing-certificate .sidebar,.printing-certificate footer,.printing-certificate .skip{display:none!important}.printing-certificate .shell{display:block;min-height:0;max-width:none;margin:0}.printing-certificate main{display:block!important;max-width:none;width:100%;height:210mm;padding:12mm 15mm;margin:0}.printing-certificate .certificate-page{min-height:0;height:186mm;margin:0;padding:7mm;border-radius:0;box-shadow:inset 0 0 0 5px #fffdf8,inset 0 0 0 6px #d7c69a;break-inside:avoid}.printing-certificate .certificate-inner{padding:4mm}.printing-certificate .certificate-nig-logo{width:52mm;max-height:11mm;margin-bottom:3mm}.printing-certificate .certificate-sketch{width:118mm;height:28mm;margin:0 auto 2mm}.printing-certificate .certificate-page h1{font-size:29pt;margin:4mm 0 1mm}.printing-certificate .certificate-kicker,.printing-certificate .certificate-subtitle{font-size:8pt;margin-bottom:2mm!important}.printing-certificate .certificate-intro{margin:4mm 0 2mm!important}.printing-certificate .certificate-person{font-size:24pt;min-width:120mm;margin-bottom:3mm!important}.printing-certificate .certificate-source{margin-bottom:2mm!important}.printing-certificate .certificate-score{margin-bottom:2mm!important;padding:2mm 6mm}.printing-certificate .hos-logo-lockup{width:42mm}.printing-certificate .hos-logo-lockup span{font-size:5pt;right:4mm;top:-2mm;background:#fffdf8}.printing-certificate .certificate-note{font-size:7pt;margin-top:2mm!important}}
.certificate-inner{position:relative;min-height:560px}.certificate-inner>*:not(.certificate-sketch){position:relative;z-index:1}.certificate-sketch{position:absolute;left:0;bottom:0;z-index:0;width:44%;height:44%;object-fit:contain;object-position:left bottom;opacity:.28;pointer-events:none;margin:0}.printing-certificate .certificate-inner{min-height:0;height:100%;position:relative}.printing-certificate .certificate-sketch{left:0;bottom:0;width:44%;height:44%;opacity:.28;object-position:left bottom}
.certificate-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-around;min-height:590px;padding:14px 22px}.certificate-nig-logo{width:250px}.printing-certificate .certificate-inner{height:100%;min-height:0;justify-content:space-around}.printing-certificate .certificate-nig-logo{width:64mm;max-height:14mm}
.certificate-inner{display:block;min-height:560px;position:relative;padding:14px 22px 68px;text-align:center}.certificate-inner>*:not(.certificate-sketch){position:relative;z-index:1}.certificate-nig-logo{width:250px;margin:0 auto 0}.certificate-kicker{margin:76px 0 15px!important}.certificate-page h1{margin:16px 0 9px}.certificate-meta{display:flex;justify-content:center;gap:32px;color:#62665d;font-size:11px;margin:0 0 4px}.certificate-intro{margin:0 0 10px!important}.certificate-person{margin:0 auto 15px!important}.certificate-text{margin:0 0 7px!important}.certificate-page h2{font-size:32px;margin:0 0 4px}.certificate-sketch{position:absolute;left:0;bottom:0;width:44%;height:43%;object-fit:contain;object-position:left bottom;opacity:.28;pointer-events:none;margin:0;z-index:0}.certificate-signature{position:absolute;left:60%;bottom:112px;transform:translateX(-50%);width:132px;z-index:2;color:#62665d;font-size:8px;line-height:1.25}.certificate-signature img{display:block;width:100%;height:36px;object-fit:contain}.certificate-signature span{display:block;white-space:nowrap}.hos-logo-lockup{position:absolute;right:12px;bottom:8px;width:130px;margin:0;z-index:2}.hos-logo-lockup span{right:14px;top:-7px}.printing-certificate .certificate-inner{height:100%;min-height:0;padding:4mm 4mm 14mm;display:block}.printing-certificate .certificate-nig-logo{width:64mm;max-height:14mm;margin-bottom:0}.printing-certificate .certificate-kicker{margin:20mm 0 5mm!important}.printing-certificate .certificate-page h1{font-size:29pt;margin:4mm 0 2mm}.printing-certificate .certificate-meta{font-size:8pt;gap:14mm;margin-bottom:3mm}.printing-certificate .certificate-intro{margin-bottom:3mm!important}.printing-certificate .certificate-person{font-size:24pt;min-width:120mm;margin-bottom:5mm!important}.printing-certificate .certificate-text{margin-bottom:2mm!important}.printing-certificate .certificate-page h2{font-size:33pt;margin-bottom:4mm}.printing-certificate .certificate-sketch{left:0;bottom:0;width:44%;height:43%;opacity:.28}.printing-certificate .certificate-signature{left:60%;bottom:31mm;width:36mm;font-size:6pt}.printing-certificate .certificate-signature img{height:11mm}.printing-certificate .hos-logo-lockup{right:4mm;bottom:3mm;width:38mm}.printing-certificate .hos-logo-lockup span{font-size:5pt;right:4mm;top:-2mm}
.certificate-nig-logo{margin:40px auto 0}.certificate-kicker{margin:24px 0 15px!important}.printing-certificate .certificate-nig-logo{margin:20mm auto 0}.printing-certificate .certificate-kicker{margin:5mm 0 5mm!important}
.certificate-issuer{position:absolute;left:12px;right:154px;bottom:8px;z-index:2;color:#62665d;font-size:8px;line-height:1.45;text-align:center}.certificate-issuer span{display:block}.printing-certificate .certificate-issuer{left:5mm;right:43mm;bottom:3mm;font-size:6.2pt;line-height:1.35}
.certificate-nig-logo{margin:0 auto}.printing-certificate .certificate-nig-logo{margin:0 auto}
.certificate-qr{position:absolute;right:22px;bottom:56px;width:72px;height:72px;padding:3px;background:#fff;z-index:3}.printing-certificate .certificate-qr{right:7mm;bottom:22mm;width:22mm;height:22mm;padding:1mm}
.verify-shell{max-width:760px;margin:10vh auto;padding:24px}.verify-shell>img{display:block;margin:0 auto 30px}.verify-shell h1{font:700 28px Georgia,serif}.verify-shell .powered{text-align:center;margin-top:24px;color:#555}
