:root{--blue:#ad372c;--ink:#302c23;--cream:#f4eddf;--lime:#dfb879}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 system-ui,Arial,sans-serif}header{padding:22px 5%;display:flex;justify-content:space-between;border-bottom:1px solid #ccd0da;gap:20px}a{color:var(--blue)}header a:first-child{font-size:24px;font-weight:850;text-decoration:none}main{max-width:1240px;margin:auto;padding:36px 24px}.eyebrow{font-size:12px;letter-spacing:1px;font-weight:750}h1{font-size:clamp(34px,5vw,62px);line-height:1.12;letter-spacing:-2px;margin:14px 0}h2{font-size:25px;line-height:1.25}.intro>p:not(.eyebrow){max-width:850px}.notice{font-size:13px;color:#4a5570}.rules{background:#e9dfcc;padding:18px 24px;border-radius:14px;margin:25px 0}.rules li{padding:5px 0}.rules summary,.history summary{cursor:pointer;font-weight:750}.setup{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:28px 0}.setup label{font-size:13px;font-weight:700}.setup select,.setup input{display:block;width:150px;margin-top:5px;padding:12px;border:1px solid #aab0c0;border-radius:8px;font:inherit;background:white;color:var(--ink)}.setup>span{font-size:12px;max-width:270px}button,.button{border:0;border-radius:9px;background:var(--blue);color:white;cursor:pointer;font:700 14px/1.4 system-ui;padding:14px 18px;min-height:46px;text-decoration:none;display:inline-block}button:hover{filter:brightness(.93)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba4b39;outline-offset:3px}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.dashboard>div{background:var(--ink);color:white;border-radius:13px;padding:18px}.dashboard span{display:block;font-size:12px}.dashboard strong{font-size:27px;display:block}progress{width:100%;accent-color:var(--lime);height:9px}.game-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:26px}.board-panel{min-width:0}.board-panel svg{width:100%;background:#d8efde;border-radius:18px}.map-legend{font-size:13px}.roster{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player{border:1px solid #ccd0da;border-radius:10px;padding:12px;font-size:13px}.player.current{border:2px solid var(--blue);background:#e9dfcc}.player b,.player span{display:block}.actions-panel{border:1px solid #ccd0da;border-radius:16px;padding:24px;min-width:0}.actions-panel h2{margin-top:0}.actions-panel h3{font-size:15px;margin:19px 0 8px}#actions{display:flex;flex-wrap:wrap;gap:9px}#actions button{background:#e9dfcc;color:var(--ink);text-align:left;flex:1 1 140px}#guide-area select{max-width:100%;width:100%;font:14px system-ui;padding:13px;border-radius:8px;background:white;color:var(--ink);border:1px solid #aab0c0}#guide-area button{margin-top:10px}#feedback{background:#e7f2d6;padding:12px;border-radius:8px;min-height:50px;font-size:14px}.history{margin-top:22px;font-size:13px}.history ol{max-height:240px;overflow:auto;padding-left:25px}.debrief{margin-top:40px;border-top:1px solid #ccd0da;padding-top:24px}.debrief p{max-width:850px}dialog{width:min(500px,92vw);padding:28px;border:0;border-radius:16px;color:var(--ink);background:var(--cream)}dialog::backdrop{background:#302c23bb}dialog button{margin:5px 0;width:100%}.secondary{background:#e9dfcc;color:var(--ink)}[hidden]{display:none!important}@media(max-width:760px){main{padding:24px 16px}.game-layout{grid-template-columns:1fr}.dashboard{gap:7px}.dashboard>div{padding:12px 9px}.dashboard strong{font-size:21px}.dashboard span{font-size:11px}.actions-panel{padding:20px}.rules{padding:16px}.rules ol{padding-left:20px}.setup{gap:12px}.setup select,.setup input{width:140px}.setup>span{max-width:none}header{font-size:13px}.roster{gap:7px}h1{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.welcome{background:#dfb879;border-radius:24px;padding:28px;margin:28px 0}.welcome h2{font-size:32px;margin:8px 0}.welcome>p{max-width:750px}.choices{display:flex;gap:12px;flex-wrap:wrap}.choices button{background:#fff;color:#302c23;border:2px solid transparent}.choices button[aria-pressed=true]{border-color:#ad372c;background:#ad372c;color:#fff}.mission-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.mission-steps span{background:#ffffffaa;padding:16px;border-radius:12px;font-size:14px}.mission-steps b{display:block;font-size:19px;margin-bottom:6px}fieldset{border:1px solid #87986a;border-radius:12px;padding:16px;margin:20px 0}legend{font-weight:750}#companions{display:flex;gap:16px;flex-wrap:wrap}#companions label{display:flex;flex-direction:column;font-weight:650;font-size:14px}#companions select{padding:12px;font:inherit;background:white;border:1px solid #687565;border-radius:8px;min-width:125px}#hint-box{background:#fff2c6;padding:12px 16px;border-radius:12px;margin-bottom:18px}#hint-box summary{cursor:pointer;font-weight:700}#hint-box p{font-size:14px}#result button{margin:6px 6px 6px 0}#contributions{font-size:14px;border-top:1px solid #ccd0da;margin-top:20px}#reaction button{background:#e9dfcc;color:#302c23}#action-title:focus{outline:3px solid #ad372c;outline-offset:6px} @media(max-width:600px){.welcome{padding:20px}.mission-steps{grid-template-columns:1fr;gap:8px}.welcome h2{font-size:27px}}

.animal-icon{font-size:32px;line-height:1.3}.map-text{font-size:14px;margin:12px 0}.map-text summary{font-weight:700;cursor:pointer}

/* V7 family visual system */
body{background:#f4eddf;color:#302c23}header{border-color:#eacdd0}h1,h2{font-family:'Manrope',Arial,sans-serif;font-weight:500}h1{letter-spacing:-1.8px}.welcome{background:#e9dfcc;border:1px solid #eacdd0}.rules{background:#e9dfcc}.choices button{background:#f4eddf;color:#302c23}.dashboard>div{background:#255d4c}.board-panel svg{background:#d8efde}.actions-panel{border-color:#eacdd0;background:#eee3cd}.player{border-color:#eacdd0;background:#eee3cd}.player.current{border-color:#ad372c;background:#e9dfcc}.map-legend{color:#66505b}.welcome .notice,.intro .notice{color:#66505b}.mission-steps span{background:#f4eddf}.setup select,.setup input,#guide-area select{background:#fffaf0;border-color:#b8a286}#actions button{background:#e9dfcc;color:#302c23}button,.button{border-radius:20px}#feedback{background:#e7f2d6}#hint-box{background:#fff2c6}.animal-icon{font-size:32px}.debrief{border-color:#eacdd0}dialog{background:#f4eddf}dialog::backdrop{background:#302c23aa}.secondary,#reaction button{background:#e9dfcc;color:#302c23}#companions select{background:#f4eddf}#island-memory{background:#e9dfcc;padding:22px;border-radius:16px;margin-top:25px}#island-memory label{display:block;margin:12px 0 5px}#island-memory input,#island-memory select{font:inherit;padding:12px;width:100%;max-width:100%;border:1px solid #b8a286;border-radius:8px;background:#fffaf0;color:#302c23}#island-memory button{margin:8px 8px 8px 0}

.next-stop{padding:22px;background:#eee3cd;border-radius:16px;margin:22px 0}.next-stop label{display:block;font-size:14px;font-weight:700;margin-top:15px}.next-stop input,.next-stop select{display:block;font:inherit;color:#302c23;border:1px solid #ae9475;border-radius:8px;background:#fffaf0;width:100%;padding:12px;margin:7px 0}.next-stop p{font-size:14px;line-height:1.7}.next-stop button{margin:10px 0}.island-memory li{margin:8px 0;overflow-wrap:anywhere}.next-stop form{margin:0}.next-stop small{display:block;font-size:12px}.next-stop #island-name-status{font-weight:600}

/* V8 — jeu familial */
h1,h2{font-family:system-ui,Arial,sans-serif;font-weight:800;letter-spacing:-1px}.welcome{background:#e9dfcc;border:0}.dashboard>div{background:#255d4c}.actions-panel{background:#f4eddf;border-color:#eacdd0}.board-panel svg{background:#d8efde}#mission-summary{background:#dfb879;padding:18px 22px;border-radius:16px;font-weight:700;margin:20px 0}#mission-progress{font-size:14px;font-weight:500;margin:6px 0 0}.setup select{width:210px}.next-stop{background:#e9dfcc}.map-text{padding:12px;background:#eee3cd;border-radius:12px}

.welcome-mission{padding:16px 20px;background:#fff2bc;border-radius:16px;color:#302c23;line-height:1.7}.welcome-mission strong{color:#ad372c}

.personalized-demo{background:#eee3cd;border:1px solid #eacdd0;border-radius:16px;padding:20px;margin:20px 0}.cast-avatar svg{width:70px;height:70px}.player b,.player span,.personalized-demo p,#companions p{overflow-wrap:anywhere}.setup input{max-width:100%}#setup-status{border-left:3px solid #ad372c;padding:10px 15px;background:#eee3cd}#companions p{margin:0;max-width:220px}
