.accountModal{position:fixed;inset:0;z-index:200;display:none;place-items:center;background:rgba(2,7,12,.82);backdrop-filter:blur(10px)}
.accountModal.open{display:grid}
.accountBox{position:relative;width:min(460px,92vw);max-height:min(760px,92vh);overflow:auto;padding:28px;border:1px solid #445a6f;border-radius:18px;background:radial-gradient(circle at 95% 0,rgba(217,171,88,.15),transparent 32%),#0c1722;box-shadow:0 30px 90px #000}
.accountClose{position:absolute;right:18px;top:18px}
.accountBox h2{font:32px Georgia;margin:7px 0}
.accountIntro{max-width:390px;line-height:1.6}
.accountTabs{display:flex;gap:7px;margin:8px 0 14px}
.accountTabs:has(button[hidden]){display:none}
.accountTabs button{flex:1}
.accountForm{display:grid;gap:10px}
.accountForm[hidden],.accountForm label[hidden],.accountForgot[hidden],.accountRecoveryResult[hidden]{display:none}
.accountForm label{font-size:9px;color:#8ea0b1}
.accountForm input{display:block;width:100%;margin-top:5px;padding:12px;border:1px solid #354b60;border-radius:8px;background:#08131d;color:white;font-size:14px}
.accountForm input:focus{outline:2px solid rgba(224,178,88,.35);border-color:#d5aa56}
.accountForgot{justify-self:start;padding:3px 0;border:0;background:none;color:#e5bc69;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.accountForgot:hover{color:#ffe0a0}
.accountGuest{width:100%;border-color:#31475a;color:#a9b8c4}
.accountGuest:hover{border-color:#5a7185;color:#eef4f8}
.accountError{min-height:18px;color:#ff867e;font-size:10px}
.accountRecoveryResult{padding-top:8px;text-align:center}
.accountRecoveryResult h3{margin:10px 0 7px;font:27px Georgia;color:#f4eadb}
.accountRecoveryResult p{margin:0 auto 15px;color:#a9b8c4;font-size:12px;line-height:1.6}
.recoverySuccessIcon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto;border:1px solid #4d875f;border-radius:50%;background:#102b1b;color:#7bdd9b;font-size:25px}
.recoveryCode{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:17px 0;padding:9px;border:1px solid #665634;border-radius:11px;background:#080f15;text-align:left}
.recoveryCode code{overflow-wrap:anywhere;padding:4px 7px;color:#f1cb7b;font:700 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.accountRecoveryResult .recoveryWarning{margin:0 0 18px;color:#dfaa70;font-size:10px}
.recoveryContinue{width:100%}
.archiveHub{max-width:1450px;margin:auto}
.archiveHero{display:flex;justify-content:space-between;align-items:end;padding:25px;margin-bottom:14px;border:1px solid #40546a;border-radius:18px;background:linear-gradient(135deg,#17283a,#09141f)}
.archiveGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.archiveCard{padding:0;overflow:hidden;text-align:left;background:#0d1823;border:1px solid #2d4154;border-radius:13px;color:white}
.archiveCard img{width:100%;height:220px;object-fit:cover;background:#050a10}
.archiveCardBody{padding:13px}
.archiveCardBody b{display:block;margin-bottom:6px}
.archiveBadges{display:flex;gap:5px;flex-wrap:wrap}
.archiveBadges span{font-size:8px;padding:4px 6px;border:1px solid #40546a;border-radius:999px;color:#9fb0bf}
.archiveDetailHead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:18px 0 16px;padding:25px 28px;border:1px solid #3a5062;border-radius:18px;background:linear-gradient(135deg,#122332,#08131c)}
.archiveDetailHead h1{max-width:980px;margin:8px 0 10px}
.archiveDetailHead p{max-width:900px;margin:0;color:#aebbc5;line-height:1.65}
.archiveOpenLarge{flex:0 0 auto;text-decoration:none;padding:12px 15px}
.archiveDetail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);gap:16px;align-items:start}
.archiveVisual{position:sticky;top:18px;display:block;text-decoration:none}
.archiveVisual img{display:block;width:100%;max-height:none;object-fit:contain;background:#050a10;border:1px solid #40576a;border-radius:14px;box-shadow:0 26px 70px rgba(0,0,0,.36)}
.archiveVisual span{display:block;margin-top:7px;color:#8497a7;font-size:10px;text-align:center}
.archiveCopy{padding:24px}
.archiveCopy>h2{margin:9px 0 10px;font:32px/1.08 Georgia}
.archiveLead{color:#bdc8d0;font-size:14px;line-height:1.65}
.archiveSection{margin-top:24px;padding-top:19px;border-top:1px solid #2b4052}
.archiveSectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;color:#dfb45e;font-size:9px;font-weight:850;letter-spacing:.15em}
.archiveSectionHead b{display:grid;place-items:center;width:26px;height:26px;border:1px solid #5b5138;border-radius:50%;color:#f0c66e}
.archiveStrength{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #223647}
.archiveStrength i{display:grid;place-items:center;width:27px;height:27px;border:1px solid #417a59;border-radius:50%;background:#123021;color:#79d397;font-style:normal}
.archiveStrength b{font-size:12px}
.archiveStrength p{margin:4px 0 0;color:#9fb0bd;font-size:11px;line-height:1.5}
.archivePriority{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:16px 0;border-bottom:1px solid #263a4b}
.archivePriority>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #705934;border-radius:10px;background:#2b2417;color:#efc46d;font:13px Georgia}
.archivePriority small{color:#d4a957;font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.archivePriority h3{margin:4px 0 8px;font:20px Georgia}
.archivePriority p{margin:6px 0;color:#aab8c3;font-size:11px;line-height:1.55}
.archivePriority p b{color:#dce5eb}
.archivePriority .archiveAction{padding:9px 10px;border-left:2px solid #e1b55f;background:#171a17;color:#d8e0e5}
.archivePriority .archiveCheck{color:#8fc7a3}
.archiveExercise{margin-top:22px;padding:16px;border:1px solid #4f4935;border-radius:13px;background:linear-gradient(135deg,rgba(218,170,78,.12),rgba(7,17,25,.78))}
.archiveExercise>span{color:#e6b85e;font-size:8px;letter-spacing:.15em}
.archiveExercise h3{margin:7px 0}
.archiveExercise p,.archiveExercise small{color:#b5c1ca;line-height:1.55}
.profileCard{cursor:pointer}
.profileCard:hover{border-color:#705b35}
.profileCard.signedOut span{color:#8fa0b0}
@media(max-width:1050px){.archiveGrid{grid-template-columns:1fr 1fr}
.archiveDetail{grid-template-columns:1fr}
.archiveVisual{position:relative;top:auto}
.archiveDetailHead{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){.archiveGrid{grid-template-columns:1fr}
.archiveHero{align-items:start;flex-direction:column;gap:12px}
}
