/* Compact side-by-side classroom. Reader and response share one working surface. */
.phishing-lab.is-compact{padding-top:20px}
.phishing-lab.is-compact .phish-intro{position:relative;padding:0 0 20px;gap:25px;isolation:isolate}
.phishing-lab.is-compact .phish-intro:after{content:"";position:absolute;right:145px;top:-10px;width:260px;height:100%;background:url('/assets/hong-kong-skyline.png') center bottom/contain no-repeat;opacity:.12;z-index:-1;pointer-events:none}
.phishing-lab.is-compact .phish-intro h3{font-size:27px;margin:8px 0;line-height:1.4}
.phishing-lab.is-compact .phish-intro p{font-size:14px;line-height:1.75;max-width:48em}
.phishing-lab.is-compact .phish-session strong{font-size:38px}.phishing-lab.is-compact .phish-session{padding-left:22px}
.phishing-lab.is-compact .phish-controls{padding:13px 0;gap:16px}.phishing-lab.is-compact .phish-controls label{display:flex;align-items:center;gap:12px;min-width:0;white-space:nowrap}.phishing-lab.is-compact .phish-controls select{font-size:14px;min-height:44px;padding:9px 12px}.phishing-lab.is-compact .phish-controls .lab-next{min-height:44px;font-size:14px;padding:9px 13px}
.phishing-lab.is-compact .phish-context{margin:13px 0;min-height:0;display:flex;gap:16px}.phishing-lab.is-compact .phish-context p{font-size:14px;line-height:1.7}.phishing-lab.is-compact .phish-context>span{font-size:12px;flex:none}
.mail-viewbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px;min-height:30px}.mail-viewbar>p{display:flex;align-items:center;gap:15px;font-size:13px;line-height:1.7;color:#c5ab8f;margin:0}.mail-viewbar #mail-workspace-count{font:13px ui-monospace,monospace;color:#f0c18f;border-right:1px solid #87684c;padding-right:15px}.mail-viewbar #mail-workspace-status[data-result=correct]{color:#99d8b7}.mail-viewbar #mail-workspace-status[data-result=incorrect]{color:#ffb6ac}.mail-mobile-switch{display:none}
.phishing-lab.is-compact .mail-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:16px;align-items:stretch;height:clamp(460px,calc(100svh - 170px),760px);min-height:0;max-height:none;min-width:0}
.phishing-lab.is-compact .mail-client{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;border-radius:10px;margin:0}
.phishing-lab.is-compact .mail-appbar{flex:none;min-height:42px;box-sizing:border-box;padding:8px 18px;background:#28221c;border-bottom:2px solid #dd7b32;color:#f8e7d1}.phishing-lab.is-compact .mail-app-brand{gap:8px}.phishing-lab.is-compact .mail-app-brand b{font-size:14px}.phishing-lab.is-compact .mail-app-brand b span{font-size:12px;color:#d3b799}.phishing-lab.is-compact .mail-app-brand>svg{width:20px;height:20px;stroke:#ffae6a}.phishing-lab.is-compact .mail-training-label{font-size:12px;color:#e3bd90;padding:3px 7px;border-color:#8d6844}
.phishing-lab.is-compact .mail-commandbar{flex:none;padding:7px 13px;gap:10px;min-height:58px;box-sizing:border-box;flex-wrap:nowrap}.phishing-lab.is-compact .mail-inbox-label{display:none}.phishing-lab.is-compact #mail-list-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:auto;min-height:42px;padding:9px 12px;background:#f1e6d6;border:1px solid #b99d7e;border-radius:5px;color:#62452b;font-size:14px}.phishing-lab.is-compact #mail-hints{min-height:42px;padding:8px 11px;font-size:14px}.phishing-lab.is-compact #mail-list-toggle[aria-expanded=true]{background:#e7c6a0;border-color:#a3652f}
.phishing-lab.is-compact .mail-client-body{display:block;position:relative;flex:1;min-height:0;height:auto;overflow:hidden;grid-template-columns:none}.phishing-lab.is-compact .mail-reading-pane{height:100%;display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bd9c77 #f5efe5;scrollbar-gutter:stable;scroll-behavior:auto}
.phishing-lab.is-compact .mail-reading-top{padding:15px 23px 0;font-size:12px;line-height:1.6;flex-wrap:nowrap}.phishing-lab.is-compact .mail-reading-top>span:first-child{color:#83705a}.phishing-lab.is-compact .mail-client .mail-paper{padding:17px 23px 22px;min-height:0;flex:none;height:auto}.phishing-lab.is-compact .mail-client .mail-paper h4{font-size:23px;line-height:1.5;margin-bottom:17px}.phishing-lab.is-compact .mail-sender-row{padding-bottom:13px;gap:10px}.phishing-lab.is-compact .mail-sender-avatar{width:34px;height:34px;font-size:12px}.phishing-lab.is-compact .mail-sent-time{display:none}.phishing-lab.is-compact .mail-recipient{font-size:12px}.phishing-lab.is-compact .mail-message-body{padding-top:16px}.phishing-lab.is-compact .mail-message-body>p{font-size:16px;line-height:1.75;margin-bottom:9px}.phishing-lab.is-compact .mail-client .mail-hotspot{font-size:16px;line-height:1.8;padding:7px 8px;min-height:40px}.phishing-lab.is-compact .mail-body-signal{margin:3px 0 9px}.phishing-lab.is-compact .mail-client .mail-sender-button{min-height:30px;padding-top:0;padding-bottom:0}.phishing-lab.is-compact .mail-client .mail-attachment-signal{margin:9px 0 12px;padding:11px;gap:10px}.phishing-lab.is-compact .mail-link-signal{margin:7px 0 2px}.phishing-lab.is-compact .mail-destination-preview{font-size:12px;line-height:1.75;margin:0 0 10px 8px}.phishing-lab.is-compact .mail-message-body .mail-signoff{margin:15px 0 0;font-size:14px}.phishing-lab.is-compact .mail-message-body .mail-signature{font-size:13px;margin:0}.phishing-lab.is-compact .mail-sender-details{padding:12px 14px;margin-top:10px}.phishing-lab.is-compact .mail-sender-details small{font-size:12px}.phishing-lab.is-compact .mail-inspector{min-height:0;padding:14px 22px;gap:9px}.phishing-lab.is-compact .mail-inspector p{font-size:13px;line-height:1.75;margin-top:5px}.phishing-lab.is-compact .mail-inspector b{font-size:13px}.phishing-lab.is-compact .mail-client-footer{flex:none;font-size:12px;line-height:1.6;padding:9px 17px;display:block}.phishing-lab.is-compact .mail-client-footer>span:last-child{display:none}
/* Inbox replaces the reader temporarily instead of creating a third narrow column. */
.phishing-lab.is-compact .mail-message-list{height:100%;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;border:0;scrollbar-width:thin}.phishing-lab.is-compact .mail-list-heading{display:flex;padding:13px 18px;flex:none}.phishing-lab.is-compact #mail-messages{flex:1}.phishing-lab.is-compact .mail-message{min-height:0;padding:13px 20px}.phishing-lab.is-compact .mail-message-meta{margin-bottom:4px}.phishing-lab.is-compact .mail-message-subject{font-size:15px;line-height:1.6;-webkit-line-clamp:1}.phishing-lab.is-compact .mail-message-preview{display:block;font-size:12px;margin-top:4px}.phishing-lab.is-compact .mail-list-pagination{flex:none;position:sticky;bottom:0;padding:10px 16px;background:#eee7dc}.phishing-lab.is-compact .mail-list-note{display:none}
/* Right-side panels keep answers and evidence at the same visual location. */
.phishing-lab.is-compact .mail-learning-panel.phish-learning{display:flex;flex-direction:column;padding:0;gap:0;min-height:0;height:100%;overflow:hidden;border-radius:10px;background:#211b16;border-color:#ae743e70}
.mail-tool-tabs{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-bottom:1px solid #ae794848;flex:none;background:#98724744}.mail-tool-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.6;min-height:52px;border:0;border-bottom:3px solid transparent;color:#c6ae94;background:#251e18;cursor:pointer;padding:11px 12px}.mail-tool-tabs button[aria-selected=true]{color:#ffcb93;background:#3c291b;border-bottom-color:#ff9849}.mail-tool-tabs button>span{font:12px ui-monospace,monospace;background:#211913;padding:3px 5px;border-radius:4px;color:#e7bb89}
.phishing-lab.is-compact .phish-learning .mail-verdict,.phishing-lab.is-compact .phish-learning .mail-lesson{display:flex;flex-direction:column;padding:22px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9d744e #2c231b;flex:1;border:0;margin:0;gap:0}.phishing-lab.is-compact .phish-step{font-size:12px}.phishing-lab.is-compact .mail-verdict #mail-question{font-size:25px;line-height:1.4;margin:8px 0 18px}.phishing-lab.is-compact .mail-answer-options{gap:10px;flex:none}.phishing-lab.is-compact .mail-answer-options>button{padding:12px 10px;min-height:78px;gap:9px;grid-template-columns:29px minmax(0,1fr) 18px}.phishing-lab.is-compact .mail-answer-options .answer-letter{font-size:16px;line-height:27px;width:29px;height:29px}.phishing-lab.is-compact .mail-answer-options b{font-size:16px;line-height:1.6}.phishing-lab.is-compact .mail-answer-options small{font-size:13px;line-height:1.6;margin-top:3px}.phishing-lab.is-compact #mail-result{min-height:0;margin:14px 0;padding:13px;flex:none}.phishing-lab.is-compact #mail-result:empty{display:none}.phishing-lab.is-compact #mail-result:empty:before{content:none}.phishing-lab.is-compact #mail-result h4{font-size:17px;line-height:1.6;margin-bottom:8px}.phishing-lab.is-compact #mail-result p{font-size:14px;line-height:1.8}.phishing-lab.is-compact #mail-result .mail-answer-reason{font-size:12px;line-height:1.8;margin-top:9px}.phishing-lab.is-compact .mail-answer-actions{margin-top:auto;padding-top:18px;gap:8px;flex:none}.phishing-lab.is-compact .mail-answer-actions button{font-size:13px;padding:10px;min-height:44px}.phishing-lab.is-compact .mail-lesson-heading{gap:8px;flex:none}.phishing-lab.is-compact .mail-lesson-heading .micro{font-size:12px}.phishing-lab.is-compact .mail-lesson #mail-explanation{min-height:0;flex:none}.phishing-lab.is-compact #mail-explanation h4{font-size:22px;line-height:1.5;margin:18px 0 12px}.phishing-lab.is-compact #mail-explanation p{font-size:16px;line-height:1.85;margin-bottom:16px}.phishing-lab.is-compact .mail-clue-help{margin:6px 0 8px;font-size:13px}.phishing-lab.is-compact .mail-clue-index{margin:0 0 16px;gap:8px;flex:none}.phishing-lab.is-compact .mail-clue-index button{font-size:13px;min-height:46px;padding:9px}.mail-ready-answer{margin-top:auto;background:#fba15e;border:1px solid #ffbd89;color:#34210f;font-size:14px;min-height:46px;padding:11px 13px;border-radius:6px;cursor:pointer;font-weight:600;flex:none}.phishing-lab.is-compact .mail-feedback-note{font-size:12px;margin:13px 0 0;line-height:1.75;flex:none}
/* Advanced materials remain available without extending every practice session. */
.phishing-lab.is-compact .mail-advanced{padding:0;margin-top:18px;border:1px solid #a9875c55;border-radius:9px;background:#231c16;overflow:hidden}.mail-advanced-toggle{display:flex;align-items:center;gap:16px;padding:17px 21px;min-height:66px;box-sizing:border-box;cursor:pointer;list-style:none}.mail-advanced-toggle::-webkit-details-marker{display:none}.mail-advanced-toggle>span{font-size:13px;color:#eba96d}.mail-advanced-toggle>b{font-size:16px;line-height:1.6;color:#efd8bc;font-weight:500}.mail-advanced-toggle>i{margin-left:auto;font:24px/1 ui-monospace,monospace;color:#f5a765;font-style:normal}.mail-advanced[open]>.mail-advanced-toggle{border-bottom:1px solid #a5805255}.mail-advanced[open]>.mail-advanced-toggle>i{transform:rotate(45deg)}.mail-advanced-inner{padding:25px}.mail-advanced-toggle:focus-visible{outline:2px solid #ffb574;outline-offset:-4px}
.phishing-lab.is-compact [hidden]{display:none!important}
@media(min-width:1440px){.phishing-lab.is-compact .mail-workspace{grid-template-columns:minmax(0,1.7fr) minmax(370px,1fr)}}
@media(max-width:960px){.phishing-lab.is-compact .mail-workspace{display:block;height:clamp(420px,calc(100svh - 175px),760px)}.phishing-lab.is-compact .mail-client,.phishing-lab.is-compact .mail-learning-panel.phish-learning{height:100%}.mail-mobile-switch{display:flex;gap:5px;border:1px solid #ad845b66;padding:4px;border-radius:7px;background:#211c17}.mail-mobile-switch button{border:0;background:transparent;color:#c7b29b;font-size:14px;min-height:42px;padding:9px 14px;border-radius:4px;cursor:pointer}.mail-mobile-switch button[aria-pressed=true]{background:#ffab65;color:#2e1f12;font-weight:600}.mail-viewbar{min-height:52px}.mail-viewbar>p{gap:9px}.mail-viewbar #mail-workspace-count{padding-right:9px}.phishing-lab.is-compact .phish-intro h3{font-size:25px}.phishing-lab.is-compact .mail-client .mail-paper{padding:20px 25px}.phishing-lab.is-compact .mail-verdict #mail-question{font-size:27px}.phishing-lab.is-compact .phish-learning .mail-verdict,.phishing-lab.is-compact .phish-learning .mail-lesson{padding:25px}.phishing-lab.is-compact .mail-answer-options>button{padding:15px;min-height:86px}.phishing-lab.is-compact #mail-result p{font-size:16px}.phishing-lab.is-compact .mail-clue-index{grid-template-columns:repeat(2,minmax(0,1fr))}.phishing-lab.is-compact .mail-clue-index button{font-size:15px}.mail-tool-tabs button{min-height:49px}}
@media(max-width:600px){.phishing-lab.is-compact{padding:18px 12px}.phishing-lab.is-compact .phish-intro{padding-bottom:14px;display:flex;align-items:start;gap:10px}.phishing-lab.is-compact .phish-intro:after{right:0;width:100%;opacity:.07}.phishing-lab.is-compact .phish-intro .micro{font-size:12px}.phishing-lab.is-compact .phish-intro h3{font-size:23px;line-height:1.45}.phishing-lab.is-compact .phish-intro p{font-size:13px}.phishing-lab.is-compact .phish-session{display:block;flex:none;border:0;margin:0;padding:5px 0 0 10px}.phishing-lab.is-compact .phish-session strong{font-size:29px;margin-bottom:7px}.phishing-lab.is-compact .phish-session span{display:block;font-size:12px}.phishing-lab.is-compact .phish-session small{display:none}.phishing-lab.is-compact .phish-controls{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 0}.phishing-lab.is-compact .phish-controls label{font-size:13px;gap:10px}.phishing-lab.is-compact .phish-controls select{flex:1;min-width:0;width:100%;font-size:14px}.phishing-lab.is-compact .phish-controls-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.phishing-lab.is-compact .phish-context{display:block;margin:10px 0}.phishing-lab.is-compact .phish-context p{font-size:13px;line-height:1.75}.phishing-lab.is-compact .phish-context>span{display:none}.mail-viewbar{display:block;margin:12px 0 9px}.mail-mobile-switch{display:grid;grid-template-columns:1fr 1fr}.mail-viewbar>p{margin-top:8px;font-size:12px;min-height:22px}.mail-viewbar #mail-workspace-count{font-size:12px}.phishing-lab.is-compact .mail-workspace{height:clamp(340px,calc(100svh - 190px),680px);min-height:0}.phishing-lab.is-compact .mail-appbar{padding:8px 13px}.phishing-lab.is-compact .mail-app-brand b span{font-size:11px}.phishing-lab.is-compact .mail-training-label{font-size:12px}.phishing-lab.is-compact .mail-commandbar{padding:7px 10px;min-height:58px}.phishing-lab.is-compact #mail-list-toggle,.phishing-lab.is-compact #mail-hints{font-size:13px;min-height:42px;padding:8px 9px}.phishing-lab.is-compact .mail-reading-top{padding:13px 18px 0;gap:8px;font-size:12px}.phishing-lab.is-compact .mail-client .mail-paper{padding:16px 18px 20px}.phishing-lab.is-compact .mail-client .mail-paper h4{font-size:21px;margin-bottom:15px}.phishing-lab.is-compact .mail-inspector{padding:14px 18px}.phishing-lab.is-compact .mail-client-footer{font-size:12px;padding:8px 13px}.phishing-lab.is-compact .phish-learning .mail-verdict,.phishing-lab.is-compact .phish-learning .mail-lesson{padding:20px 17px}.phishing-lab.is-compact .mail-verdict #mail-question{font-size:25px}.phishing-lab.is-compact .mail-answer-options>button{padding:13px 10px;min-height:85px}.phishing-lab.is-compact #mail-result p{font-size:15px}.phishing-lab.is-compact #mail-explanation h4{font-size:21px}.phishing-lab.is-compact .mail-clue-index button{font-size:14px}.phishing-lab.is-compact .mail-message{padding:12px 17px}.phishing-lab.is-compact .mail-message-subject{-webkit-line-clamp:2;font-size:14px}.phishing-lab.is-compact .mail-message-preview{display:none}.mail-advanced-toggle{padding:16px;gap:10px;align-items:start}.mail-advanced-toggle>span{padding-top:2px;font-size:12px;white-space:nowrap}.mail-advanced-toggle>b{font-size:14px}.mail-advanced-inner{padding:20px 13px}}
@media(prefers-reduced-motion:reduce){.phishing-lab.is-compact *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-height:700px){.phishing-lab.is-compact .mail-workspace{height:clamp(300px,calc(100svh - 190px),510px)}}
