:root{color-scheme:dark;--bg:#080808;--panel:#111214;--panel2:#17191c;--line:#2c3035;--text:#f0efea;--muted:#a0a3a7;--blood:#9e1717;--blood2:#d22b22;--cream:#e8e2d2}
*{box-sizing:border-box}html{background:#050505}body{margin:0;background:radial-gradient(circle at 50% -20%,#241010 0,#090909 35%,#050505 72%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}a{color:#f0cbc7}button,input{font:inherit}.site{width:min(1180px,100%);margin:auto;padding:22px}.brand{text-align:center;padding:28px 12px 12px}.brand .eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#c7a5a1}.brand h1{font-size:clamp(34px,6vw,68px);line-height:.94;margin:10px 0 4px;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}.brand h2{margin:0;font-size:clamp(20px,3vw,34px);font-weight:500;color:#cfb8b3}.hero-card,.info-card,.leader-card{background:rgba(15,16,18,.95);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.hero-card{padding:18px;margin:20px auto;max-width:900px}.record-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding:13px 15px;border:1px solid #3c2b2b;background:#171112;border-radius:12px}.record-score{font-weight:900;font-size:24px}.muted{color:var(--muted)}.tiny{font-size:12px}.cta-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:18px 0 10px}.btn{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;min-height:46px}.btn-primary{background:linear-gradient(#b51d1d,#7f1010);color:white;box-shadow:0 9px 25px rgba(172,20,20,.18)}.btn-light{background:var(--cream);color:#151515}.btn-dark{background:#1d2024;border:1px solid #373c42;color:#eee}.quick-rules{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.quick-rules div{background:#151719;border:1px solid #292d31;border-radius:9px;padding:10px;font-size:12px;line-height:1.35}.rewards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px auto;max-width:900px}.info-card{padding:16px}.info-card h3{margin:0 0 8px;font-size:18px}.reward-big{font-size:28px;font-weight:900}

/* Le jeu est invisible sur la page d'accueil. Il n'apparaît qu'après JOUER. */
.game-section{display:none}.game-shell{position:relative;border:1px solid #2f3337;background:#070809;border-radius:16px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.42)}.hud{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.25fr auto auto;gap:8px;padding:9px;background:#101214;border-bottom:1px solid #292d31}.hudbox{background:#17191b;border:1px solid #2b2f34;border-radius:8px;padding:7px 9px;min-width:0}.hudlabel{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#90969c}.hudvalue{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batterybar{height:5px;margin-top:5px;background:#30343a;border-radius:999px;overflow:hidden}.batterybar span{display:block;height:100%;width:100%;background:#ddd7b8;transition:background .3s}.batterybar span.low{background:#d2432f}.sound-btn{width:46px;padding:0}.canvas-wrap{position:relative;background:#020303;aspect-ratio:900/590}.canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}.toast{position:absolute;z-index:18;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,92%);background:rgba(8,9,10,.96);border:1px solid #464b50;border-radius:10px;padding:11px 14px;text-align:center;font-size:13px;line-height:1.45;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}.game-cover{position:absolute;inset:0;z-index:19;background:rgba(4,5,6,.92);display:flex;align-items:center;justify-content:center;padding:18px}.game-cover.hidden{display:none}.cover-panel{width:min(500px,100%);text-align:center;background:#101214;border:1px solid #353a40;border-radius:15px;padding:20px}.cover-panel h3{font-size:28px;margin:0 0 8px}.controls-help{padding:10px 14px;border-top:1px solid #292d31;color:#92979c;font-size:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.joystick{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));width:122px;height:122px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(15,17,19,.38);z-index:16;display:none;touch-action:none}.joystick.left{left:max(16px,env(safe-area-inset-left))}.joystick.right{right:max(16px,env(safe-area-inset-right))}.stick{position:absolute;width:48px;height:48px;border-radius:50%;left:37px;top:37px;background:rgba(235,232,218,.45);border:1px solid rgba(255,255,255,.45);pointer-events:none}.portrait-hint{display:none;position:absolute;z-index:50;inset:0;background:rgba(4,5,6,.94);align-items:center;justify-content:center;text-align:center;padding:30px;font-weight:800}

/* Mode partie : le site disparaît et seul le jeu occupe l'écran. */
body.game-active{overflow:hidden;background:#000;overscroll-behavior:none}.game-active .site{width:100%;max-width:none;margin:0;padding:0}.game-active .brand,.game-active .hero-card,.game-active .rewards,.game-active .leader-card,.game-active .footer-cta,.game-active .legal{display:none!important}.game-active .game-section{display:block;position:fixed;z-index:900;inset:0;margin:0;max-width:none;background:#000}.game-active .game-shell{position:absolute;inset:0;width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none;background:#000}.game-active .canvas-wrap{position:absolute;inset:0;aspect-ratio:auto;background:#000}.game-active .canvas-wrap canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,calc(100dvh * 1.5254237));height:min(100dvh,calc(100vw * .6555556));max-width:none;max-height:none}.game-active .hud{position:absolute;z-index:21;top:max(6px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 150px));grid-template-columns:1.15fr .75fr 1fr 1.15fr 42px 42px;gap:5px;padding:0;background:transparent;border:0;pointer-events:none}.game-active .hudbox{background:rgba(9,11,13,.76);backdrop-filter:blur(4px);border-color:rgba(255,255,255,.13);padding:5px 7px}.game-active .hudlabel{font-size:8px}.game-active .hudvalue{font-size:12px}.game-active .batterybar{height:4px;margin-top:3px}.game-active .sound-btn{width:42px;min-height:38px;padding:0;pointer-events:auto;background:rgba(9,11,13,.78)}.game-active .controls-help{display:none}.game-active .game-cover{display:none!important}

.leader-card{max-width:900px;margin:18px auto;padding:16px}.leader-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.top-preview{display:grid;gap:6px;margin-top:10px}.rank-row{display:grid;grid-template-columns:40px 1fr auto;gap:8px;padding:8px 10px;background:#151719;border:1px solid #262a2f;border-radius:8px}.footer-cta{text-align:center;padding:26px 8px 38px}.modal{position:fixed;z-index:1200;inset:0;background:rgba(0,0,0,.78);display:none;align-items:center;justify-content:center;padding:18px}.modal.open{display:flex}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:#111315;border:1px solid #3b4046;border-radius:16px;padding:20px}.modal-card h3{margin-top:0}.close-x{float:right;background:#22262a;color:#eee;border:1px solid #3a4046;border-radius:8px;padding:6px 9px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:grid;gap:5px}.field input{width:100%;padding:11px;border-radius:8px;border:1px solid #3a4046;background:#17191c;color:#eee}.check{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#b0b4b8;margin:10px 0}.suggestions{display:flex;gap:6px;flex-wrap:wrap}.suggestion{background:#262a2e;border:1px solid #40464c;color:#eee;border-radius:999px;padding:6px 10px;cursor:pointer}.result-box{background:#151719;border:1px solid #32373c;border-radius:10px;padding:12px;margin-top:12px}.records-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.records-tabs button{background:#22262a;color:#eee;border:1px solid #3a4046;padding:7px 10px;border-radius:8px;cursor:pointer}.records-tabs button.active{background:#e4dfcf;color:#111}.records-list{display:grid;gap:6px}.archive-row{display:flex;justify-content:space-between;gap:12px;padding:8px;border-bottom:1px solid #2b3035}.status-warn{padding:9px;border:1px solid #6b522d;background:#251d10;border-radius:8px;color:#e6c895}.status-good{padding:9px;border:1px solid #31583a;background:#102016;border-radius:8px;color:#b7e0bf}.legal{font-size:12px;color:#848a90;text-align:center}.legal a{color:#aaa}.hidden{display:none!important}

@media(pointer:coarse){.game-active .joystick{display:block}.controls-help .desktop{display:none}}
@media(max-width:760px){.site{padding:10px}.quick-rules{grid-template-columns:1fr 1fr}.rewards{grid-template-columns:1fr}.hud{grid-template-columns:1fr 1fr}.sound-btn{width:auto;min-height:38px}.form-grid{grid-template-columns:1fr}.game-active .hud{width:calc(100vw - 140px);grid-template-columns:1fr .72fr .9fr 36px 36px}.game-active .hud .hudbox:nth-child(4){display:none}.game-active .sound-btn{width:36px}}
@media(max-height:520px) and (orientation:landscape){.game-active .hud{top:max(3px,env(safe-area-inset-top))}.game-active .hudbox{padding:3px 6px}.game-active .hudlabel{display:none}.game-active .hudvalue{font-size:11px}.joystick{width:104px;height:104px}.stick{width:42px;height:42px;left:30px;top:30px}}
@media(max-width:520px){.quick-rules{grid-template-columns:1fr}.brand{padding-top:18px}.hero-card{padding:13px}.record-score{font-size:20px}}
@media(orientation:portrait) and (max-width:900px) and (pointer:coarse){.game-active .portrait-hint{display:flex}}

/* V2.3 — pause, profil mémorisé, accessibilité */
.pause-overlay{position:absolute;inset:0;z-index:40;background:rgba(3,4,5,.84);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(2px)}
.pause-overlay.hidden{display:none}
.pause-overlay h3{font-size:26px;margin:4px 0 8px}
.linkish{background:none;border:0;padding:0;color:#f0cbc7;text-decoration:underline;cursor:pointer;font-size:inherit}
.btn:focus-visible,.suggestion:focus-visible,.records-tabs button:focus-visible,.close-x:focus-visible{outline:2px solid #f0cbc7;outline-offset:2px}
.btn:disabled{opacity:.6;cursor:progress}
@media(max-height:520px) and (orientation:landscape){.pause-overlay .cover-panel{padding:14px}.pause-overlay h3{font-size:20px}.pause-overlay .cta-row{margin:10px 0 6px}}
@media(prefers-reduced-motion:reduce){.toast{transition:none}}
.pause-glyph{display:inline-block;width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor;vertical-align:middle}
/* Sur écran tactile, le message ne recouvre plus les joysticks. */
@media(pointer:coarse){.game-active .toast{width:min(600px,calc(100vw - 300px));font-size:12px;padding:8px 10px}}
@media(pointer:coarse) and (max-height:520px) and (orientation:landscape){.game-active .toast{width:min(560px,calc(100vw - 260px))}}


/* V2.3.3 — lecture des 12 parchemins */
.parchment-overlay{position:absolute;inset:0;z-index:55;background:rgba(2,3,4,.90);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.parchment-overlay.hidden{display:none}
.parchment-card{width:min(690px,94vw);max-height:92vh;overflow:auto;background:#111315;border:1px solid #5c5141;border-radius:16px;padding:18px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.parchment-kicker{font-size:10px;letter-spacing:.13em;color:#bcae94;margin-bottom:10px}
.parchment-paper{background:#d8c49b;color:#2a2117;border:3px double #7b6543;border-radius:8px;padding:20px 22px;box-shadow:inset 0 0 35px rgba(84,54,22,.18);text-align:left;font-family:Georgia,serif;font-size:16px;line-height:1.55}
.parchment-paper p{margin:0}
.parchment-letter{text-align:right;margin-top:14px;font-weight:800;font-size:28px;line-height:1;color:#6c1e19}
.parchment-secret{margin:12px 0;padding:11px;border:1px solid #6c5a35;background:#211b10;border-radius:9px;color:#e9dcae}
.secret-code{display:inline-block;margin-top:5px;font-size:24px;font-weight:900;letter-spacing:.14em;color:#fff4bd}
.parchment-warning{margin:9px 0 0}
@media(max-height:520px) and (orientation:landscape){.parchment-card{max-height:96vh;padding:10px}.parchment-paper{padding:11px 14px;font-size:13px;line-height:1.35}.parchment-letter{font-size:22px;margin-top:8px}.parchment-kicker{margin-bottom:6px}.parchment-secret{margin:7px 0;padding:7px}.secret-code{font-size:19px}}
