:root{
  --soil: #2b2118; --soil-light: #4a3a28; --field: #f6f1e4;
  --leaf: #3f6b3a; --leaf-dark: #2c4d28; --wheat: #c98f2b; --rust: #a3402c;
  --paper: #fffdf7; --ink: #2b2118; --line: #d9cdaf;
  --serif: "Iowan Old Style","Sitka Text",Georgia,"Times New Roman",serif;
  --sans: "Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono: "IBM Plex Mono","SF Mono",Consolas,monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--field);color:var(--ink);font-family:var(--sans);line-height:1.5;}
.wrap{max-width:880px;margin:0 auto;padding:0 24px 80px;}
header.hero{background:radial-gradient(circle at 85% 20%, rgba(201,143,43,0.18), transparent 45%), linear-gradient(160deg, var(--soil) 0%, var(--soil-light) 100%); color:var(--field); padding:56px 24px 64px; position:relative; overflow:hidden; border-bottom:6px solid var(--leaf);}
.hero-inner{max-width:880px;margin:0 auto;position:relative;z-index:1;}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--wheat);border:1px solid rgba(201,143,43,.5);display:inline-block;padding:4px 10px;border-radius:2px;margin-bottom:18px;}
h1.title{font-family:var(--serif);font-size:clamp(32px,5vw,48px);margin:0 0 12px;font-weight:700;letter-spacing:-.01em;}
.subtitle{max-width:560px;font-size:16px;color:#e6decb;}
.stamp{position:absolute;top:18px;right:0;font-family:var(--mono);font-size:11px;color:var(--wheat);text-align:right;line-height:1.6;letter-spacing:.04em;}
.progress-rail{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 24px;}
.progress-inner{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:14px;}
.progress-label{font-family:var(--mono);font-size:11px;color:var(--soil-light);white-space:nowrap;letter-spacing:.04em;}
.progress-track{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden;}
.progress-fill{height:100%;background:var(--leaf);width:0%;transition:width .4s ease;}
section.intro{padding:40px 0 8px;}
.intro p{font-size:15.5px;max-width:680px;}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 8px;}
.badge{font-family:var(--mono);font-size:11px;letter-spacing:.05em;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:6px 10px;color:var(--soil-light);}
.note-box{background:#fbeed8;border-left:3px solid var(--wheat);padding:12px 14px;border-radius:3px;font-size:13px;color:#6b4c12;margin:18px 0;}
.consent-box{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--wheat);border-radius:4px;padding:22px 24px;margin-top:24px;max-width:680px;}
.consent-title{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--soil);margin-bottom:14px;}
.consent-field{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--soil-light);margin-bottom:16px;}
.consent-field input{display:block;width:100%;margin-top:8px;font-family:var(--sans);font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--field);color:var(--ink);text-transform:none;letter-spacing:normal;}
.consent-field input:focus{outline:none;border-color:var(--leaf);}
.consent-check{display:flex;gap:10px;align-items:flex-start;font-family:var(--sans);font-size:13.5px;color:var(--ink);cursor:pointer;}
.consent-check input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:var(--leaf);}
.field-error{display:block;font-family:var(--sans);font-size:12.5px;color:var(--rust);margin-top:6px;min-height:0;}
.field-status.ok{display:block;font-family:var(--sans);font-size:12.5px;color:var(--leaf-dark);margin-top:6px;background:#e7f1e3;padding:6px 8px;border-radius:3px;border-left:2px solid var(--leaf);}
.start-btn{margin-top:24px;background:var(--leaf);color:var(--field);border:none;font-family:var(--serif);font-size:17px;font-weight:700;padding:14px 30px;border-radius:3px;cursor:pointer;box-shadow:0 3px 0 var(--leaf-dark);transition:transform .12s ease;}
.start-btn:hover{transform:translateY(-1px);}
.start-btn:active{transform:translateY(2px);box-shadow:none;}
.mod-card{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--leaf);border-radius:4px;padding:30px 28px;margin:22px 0;position:relative;}
.mod-card.locked{display:none;}
.mod-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
.mod-name{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--soil);}
.mod-tag{font-family:var(--mono);font-size:11px;color:var(--leaf-dark);letter-spacing:.05em;}
.mod-scene{font-size:14.5px;color:#5a4f3d;margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--line);font-style:italic;}
.q-block{margin-bottom:22px;}
.q-text{font-size:15.5px;font-weight:600;margin-bottom:12px;color:var(--ink);}
.opt{display:block;width:100%;text-align:left;background:var(--field);border:1px solid var(--line);border-radius:4px;padding:11px 14px;margin-bottom:8px;font-size:14.5px;font-family:var(--sans);cursor:pointer;transition:all .15s ease;color:var(--ink);}
.opt:hover{border-color:var(--leaf);background:#eef3e9;}
.opt.selected-correct{background:#e7f1e3;border-color:var(--leaf);}
.opt.selected-wrong{background:#f6e6e2;border-color:var(--rust);}
.opt.reveal-correct{border-color:var(--leaf);box-shadow:inset 0 0 0 1px var(--leaf);}
.opt:disabled{cursor:default;opacity:.92;}
.feedback{font-size:13.5px;margin-top:6px;padding:10px 12px;border-radius:3px;display:none;}
.feedback.show{display:block;}
.feedback.good{background:#e7f1e3;color:var(--leaf-dark);border-left:3px solid var(--leaf);}
.feedback.bad{background:#f6e6e2;color:var(--rust);border-left:3px solid var(--rust);}
.mock-email{background:#fff;border:1px solid #cfc6ad;border-radius:4px;margin-bottom:16px;font-family:var(--sans);overflow:hidden;}
.mock-email .me-head{background:#f1ece0;padding:10px 14px;font-size:12.5px;border-bottom:1px solid #e3dbc4;}
.mock-email .me-head div{margin:2px 0;}
.mock-email .me-head b{color:var(--soil);}
.mock-email .me-body{padding:16px 18px;font-size:14px;color:#222;}
.mock-email .me-link{color:#1a56db;text-decoration:underline;cursor:pointer;word-break:break-all;}
.me-qr{width:90px;height:90px;background:repeating-conic-gradient(#222 0% 25%, #fff 0% 50%) 0/14px 14px;border:6px solid #fff;display:inline-block;margin:6px 0;cursor:default;}
.sim-result{font-size:13.5px;margin-top:10px;padding:12px 14px;border-radius:3px;display:none;}
.sim-result.show{display:block;}
.sim-result.caught{background:#f6e6e2;color:var(--rust);border-left:3px solid var(--rust);}
.sim-result.safe{background:#e7f1e3;color:var(--leaf-dark);border-left:3px solid var(--leaf);}
.sim-btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.sim-btn{font-family:var(--mono);font-size:12px;letter-spacing:.03em;text-transform:uppercase;padding:9px 14px;border-radius:3px;cursor:pointer;border:1px solid var(--line);background:var(--field);}
.sim-btn.danger{border-color:var(--rust);color:var(--rust);}
.sim-btn.report{border-color:var(--leaf);color:var(--leaf-dark);background:#eef3e9;}
.next-btn{background:var(--soil);color:var(--field);border:none;font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;padding:10px 18px;border-radius:3px;cursor:pointer;margin-top:6px;display:none;}
.next-btn.show{display:inline-block;}
.result-wrap{display:none;}
.result-wrap.show{display:block;}
.field-report{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:36px;position:relative;overflow:hidden;}
.field-report::before{content:"FIELD REPORT";position:absolute;top:24px;right:-40px;transform:rotate(90deg);font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--line);}
.score-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:24px;}
.score-num{font-family:var(--serif);font-size:64px;font-weight:700;color:var(--leaf-dark);line-height:1;}
.score-meta{font-family:var(--mono);font-size:12px;color:var(--soil-light);letter-spacing:.04em;}
.verdict{font-family:var(--serif);font-size:22px;font-weight:700;margin:0 0 6px;}
.verdict-sub{font-size:14.5px;color:#5a4f3d;max-width:600px;}
.phish-banner{margin-top:18px;padding:14px 16px;border-radius:4px;font-size:13.5px;}
.phish-banner.clean{background:#e7f1e3;border-left:3px solid var(--leaf);color:var(--leaf-dark);}
.phish-banner.caught{background:#f6e6e2;border-left:3px solid var(--rust);color:var(--rust);}
.print-btn{background:var(--leaf);color:var(--field);border:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:10px 16px;border-radius:3px;cursor:pointer;}
.actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;}
footer{text-align:center;font-family:var(--mono);font-size:11px;color:#8a7e64;padding:30px 0 10px;}
@media print{.progress-rail,header.hero,.mod-card,.actions,footer,.consent-box,.start-btn{display:none !important;}.result-wrap{display:block !important;}}