/* ═══════════════════════════════════════════════════
   IMMERSIUM — Extensions : pages légales & techniques
   ═══════════════════════════════════════════════════ */

/* LEGAL PAGES */
.legal-head{padding:60px 0 36px;border-bottom:1px solid var(--line)}
.legal-head .num{font-family:var(--f-display);font-style:italic;font-size:11px;color:var(--sand);letter-spacing:.3em;margin-bottom:12px}
.legal-head h1{font-size:48px;margin-bottom:14px}
.legal-head .date{font-size:13px;color:var(--ink-mute);font-family:var(--f-mono)}
.legal-body{padding:48px 0;max-width:780px;margin:0 auto;font-size:14.5px;line-height:1.75;color:var(--ink-soft)}
.legal-body h2{font-family:var(--f-display);font-size:24px;font-weight:500;letter-spacing:-.01em;color:var(--ink);margin:40px 0 14px;padding-top:12px;border-top:1px solid var(--line)}
.legal-body h2:first-child{margin-top:0;border-top:none;padding-top:0}
.legal-body h3{font-family:var(--f-display);font-size:18px;font-weight:500;color:var(--ink);margin:26px 0 10px}
.legal-body p{margin-bottom:14px}
.legal-body ul{margin:12px 0 18px 24px}
.legal-body li{margin-bottom:6px}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-toc{padding:20px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:36px}
.legal-toc h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-weight:700;margin-bottom:12px}
.legal-toc ol{list-style:decimal inside;font-size:13px;color:var(--ink-soft)}
.legal-toc li{padding:3px 0}
.legal-toc a{color:var(--cobalt)}
.legal-toc a:hover{text-decoration:underline}

