.markdown-body { white-space: normal; overflow-wrap: anywhere; }
.markdown-body > :first-child { margin-top: 0; }
.markdown-body > :last-child { margin-bottom: 0; }
.markdown-body p { margin: 0 0 0.85em; }
.markdown-body ul, .markdown-body ol { margin: 0 0 0.85em; padding-left: 1.5em; }
.markdown-body li + li { margin-top: 0.3em; }
.markdown-body h1, .markdown-body h2, .markdown-body h3 { color: #075d81; line-height: 1.4; margin: 1em 0 0.45em; }
.markdown-body h1 { font-size: 1.3em; }
.markdown-body h2 { font-size: 1.18em; }
.markdown-body h3 { font-size: 1.08em; }
.markdown-body blockquote { border-left: 3px solid #a9cbd7; margin: 0 0 0.85em; padding-left: 1em; color: #58727c; }
.markdown-body code { background: #edf4f7; border-radius: 4px; padding: 0.1em 0.25em; font-size: 0.9em; }
.markdown-body pre { overflow-x: auto; background: #edf4f7; border-radius: 8px; padding: 0.8em; }
.markdown-body pre code { padding: 0; }
.markdown-body details { margin: 0.8em 0; border: 1px solid #d0dfe3; border-radius: 8px; background: #f8fbfc; }
.markdown-body details summary { cursor: pointer; padding: 9px 12px; color: #145d78; font-weight: 700; }
.markdown-body details[open] summary { border-bottom: 1px solid #d0dfe3; }
.markdown-body details > :not(summary) { margin-left: 12px; margin-right: 12px; }
.markdown-body details > :last-child { margin-bottom: 12px; }
.markdown-body .callout { --callout-accent: #327799; --callout-bg: #eef7fa; margin: 0.85em 0; padding: 12px 14px; border-left: 4px solid var(--callout-accent); border-radius: 7px; background: var(--callout-bg); }
.markdown-body .callout-tip { --callout-accent: #258663; --callout-bg: #edf8f2; }
.markdown-body .callout-important { --callout-accent: #735db7; --callout-bg: #f4f1fb; }
.markdown-body .callout-warning { --callout-accent: #ad771f; --callout-bg: #fff8e8; }
.markdown-body .callout-caution { --callout-accent: #b0443f; --callout-bg: #fff1ef; }
.markdown-body .callout-title { color: var(--callout-accent); font-weight: 800; }
.markdown-body .callout-content { margin-top: 6px; }
.markdown-body .callout-content > :last-child { margin-bottom: 0; }
.step-complete-button { display: block; width: fit-content; margin: 18px 0 0 auto; padding: 8px 24px; border: 1px solid #353535; border-radius: 8px; background: #fff; color: #252525; box-shadow: 0 2px 5px #00000016; font-weight: 700; }
.step-complete-button:hover { background: #f6f6f6; }
.step-card.complete { padding: 12px 16px; }
.step-complete-button.is-done { flex: none; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; padding: 0; border-radius: 7px; font-size: 1.2rem; line-height: 1; }
.step-complete-button.is-done:hover { background: #f0f0f0; }
.step-complete-button:focus-visible { outline: 3px solid #e5ae38; outline-offset: 2px; }
.access-gate { min-height: 100svh; display: grid; place-items: center; padding: 24px; }
.access-gate[hidden], .page[hidden], .clock[hidden] { display: none; }
.access-card { width: min(100%, 420px); padding: 28px; border: 1px solid #d6e3e7; border-radius: 18px; background: #fff; box-shadow: 0 12px 36px #1a4b5e18; }
.access-card h1 { margin: 0; color: #075d81; font-size: 1.5rem; line-height: 1.4; }
.access-card > p:not(.eyebrow) { margin: 10px 0 20px; color: #526a73; }
.access-card form { display: grid; gap: 8px; }
.access-card label { font-weight: 700; color: #315a68; }
.access-card input { width: 100%; padding: 11px 12px; border: 1px solid #9bb8c3; border-radius: 9px; background: #fff; color: #253b44; }
.access-card .access-hint { margin: 3px 0; color: #6a7e85; font-size: 0.85rem; }
.access-card .access-status { min-height: 1.3em; margin: 0; color: #9d3129; font-size: 0.87rem; }
.access-card .primary-button { width: 100%; }
.access-card .access-note { margin: 18px 0 0 !important; font-size: 0.82rem; text-align: center; }
