:root{color-scheme:dark;--bg:#0b1020;--panel:#151d32;--ink:#f2f5ff;--muted:#9faecb;--lime:#bdff60;--line:#27334c}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}body{background-image:radial-gradient(circle at 70% -10%,#1d314a 0,transparent 38%)}button,a{font:inherit}button{cursor:pointer}.shell{max-width:1050px;margin:auto;padding:0 22px}.top{height:79px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:white;font-weight:1000;letter-spacing:-1px;font-size:22px;display:flex;gap:10px;align-items:center}.brand:first-letter{color:var(--lime)}.accent{color:var(--lime)}.topright{display:flex;gap:24px;font-size:10px;letter-spacing:2px;font-weight:800}.tiny{color:var(--muted)}.signal{color:var(--lime)}.hero{padding:77px 0 64px;max-width:670px}.eyebrow{color:var(--lime);letter-spacing:3px;font-size:11px;font-weight:900}.hero h1{font-size:clamp(43px,8vw,84px);line-height:1.03;letter-spacing:-4px;margin:19px 0}.hero em{font-style:normal;color:var(--lime)}.hero p{line-height:1.6;color:var(--muted);font-size:16px;max-width:510px}.hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:29px;color:#c1cce0;font-size:10px;letter-spacing:1.5px;font-weight:800}.sectionline{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px}.sectionline h2{font-size:19px}.sectionline span{font-size:10px;letter-spacing:1px;color:var(--muted)}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:23px 0 70px}.gamecard{position:relative;text-decoration:none;color:inherit;background:#151e32;border:1px solid #2a3550;border-radius:20px;padding:24px;min-height:225px;overflow:hidden;transition:transform .15s,border .15s}.gamecard:hover{transform:translateY(-4px);border-color:var(--lime)}.gamecard:first-child{grid-column:span 2;min-height:250px}.cardtop{display:flex;justify-content:space-between;align-items:center}.tag{font-size:10px;letter-spacing:1px;color:#c3d0e5}.arrow{font-size:24px;color:var(--lime)}.cardart{font-size:52px;min-height:75px;display:flex;align-items:center;color:var(--color)}.gamecard h3{font-size:25px;margin:0 0 7px}.gamecard p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:400px}.gamecard:first-child .cardart{font-size:70px}footer{border-top:1px solid var(--line);padding:26px 0;color:#8291aa;font-size:10px;letter-spacing:1px}.gamebar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 0}.back{color:var(--muted);text-decoration:none;font-size:13px}.back:hover{color:white}.gamebarname{font-weight:900}.smallbtn,.action{background:var(--lime);color:#0b1020;border:0;border-radius:12px;font-weight:900;padding:12px 16px}.smallbtn{padding:9px 12px;font-size:12px}.stage{background:#10182c;border:1px solid #2c3c56;border-radius:20px;overflow:hidden;min-height:480px;position:relative;display:flex;flex-direction:column;align-items:center;padding:22px;gap:16px}.statbar{width:100%;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);letter-spacing:1px;font-weight:800}.statbar strong{font-size:21px;color:white;display:block;letter-spacing:0}.help{text-align:center;color:var(--muted);line-height:1.6;font-size:13px;margin:15px auto 45px;max-width:600px}.canvas{display:block;touch-action:none;width:100%;max-width:670px;background:#0d1627;border-radius:12px}.gridboard{display:grid;gap:5px;width:min(78vw,340px);aspect-ratio:1;touch-action:none}.tile{border:0;border-radius:6px;background:#27334b;min-width:0;min-height:0}.tile.on{background:#e8f6fc;box-shadow:0 0 10px #c5eaff44}.tile.target{outline:2px dashed var(--lime)}.actionrow{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.secondary{border:1px solid #3e506c;color:white;background:#202d46;padding:12px 17px;border-radius:12px}.message{font-size:15px;color:#dae6ff;text-align:center;min-height:24px}.pad{display:grid;grid-template-columns:repeat(3,58px);gap:6px;justify-content:center}.pad button{background:#24324c;color:white;border:1px solid #4b5d79;padding:13px;border-radius:12px;font-weight:bold;touch-action:manipulation}.pad button:active{background:var(--lime);color:#0d1627}.reactor{width:min(68vw,270px);aspect-ratio:1;border-radius:50%;border:16px solid #25334f;background:radial-gradient(circle,#f79757,#e54d70 57%,#611d46);box-shadow:0 0 45px #f64a6a33;display:grid;place-items:center;touch-action:manipulation;font-weight:1000;font-size:22px;user-select:none;transition:transform .1s}.reactor:active{transform:scale(.94)}.meter{height:13px;border-radius:12px;background:#2b3850;overflow:hidden;width:min(80vw,400px)}.meter>div{height:100%;width:0;background:linear-gradient(90deg,var(--lime),#ff5b72);transition:width .1s}.overlay{position:absolute;inset:0;background:#0b1020e9;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;gap:16px}.overlay h2{font-size:33px;margin:0}.overlay p{color:#b3c1d9;max-width:340px;line-height:1.5}.overlay[hidden],section[hidden]{display:none!important}.legend{color:#adbbd4;font-size:12px} @media(max-width:640px){.shell{padding:0 14px}.top{height:64px}.topright .tiny{display:none}.hero{padding:55px 0 48px}.hero h1{letter-spacing:-2.5px}.catalog{grid-template-columns:1fr}.gamecard:first-child{grid-column:span 1}.stage{min-height:530px;padding:15px}.gamebarname{font-size:13px}}
/* Touch arcade: never pan/zoom or select text while drawing. */
.boucle-stage,.boucle-stage canvas{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.boucle-stage canvas{display:block;cursor:crosshair}