/* TUNNEL — inscription, code accès, paiement */
.tunnel-wrap{min-height:calc(100vh - 68px);display:flex;align-items:center;padding:60px 0;position:relative;overflow:hidden}
.tunnel-wrap::before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(94,234,212,.14) 0%,transparent 65%);pointer-events:none}
.tunnel-card{position:relative;max-width:520px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:44px 40px;box-shadow:var(--sh-lift);width:100%}
.tunnel-wide{max-width:920px}
.tunnel-steps{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:11.5px;color:var(--ink-mute);letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.tunnel-steps .step{display:flex;align-items:center;gap:6px}
.tunnel-steps .step.on{color:var(--ink)}
.tunnel-steps .step .n{width:24px;height:24px;border-radius:50%;background:var(--bg-alt);color:var(--ink-mute);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;font-weight:700}
.tunnel-steps .step.on .n{background:var(--ink);color:#fff}
.tunnel-steps .step.done .n{background:var(--jade);color:var(--ink)}
.tunnel-steps .sep{flex:1;height:1px;background:var(--line)}
.tunnel-card h1{font-family:var(--f-display);font-size:34px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}
.tunnel-card h1 em{font-style:italic;color:var(--jade-deep)}
.tunnel-card .sub{color:var(--ink-soft);font-size:14.5px;margin-bottom:28px;line-height:1.6}

/* ÉCRAN DE JEU — unique, riche */
.game-shell{min-height:100vh;display:grid;grid-template-rows:64px 1fr;background:var(--bg)}
.game-topbar{background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.game-topbar-left{display:flex;align-items:center;gap:16px}
.game-back{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--bg-alt);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}
.game-back:hover{background:var(--paper-hover);border-color:var(--sand)}
.game-crumb{display:flex;align-items:center;gap:10px;font-size:13px}
.game-crumb .ord{font-family:var(--f-display);font-style:italic;font-size:11px;color:var(--sand);letter-spacing:.22em;font-weight:600}
.game-crumb .title{font-family:var(--f-display);font-size:16px;font-weight:500;letter-spacing:-.005em}
.game-crumb .slash{color:var(--ink-mute)}
.game-crumb .ch{color:var(--ink-mute)}
.game-progress{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-mute);font-family:var(--f-mono);font-weight:600}
.game-progress .bar{width:140px;height:5px;background:var(--bg-alt);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.game-progress .bar .fill{height:100%;background:var(--jade-deep);border-radius:999px}
.game-topbar-right{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft)}

.game-main{display:grid;grid-template-columns:320px 1fr 320px;height:calc(100vh - 64px);overflow:hidden}
.game-side{background:var(--paper);border-right:1px solid var(--line);overflow:auto;padding:24px 20px}
.game-side-r{border-right:none;border-left:1px solid var(--line)}
.game-side h5{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.ch-list{display:flex;flex-direction:column;gap:4px}
.ch-item{padding:11px 14px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .15s;color:var(--ink-soft)}
.ch-item:hover{background:var(--bg-alt)}
.ch-item.current{background:var(--ink);color:#fff;font-weight:500}
.ch-item.done{color:var(--ink-mute)}
.ch-item.locked{opacity:.5;cursor:not-allowed}
.ch-item .ch-num{width:22px;height:22px;border-radius:50%;background:var(--bg-alt);color:var(--ink-mute);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:10px;font-weight:700;flex-shrink:0}
.ch-item.current .ch-num{background:var(--jade);color:var(--ink)}
.ch-item.done .ch-num{background:var(--jade-soft);color:var(--jade-deep)}

.game-content{overflow:auto;padding:40px 56px}
.game-hero{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.game-hero .ord{font-family:var(--f-display);font-style:italic;font-size:11px;color:var(--sand);letter-spacing:.22em;font-weight:600;margin-bottom:10px}
.game-hero h1{font-family:var(--f-display);font-size:38px;font-weight:500;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
.game-hero h1 em{font-style:italic;color:var(--jade-deep)}
.game-hero .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-mute)}
.game-hero .meta span{display:flex;gap:6px;align-items:center}

.game-briefing{padding:24px 26px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:28px;position:relative}
.game-briefing::before{content:"“";position:absolute;top:6px;left:18px;font-family:var(--f-display);font-size:48px;color:var(--sand);line-height:1;opacity:.5}
.game-briefing .from{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);font-weight:600;margin-left:36px;margin-bottom:6px}
.game-briefing .content{padding-left:36px;font-family:var(--f-display);font-size:16px;line-height:1.6;color:var(--ink-soft)}

.game-q{padding:28px 30px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:20px}
.game-q .label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--jade-deep);font-weight:700;margin-bottom:10px}
.game-q h3{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.35;margin-bottom:18px}
.choice-list{display:flex;flex-direction:column;gap:10px}
.choice{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:all .15s;background:var(--bg)}
.choice:hover{border-color:var(--sand);background:var(--paper-hover)}
.choice.selected{border-color:var(--cobalt);background:var(--p-cobalt)}
.choice .ch-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;margin-top:1px;background:var(--paper);position:relative;transition:all .15s}
.choice.selected .ch-radio{border-color:var(--cobalt);background:var(--cobalt)}
.choice.selected .ch-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}
.choice .text{font-size:14.5px;line-height:1.55;color:var(--ink)}

.game-actions{display:flex;justify-content:space-between;align-items:center;padding-top:24px;margin-top:10px}
.game-help{font-size:12.5px;color:var(--ink-mute)}

/* Side right — outils et infos */
.toolbox h5{margin-top:0}
.tool-card{padding:14px 16px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px}
.tool-card .t{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}
.tool-card .t .k{font-family:var(--f-mono);font-size:10px;color:var(--ink-mute);background:var(--paper);padding:1px 6px;border-radius:4px;border:1px solid var(--line);font-weight:700}
.tool-card .d{font-size:12px;color:var(--ink-soft);line-height:1.5}

@media(max-width:1200px){
  .game-main{grid-template-columns:260px 1fr}
  .game-side-r{display:none}
  .game-content{padding:32px}
}
@media(max-width:900px){
  .game-main{grid-template-columns:1fr}
  .game-side{display:none}
}
