:root{--bg:#09111e;--surface:#101d30;--surface2:#14253b;--text:#e7f1ff;--muted:#94adc8;--stroke:#26415b;--accent:#23c5ac;--accent2:#68a9fb;--danger:#fe8292;--warn:#ffd27d;--shadow:0 18px 40px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 76% -7%,#123a56 0,transparent 40%),var(--bg);color:var(--text);font:14px/1.52 'Segoe UI',Inter,Arial,sans-serif}
a{color:var(--accent2);text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;line-height:1.18;letter-spacing:-.7px}h2{font-size:21px;letter-spacing:-.3px}h3{font-size:16px}p{color:var(--muted)}label{color:var(--muted);font-size:12px;font-weight:600;display:block;margin-bottom:6px}
input,select,textarea{background:#091929;border:1px solid var(--stroke);border-radius:9px;color:var(--text);font:inherit;padding:11px 12px;width:100%;outline:0;transition:border .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:96px}option{background:#102138}button,.btn{font:inherit;border:0;padding:10px 14px;border-radius:9px;background:var(--accent);color:#052621;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.btn:hover{filter:brightness(1.09)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary,.btn.secondary{background:#1d3851;color:var(--text);border:1px solid #375675}button.danger{background:#6d2339;color:#fff}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--stroke)}button.small{padding:6px 9px;font-size:12px}button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.shell{max-width:1460px;margin:0 auto;min-height:100vh;display:grid;grid-template-columns:235px 1fr}.sidebar{padding:25px 17px;min-height:100vh;border-right:1px solid var(--stroke);background:#0c1828}.brand{display:flex;gap:10px;align-items:center;margin:0 5px 34px}.brand-mark{background:linear-gradient(135deg,#1ecca9,#4b8ee8);width:39px;height:42px;display:grid;place-items:center;border-radius:12px;color:#061621;font-weight:900;font-size:20px}.brand strong{font-size:15px;letter-spacing:.3px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.9px}.navitem{width:100%;text-align:left;background:transparent;border-radius:10px;color:#9bb1cc;margin:3px 0;padding:12px 12px;display:flex;gap:11px;justify-content:flex-start;font-weight:650}.navitem.active{background:#16374d;color:#40e2c3;box-shadow:inset 3px 0 #2fcfb2}.navitem:hover{background:#172e44}.sidefoot{margin-top:34px;background:#10273a;border:1px solid #26506a;border-radius:11px;padding:13px;font-size:12px;color:var(--muted)}.sidefoot strong{display:block;color:var(--accent);font-size:12px;margin-bottom:6px}
.main{padding:27px 34px 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:26px;border-bottom:1px solid var(--stroke);margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--accent);font-size:11px;font-weight:800}.top-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.pill{background:#18384b;color:#b5e2ed;border:1px solid #2b5b6f;border-radius:50px;padding:5px 10px;font-size:11px;white-space:nowrap}.pill.warn{color:var(--warn);background:#422f22;border-color:#755b28}.pill.danger{color:#ffb0b8;background:#4e2237;border-color:#7c3e50}.pill.good{color:#69e3bd}.section{margin:26px 0}.section-head{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.subtitle{margin-top:7px;max-width:900px}.grid{display:grid;gap:15px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--stroke);background:linear-gradient(165deg,#11243a,#0f1c2d);border-radius:14px;padding:19px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card.inner{background:#0d1d2f;box-shadow:none;padding:15px}.card .sub{color:var(--muted);font-size:12px}.card strong.metric{font-size:27px;display:block;line-height:1.2;margin:7px 0}.cardtitle{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px}.notice{padding:13px 15px;border:1px solid #2a685c;background:#112f35;color:#aae7dc;border-radius:10px;margin:14px 0;font-size:13px}.notice.warn{border-color:#7c612e;background:#2a281f;color:#f2d5a5}.muted{color:var(--muted)}.tiny{font-size:11px}.smalltext{font-size:12px}.line{height:1px;background:var(--stroke);margin:17px 0}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:grid;gap:13px}.field{margin:10px 0}.strong{font-weight:800;color:var(--text)}
.steps{display:flex;gap:6px;flex-wrap:wrap}.step{flex:1;min-width:125px;min-height:57px;padding:10px;border:1px solid var(--stroke);border-radius:9px;color:var(--muted);font-size:11px;background:#0c1d2e}.step.current{border-color:var(--accent);background:#12343d;color:#c9fff5}.step.done{background:#163244;color:#9cd6d0}.step strong{display:block;font-size:13px}.progress{height:7px;background:#20384e;border-radius:99px;overflow:hidden;margin:10px 0}.progress>span{height:100%;background:linear-gradient(90deg,var(--accent),#74aaff);display:block;border-radius:99px}
.tablewrap{overflow:auto;border:1px solid var(--stroke);border-radius:11px}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#1b3145;color:#b0c4d9;font-size:11px;text-transform:uppercase;letter-spacing:.6px}th,td{padding:12px 13px;border-bottom:1px solid var(--stroke);vertical-align:top}tr:last-child td{border-bottom:0}.code{background:#071a2a;padding:3px 6px;border:1px solid #23465e;border-radius:5px;font-size:11px;font-family:Consolas,monospace}.logrow{cursor:pointer}.logrow:hover{background:#1b344b}.logrow.active{background:#183d4d}.logdetail{white-space:pre-wrap;overflow-wrap:anywhere;background:#081724;color:#b9e3cd;border:1px solid #254358;padding:15px;font:12px/1.65 Consolas,monospace;border-radius:9px}.level{font-size:10px;font-weight:800;letter-spacing:.5px}.level.CRITICAL,.level.HIGH{color:var(--danger)}.level.MEDIUM{color:var(--warn)}.level.LOW{color:#94bbee}.level.INFO{color:var(--accent)}
.obj-card{padding:15px;border-radius:10px;background:#10263b;border:1px solid #29465b}.obj-card.done{border-color:#256b59}.obj-card h3{margin:7px 0}.obj-form{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-top:14px}.obj-form .full{grid-column:1/-1}.decision{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#10263b;border:1px solid var(--stroke);border-radius:10px;padding:13px;margin-bottom:9px}.decision span{font-size:13px}.number{font-size:24px;font-weight:800;color:var(--accent)}
.login{min-height:100vh;display:grid;place-items:center;padding:25px}.loginbox{max-width:490px;width:100%;background:#102237;border-radius:18px;border:1px solid #31506b;box-shadow:0 24px 90px #0007;padding:34px}.loginbox .brand{margin:0 0 22px}.loginbox h1{font-size:24px;margin:0 0 10px}.loginbox p{margin-bottom:20px}.role-switch{display:flex;background:#091c2f;border-radius:9px;padding:5px;gap:4px;margin:17px 0}.role-switch button{flex:1;background:transparent;color:var(--muted)}.role-switch button.active{background:#1d5660;color:#baffed}.error{padding:10px 12px;background:#53263a;border-radius:7px;color:#ffd6df;margin:10px 0}.loading{height:100vh;display:flex;gap:15px;align-items:center;justify-content:center}.spinner{border:3px solid #245576;border-top-color:var(--accent);width:21px;height:21px;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;bottom:20px;right:20px;max-width:490px;background:#174237;border:1px solid #2ea68e;color:#e7fff9;padding:13px 17px;border-radius:12px;z-index:5;box-shadow:0 10px 60px #0006}.toast.error{background:#56243c;border-color:#ad5b74;color:#ffe1e8}.empty{color:var(--muted);padding:27px;text-align:center;border:1px dashed #31506a;border-radius:10px}.hint{font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:1090px){.shell{grid-template-columns:190px 1fr}.main{padding:22px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.shell{display:block}.sidebar{min-height:auto;display:flex;align-items:center;flex-wrap:wrap;padding:10px}.brand{margin:0 15px 0 4px}.navitem{width:auto;padding:9px}.sidefoot{display:none}.main{padding:16px}.topbar{flex-wrap:wrap}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.obj-form{grid-template-columns:1fr}.obj-form .full{grid-column:1}.loginbox{padding:22px}.step{min-width:110px}}
@media print{.sidebar,.top-actions,button{display:none!important}.shell{display:block}.main{padding:5mm}.card{box-shadow:none;background:white;color:black}.card *{color:black!important}body{background:white;color:black}}
/* v2: clearer controls for incident branching, scores and evidence */
select{min-height:41px} .decision strong{display:block;line-height:1.4} .obj-card h3{margin:9px 0} .obj-card p{line-height:1.65}
.card.inner h3{margin:0 0 8px} .card.inner textarea{min-height:95px} .card form .field{margin:13px 0}
.tablewrap{max-width:100%} td{overflow-wrap:anywhere} .logrow{user-select:none}
@media(max-width:1200px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v18: approachable, task-oriented guidance visible in participant workspace */
.student-guide{max-width:1120px}.guide-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;border:2px solid #16a4a0;border-radius:16px;background:linear-gradient(118deg,#103b4b,#11263e);padding:22px 24px;margin:15px 0;color:#eafaff}.guide-hero h2,.guide-hero h3{color:#fff;margin:5px 0 9px}.guide-hero p{color:#d4eaf1;font-size:15px;line-height:1.65;max-width:750px}.guide-kicker{color:#6bf2d5;letter-spacing:.11em;font-size:12px;font-weight:800}.guide-purpose{border-left:4px solid #52e3c8;margin-top:14px;padding:9px 15px;background:#1b5260;color:#f3fcff;line-height:1.6}.guide-primary{min-height:48px;padding:12px 20px!important;background:#0cd1b1!important;color:#042f39!important;font-weight:800!important}.guide-where{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guide-where>div{padding:17px;border-radius:13px;background:var(--surface);border:1px solid var(--stroke)}.guide-where span{display:block;color:var(--accent);font-size:11px;letter-spacing:.09em;font-weight:800}.guide-where b{display:block;font-size:17px;margin:6px 0}.guide-where small{color:var(--muted);font-size:13px;line-height:1.5}.guide-context p,.guide-check p{font-size:15px;line-height:1.75}.guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.guide-step{display:flex;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px}.guide-step-number{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0da79e;color:#fff;font-size:19px;font-weight:850}.guide-step h3{font-size:18px;margin:2px 0 10px}.guide-step p{font-size:14px;line-height:1.7;margin-bottom:14px}.guide-question{padding:11px 0;border-bottom:1px solid var(--stroke);font-size:15px}.guide-inline-tip{padding:17px 20px;margin:15px 0;border:1px solid #1c9ba6;border-left:5px solid #16a4a0;border-radius:11px;background:var(--surface);line-height:1.7;display:flex;gap:13px;flex-wrap:wrap;align-items:center}.guide-inline-tip button{margin-left:auto}.guide-check{border-color:#20a0aa!important}
html[data-theme="light"] .guide-hero{background:linear-gradient(112deg,#e2f4f0,#e5f1fd);border-color:#09837f;color:#17334c}html[data-theme="light"] .guide-hero h2,html[data-theme="light"] .guide-hero h3{color:#0f3044}html[data-theme="light"] .guide-hero p{color:#243f57}html[data-theme="light"] .guide-kicker{color:#006f6c}html[data-theme="light"] .guide-purpose{background:#d3ede9;color:#113d45;border-color:#0b8e89}
@media(max-width:820px){.guide-where,.guide-steps{grid-template-columns:1fr}.guide-hero{padding:17px}.guide-hero p{font-size:14px}}
