@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#283d32;background:#f6f5ef;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #d8ddd3;background:#fffefa;color:#344a3d;padding:10px 13px;border-radius:7px}button:hover{border-color:#64836b;background:#f0f3e9}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c59e4a;outline-offset:2px}header{height:86px;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce0d5;background:#fffefa}.brand{display:flex;gap:12px;align-items:center;font-size:30px}.brand span{font-size:19px;letter-spacing:3px;font-weight:700}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.actions{display:flex;gap:8px;align-items:center}.actions span{font-size:11px;color:#778476;margin-right:12px}main{display:grid;grid-template-columns:250px minmax(460px,1fr) 230px;min-height:calc(100vh - 86px)}aside{padding:32px 24px;border-right:1px solid #dce0d5}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#8a957f}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:35px;line-height:1.15;margin:17px 0}p{font-size:12px;line-height:1.8;color:#7b8377}.tabs{display:flex;border-bottom:1px solid #dce0d5;margin:25px 0 17px}.tabs button{border:0;border-radius:0;background:transparent;flex:1}.tabs .active{border-bottom:2px solid #355d44;color:#254f34;font-weight:700}#palette{display:grid;gap:7px}.swatch{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border-color:transparent;padding:8px}.swatch.active{background:#e8eddf;border-color:#cbd5bc}.icon{width:34px;height:34px;border-radius:6px;display:grid;place-items:center;font-size:22px}.swatch small{display:block;color:#8b9386;font-size:10px;margin-top:3px}.tools{display:grid;gap:7px;border-top:1px solid #dce0d5;margin-top:20px;padding-top:18px}.tools .active{background:#2e533d;color:white}.tip{font-size:11px;line-height:1.9;color:#8a9383;margin:20px 0}.danger{font-size:11px;color:#9b6d55;background:transparent;width:100%}.workspace{padding:32px 28px;min-width:0}.map-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}#title{border:0;background:transparent;font-family:'Playfair Display',Georgia,serif;font-size:26px;color:#344b38;width:100%;margin-top:9px}.badge{border:1px solid #d8dfcf;border-radius:6px;padding:9px 14px;white-space:nowrap;font-size:12px}.badge span{display:block;font-size:9px;color:#8b9582;margin-top:3px}.map-scroll{overflow:auto;padding:6px;background:#eeeee4;border:1px solid #d9dece;border-radius:8px}#map{display:grid;grid-template-columns:22px repeat(15,minmax(25px,1fr));gap:2px;min-width:450px;touch-action:none;user-select:none}.axis{display:grid;place-items:center;font-size:9px;color:#8d947f;min-height:20px}.cell{aspect-ratio:1;padding:0;border:0;border-radius:2px;background:#e3e5d6;position:relative;display:grid;place-items:center;font-size:clamp(13px,1.7vw,24px);color:#344e3c}.cell:hover{outline:2px solid #fdf4c7;z-index:1;filter:brightness(1.08)}.cell.selected{outline:2px solid #283f32;z-index:1}.cell .terrain{opacity:.4;font-size:.75em}.cell .place{position:absolute;text-shadow:0 1px 2px #fffc;font-size:1em}.cell .dot{position:absolute;right:2px;bottom:0;font-size:9px;color:white}.map-foot{display:flex;justify-content:space-between;margin:15px 0;font-size:10px;color:#7e8b77}.legend{display:flex;gap:18px;justify-content:center;margin-top:28px;flex-wrap:wrap;font-size:10px;color:#7b8774}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:8px;height:8px;border-radius:2px}.details{border-left:1px solid #dce0d5;border-right:0;background:#f0f1e9}h2{font-size:27px;line-height:1.3;margin-top:20px}.compass{font-size:95px;text-align:center;color:#b2bca5;padding:15px}.local{border-top:1px solid #d5ddcc;padding-top:20px;margin-top:35px;font-size:11px}.local p{font-size:10px}label{display:block;font-size:11px;margin:15px 0 5px}.details input,.details textarea{width:100%;padding:10px;border:1px solid #cfd7c5;border-radius:5px;background:#fafbf5;color:#344b38}.details textarea{min-height:120px;resize:vertical}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#2f503a;color:#fff;padding:12px 20px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}@media(min-width:1500px){.workspace{padding:32px 60px}#map{max-width:850px;margin:auto}}@media(max-width:1100px){main{grid-template-columns:210px 1fr}.details{grid-column:1/-1;display:flex;gap:25px;align-items:start}.details h2,.compass{display:none}.details #detail{flex:1}.local{max-width:240px;margin:0}.actions span{display:none}}@media(max-width:650px){header{height:auto;padding:15px;align-items:start;gap:15px;flex-direction:column}.actions{flex-wrap:wrap}.actions button{font-size:11px;padding:8px}main{display:flex;flex-direction:column}aside{padding:20px}h1,aside>p{display:none}.tabs{margin:12px 0}#palette{grid-template-columns:repeat(3,1fr)}.swatch{padding:5px;gap:5px;font-size:10px}.swatch small{display:none}.icon{width:26px;height:26px;font-size:17px}.tools{display:flex;margin-top:12px;padding-top:10px}.tip{margin:10px 0}.danger{width:auto}.workspace{padding:20px 12px}#title{font-size:21px}.details{display:block}.details .local{margin-top:20px}.map-foot{gap:10px}.legend{gap:10px}}@media print{header,main>aside,.map-foot,.legend{display:none!important}main{display:block}.workspace{padding:0}#map{min-width:0}.map-scroll{overflow:visible}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.back-link{color:#344a3d;text-decoration:none;font-size:12px;white-space:nowrap;margin-right:18px}.back-link:hover{text-decoration:underline}header{gap:12px;flex-wrap:wrap;height:auto;min-height:86px}.brand{margin-right:auto}@media print{.back-link{display:none}}

/* Centre partagé : colonnes F à J, lignes 6 à 10. */
.common-zone-label{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 0 12px;font-size:11px;color:#6c5019}
.common-zone-label>span:last-child{color:#7b8377;font-size:10px}
.common-zone-key{width:16px;height:16px;border:3px solid #ffdc72;box-shadow:0 0 0 1px #6c5019;border-radius:2px;background:#f4e6ba}
.cell.common-zone{box-shadow:inset 0 0 0 1px #ffdc7266}
.cell.common-zone::after{content:"";position:absolute;inset:-1px;z-index:2;pointer-events:none;border:0 solid #ffdc72;filter:drop-shadow(0 0 1px #49320a)}
.cell.common-top::after{border-top-width:3px}
.cell.common-bottom::after{border-bottom-width:3px}
.cell.common-left::after{border-left-width:3px}
.cell.common-right::after{border-right-width:3px}
@media print{.common-zone-label{color:#283d32}.cell.common-zone::after{filter:none;border-color:#70500d}}
