:root{--paper:#EEF1F4;--ink:#0B2545;--yel:#F5C400;--red:#D7263D;--ln:rgba(11,37,69,.22);--board:#0A1220}
[data-theme=dark]{--paper:#0A1626;--ink:#E9EEF5;--ln:rgba(233,238,245,.24);--board:#050A12}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font:17px/1.65 "IBM Plex Sans",system-ui,sans-serif;background:var(--paper);color:var(--ink)}
a{color:inherit}:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.narrow p,.sec p{max-width:62ch;margin:1rem 0}
h1,h2,.logo,.fn{font-family:Archivo,sans-serif;font-stretch:125%;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:900;max-width:18ch}h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;margin:2rem 0 .5rem}
.fn{font-weight:800;font-size:clamp(1.3rem,2.8vw,2rem)}
#bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red);z-index:60}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.5rem;padding:.7rem 24px;background:var(--paper);border-bottom:4px solid var(--yel);box-shadow:0 1px 0 var(--ink)}
.logo{font-weight:900;font-size:1.6rem;text-decoration:none;margin-right:auto}
#menu{display:flex}#menu a{padding:.4rem .7rem;text-decoration:none;font-weight:500}#menu a:hover,#menu a.on{box-shadow:inset 0 -3px var(--ink)}
.nav button{background:none;border:1px solid var(--ln);color:inherit;padding:.35rem .7rem;font:inherit;cursor:pointer}#burger{display:none}
.btn{display:inline-block;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:.75rem 1.3rem;font:600 1rem "IBM Plex Sans";text-decoration:none;cursor:pointer}.btn.g{background:none;color:var(--ink)}
.hero{padding-top:4rem}.lead{font-size:1.2rem;margin:1.2rem 0 1.8rem!important}
.board{margin-top:3rem;background:var(--board);color:var(--yel);font:500 .95rem/1.2 "IBM Plex Mono",monospace;border:6px solid #1c2a40}
.board .hd,.board .r{display:grid;grid-template-columns:6rem 1fr 7rem;gap:1rem;padding:.9rem 1rem;color:inherit;text-decoration:none}
.board .hd{color:#8DA9C4;border-bottom:1px solid #1c2a40}.board .r{border-bottom:1px solid #121d30}.board .r:hover{background:#101b2e}.board .r[hidden]{display:none}
.st{color:#5ee08a}.st.up{color:var(--yel)}
.rw{height:170px;perspective:240px;overflow:hidden;background:#2b3343;position:relative;margin-top:3rem;border-top:4px solid var(--yel)}
.rw::before{content:"";position:absolute;left:50%;bottom:-40%;width:16px;height:200%;margin-left:-8px;transform-origin:50% 100%;transform:rotateX(62deg);background:repeating-linear-gradient(#fff 0 36px,transparent 36px 90px);animation:rwy 1.4s linear infinite}
@keyframes rwy{to{background-position:0 90px}}
.sec{padding:3.5rem 0;border-top:1px solid var(--ln)}.sec.first{border:0;padding-top:4rem}.hero+.sec{border-top:0}
.ls .it{display:grid;grid-template-columns:8rem 1fr auto;gap:1.2rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--ln);text-decoration:none}
.ls .it.big{grid-template-columns:1fr}.ls a.it:hover .fn,.ls a.it:hover span{color:var(--red)}.it small{opacity:.7}.ls.training .it{grid-template-columns:1fr 1.4fr}
details.fac{border-bottom:1px solid var(--ln)}details.fac summary{list-style:none;cursor:pointer;padding:1.3rem 0;display:flex;justify-content:space-between;align-items:center}
details.fac summary::-webkit-details-marker{display:none}details.fac summary::after{content:"+";font-size:2rem}details[open] summary::after{content:"\2013"}
details[open] .fn{color:var(--red)}details .body{padding:0 0 1.5rem;animation:op .3s}@keyframes op{from{opacity:0;transform:translateY(-6px)}}
.person{border-left:4px solid var(--yel);padding-left:1rem}
.alert{padding:10px;background:repeating-linear-gradient(-45deg,var(--yel) 0 18px,#111 18px 36px)}.alert>div{background:var(--paper);padding:1.5rem 2rem}.alert h2{margin-top:0}
.tools{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.tools input{flex:1 1 240px}
input,textarea,select{width:100%;padding:.7rem;font:inherit;background:transparent;color:inherit;border:2px solid var(--ink);border-radius:0}
.chip{background:none;color:inherit;border:2px solid var(--ink);padding:.5rem 1rem;font:inherit;cursor:pointer}.chip.on{background:var(--ink);color:var(--paper)}
label{display:block;margin:0 0 1rem;font-weight:600}label input,label textarea,label select{margin-top:.3rem;font-weight:400}label input[type=checkbox]{width:auto}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.hp{position:absolute;left:-9999px}#cm{font-weight:600}.adm{padding:3rem 24px}
dialog{margin:12vh auto;width:min(480px,92vw);padding:1rem;background:var(--paper);color:var(--ink);border:3px solid var(--ink)}dialog::backdrop{background:rgba(5,10,18,.6)}
dialog ul{list-style:none;margin-top:.5rem}dialog a{display:block;padding:.6rem;text-decoration:none}dialog a:hover,dialog a:focus{background:var(--yel);color:#111}
.foot{background:var(--board);color:#cfd8e6;padding:2.5rem 0;margin-top:3rem}.foot .logo{color:var(--yel);font-size:1.4rem}.foot p{margin:.6rem 0}
@media(max-width:760px){#burger{display:block}#menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:4px solid var(--yel)}#menu.open{display:flex}
.cols{grid-template-columns:1fr}.board .hd,.board .r{grid-template-columns:4.5rem 1fr}.board .hd span:last-child,.board .r .st{display:none}.ls .it,.ls.training .it{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
