/* Security awareness training page */
.sat-why, .sat-plan { display: grid; gap: 1.25rem 3rem; align-items: start; }
@media (min-width: 900px) { .sat-why { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); } .sat-plan { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }
.sat-plan .checks { margin: 0; }
.sat-plan a, .sat-why a { color: var(--accent); }

.sim { padding: clamp(1rem, 2.5vw, 1.5rem); background: rgba(30,30,30,.82); border: 1px solid var(--line); border-radius: var(--radius-lg); backdrop-filter: blur(6px); }
.sim__head { display: flex; align-items: center; gap: .55rem; margin: 0 0 .85rem; font-size: .85rem; color: var(--ink-2); }
.sim__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--violet); animation: sat-pulse 1.6s ease-in-out infinite; }
.sim__note { margin-left: auto; font-size: .75rem; color: #7d7d84; }
.sim__stage { min-height: 19rem; }
.sim__mail { position: relative; padding: 1rem 1.1rem; background: var(--bg); border: 1px solid #34343a; border-radius: var(--radius-md); opacity: 0; transform: translateY(-10px); transition: opacity .35s, transform .45s cubic-bezier(.2,.7,.2,1), border-color .35s; }
.sim__mail.is-in { opacity: 1; transform: none; }
.sim__mail.is-good { border-color: rgba(79,209,139,.6); }
.sim__mail.is-learn { border-color: rgba(212,132,255,.6); }
.sim__mail p { margin: 0; }
.sim__to { font-size: .78rem; color: #7d7d84; margin-bottom: .35rem !important; }
.sim__from { font-size: .9rem; }
.sim__from span { color: var(--ink-2); }
.sim__subj { margin-top: .3rem !important; font-weight: 500; font-size: 1.02rem; }
.sim__body { margin-top: .3rem !important; color: var(--ink-2); font-size: .9rem; line-height: 1.5; }
.sim__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .85rem; }
.sim__link, .sim__report { padding: .4rem .8rem; border-radius: 6px; font-size: .82rem; font-weight: 500; transition: transform .15s, box-shadow .2s, background .2s; }
.sim__link { background: #2563eb; color: #fff; }
.sim__report { border: 1px solid #4a4a50; color: var(--ink-2); }
.sim__link.is-press, .sim__report.is-press { transform: scale(.94); box-shadow: 0 0 0 3px rgba(69,232,255,.35); }
.sim__report.is-press { background: rgba(79,209,139,.15); color: #4fd18b; border-color: #4fd18b; }
.sim__cursor { position: absolute; left: 60%; top: 30%; width: 22px; height: 22px; opacity: 0; transition: left .9s cubic-bezier(.4,0,.2,1), top .9s cubic-bezier(.4,0,.2,1), opacity .3s; pointer-events: none; }
.sim__cursor.is-on { opacity: 1; }
.sim__cursor svg { width: 100%; height: 100%; fill: #fff; stroke: #0f0f0f; stroke-width: 1.4; stroke-linejoin: round; }
.sim__result { margin-top: .85rem; padding: .75rem .9rem; border-left: 3px solid #4a4a50; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: rgba(20,20,22,.6); opacity: 0; transform: translateY(6px); transition: opacity .35s, transform .35s; }
.sim__result.is-on { opacity: 1; transform: none; }
.sim__result.is-good { border-color: #4fd18b; }
.sim__result.is-learn { border-color: var(--violet); }
.sim__result p { margin: 0; }
.sim__result-title { font-weight: 500; }
.sim__result.is-good .sim__result-title { color: #4fd18b; }
.sim__result.is-learn .sim__result-title { color: var(--violet); }
.sim__result-text { margin-top: .2rem !important; font-size: .875rem; color: var(--ink-2); }
.sim__stats { list-style: none; margin: 1rem 0 0; padding: .8rem 0 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.sim__stats li { font-size: .85rem; color: var(--ink-2); }
.sim__stats strong { display: block; font: 500 1.4rem/1.1 var(--font-head); font-variant-numeric: tabular-nums; }
.sim__stats li:first-child strong { color: #4fd18b; }
.sim__stats li:last-child strong { color: var(--violet); }
.sim.no-anim * { transition: none !important; }
@keyframes sat-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .sim__dot { animation: none; } .sim * { transition: none !important; } }