@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--bg:#101311;--panel:#181d19;--line:#2a332c;--muted:#929d94;--green:#b9ed8b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#ecf0eb;font:15px 'DM Sans',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:7px;padding:9px 14px}button:hover{border-color:var(--green);color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 5%}.brand{font-size:23px;font-weight:700;text-decoration:none;color:#fff;display:flex;align-items:center}.brand>span:last-child{color:var(--green)}.logo{background:var(--green);color:#172312;padding:5px 9px;margin-right:11px;border-radius:7px;font-family:monospace}.tag{font-size:10px;letter-spacing:2px;color:var(--muted)}header button{margin-left:auto;font-size:12px}main{max-width:1320px;margin:auto;padding:48px 40px}.eyebrow{color:var(--green);letter-spacing:2px;font-size:10px;font-weight:700}h1{font-size:43px;letter-spacing:-1.8px;line-height:1.14;margin:17px 0}h1 span{color:var(--green)}.intro>p{color:var(--muted);margin-bottom:36px}.layout{display:grid;grid-template-columns:260px 1fr;gap:30px}aside{border:1px solid var(--line);border-radius:12px;padding:22px;height:fit-content}.course-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted)}.course-head strong{color:var(--green)}.progress{background:#30392f;height:4px;border-radius:5px;margin:17px 0 22px;overflow:hidden}#bar{height:100%;background:var(--green);transition:width .3s}nav{display:grid;gap:6px}nav button{text-align:left;border-color:transparent;display:flex;align-items:center;gap:12px;font-size:12px;padding:10px}nav button.active{background:#293723;color:var(--green);border-color:#425338}nav button.done{color:var(--green)}.number{font:11px 'JetBrains Mono',monospace;color:var(--muted);width:18px}.safe{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;font-size:11px;color:#b8c4b6}.safe p{color:var(--muted);font-size:10px;line-height:1.6}.brief{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px 28px;margin-bottom:20px}.mission-label{font-size:10px;color:var(--green);letter-spacing:1.5px}h2{font-size:23px;margin:12px 0}.brief>p{color:#b1bcb2;font-size:14px;line-height:1.7}.hint-row{display:flex;align-items:center;gap:15px;min-height:38px}.hint-row button{font-size:11px;color:var(--green)}#hint-text{font:12px monospace;color:var(--green)}.terminal{background:#090d0b;border:1px solid #364437;border-radius:10px;overflow:hidden;box-shadow:0 15px 45px #0003;font:12px/1.8 'JetBrains Mono',monospace}.terminal-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;background:#202720;color:#a2ada1;font-size:10px}.dots{display:flex;gap:6px}.dots i{width:8px;height:8px;border-radius:50%;background:#eb7a6a}.dots i:nth-child(2){background:#e6c365}.dots i:nth-child(3){background:#9dc97c}.live{color:var(--green);font-size:8px;letter-spacing:1px}#output{padding:23px 23px 0;min-height:240px;max-height:390px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.line{margin-bottom:7px}.welcome{color:#a1aca2}.success{color:var(--green)}.error{color:#f6a18c}.command-line{color:#dce5d7}form{display:flex;gap:10px;padding:10px 23px 24px}#prompt{color:var(--green);white-space:nowrap}input{background:transparent;border:0;color:#edf5e8;font:inherit;width:100%;min-width:0;outline:none}.terminal-footer{display:flex;justify-content:space-between;font-size:9px;color:#869184;padding:13px 3px}.reference{margin-top:25px;border-top:1px solid var(--line);padding-top:24px}.reference h3{margin:7px 0;font-size:19px}.reference>p{color:var(--muted);font-size:12px}.command-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.command-list button{font:11px 'JetBrains Mono',monospace;padding:8px 13px;background:#1b231c;color:#c0cdbb}dialog{background:var(--panel);color:#eef4ea;border:1px solid var(--line);border-radius:14px;max-width:550px;width:90%;padding:30px}dialog::backdrop{background:#000a}dialog pre{white-space:pre-wrap;line-height:1.8;color:#bac9b7}#close-manual{float:right}@media(max-width:800px){main{padding:30px 18px}.layout{grid-template-columns:1fr}aside{padding:15px}nav{grid-template-columns:repeat(3,1fr)}nav button{padding:7px;font-size:10px;gap:4px}.safe,.tag{display:none}h1{font-size:35px}header{padding:0 18px}.brand{font-size:19px}.terminal-footer{gap:12px}.live{display:none}.brief{padding:20px}.hint-row{flex-wrap:wrap}#prompt{font-size:10px}}

/* Nexus Invitational */
:root{--green:#b8a4ff;--bg:#111017;--panel:#1c1925;--line:#332d43;--muted:#a29aaf}nav button.active{background:#302541;border-color:#675083}.progress{background:#332a42}.terminal{border-color:#49395e}.terminal-bar{background:#25202f}.command-list button{background:#221d2c;color:#d4c8e5}.intro{position:relative}.intro:after{content:"NEXUS / 01";position:absolute;right:15px;top:30px;font-size:60px;font-weight:700;color:#b8a4ff12;letter-spacing:-3px;pointer-events:none}.safe{color:#c6b9d7}@media(max-width:800px){.intro:after{display:none}}
/* Boîte à commandes et missions */
.reference,.workspace{min-width:0}
.command-list{padding:4px}
.command-list button{flex:none;white-space:nowrap}
#reset-activity{padding:5px 9px;font-size:12px}
#reset-activity span{font-size:16px;vertical-align:middle;margin-right:3px}
#chat-reset-slot{margin-left:auto;flex-shrink:0}
#chat-reset-slot #reset-activity{font-size:0;min-width:36px;min-height:36px;padding:5px}
#chat-reset-slot #reset-activity span{font-size:19px;margin:0}
#activity-status{color:var(--green);margin:0 0 12px}
#activity-status:empty{margin:0}
[hidden]{display:none!important}
#missions{position:relative;max-height:66vh;overflow-y:auto;padding:3px}
.course-section{grid-column:1/-1;margin:10px 0 2px;padding:12px 8px 2px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
#action-progress:empty{display:none}
@media(max-width:800px){#missions{max-height:185px}}
