.ctf-map{max-width:880px;margin:0 auto}.ctf-map h2{letter-spacing:-.6px;margin:72px 0 12px;scroll-margin-top:24px;font-size:28px}.ctf-map h3{margin:6px 0 8px;font-size:18px;font-weight:600}.ctf-map h4{letter-spacing:.6px;text-transform:uppercase;color:#8baf9d;margin:18px 0 8px;font-size:13px}.ctf-map p,.ctf-map li{color:#b5c0ba;line-height:1.8}.ctf-map code{color:#d5e5dd;background:#202d2a;border-radius:3px;padding:1px 5px;font-family:Geist Mono,monospace}.ctf-map-actions{flex-wrap:wrap;align-items:center;gap:24px;margin:28px 0 8px;display:flex}.ctf-map-contents{border-top:1px solid #303a34;border-bottom:1px solid #303a34;grid-template-columns:repeat(3,1fr);gap:4px 24px;margin:40px 0 0;padding:20px 0;display:grid}.ctf-map-contents a{color:#bfd6c9;align-items:center;min-height:40px;text-decoration:none;display:flex}.ctf-map-contents a:hover{color:#e7ebe8}.ctf-route{flex-direction:column;gap:0;margin:28px 0 0;padding:0;list-style:none;display:flex}.ctf-route>li{border-top:1px solid #303a34;grid-template-columns:240px 1fr;gap:28px;padding:26px 0;display:grid;position:relative}.ctf-route-stage span{color:#a6e7ca;letter-spacing:.8px;font:12px/1 Geist Mono,monospace}.ctf-route-stage p{margin:0;font-size:14px}.ctf-route ul{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.ctf-route ul a{border:1px solid #33433a;border-radius:6px;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:14px 16px;text-decoration:none;display:flex}.ctf-route ul a:hover{background:#18221d;border-color:#6e9b83}.ctf-route ul strong{color:#e7ebe8;font-weight:550}.ctf-route ul small{color:#8baf9d;font-size:13px}.ctf-phases{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.ctf-phase{border:1px solid #33433a;border-radius:8px;padding:22px 22px 10px}.ctf-phase:last-child{grid-column:1/-1}.ctf-phase-step{color:#a6e7ca;font:13px/1 Geist Mono,monospace}.ctf-phase p{margin:0 0 6px;font-size:15px}.ctf-phase ul{margin:8px 0 12px;padding-left:20px;list-style:outside}.ctf-phase li{font-size:14.5px}.ctf-signal-table{border-top:1px solid #303a34;margin-top:24px}.ctf-signal-table>div{color:#b5c0ba;border-bottom:1px solid #26302b;grid-template-columns:1.25fr .9fr 1.25fr;gap:18px;padding:13px 0;font-size:14.5px;line-height:1.6;display:grid}.ctf-signal-table strong{color:#d8ece0;font-weight:550}.ctf-signal-head{letter-spacing:.7px;text-transform:uppercase;color:#8baf9d!important;font-size:12px!important}.ctf-playbooks{border-top:1px solid #303a34;margin-top:20px}.ctf-playbook{border-bottom:1px solid #303a34}.ctf-playbook summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:18px 0;list-style:none;display:flex}.ctf-playbook summary::-webkit-details-marker{display:none}.ctf-playbook summary:after{content:"+";color:#a6e7ca;font:20px/1 Geist Mono,monospace}.ctf-playbook[open] summary:after{content:"–"}.ctf-playbook summary>span{flex-direction:column;gap:4px;display:flex}.ctf-playbook summary strong{color:#e7ebe8;font-size:18px;font-weight:550}.ctf-playbook summary small{color:#a9b9b0;font-size:14.5px;line-height:1.6}.ctf-playbook-body{grid-template-columns:1fr 1fr;gap:8px 32px;padding:0 0 22px;display:grid}.ctf-playbook-body ol,.ctf-playbook-body ul{margin:0;padding-left:20px}.ctf-playbook-body ul{list-style:outside}.ctf-playbook-body li{font-size:14.5px}.ctf-playbook-body .text-link{grid-column:1/-1;margin-top:12px}.ctf-ladder{margin:20px 0 0;padding-left:24px}.ctf-ladder li{border-bottom:1px solid #26302b;flex-direction:column;gap:2px;padding:12px 0;display:flex}.ctf-ladder a{color:#d8ece0}.ctf-ladder span{font-size:14.5px}.ctf-rules ul{padding-left:20px;list-style:outside}.ctf-map .public-next{margin-top:72px}@media (max-width:760px){.ctf-map h2{margin-top:56px;font-size:24px}.ctf-map-contents{grid-template-columns:1fr 1fr}.ctf-route>li{grid-template-columns:1fr;gap:14px}.ctf-route ul,.ctf-phases{grid-template-columns:1fr}.ctf-signal-table>div{grid-template-columns:1fr;gap:2px;padding:14px 0}.ctf-signal-head{display:none!important}.ctf-signal-table>div>span:nth-child(3):before{content:"Try: ";color:#8baf9d}.ctf-playbook-body{grid-template-columns:1fr}}
