/* Password-spraying practical: the accepted activity shell (as DNS), one vertical document scroll. */
body.ifd-ps-active{background:#f4f6f8}
body.ifd-ps-active .md-header,body.ifd-ps-active .md-tabs,body.ifd-ps-active .md-sidebar,body.ifd-ps-active .md-footer,body.ifd-ps-active .ifd-modebar{display:none!important}
body.ifd-ps-active .md-main,body.ifd-ps-active .md-main__inner,body.ifd-ps-active .md-content,body.ifd-ps-active .md-content__inner{margin:0;padding:0;max-width:none}
body.ifd-ps-active #ifd-main-content>h1,body.ifd-ps-active .md-content__inner>h1,body.ifd-ps-active .md-content__inner::before{display:none}
#ifd-password-spray{--ps-navy:#071426;--ps-blue:#185fa5;--ps-line:#cbd6df;--ps-muted:#485e70;--ps-header:110px;--ps-footer:76px;color:#1b232e;background:#f4f6f8;font:17px/1.6 'Source Serif 4',Georgia,serif;min-height:100vh}
#ifd-password-spray *{box-sizing:border-box}
#ifd-password-spray h1,#ifd-password-spray h2,#ifd-password-spray h3,#ifd-password-spray h4,#ifd-password-spray button,#ifd-password-spray label,#ifd-password-spray summary,#ifd-password-spray .ps-meta,#ifd-password-spray table,#ifd-password-spray select,#ifd-password-spray legend{font-family:Inter,Arial,sans-serif}
#ifd-password-spray h2{font-size:25px;line-height:1.3;color:var(--ps-navy);margin:10px 0 18px}
#ifd-password-spray h3{font-size:19px;line-height:1.4;margin:20px 0 12px;color:var(--ps-navy)}
#ifd-password-spray h4{font-size:15px;line-height:1.4;margin:0 0 8px;color:var(--ps-navy)}
#ifd-password-spray p,#ifd-password-spray li{font-size:17px;line-height:1.65;max-width:78ch;margin:12px 0;color:#1b232e}
#ifd-password-spray li{margin:6px 0}
#ifd-password-spray a{color:var(--ps-blue);text-decoration:underline}
#ifd-password-spray button{font-size:15px;line-height:1.4;border:1px solid #91a8ba;color:#102b46;background:#fff;min-height:44px;padding:9px 14px;border-radius:4px;cursor:pointer}
#ifd-password-spray button:disabled{opacity:.5;cursor:not-allowed}
#ifd-password-spray .primary{background:var(--ps-blue);border-color:var(--ps-blue);color:#fff}
#ifd-password-spray :focus-visible{outline:3px solid #185fa5;outline-offset:3px}
#ifd-password-spray [tabindex="-1"],#ifd-password-spray details{scroll-margin-top:calc(var(--ps-header) + 16px);scroll-margin-bottom:calc(var(--ps-footer) + 16px)}
#ifd-password-spray code{font:14px/1.5 ui-monospace,monospace;color:#163951;white-space:normal;overflow-wrap:anywhere;background:#eef3f6;padding:2px 4px}
#ifd-password-spray .ps-top{position:sticky;top:0;z-index:5;background:var(--ps-navy);color:#fff;display:flex;align-items:center;gap:16px;padding:15px 24px;font:14px Inter,Arial,sans-serif}
.ps-top>div:first-child{display:grid;gap:5px;margin-right:auto;min-width:0}
#ifd-password-spray .ps-top a{color:#d9e7f4;width:fit-content}
.ps-top>div:first-child>span{text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:#bccbd9}
#ifd-password-spray .ps-top h1{color:#fff;font:650 19px/1.35 Inter,Arial,sans-serif;margin:0}
.ps-progress{display:grid;gap:4px;text-align:center}.ps-progress strong{font-size:22px}
#ifd-password-spray .ps-top button{background:transparent;color:#fff;border-color:#a7b4c2;white-space:nowrap;font-size:14px}
#ifd-password-spray .ps-top :focus-visible{outline-color:#b8e5ff}
.ps-content{max-width:1600px;margin:auto;padding:20px 24px calc(var(--ps-footer) + 24px)}
#ifd-password-spray .ps-meta{font-size:13px;line-height:1.5;color:var(--ps-muted);margin:4px 0}
#ifd-password-spray .ps-kicker{font:12px/1.4 Inter,Arial,sans-serif;color:var(--ps-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}
#ifd-password-spray .ps-small{font-size:15px;color:var(--ps-muted)}
#ifd-password-spray details{background:#fff;border:1px solid var(--ps-line);border-radius:5px;padding:0;margin:16px 0;font-size:17px}
#ifd-password-spray details>summary{font-size:16px;line-height:1.5;cursor:pointer;min-height:44px;padding:12px 16px;background:#edf3f7;font-weight:600;margin:0;list-style:revert;color:#1b232e}
#ifd-password-spray details>summary:before{display:none}
#ps-material{max-width:1100px;margin:0 auto 24px!important}
.ps-material-body{padding:20px 26px}
.ps-document{padding:8px 0 20px;border-bottom:1px solid var(--ps-line);margin-bottom:20px}
.ps-document:last-of-type{border:0;margin-bottom:8px}
.ps-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(380px,1fr);gap:24px;align-items:start}
.ps-workspace.ps-full{display:block}
#ps-sim,.ps-task{min-width:0}
.ps-surface,.ps-task{background:#fff;border:1px solid var(--ps-line);border-radius:5px;padding:20px}
.ps-task{position:sticky;top:var(--ps-task-top,calc(var(--ps-header) + 16px))}
.ps-task progress{width:100%;height:5px;display:block;accent-color:var(--ps-blue);margin:12px 0 18px}

/* Simulation views */
.ps-envtabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-bottom:1px solid var(--ps-line);padding-bottom:14px;margin-bottom:16px}
#ifd-password-spray .ps-envtabs button{font-size:14px}
#ifd-password-spray .ps-envtabs button[aria-pressed="true"]{background:#102b46;color:#fff;border-color:#102b46}
.ps-clock{margin-left:auto;font:13px Inter,Arial,sans-serif;color:var(--ps-muted)}.ps-clock strong{font:600 14px ui-monospace,monospace;color:#102b46}
.ps-live{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.ps-laptop{background:#0d1a22;border-radius:6px;overflow:hidden;min-width:0;color:#dfe9ef}
.ps-laptop>header{font:13px Inter,Arial,sans-serif;padding:8px 12px;background:#18303c;color:#c9dae4}
.ps-jobs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}
.ps-job{background:#132630;border:1px solid #2b4654;border-radius:5px;padding:10px;min-width:0;display:flex;flex-direction:column}
#ifd-password-spray .ps-job h4{color:#fff;font-size:14px}
#ifd-password-spray .ps-job dl{margin:0 0 10px;display:grid;gap:4px}
#ifd-password-spray .ps-job dt{font:11px Inter,Arial,sans-serif;color:#9fb6c3;text-transform:uppercase;letter-spacing:.04em}
#ifd-password-spray .ps-job dd{margin:0;font:13px/1.45 ui-monospace,monospace;color:#e9f1f5;overflow-wrap:anywhere}
#ifd-password-spray .ps-job button{margin-top:auto;font-size:14px}
.ps-term{font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;padding:12px;min-height:12rem;border-top:1px solid #2b4654}
#ifd-password-spray .ps-term p{font:inherit;margin:2px 0;color:#dfe9ef;max-width:none;overflow-wrap:anywhere}
#ifd-password-spray .ps-term .ps-dim{color:#8aa3b1}
.ps-fail{color:#f2aca2}.ps-ok{color:#9fe3b8;font-weight:700}.ps-locked{color:#ffd27a;font-weight:700}
.ps-cursor:after{content:" ▍";animation:ps-blink 1s steps(2) infinite}@keyframes ps-blink{50%{opacity:0}}
.ps-service{border:1px solid var(--ps-line);border-radius:6px;overflow:hidden;min-width:0}
.ps-service>header{display:grid;gap:2px;padding:10px 12px;background:#edf3f7;font:14px Inter,Arial,sans-serif;border-bottom:1px solid var(--ps-line)}.ps-service>header span{font-size:12px;color:var(--ps-muted)}
#ifd-password-spray .ps-service table{width:100%;border-collapse:collapse;font-size:13px;margin:0;display:table}
#ifd-password-spray .ps-service th,#ifd-password-spray .ps-service td{padding:7px 10px;border-bottom:1px solid var(--ps-line);text-align:left;vertical-align:top}
#ifd-password-spray .ps-service th{font-size:12px;color:var(--ps-muted);font-weight:600;background:#fff}
.ps-service td small{display:block;color:var(--ps-muted);font-size:11.5px}
.ps-mono{font:12.5px ui-monospace,monospace}
.ps-row-locked{background:#fff4e0}
.ps-pips{display:inline-flex;gap:3px;vertical-align:middle}.ps-pips span{width:10px;height:10px;border-radius:2px;border:1px solid #91a8ba;background:#fff}.ps-pips span.on{background:#c0533f;border-color:#c0533f}
.ps-records{min-width:0}
.ps-rec-head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font:15px Inter,Arial,sans-serif;margin-bottom:6px}.ps-rec-head span{font-size:13px;color:var(--ps-muted)}
.ps-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:8px 0 12px}
.ps-filters label{display:grid;gap:4px;font-size:13px;font-weight:600}
#ifd-password-spray select{font:14px/1.4 Inter,Arial,sans-serif;min-height:44px;min-width:12rem;max-width:100%;padding:8px;background:#fff;color:#1b232e;border:1px solid #91a8ba;border-radius:4px}
.ps-table{overflow-x:auto;width:100%;border:1px solid var(--ps-line)}
#ifd-password-spray .ps-table table{display:table;border-collapse:collapse;width:100%;min-width:720px;font-size:13px;margin:0;border:0}
#ifd-password-spray .ps-table th,#ifd-password-spray .ps-table td{padding:8px!important;border-bottom:1px solid var(--ps-line);vertical-align:middle;text-align:left;white-space:nowrap}
#ifd-password-spray .ps-table th{background:#102b46;color:#fff;font-size:12px}
#ifd-password-spray .ps-table td{font-family:ui-monospace,monospace}
#ifd-password-spray .ps-table td button{min-height:34px;padding:4px 10px;font-size:13px}
.ps-table tr.ps-sel td{background:#eef5fa}
.ps-r-success{color:#17643a;font-weight:700}.ps-r-failure{color:#9a3b2f;font-weight:700}.ps-r-blocked{color:#8a5a00;font-weight:700}
.ps-detail{margin-top:14px;border:1px solid var(--ps-line);border-radius:5px;padding:14px}
#ifd-password-spray .ps-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:10px;margin:0}
#ifd-password-spray .ps-detail dl>div{background:#f4f7f9;padding:8px 10px}
#ifd-password-spray .ps-detail dt{font:600 12px Inter,Arial,sans-serif;color:var(--ps-muted)}
#ifd-password-spray .ps-detail dd{margin:2px 0;font:13px/1.45 ui-monospace,monospace;overflow-wrap:anywhere}
#ifd-password-spray .ps-detail small{display:block;font:12px/1.45 Inter,Arial,sans-serif;color:var(--ps-muted)}
#ifd-password-spray .ps-hint{font-size:14px;color:var(--ps-muted)}
.ps-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#ifd-password-spray .ps-surface>button{margin-top:14px}

/* Task panel */
#ps-assessment{margin-top:24px;padding-top:6px;border-top:1px solid var(--ps-line)}
.ps-field{display:grid;gap:6px;margin:16px 0;font-size:16px!important;font-weight:600;line-height:1.5}
#ifd-password-spray .ps-field select{width:100%;font-weight:400}
#ifd-password-spray fieldset{border:0;margin:20px 0;padding:0;min-width:0}
#ifd-password-spray legend{font-weight:600;font-size:16px;line-height:1.5;margin-bottom:8px}
.ps-choice{display:flex;gap:10px;border:1px solid var(--ps-line);border-radius:4px;padding:12px;margin:10px 0;background:#fff;font-size:15px!important;font-weight:400!important;line-height:1.5;cursor:pointer}
#ifd-password-spray input[type=radio]{width:19px;height:19px;min-width:19px;accent-color:#185fa5;margin-top:3px}
.ps-feedback{margin:18px 0;padding:6px 16px;background:#edf3f8;border-left:3px solid #185fa5}
.ps-feedback.correct{background:#eef5f1;border-color:#577363}
#ifd-password-spray .ps-feedback p{font-size:16px}

/* Footer and debrief */
.ps-nav{position:fixed;bottom:0;left:0;right:0;z-index:6;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-top:1px solid var(--ps-line)}
.ps-nav>div{display:flex;gap:24px;font:15px Inter,Arial,sans-serif}
.ps-debrief{max-width:1100px;margin:auto;background:#fff;padding:24px;border:1px solid var(--ps-line);border-radius:5px}
.ps-conclusions{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ps-conclusions section{border-top:3px solid #819dab;padding:14px;background:#f4f8fb}
.ps-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.ps-newtab{font-size:13px;white-space:nowrap}
.ps-error{padding:16px}

@media(max-width:1180px){.ps-live{grid-template-columns:1fr}}
@media(max-width:1000px){.ps-workspace{display:flex;flex-direction:column}.ps-task{position:static;order:-1;width:100%}#ps-sim{width:100%}}
@media(max-width:700px){#ifd-password-spray .ps-top{flex-wrap:wrap;gap:8px;padding:12px}.ps-top>div:first-child{flex-basis:calc(100% - 68px)}#ifd-password-spray .ps-top h1{font-size:17px}#ifd-password-spray .ps-top button{font-size:13px;padding:6px 10px;min-height:38px}.ps-progress{margin-left:auto}.ps-content{padding:12px 12px calc(var(--ps-footer) + 20px)}.ps-surface,.ps-task,.ps-material-body{padding:14px}.ps-jobs{grid-template-columns:1fr}.ps-nav{padding:10px 12px;gap:8px}.ps-nav>div{gap:14px;font-size:13px}#ifd-password-spray .ps-nav button{font-size:14px;padding:8px 10px}.ps-conclusions{grid-template-columns:1fr}.ps-clock{margin-left:0;width:100%}#ifd-password-spray select{min-width:0;width:100%}.ps-filters label{width:100%}}
@media(max-width:420px){.ps-nav>div{flex-direction:column;gap:4px}.ps-progress strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ps-cursor:after{animation:none}}
@media print{.ps-top,.ps-nav{position:static!important}.ps-task{position:static}.ps-workspace{display:block}.ps-content{padding-bottom:0}}
