/* Standalone CTF, using Academy's Apparat typography, panel system and pixel header. */
:root{--ctf-rule:#c9c9c9;--ctf-muted:#737373;--ctf-panel:#f7f7f7;--ctf-accent:#b8ff38}
html[data-site-theme=dark]{--ctf-rule:#353535;--ctf-muted:#aaa;--ctf-panel:#161616}
html{scroll-padding-top:110px}body{margin:0}a,button,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.journal-main .ctf-hero{grid-template-columns:1.2fr 1fr;gap:8vw;padding:30px 0 48px;border-bottom:1px solid var(--ctf-rule);margin-bottom:0}
.ctf-eyebrow{display:block;font:12px/1.5 'Fragment Mono',monospace;letter-spacing:.03em;margin-bottom:30px;color:var(--ctf-muted)}
.journal-main .ctf-hero h1{font:300 clamp(34px,4.8vw,74px)/1.07 Apparat,Arial,sans-serif;letter-spacing:-.045em;margin:0;max-width:900px;text-wrap:balance;word-break:normal;overflow-wrap:normal}
.ctf-hero-copy{padding-top:48px}.journal-main .ctf-hero-copy p{font:400 18px/1.55 Apparat,Arial,sans-serif;max-width:490px;margin-bottom:28px}
.ctf-primary{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:390px;min-height:54px;padding:14px 18px;background:var(--ctf-accent);color:#111;text-decoration:none;font:400 16px/1.4 Apparat,Arial,sans-serif;box-sizing:border-box}.ctf-primary span{font-size:24px}.ctf-primary:hover{filter:brightness(.94)}
.ctf-text-link{display:inline-block;font:14px/1.5 Apparat,Arial,sans-serif;color:inherit;text-underline-offset:5px;margin-top:16px}
.ctf-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:46px;border-bottom:1px solid var(--ctf-rule)}.ctf-overview>div{display:flex;flex-direction:column;gap:10px;padding:24px 18px;border-right:1px solid var(--ctf-rule)}.ctf-overview>div:first-child{padding-left:0}.ctf-overview>div:last-child{border-right:0}.ctf-overview strong{font:300 32px/1.2 Apparat,Arial,sans-serif;letter-spacing:-.035em}.ctf-overview span{color:var(--ctf-muted);font:14px/1.5 Apparat,Arial,sans-serif}
.journal-reader .ctf-overview{display:none}.journal-reader .ctf-hero{padding-bottom:28px;margin-bottom:28px}.journal-reader .ctf-hero h1{font-size:28px}.journal-reader .ctf-eyebrow{margin-bottom:12px}.journal-reader .ctf-hero-copy{padding-top:0}.journal-reader .ctf-primary,.journal-reader .ctf-text-link{display:none}
.journal-footer{margin-top:48px}.journal-footer>div{display:flex;align-items:center;gap:16px}.journal-footer>div>span{font-size:12px;color:var(--ctf-muted)}
.ctf-practice-route body{background:var(--paper,#ececec);font-family:Apparat,Arial,sans-serif}.ctf-practice-route body>main,.ctf-practice-route body>.site-footer{display:none!important}.ctf-practice-route [data-workspace-root]{padding-top:0}.ctf-practice-route .workspace-header{border-bottom:1px solid var(--ctf-rule)}
.ctf-practice-route .workspace-overview h1{font:300 clamp(32px,4vw,60px)/1.1 Apparat,Arial,sans-serif!important;letter-spacing:-.04em!important;max-width:900px}.ctf-practice-route .workspace-section-head h2{font:300 24px/1.25 Apparat,Arial,sans-serif}.ctf-practice-route .workspace-category-card{border:1px solid var(--ctf-rule);border-radius:0;background:var(--ctf-panel)}
.ctf-practice-route .challenge-panel{background:var(--paper,#ececec);border-left:1px solid var(--ctf-rule)}.ctf-practice-route .challenge-heading h2{font:300 clamp(28px,3vw,42px)/1.15 Apparat,Arial,sans-serif!important;letter-spacing:-.03em;word-break:normal;overflow-wrap:normal}.ctf-practice-route .challenge-section h3,.ctf-practice-route .challenge-question h3{font:400 18px/1.4 Apparat,Arial,sans-serif}.ctf-practice-route .challenge-question{border-radius:0;border-color:var(--ctf-rule)}.ctf-practice-route .practice-native-button{border-radius:0}.ctf-practice-route .practice-command code{white-space:pre-wrap;overflow-wrap:anywhere}.ctf-practice-route .challenge-panel p{word-break:normal;overflow-wrap:break-word;hyphens:none}
.ctf-guide{max-width:1080px;margin:auto}.ctf-guide section{padding:26px 0;border-bottom:1px solid var(--ctf-rule)}.ctf-guide h2{font:300 26px/1.3 Apparat,Arial,sans-serif}.ctf-guide p,.ctf-guide li{font:16px/1.6 Apparat,Arial,sans-serif;max-width:780px}.ctf-guide pre{padding:20px;overflow:auto;background:#111;color:#eee}.ctf-guide a{color:inherit;text-underline-offset:4px}
@media(max-width:760px){.journal-main .ctf-hero{grid-template-columns:1fr;gap:20px;padding-top:12px;padding-bottom:28px}.ctf-eyebrow{font-size:10px;margin-bottom:20px}.ctf-hero-copy{padding-top:0}.journal-main .ctf-hero-copy p{font-size:16px}.ctf-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:30px}.ctf-overview>div{padding:18px 12px!important}.ctf-overview>div:nth-child(2){border-right:0}.ctf-overview>div:nth-child(-n+2){border-bottom:1px solid var(--ctf-rule)}.ctf-overview span{font-size:12px}.ctf-overview strong{font-size:28px}.journal-footer{align-items:start;gap:20px}.journal-footer>div{align-items:start;flex-direction:column;gap:8px}.site-header-nav .site-header-link{min-width:0}.ctf-practice-route .workspace-header{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
