:root{--paper:#f4e6c5;--ink:#25352b;--green:#355e3b;--dark:#17351f;--gold:#d5a62e}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,sans-serif;color:var(--ink);background:#d9cfac;background-image:linear-gradient(135deg,#d9cfac,#b9c49d)}
header{display:flex;justify-content:space-between;align-items:center;padding:14px 5%;background:var(--dark);color:#fff;box-shadow:0 3px 10px #0005}header strong{font-size:clamp(18px,3vw,30px)}header small{display:block;opacity:.8}button{border:0;border-radius:10px;padding:11px 16px;font-weight:800;background:var(--gold);color:#18251b;cursor:pointer}
main{max-width:1200px;margin:22px auto;padding:0 16px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.game,aside{background:var(--paper);border:3px solid #745b34;border-radius:16px;padding:16px;box-shadow:0 8px 22px #0002}
.mission{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.mission span{font-size:14px}
#board{display:grid;grid-template-columns:repeat(10,1fr);aspect-ratio:1/1;max-width:760px;margin:auto;border:4px solid #4b3922;background:#c9d59c}
.cell{position:relative;border:1px solid #ffffff55;display:grid;place-items:center;font-size:clamp(14px,2.6vw,28px);cursor:pointer;user-select:none;overflow:hidden;background:#b9ca88}.cell:before{content:"";position:absolute;inset:0;opacity:.88;background-size:cover}.terrain-field:before{background:radial-gradient(circle at 25% 70%,#6e8d3b 0 3%,transparent 4%),linear-gradient(145deg,#b9cb72,#8faf55)}.terrain-trail:before{background:linear-gradient(110deg,transparent 0 30%,#b88b52 31% 68%,transparent 69%),linear-gradient(#91b65c,#789b49)}.terrain-forest:before{background:radial-gradient(circle at 30% 35%,#204e2b 0 18%,transparent 19%),radial-gradient(circle at 70% 55%,#315f32 0 22%,transparent 23%),linear-gradient(#54743c,#2e5232)}.terrain-mountain:before{background:linear-gradient(135deg,transparent 25%,#807969 26% 48%,#b1aa98 49% 55%,transparent 56%),linear-gradient(#91aa75,#6e855d)}.terrain-water:before{background:repeating-linear-gradient(170deg,#4c9dc0 0 8px,#70bad0 9px 14px,#3c8eb4 15px 20px)}.terrain-marsh:before{background:repeating-linear-gradient(85deg,#536f49 0 9px,#6f8050 10px 17px,#465f48 18px 24px)}.terrain-sand:before{background:radial-gradient(circle,#a77c3f 0 2%,transparent 3%),#d6bd75}.cell.blocked{cursor:not-allowed;box-shadow:inset 0 0 0 2px #263d25}.cell>*{position:relative;z-index:2}.cell.visited{box-shadow:inset 0 0 0 2px #fff8}.game-icon{width:88%;height:88%;display:block;background-image:url("assets/icons.webp");background-size:800% 100%;background-repeat:no-repeat;border-radius:8px;filter:drop-shadow(1px 2px 2px #0004)}
.icon-explorer{background-position:0% 0}.icon-camp{background-position:14.2857% 0}.icon-mark{background-position:28.5714% 0}.icon-resource{background-position:42.8571% 0}.icon-challenge{background-position:57.1428% 0}.icon-blocked{background-position:71.4285% 0}.icon-trail{background-position:85.7142% 0}.icon-water{background-position:100% 0}
.cell.player:after{content:"";position:absolute;width:58%;height:58%;right:-4%;bottom:-4%;background-image:url("assets/icons.webp");background-size:800% 100%;background-position:0 0;background-repeat:no-repeat;border:3px solid #f4e6c5;border-radius:50%;box-shadow:0 2px 5px #0007;z-index:3}
.stat{display:flex;justify-content:space-between;padding:10px 0;font-size:18px}.stat b{background:#fff7;padding:2px 8px;border-radius:8px}#log{max-height:250px;overflow:auto;font-size:14px;line-height:1.45}.entry{border-bottom:1px solid #8b765633;padding:6px 0}.legend{margin-top:16px;font-size:13px;line-height:1.8}
.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.card{max-width:460px;background:var(--paper);border:4px solid #745b34;border-radius:18px;padding:24px;text-align:center;box-shadow:0 18px 60px #0008}.card h2{color:var(--green)}
footer{text-align:center;padding:18px;color:#fff;background:var(--dark);margin-top:24px}
@media(max-width:800px){main{grid-template-columns:1fr}.mission{flex-direction:column}aside{order:-1}#board{width:100%}}
#board{border-radius:10px;box-shadow:inset 0 0 25px #2d442d88,0 5px 15px #0003}
.cell:hover:not(.blocked){outline:3px solid #f4d35e;z-index:4;transform:scale(1.04)}
.cell.visited:after{content:"";position:absolute;inset:6%;border:2px dashed #fff9;border-radius:35%;z-index:1}

.game{background:linear-gradient(#f6e8c9ee,#ead4a9ee),repeating-linear-gradient(0deg,#0000 0 22px,#745b3410 23px);position:relative}
.game:before{content:"";position:absolute;inset:8px;border:1px solid #8b6a3b55;border-radius:11px;pointer-events:none}
#board{position:relative;padding:5px;gap:2px;background:#604a2d;border:7px ridge #8a693d}
.cell{border:0;border-radius:4px;box-shadow:inset 0 0 0 1px #fff3,inset 0 -5px 10px #0001;transition:transform .12s,filter .12s}
.cell:before{border-radius:4px}
.cell:hover:not(.blocked){outline:3px solid #ffd65a;filter:brightness(1.08)}
.cell.blocked{filter:saturate(.85) brightness(.8)}
.cell.blocked:hover{transform:none}
.game-icon{width:82%;height:82%;border:2px solid #f3dfb8;box-shadow:0 2px 5px #0005;background-color:#ead9ad}
.cell.player{outline:3px solid #ffcf3a;z-index:5}
.cell.player:after{width:64%;height:64%;right:-9%;bottom:-9%;border-width:2px}
.map-key{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px}
.map-key span{padding:4px 7px;border:1px solid #8a6b3c;border-radius:12px;background:#fff8}

body{background:#243323;background-image:radial-gradient(#40543a 1px,transparent 1px);background-size:18px 18px}
.dashboard{max-width:1500px;margin:18px auto;padding:0 14px;display:grid;grid-template-columns:280px minmax(520px,1fr) 270px;grid-template-areas:"left center right" "bottom bottom bottom";gap:12px}
.panel{background:#ead8ae;border:5px ridge #77532c;border-radius:12px;box-shadow:0 8px 18px #0006;padding:12px}
.left-panel{grid-area:left}.center-panel{grid-area:center}.right-panel{grid-area:right}.bottom{grid-area:bottom;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.panel h2,.panel h3{text-align:center;margin:7px 0;padding:5px;background:#c79b5b;border:2px solid #77532c;border-radius:6px;font-family:Georgia,serif}
.characters{display:grid;grid-template-columns:1fr 1fr;gap:7px}.character{background:#f3e3bd;border:3px solid #856238;padding:6px;color:#342719}.character span{display:block;font-size:55px}.character.active{outline:4px solid #55c95a;box-shadow:0 0 15px #55c95a}
.meter{height:12px;background:#443b30;border:2px solid #251c14;border-radius:8px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#df552f,#f2c14d)}
.inventory{display:grid;gap:4px;max-height:150px;overflow:auto}.inventory span{background:#f6e8c8;border:1px solid #ad8752;padding:4px;border-radius:5px;font-size:12px}
.d12{width:145px;height:145px;margin:12px auto;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#ff6a4e,#bd1e1e 55%,#681313);clip-path:polygon(50% 0,88% 18%,100% 60%,72% 100%,28% 100%,0 60%,12% 18%);color:white;font-size:54px;font-weight:900;text-shadow:2px 3px 2px #0006;transition:.2s}.d12.rolling{transform:rotate(18deg) scale(.92);filter:brightness(1.25)}
.primary{width:100%;font-size:16px}.moves{text-align:center;background:#292b28;color:#fff;margin:12px 0;padding:10px;border-radius:6px}.moves b{display:block;font-size:32px}.hint{font-size:13px}.right-panel button{width:100%;margin:4px 0}.levels{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.levels span{padding:10px 3px;text-align:center;background:#d6c184;border:2px solid #806036;border-radius:6px;font-size:11px;font-weight:bold}.levels span:nth-child(n+5){background:#a99ac9}.bottom #log{height:145px;background:#f5e7c7;border:2px inset #a88352;padding:6px}
.coords{word-spacing:calc((100% - 230px)/9);padding:0 8%;font-weight:900;text-align:center;font-family:monospace}
@media(max-width:1050px){.dashboard{grid-template-columns:1fr 1fr;grid-template-areas:"center center" "left right" "bottom bottom"}}@media(max-width:700px){.dashboard{display:flex;flex-direction:column}.center-panel{order:-2}.right-panel{order:-1}.bottom{grid-template-columns:1fr}.character span{font-size:40px}}

/* v0.5: peças integradas ao mapa + correção de sobreposição do modal */
.modal{z-index:10000;isolation:isolate;backdrop-filter:blur(2px)}
.modal .card{position:relative;z-index:10001;overflow:hidden}
body.modal-open #board .cell{pointer-events:none}
body.modal-open #board .game-icon,body.modal-open #board .cell:after{visibility:hidden}
.game-icon{border:0!important;box-shadow:none!important;background-color:transparent!important;border-radius:0!important;filter:drop-shadow(0 3px 2px #0006)}
.cell.blocked .game-icon{width:94%;height:94%;opacity:.95}
.cell.player:after{border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 4px 3px #0008);width:72%;height:72%;right:14%;bottom:12%;background-color:transparent}
.cell.player-girl:after{background-position:0 0;transform:scaleX(-1)}
.cell.player{outline:3px solid #ffd447;box-shadow:inset 0 0 16px #ffd44788}
.cell.visited:after{z-index:1}
.cell.player:after{z-index:6}
.modal:not(.hidden)~*{ }

/* v0.6: marcadores próprios, sem aparência de cartas recortadas */
.map-token,.special-token,.terrain-symbol{position:relative;z-index:4;display:grid;place-items:center;pointer-events:none}
.resource-token{width:62%;height:68%;font-size:clamp(18px,3.1vw,36px);filter:drop-shadow(0 4px 2px #0007);transform:rotate(-3deg)}
.challenge-token{width:58%;aspect-ratio:1;border-radius:48% 52% 44% 56%;background:radial-gradient(circle at 35% 25%,#8f8777,#554d43 62%,#29251f);border:2px solid #c8b995;box-shadow:0 4px 5px #0007,inset 0 2px 3px #fff4;color:#f7e6ad;font-family:Georgia,serif;font-size:clamp(14px,2vw,25px);transform:rotate(2deg)}
.challenge-token:before{content:"?";position:absolute;font-size:190%;opacity:.18}.challenge-token b{z-index:2;text-shadow:1px 2px #000}
.challenge-token.level-7,.challenge-token.level-8{border-color:#e2a948;box-shadow:0 0 8px #e2a948,0 4px 5px #0007}
.special-token{width:76%;height:76%;border-radius:50%;filter:drop-shadow(0 4px 3px #0007);font-family:Georgia,serif;font-weight:900;text-shadow:1px 1px #fff8}.special-token i{font-style:normal;font-size:clamp(20px,3vw,38px);line-height:.8}.special-token b{font-size:clamp(7px,.8vw,11px)}
.camp-token{background:radial-gradient(circle,#f2d27c 0 38%,#56713c 40% 64%,#2e4729 66%);color:#1f3c26;border:2px solid #ead9a5}.mark-token{background:radial-gradient(circle,#f4d96f 0 38%,#9e3b2d 40% 64%,#5d241e 66%);color:#70251f;border:2px solid #f0d797}
.terrain-symbol{width:90%;height:90%;font-size:clamp(24px,4vw,52px);opacity:.8}.forest-symbol{color:#173e25;text-shadow:-10px 8px #275633,10px 6px #315f38}.mountain-symbol{color:#665f52;text-shadow:-9px 8px #80796b,9px 8px #4c4942}
.cell.player .special-token,.cell.player .map-token{opacity:.35}
body.modal-open #board .map-token,body.modal-open #board .special-token,body.modal-open #board .terrain-symbol,body.modal-open #board .cell:after{visibility:hidden}

/* v0.7 personagens realmente distintos */
.character{overflow:hidden;position:relative}.character .portrait{display:block;width:100%;height:150px;background-repeat:no-repeat;background-position:center bottom;background-size:contain}.character .portrait.boy{background-image:url("assets/scout-boy.svg")}.character .portrait.girl{background-image:url("assets/scout-girl.svg")}.character small{display:block;font-size:10px;margin-top:4px;font-weight:600;color:#60462c}.character.active:after{content:"✓";position:absolute;right:6px;top:6px;width:25px;height:25px;border-radius:50%;background:#4bbb55;color:#fff;display:grid;place-items:center;font-weight:900}
.cell.player:after{content:"";background-size:contain!important;background-position:center bottom!important;background-repeat:no-repeat!important;width:86%!important;height:92%!important;right:7%!important;bottom:2%!important;transform:none!important;clip-path:none!important}
.cell.player-boy:after{background-image:url("assets/scout-boy.svg")!important}
.cell.player-girl:after{background-image:url("assets/scout-girl.svg")!important}
@media(max-width:700px){.character .portrait{height:110px}}

/* v0.8 reconstrução visual inspirada no tabuleiro físico */
:root{--wood:#5b351b;--wood2:#8b5829;--parch:#f1dfb0;--parch2:#d9bd7c}
header{background:linear-gradient(#392315,#1f1710);border-bottom:6px solid #805126}
header strong{font-family:Georgia,serif;color:#f5c34c;text-shadow:2px 3px #26160d;font-size:clamp(22px,3vw,38px)}
.dashboard{max-width:1600px;grid-template-columns:300px minmax(600px,1fr) 280px;gap:10px}
.panel{background:linear-gradient(135deg,#f6e7bf,#e5c98d);border:8px ridge #70441f;box-shadow:0 8px 20px #0008,inset 0 0 20px #9c713733}
.panel h2,.panel h3{background:linear-gradient(#d9ac68,#bd8545);border:3px ridge #774a24;color:#273829;text-shadow:0 1px #f6e4ba}
.center-panel{padding:12px;background:linear-gradient(#ead5a2,#cfad68)}
.mission{background:#f5e4b8;border:3px solid #9a6a35;border-radius:8px;padding:10px;box-shadow:inset 0 0 10px #9a6a3533}
.map-shell{position:relative;padding:8px 8px 10px;background:#d8bb78;border:5px solid #68401e;box-shadow:inset 0 0 18px #50301688}
#board{gap:0;padding:3px;border:4px solid #4b2d17;background:#4b2d17;box-shadow:inset 0 0 28px #0006,0 6px 12px #0005}
.cell{border:1px solid #5c4a2944;border-radius:2px;box-shadow:none;overflow:visible}
.terrain-field:before{background:radial-gradient(circle at 20% 25%,#486a2d 0 4%,transparent 5%),radial-gradient(circle at 72% 65%,#6f913e 0 5%,transparent 6%),linear-gradient(135deg,#a8c65e,#78983e)}
.terrain-trail:before{background:linear-gradient(115deg,transparent 0 26%,#d2a35f 27% 39%,#e3bd77 40% 58%,#b9884e 59% 70%,transparent 71%),linear-gradient(#8db14f,#71913e)}
.terrain-forest:before{background:radial-gradient(ellipse at 24% 45%,#163f28 0 20%,transparent 21%),radial-gradient(ellipse at 52% 27%,#235533 0 23%,transparent 24%),radial-gradient(ellipse at 76% 62%,#17452a 0 22%,transparent 23%),linear-gradient(#557c3a,#315c32)}
.terrain-mountain:before{background:linear-gradient(135deg,transparent 15%,#625c50 16% 36%,#aaa18d 37% 44%,transparent 45%),linear-gradient(45deg,transparent 42%,#817765 43% 66%,#c6bba4 67% 72%,transparent 73%),#789455}
.terrain-water:before{background:repeating-linear-gradient(168deg,#237fa7 0 6px,#54abc7 7px 11px,#197092 12px 17px)}
.terrain-marsh:before{background:radial-gradient(circle at 30% 60%,#2d5b45 0 13%,transparent 14%),repeating-linear-gradient(80deg,#4d7045 0 8px,#75804b 9px 15px)}
.terrain-sand:before{background:radial-gradient(circle at 25% 35%,#9e753d 0 2%,transparent 3%),radial-gradient(circle at 75% 70%,#a47c42 0 2%,transparent 3%),#d9bc73}
.coords{letter-spacing:.35em;word-spacing:1.2em;color:#4a2d18;text-shadow:0 1px #fff8}
.compass{position:absolute;right:18px;bottom:18px;width:58px;height:58px;border:3px solid #5b381c;border-radius:50%;background:#ead49eaa;display:grid;place-items:center;font-size:35px;color:#6a351c;z-index:8;pointer-events:none}.compass small{position:absolute;top:-2px;font-size:9px}
.resource-token{font-size:clamp(24px,3.6vw,44px);filter:drop-shadow(0 5px 3px #0008)}
.challenge-token{background:radial-gradient(circle at 38% 25%,#9d9584,#5c5448 60%,#302a24);border:3px solid #cdbb91}
.special-token{width:84%;height:84%}
.character{background:linear-gradient(#f5e7c5,#e2c58a);border:3px solid #825528}.character.active{outline:4px solid #55d05a;box-shadow:0 0 14px #4ee85d}.character .portrait{height:185px}
.d12{box-shadow:0 8px 10px #0006}.right-panel .primary{background:linear-gradient(#f0b842,#bf6b19);border:3px ridge #754218}
.bottom{background:transparent;border:0;box-shadow:none;padding:0}.bottom>div{background:linear-gradient(#f3e1b5,#dec184);border:7px ridge #70441f;border-radius:10px;padding:8px}
.levels span{background:linear-gradient(#aaa18e,#70685c);color:#fff;text-shadow:1px 1px #000;border:3px solid #4d4236}.levels span:nth-child(7){background:#8c4837}.levels span:nth-child(8){background:#692c2b}
#log{font-family:Georgia,serif}
@media(max-width:1050px){.dashboard{grid-template-columns:1fr 1fr}}@media(max-width:700px){.character .portrait{height:130px}.compass{width:42px;height:42px;font-size:25px}}
