#gate{overflow-y:auto;padding:32px 20px}
#gateForm{display:flex;flex-direction:column;gap:12px;width:min(420px,100%)}
#gateForm label{font-size:14px;text-align:left}
#gateForm input{width:100%;font-size:16px;padding:14px;border:2px solid var(--ink);background:var(--paper);color:var(--ink)}
#gateError{max-width:480px;font-size:16px}
.account-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px;font-size:14px}
.account-bar button{background:none;color:var(--ink);border:1px solid currentColor;padding:7px 10px;font:inherit;cursor:pointer}
.account-bar #saveStatus{margin-right:auto}
.training-card{border:2px solid var(--ink);background:rgba(59,53,232,.035);margin:18px 0;text-align:left;max-width:100%;font-family:var(--font-body)}
.training-card summary{cursor:pointer;padding:16px;font-size:16px;font-weight:700;line-height:1.5}
.training-card summary small{display:inline-block;margin-left:10px;font-size:14px;font-weight:400}
.training-body{padding:0 16px 18px}.training-body p{font-size:16px;margin:12px 0;line-height:1.65}
.training-note{display:block;font-size:14px;opacity:.8}
.training-player{aspect-ratio:16/9;background:var(--navy);margin-top:4px}
.training-player iframe{width:100%;height:100%;border:0}
.training-watched{display:flex;gap:10px;align-items:center;font-size:14px;margin-top:14px}
.training-watched input{width:18px;height:18px;accent-color:var(--ink)}
#overviewTraining{width:min(650px,100%);margin:12px auto}
.review-banner{position:relative;background:var(--navy);color:var(--paper);padding:12px 20px;font-size:14px;z-index:80;text-align:center}
.f-unscored{fill:rgba(59,53,232,.09)!important}.t-unscored .dot{background:var(--ink)}
.draft-note{font-size:14px;margin-top:10px}.btn:disabled{opacity:.55;cursor:not-allowed}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:600px){.training-card summary{padding:12px}.training-body{padding:0 12px 14px}.account-bar{gap:8px}}
