/* A praça ilustrada é a moldura; a área de jogo continua independente. */
body{background:radial-gradient(ellipse at 0 0,#e7ebdf 0,transparent 45%),#f6f2e8}header{background:#faf8f0e8;box-shadow:0 2px 15px #193a2b05}.brand{font-weight:600}.brand:first-letter{color:#ad7a35}main{max-width:1530px;padding-top:22px}.topline{margin-bottom:20px}.topline h1{font-size:clamp(26px,2.4vw,37px)}.stats{gap:8px}.stat{border:1px solid #d6dac9;background:#fffdf7;box-shadow:0 3px 0 #e8e5d9;min-width:95px}.stat strong{font-family:Lora,Georgia,serif;color:#315741}.stat:first-child strong{color:#a66d29}.layout{grid-template-columns:minmax(450px,1.65fr) minmax(330px,1fr);gap:26px}.board-wrap{background:#fbf6e8;border:1px solid #d1b98a;padding:10px 10px 18px;border-radius:22px;box-shadow:0 16px 40px #263c2b18,0 4px 0 #c6b48c;overflow:hidden}.board-label{padding:8px 12px 5px;color:#756044;margin-bottom:8px}.board-label b{font-family:Lora,Georgia,serif;font-size:14px}.board-label span{font-size:10px;text-transform:uppercase;letter-spacing:1px}.village{position:relative;aspect-ratio:1;background:url('arte-tabuleiro.jpg') center/100% 100%;border-radius:13px;overflow:hidden}.play-surface{position:absolute;left:20.1%;top:25.05%;width:60.5%;height:59.45%;border-radius:5px;box-shadow:0 0 0 2px #9c8764}.board{width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:4px;gap:2px;background:#bbaa8b}.cell{aspect-ratio:auto;background:radial-gradient(ellipse at 30% 20%,#fff9ea,#eee4d0);box-shadow:inset 0 0 0 1px #ffffff60;transition:background .15s,box-shadow .15s}.cell:hover:not(:disabled){background:#f8e7bb;box-shadow:inset 0 0 0 2px #bd8d39}.cell .coord{font-size:7px;color:#9b927d;left:3px;top:2px}.cell.table{background:#9a6c43}.cell.table .coord{opacity:0}.cell.legal{background:#e5efd4;box-shadow:inset 0 0 0 2px #66964e}.cell.legal:after{content:'+';color:#4b7941;position:absolute;font-size:19px;bottom:4%;right:9%;font-weight:500}.cell.legal:hover{background:#cbdfb7!important;box-shadow:inset 0 0 0 3px #416c37}.cell.block{background:radial-gradient(ellipse,#7b955a,#b4c18c);box-shadow:inset 0 0 0 3px #d8d0ac}.garden{font-family:Georgia,serif;color:#f1c95a;font-size:27px;text-shadow:0 2px 2px #355631;line-height:1;letter-spacing:-5px;transform:rotate(-13deg)}.garden small{color:#fcf2d2;font-size:20px;display:inline;position:relative;top:7px}.garden:first-letter{color:#dc7384}.cell .portrait{width:83%;height:83%;border-radius:9px;box-shadow:0 3px 0 #ae8f57,0 4px 8px #453b3533;border:2px solid #f7efdb;z-index:2;transition:transform .2s}.cell:hover .portrait{transform:translateY(-2px)}.piece-layer{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:2px;position:absolute;inset:0;pointer-events:none;padding:0}.table-piece{margin:3px;border-radius:6px;overflow:hidden;border:2px solid #75492a;box-shadow:0 3px 0 #684023,0 4px 7px #3c301d50;position:relative;z-index:3;background:#8e5830}.table-piece svg{width:100%;height:100%;display:block}.table-piece.vertical svg{width:200%;height:50%;position:absolute;left:-50%;top:25%;transform:rotate(90deg)}.board-legend{display:flex;gap:16px;justify-content:center;margin:16px 0 12px;font-size:10px;color:#70684e;flex-wrap:wrap}.board-legend span{display:flex;align-items:center;gap:5px}.board-legend i{width:10px;height:10px;border:1px solid #67954e;border-radius:3px;background:#e5efd4}.rounds{gap:18px;position:relative;margin:12px auto;width:fit-content}.rounds:before{content:'';height:1px;background:#d9c59d;position:absolute;left:15px;right:15px;top:50%}.round{position:relative;background:#fdf9ec;border:1px solid #c3a97b;font-family:Georgia,serif;width:32px;height:32px}.round.current{box-shadow:0 0 0 4px #e3e7d5,0 0 0 5px #a7b58d}.round.past{background:#e9eddc;color:#66804f;border-color:#c4ccac}.hint{margin-top:16px}.panel{border-color:#dbddcd;box-shadow:0 3px 0 #e8e6d9;padding:21px;background:#fffdf7}.event{background:#f3ead4;border-left:4px solid #b7863c;box-shadow:none}.event .eyebrow{font-size:9px;letter-spacing:1.6px}.event h3{font-size:21px}.event p{color:#7d6846;font-size:12px}.side h2{font-size:25px;line-height:1.25;margin:10px 0 17px}.action{background:linear-gradient(150deg,#fffef9,#f4f0e3);border:1px solid #dfdac6;box-shadow:0 3px 0 #e1dccb;min-height:124px;padding:17px 13px}.action b{font-family:Lora,Georgia,serif;font-weight:600;font-size:15px}.action span{font-size:11px;line-height:1.6}.action:hover:not(:disabled){box-shadow:0 5px 0 #d9dcc7;transform:translateY(-3px)}.action.selected{background:#eaf0dc;border:2px solid #55764a;box-shadow:0 3px 0 #b4c4a0}.teams{gap:7px}.team{border:1px solid #dfe1cf;background:#f2f2e8;padding:10px 4px}.team.active{background:#315842;box-shadow:0 3px 0 #193f30}.primary{background:#315842;border-color:#315842;box-shadow:0 3px 0 #1c3f2c;letter-spacing:.2px}.full.primary{padding:14px}.task{background:#f8f7ee;border-color:#e0dece;padding:12px}.task b{font-size:12px}.task small{font-size:10px;margin-top:5px}.task.selected{border:1px solid #849b6e;background:#edf1df;box-shadow:inset 3px 0 #66854d}.task button{font-size:11px}.guest{background:#fcf7e9;border-color:#dcd1b7;box-shadow:0 2px 0 #d9caa9}.guest .portrait{border-radius:6px}.guest.active{border-color:#4d7040;box-shadow:0 0 0 2px #d9e4c5}.guest:disabled{opacity:.35}.prep{gap:10px;margin-top:17px}.prep span{padding:14px 5px;font-family:Lora,Georgia,serif;background:#ebe8dc;border:1px solid #d9d7c7;border-radius:11px;color:#8b8b78;font-size:12px}.prep .done{background:#e4edd6;border-color:#b6c59c;color:#3c673a;box-shadow:0 3px 0 #c7d4b2}.hero img{transform:rotate(1deg);border:8px solid #fbf4e2;box-shadow:0 22px 60px #263e2c25,0 4px 0 #c7ae80}.hero{padding-top:35px}.victory{border:1px solid #c7d4ac;background:radial-gradient(ellipse at top,#f9f4d7,#e6edd7)}.bar button{min-height:40px}details.panel{font-size:12px;color:#78816f}#toast{box-shadow:0 8px 25px #132d342b}
@media(min-width:1400px){.side .actions{gap:12px}.action{min-height:132px}.side h2{font-size:28px}}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.board-wrap{max-width:730px}.side{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;align-items:start}.side .event{grid-column:1}.side #turn{grid-column:2;grid-row:1 / span 2}.side details{grid-column:1}.cell .coord{font-size:8px}.cell .portrait{border-radius:7px}.topline h1{font-size:29px}}
@media(max-width:600px){main{padding:17px 12px 35px}.side{display:flex;gap:0}.board-wrap{padding:0 10px 16px;border-width:1px;border-radius:16px}.board-label{padding:14px 0 4px}.board-label b{font-size:12px}.board-label span{font-size:9px}.village{aspect-ratio:auto;padding-top:24%;background-position:top center;background-size:100% auto;border-radius:8px 8px 0 0;overflow:visible}.play-surface{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:1;border-radius:8px;box-shadow:0 0 0 3px #bca577}.board{aspect-ratio:1}.cell .coord{font-size:7px}.cell .portrait{width:84%;height:84%}.board-legend{gap:10px;font-size:9px;margin-top:16px}.rounds{gap:15px}.round{width:28px;height:28px}.hint{font-size:10px}.prep{gap:6px}.prep span{padding:11px 4px;font-size:11px}.stats{width:100%}.stat{min-width:0;padding:8px 12px}.stat strong{font-size:21px}.stat small{font-size:9px}.topline h1{font-size:28px}.panel{padding:17px}.action{min-height:114px}.hero{padding-top:10px}.table-piece{margin:2px}.garden{font-size:23px}}
